Browse Source

Add glad opengl loader

BtbN 11 years ago
parent
commit
334792a62c

+ 2 - 0
deps/CMakeLists.txt

@@ -3,6 +3,8 @@ if(WIN32)
 	add_subdirectory(w32-pthreads)
 endif()
 
+add_subdirectory(glad)
+
 set(BUILD_DOCS FALSE CACHE INTERNAL "" FORCE)
 set(STATIC_CRT TRUE CACHE INTERNAL "" FORCE)
 set(BUILD_SHARED_LIBS FALSE CACHE INTERNAL "" FORCE)

+ 48 - 0
deps/glad/CMakeLists.txt

@@ -0,0 +1,48 @@
+project(glad)
+
+find_package(OpenGL)
+
+if(NOT WIN32 AND NOT APPLE)
+	find_package(X11)
+endif()
+
+set(glad_SOURCES
+	src/glad.c)
+
+if(WIN32)
+	set(glad_PLATFORM_SOURCES
+		src/glad_wgl.c)
+elseif(NOT APPLE)
+	set(glad_PLATFORM_SOURCES
+		src/glad_glx.c)
+endif()
+
+add_library(glad SHARED
+	${glad_SOURCES}
+	${glad_PLATFORM_SOURCES})
+set_target_properties(glad PROPERTIES
+	OUTPUT_NAME obsglad
+	VERSION "0"
+	SOVERSION "0")
+target_include_directories(glad
+	PUBLIC include
+	PRIVATE ${X11_X11_INCLUDE_PATH} ${OPENGL_INCLUDE_DIR})
+target_compile_definitions(glad
+	PRIVATE GLAD_GLAPI_EXPORT_BUILD)
+
+if(NOT WIN32)
+	target_compile_options(glad
+		PRIVATE -DPIC -fPIC -fvisibility=hidden)
+endif()
+
+if(NOT WIN32 AND NOT APPLE)
+	set(glad_PLATFORM_DEPS
+		-ldl
+		${X11_X11_LIB})
+endif()
+
+target_link_libraries(glad
+	${glad_PLATFORM_DEPS}
+	${OPENGL_gl_LIBRARY})
+
+install_obs_core(glad)

+ 282 - 0
deps/glad/include/KHR/khrplatform.h

@@ -0,0 +1,282 @@
+#ifndef __khrplatform_h_
+#define __khrplatform_h_
+
+/*
+** Copyright (c) 2008-2009 The Khronos Group Inc.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a
+** copy of this software and/or associated documentation files (the
+** "Materials"), to deal in the Materials without restriction, including
+** without limitation the rights to use, copy, modify, merge, publish,
+** distribute, sublicense, and/or sell copies of the Materials, and to
+** permit persons to whom the Materials are furnished to do so, subject to
+** the following conditions:
+**
+** The above copyright notice and this permission notice shall be included
+** in all copies or substantial portions of the Materials.
+**
+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+*/
+
+/* Khronos platform-specific types and definitions.
+ *
+ * $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $
+ *
+ * Adopters may modify this file to suit their platform. Adopters are
+ * encouraged to submit platform specific modifications to the Khronos
+ * group so that they can be included in future versions of this file.
+ * Please submit changes by sending them to the public Khronos Bugzilla
+ * (http://khronos.org/bugzilla) by filing a bug against product
+ * "Khronos (general)" component "Registry".
+ *
+ * A predefined template which fills in some of the bug fields can be
+ * reached using http://tinyurl.com/khrplatform-h-bugreport, but you
+ * must create a Bugzilla login first.
+ *
+ *
+ * See the Implementer's Guidelines for information about where this file
+ * should be located on your system and for more details of its use:
+ *    http://www.khronos.org/registry/implementers_guide.pdf
+ *
+ * This file should be included as
+ *        #include <KHR/khrplatform.h>
+ * by Khronos client API header files that use its types and defines.
+ *
+ * The types in khrplatform.h should only be used to define API-specific types.
+ *
+ * Types defined in khrplatform.h:
+ *    khronos_int8_t              signed   8  bit
+ *    khronos_uint8_t             unsigned 8  bit
+ *    khronos_int16_t             signed   16 bit
+ *    khronos_uint16_t            unsigned 16 bit
+ *    khronos_int32_t             signed   32 bit
+ *    khronos_uint32_t            unsigned 32 bit
+ *    khronos_int64_t             signed   64 bit
+ *    khronos_uint64_t            unsigned 64 bit
+ *    khronos_intptr_t            signed   same number of bits as a pointer
+ *    khronos_uintptr_t           unsigned same number of bits as a pointer
+ *    khronos_ssize_t             signed   size
+ *    khronos_usize_t             unsigned size
+ *    khronos_float_t             signed   32 bit floating point
+ *    khronos_time_ns_t           unsigned 64 bit time in nanoseconds
+ *    khronos_utime_nanoseconds_t unsigned time interval or absolute time in
+ *                                         nanoseconds
+ *    khronos_stime_nanoseconds_t signed time interval in nanoseconds
+ *    khronos_boolean_enum_t      enumerated boolean type. This should
+ *      only be used as a base type when a client API's boolean type is
+ *      an enum. Client APIs which use an integer or other type for
+ *      booleans cannot use this as the base type for their boolean.
+ *
+ * Tokens defined in khrplatform.h:
+ *
+ *    KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
+ *
+ *    KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
+ *    KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
+ *
+ * Calling convention macros defined in this file:
+ *    KHRONOS_APICALL
+ *    KHRONOS_APIENTRY
+ *    KHRONOS_APIATTRIBUTES
+ *
+ * These may be used in function prototypes as:
+ *
+ *      KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
+ *                                  int arg1,
+ *                                  int arg2) KHRONOS_APIATTRIBUTES;
+ */
+
+/*-------------------------------------------------------------------------
+ * Definition of KHRONOS_APICALL
+ *-------------------------------------------------------------------------
+ * This precedes the return type of the function in the function prototype.
+ */
+#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
+#   define KHRONOS_APICALL __declspec(dllimport)
+#elif defined (__SYMBIAN32__)
+#   define KHRONOS_APICALL IMPORT_C
+#else
+#   define KHRONOS_APICALL
+#endif
+
+/*-------------------------------------------------------------------------
+ * Definition of KHRONOS_APIENTRY
+ *-------------------------------------------------------------------------
+ * This follows the return type of the function  and precedes the function
+ * name in the function prototype.
+ */
+#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
+    /* Win32 but not WinCE */
+#   define KHRONOS_APIENTRY __stdcall
+#else
+#   define KHRONOS_APIENTRY
+#endif
+
+/*-------------------------------------------------------------------------
+ * Definition of KHRONOS_APIATTRIBUTES
+ *-------------------------------------------------------------------------
+ * This follows the closing parenthesis of the function prototype arguments.
+ */
+#if defined (__ARMCC_2__)
+#define KHRONOS_APIATTRIBUTES __softfp
+#else
+#define KHRONOS_APIATTRIBUTES
+#endif
+
+/*-------------------------------------------------------------------------
+ * basic type definitions
+ *-----------------------------------------------------------------------*/
+#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
+
+
+/*
+ * Using <stdint.h>
+ */
+#include <stdint.h>
+typedef int32_t                 khronos_int32_t;
+typedef uint32_t                khronos_uint32_t;
+typedef int64_t                 khronos_int64_t;
+typedef uint64_t                khronos_uint64_t;
+#define KHRONOS_SUPPORT_INT64   1
+#define KHRONOS_SUPPORT_FLOAT   1
+
+#elif defined(__VMS ) || defined(__sgi)
+
+/*
+ * Using <inttypes.h>
+ */
+#include <inttypes.h>
+typedef int32_t                 khronos_int32_t;
+typedef uint32_t                khronos_uint32_t;
+typedef int64_t                 khronos_int64_t;
+typedef uint64_t                khronos_uint64_t;
+#define KHRONOS_SUPPORT_INT64   1
+#define KHRONOS_SUPPORT_FLOAT   1
+
+#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
+
+/*
+ * Win32
+ */
+typedef __int32                 khronos_int32_t;
+typedef unsigned __int32        khronos_uint32_t;
+typedef __int64                 khronos_int64_t;
+typedef unsigned __int64        khronos_uint64_t;
+#define KHRONOS_SUPPORT_INT64   1
+#define KHRONOS_SUPPORT_FLOAT   1
+
+#elif defined(__sun__) || defined(__digital__)
+
+/*
+ * Sun or Digital
+ */
+typedef int                     khronos_int32_t;
+typedef unsigned int            khronos_uint32_t;
+#if defined(__arch64__) || defined(_LP64)
+typedef long int                khronos_int64_t;
+typedef unsigned long int       khronos_uint64_t;
+#else
+typedef long long int           khronos_int64_t;
+typedef unsigned long long int  khronos_uint64_t;
+#endif /* __arch64__ */
+#define KHRONOS_SUPPORT_INT64   1
+#define KHRONOS_SUPPORT_FLOAT   1
+
+#elif 0
+
+/*
+ * Hypothetical platform with no float or int64 support
+ */
+typedef int                     khronos_int32_t;
+typedef unsigned int            khronos_uint32_t;
+#define KHRONOS_SUPPORT_INT64   0
+#define KHRONOS_SUPPORT_FLOAT   0
+
+#else
+
+/*
+ * Generic fallback
+ */
+#include <stdint.h>
+typedef int32_t                 khronos_int32_t;
+typedef uint32_t                khronos_uint32_t;
+typedef int64_t                 khronos_int64_t;
+typedef uint64_t                khronos_uint64_t;
+#define KHRONOS_SUPPORT_INT64   1
+#define KHRONOS_SUPPORT_FLOAT   1
+
+#endif
+
+
+/*
+ * Types that are (so far) the same on all platforms
+ */
+typedef signed   char          khronos_int8_t;
+typedef unsigned char          khronos_uint8_t;
+typedef signed   short int     khronos_int16_t;
+typedef unsigned short int     khronos_uint16_t;
+
+/*
+ * Types that differ between LLP64 and LP64 architectures - in LLP64, 
+ * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
+ * to be the only LLP64 architecture in current use.
+ */
+#ifdef _WIN64
+typedef signed   long long int khronos_intptr_t;
+typedef unsigned long long int khronos_uintptr_t;
+typedef signed   long long int khronos_ssize_t;
+typedef unsigned long long int khronos_usize_t;
+#else
+typedef signed   long  int     khronos_intptr_t;
+typedef unsigned long  int     khronos_uintptr_t;
+typedef signed   long  int     khronos_ssize_t;
+typedef unsigned long  int     khronos_usize_t;
+#endif
+
+#if KHRONOS_SUPPORT_FLOAT
+/*
+ * Float type
+ */
+typedef          float         khronos_float_t;
+#endif
+
+#if KHRONOS_SUPPORT_INT64
+/* Time types
+ *
+ * These types can be used to represent a time interval in nanoseconds or
+ * an absolute Unadjusted System Time.  Unadjusted System Time is the number
+ * of nanoseconds since some arbitrary system event (e.g. since the last
+ * time the system booted).  The Unadjusted System Time is an unsigned
+ * 64 bit value that wraps back to 0 every 584 years.  Time intervals
+ * may be either signed or unsigned.
+ */
+typedef khronos_uint64_t       khronos_utime_nanoseconds_t;
+typedef khronos_int64_t        khronos_stime_nanoseconds_t;
+#endif
+
+/*
+ * Dummy value used to pad enum types to 32 bits.
+ */
+#ifndef KHRONOS_MAX_ENUM
+#define KHRONOS_MAX_ENUM 0x7FFFFFFF
+#endif
+
+/*
+ * Enumerated boolean type
+ *
+ * Values other than zero should be considered to be true.  Therefore
+ * comparisons should not be made against KHRONOS_TRUE.
+ */
+typedef enum {
+    KHRONOS_FALSE = 0,
+    KHRONOS_TRUE  = 1,
+    KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
+} khronos_boolean_enum_t;
+
+#endif /* __khrplatform_h_ */

+ 13235 - 0
deps/glad/include/glad/glad.h

@@ -0,0 +1,13235 @@
+
+#ifndef __glad_h_
+
+#ifdef __gl_h_
+#error OpenGL header already included, remove this include, glad already provides it
+#endif
+
+#define __glad_h_
+#define __gl_h_
+
+#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN 1
+#endif
+#include <windows.h>
+#endif
+
+#ifndef APIENTRY
+#define APIENTRY
+#endif
+#ifndef APIENTRYP
+#define APIENTRYP APIENTRY *
+#endif
+
+extern struct gladGLversionStruct {
+    int major;
+    int minor;
+} GLVersion;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void* (* GLADloadproc)(const char *name);
+
+#define GLAD_GLAPI_EXPORT
+
+#ifndef GLAPI
+# if defined(GLAD_GLAPI_EXPORT)
+#  if defined(WIN32) || defined(__CYGWIN__)
+#   if defined(GLAD_GLAPI_EXPORT_BUILD)
+#    if defined(__GNUC__)
+#     define GLAPI __attribute__ ((dllexport)) extern
+#    else
+#     define GLAPI __declspec(dllexport) extern
+#    endif
+#   else
+#    if defined(__GNUC__)
+#     define GLAPI __attribute__ ((dllimport)) extern
+#    else
+#     define GLAPI __declspec(dllimport) extern
+#    endif
+#   endif
+#  elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD)
+#   define GLAPI __attribute__ ((visibility ("default"))) extern
+#  else
+#   define GLAPI extern
+#  endif
+# else
+#  define GLAPI extern
+# endif
+#endif
+
+GLAPI int gladLoadGL(void);
+
+GLAPI void gladLoadGLLoader(GLADloadproc);
+
+#include <stddef.h>
+#include <KHR/khrplatform.h>
+#ifndef GLEXT_64_TYPES_DEFINED
+/* This code block is duplicated in glxext.h, so must be protected */
+#define GLEXT_64_TYPES_DEFINED
+/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
+/* (as used in the GL_EXT_timer_query extension). */
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+#include <inttypes.h>
+#elif defined(__sun__) || defined(__digital__)
+#include <inttypes.h>
+#if defined(__STDC__)
+#if defined(__arch64__) || defined(_LP64)
+typedef long int int64_t;
+typedef unsigned long int uint64_t;
+#else
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#endif /* __arch64__ */
+#endif /* __STDC__ */
+#elif defined( __VMS ) || defined(__sgi)
+#include <inttypes.h>
+#elif defined(__SCO__) || defined(__USLC__)
+#include <stdint.h>
+#elif defined(__UNIXOS2__) || defined(__SOL64__)
+typedef long int int32_t;
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#elif defined(_WIN32) && defined(__GNUC__)
+#include <stdint.h>
+#elif defined(_WIN32)
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#else
+/* Fallback if nothing above works */
+#include <inttypes.h>
+#endif
+#endif
+typedef unsigned int GLenum;
+typedef unsigned char GLboolean;
+typedef unsigned int GLbitfield;
+typedef void GLvoid;
+typedef signed char GLbyte;
+typedef short GLshort;
+typedef int GLint;
+typedef int GLclampx;
+typedef unsigned char GLubyte;
+typedef unsigned short GLushort;
+typedef unsigned int GLuint;
+typedef int GLsizei;
+typedef float GLfloat;
+typedef float GLclampf;
+typedef double GLdouble;
+typedef double GLclampd;
+typedef void *GLeglImageOES;
+typedef char GLchar;
+typedef char GLcharARB;
+#ifdef __APPLE__
+typedef void *GLhandleARB;
+#else
+typedef unsigned int GLhandleARB;
+#endif
+typedef unsigned short GLhalfARB;
+typedef unsigned short GLhalf;
+typedef GLint GLfixed;
+typedef ptrdiff_t GLintptr;
+typedef ptrdiff_t GLsizeiptr;
+typedef int64_t GLint64;
+typedef uint64_t GLuint64;
+typedef ptrdiff_t GLintptrARB;
+typedef ptrdiff_t GLsizeiptrARB;
+typedef int64_t GLint64EXT;
+typedef uint64_t GLuint64EXT;
+typedef struct __GLsync *GLsync;
+struct _cl_context;
+struct _cl_event;
+typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
+typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
+typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
+typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
+typedef unsigned short GLhalfNV;
+typedef GLintptr GLvdpauSurfaceNV;
+#define GL_DEPTH_BUFFER_BIT 0x00000100
+#define GL_STENCIL_BUFFER_BIT 0x00000400
+#define GL_COLOR_BUFFER_BIT 0x00004000
+#define GL_FALSE 0
+#define GL_TRUE 1
+#define GL_POINTS 0x0000
+#define GL_LINES 0x0001
+#define GL_LINE_LOOP 0x0002
+#define GL_LINE_STRIP 0x0003
+#define GL_TRIANGLES 0x0004
+#define GL_TRIANGLE_STRIP 0x0005
+#define GL_TRIANGLE_FAN 0x0006
+#define GL_NEVER 0x0200
+#define GL_LESS 0x0201
+#define GL_EQUAL 0x0202
+#define GL_LEQUAL 0x0203
+#define GL_GREATER 0x0204
+#define GL_NOTEQUAL 0x0205
+#define GL_GEQUAL 0x0206
+#define GL_ALWAYS 0x0207
+#define GL_ZERO 0
+#define GL_ONE 1
+#define GL_SRC_COLOR 0x0300
+#define GL_ONE_MINUS_SRC_COLOR 0x0301
+#define GL_SRC_ALPHA 0x0302
+#define GL_ONE_MINUS_SRC_ALPHA 0x0303
+#define GL_DST_ALPHA 0x0304
+#define GL_ONE_MINUS_DST_ALPHA 0x0305
+#define GL_DST_COLOR 0x0306
+#define GL_ONE_MINUS_DST_COLOR 0x0307
+#define GL_SRC_ALPHA_SATURATE 0x0308
+#define GL_NONE 0
+#define GL_FRONT_LEFT 0x0400
+#define GL_FRONT_RIGHT 0x0401
+#define GL_BACK_LEFT 0x0402
+#define GL_BACK_RIGHT 0x0403
+#define GL_FRONT 0x0404
+#define GL_BACK 0x0405
+#define GL_LEFT 0x0406
+#define GL_RIGHT 0x0407
+#define GL_FRONT_AND_BACK 0x0408
+#define GL_NO_ERROR 0
+#define GL_INVALID_ENUM 0x0500
+#define GL_INVALID_VALUE 0x0501
+#define GL_INVALID_OPERATION 0x0502
+#define GL_OUT_OF_MEMORY 0x0505
+#define GL_CW 0x0900
+#define GL_CCW 0x0901
+#define GL_POINT_SIZE 0x0B11
+#define GL_POINT_SIZE_RANGE 0x0B12
+#define GL_POINT_SIZE_GRANULARITY 0x0B13
+#define GL_LINE_SMOOTH 0x0B20
+#define GL_LINE_WIDTH 0x0B21
+#define GL_LINE_WIDTH_RANGE 0x0B22
+#define GL_LINE_WIDTH_GRANULARITY 0x0B23
+#define GL_POLYGON_MODE 0x0B40
+#define GL_POLYGON_SMOOTH 0x0B41
+#define GL_CULL_FACE 0x0B44
+#define GL_CULL_FACE_MODE 0x0B45
+#define GL_FRONT_FACE 0x0B46
+#define GL_DEPTH_RANGE 0x0B70
+#define GL_DEPTH_TEST 0x0B71
+#define GL_DEPTH_WRITEMASK 0x0B72
+#define GL_DEPTH_CLEAR_VALUE 0x0B73
+#define GL_DEPTH_FUNC 0x0B74
+#define GL_STENCIL_TEST 0x0B90
+#define GL_STENCIL_CLEAR_VALUE 0x0B91
+#define GL_STENCIL_FUNC 0x0B92
+#define GL_STENCIL_VALUE_MASK 0x0B93
+#define GL_STENCIL_FAIL 0x0B94
+#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
+#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
+#define GL_STENCIL_REF 0x0B97
+#define GL_STENCIL_WRITEMASK 0x0B98
+#define GL_VIEWPORT 0x0BA2
+#define GL_DITHER 0x0BD0
+#define GL_BLEND_DST 0x0BE0
+#define GL_BLEND_SRC 0x0BE1
+#define GL_BLEND 0x0BE2
+#define GL_LOGIC_OP_MODE 0x0BF0
+#define GL_COLOR_LOGIC_OP 0x0BF2
+#define GL_DRAW_BUFFER 0x0C01
+#define GL_READ_BUFFER 0x0C02
+#define GL_SCISSOR_BOX 0x0C10
+#define GL_SCISSOR_TEST 0x0C11
+#define GL_COLOR_CLEAR_VALUE 0x0C22
+#define GL_COLOR_WRITEMASK 0x0C23
+#define GL_DOUBLEBUFFER 0x0C32
+#define GL_STEREO 0x0C33
+#define GL_LINE_SMOOTH_HINT 0x0C52
+#define GL_POLYGON_SMOOTH_HINT 0x0C53
+#define GL_UNPACK_SWAP_BYTES 0x0CF0
+#define GL_UNPACK_LSB_FIRST 0x0CF1
+#define GL_UNPACK_ROW_LENGTH 0x0CF2
+#define GL_UNPACK_SKIP_ROWS 0x0CF3
+#define GL_UNPACK_SKIP_PIXELS 0x0CF4
+#define GL_UNPACK_ALIGNMENT 0x0CF5
+#define GL_PACK_SWAP_BYTES 0x0D00
+#define GL_PACK_LSB_FIRST 0x0D01
+#define GL_PACK_ROW_LENGTH 0x0D02
+#define GL_PACK_SKIP_ROWS 0x0D03
+#define GL_PACK_SKIP_PIXELS 0x0D04
+#define GL_PACK_ALIGNMENT 0x0D05
+#define GL_MAX_TEXTURE_SIZE 0x0D33
+#define GL_MAX_VIEWPORT_DIMS 0x0D3A
+#define GL_SUBPIXEL_BITS 0x0D50
+#define GL_TEXTURE_1D 0x0DE0
+#define GL_TEXTURE_2D 0x0DE1
+#define GL_POLYGON_OFFSET_UNITS 0x2A00
+#define GL_POLYGON_OFFSET_POINT 0x2A01
+#define GL_POLYGON_OFFSET_LINE 0x2A02
+#define GL_POLYGON_OFFSET_FILL 0x8037
+#define GL_POLYGON_OFFSET_FACTOR 0x8038
+#define GL_TEXTURE_BINDING_1D 0x8068
+#define GL_TEXTURE_BINDING_2D 0x8069
+#define GL_TEXTURE_WIDTH 0x1000
+#define GL_TEXTURE_HEIGHT 0x1001
+#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
+#define GL_TEXTURE_BORDER_COLOR 0x1004
+#define GL_TEXTURE_RED_SIZE 0x805C
+#define GL_TEXTURE_GREEN_SIZE 0x805D
+#define GL_TEXTURE_BLUE_SIZE 0x805E
+#define GL_TEXTURE_ALPHA_SIZE 0x805F
+#define GL_DONT_CARE 0x1100
+#define GL_FASTEST 0x1101
+#define GL_NICEST 0x1102
+#define GL_BYTE 0x1400
+#define GL_UNSIGNED_BYTE 0x1401
+#define GL_SHORT 0x1402
+#define GL_UNSIGNED_SHORT 0x1403
+#define GL_INT 0x1404
+#define GL_UNSIGNED_INT 0x1405
+#define GL_FLOAT 0x1406
+#define GL_DOUBLE 0x140A
+#define GL_CLEAR 0x1500
+#define GL_AND 0x1501
+#define GL_AND_REVERSE 0x1502
+#define GL_COPY 0x1503
+#define GL_AND_INVERTED 0x1504
+#define GL_NOOP 0x1505
+#define GL_XOR 0x1506
+#define GL_OR 0x1507
+#define GL_NOR 0x1508
+#define GL_EQUIV 0x1509
+#define GL_INVERT 0x150A
+#define GL_OR_REVERSE 0x150B
+#define GL_COPY_INVERTED 0x150C
+#define GL_OR_INVERTED 0x150D
+#define GL_NAND 0x150E
+#define GL_SET 0x150F
+#define GL_TEXTURE 0x1702
+#define GL_COLOR 0x1800
+#define GL_DEPTH 0x1801
+#define GL_STENCIL 0x1802
+#define GL_STENCIL_INDEX 0x1901
+#define GL_DEPTH_COMPONENT 0x1902
+#define GL_RED 0x1903
+#define GL_GREEN 0x1904
+#define GL_BLUE 0x1905
+#define GL_ALPHA 0x1906
+#define GL_RGB 0x1907
+#define GL_RGBA 0x1908
+#define GL_POINT 0x1B00
+#define GL_LINE 0x1B01
+#define GL_FILL 0x1B02
+#define GL_KEEP 0x1E00
+#define GL_REPLACE 0x1E01
+#define GL_INCR 0x1E02
+#define GL_DECR 0x1E03
+#define GL_VENDOR 0x1F00
+#define GL_RENDERER 0x1F01
+#define GL_VERSION 0x1F02
+#define GL_EXTENSIONS 0x1F03
+#define GL_NEAREST 0x2600
+#define GL_LINEAR 0x2601
+#define GL_NEAREST_MIPMAP_NEAREST 0x2700
+#define GL_LINEAR_MIPMAP_NEAREST 0x2701
+#define GL_NEAREST_MIPMAP_LINEAR 0x2702
+#define GL_LINEAR_MIPMAP_LINEAR 0x2703
+#define GL_TEXTURE_MAG_FILTER 0x2800
+#define GL_TEXTURE_MIN_FILTER 0x2801
+#define GL_TEXTURE_WRAP_S 0x2802
+#define GL_TEXTURE_WRAP_T 0x2803
+#define GL_PROXY_TEXTURE_1D 0x8063
+#define GL_PROXY_TEXTURE_2D 0x8064
+#define GL_REPEAT 0x2901
+#define GL_R3_G3_B2 0x2A10
+#define GL_RGB4 0x804F
+#define GL_RGB5 0x8050
+#define GL_RGB8 0x8051
+#define GL_RGB10 0x8052
+#define GL_RGB12 0x8053
+#define GL_RGB16 0x8054
+#define GL_RGBA2 0x8055
+#define GL_RGBA4 0x8056
+#define GL_RGB5_A1 0x8057
+#define GL_RGBA8 0x8058
+#define GL_RGB10_A2 0x8059
+#define GL_RGBA12 0x805A
+#define GL_RGBA16 0x805B
+#define GL_UNSIGNED_BYTE_3_3_2 0x8032
+#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
+#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
+#define GL_UNSIGNED_INT_8_8_8_8 0x8035
+#define GL_UNSIGNED_INT_10_10_10_2 0x8036
+#define GL_TEXTURE_BINDING_3D 0x806A
+#define GL_PACK_SKIP_IMAGES 0x806B
+#define GL_PACK_IMAGE_HEIGHT 0x806C
+#define GL_UNPACK_SKIP_IMAGES 0x806D
+#define GL_UNPACK_IMAGE_HEIGHT 0x806E
+#define GL_TEXTURE_3D 0x806F
+#define GL_PROXY_TEXTURE_3D 0x8070
+#define GL_TEXTURE_DEPTH 0x8071
+#define GL_TEXTURE_WRAP_R 0x8072
+#define GL_MAX_3D_TEXTURE_SIZE 0x8073
+#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
+#define GL_UNSIGNED_SHORT_5_6_5 0x8363
+#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
+#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
+#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
+#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
+#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
+#define GL_BGR 0x80E0
+#define GL_BGRA 0x80E1
+#define GL_MAX_ELEMENTS_VERTICES 0x80E8
+#define GL_MAX_ELEMENTS_INDICES 0x80E9
+#define GL_CLAMP_TO_EDGE 0x812F
+#define GL_TEXTURE_MIN_LOD 0x813A
+#define GL_TEXTURE_MAX_LOD 0x813B
+#define GL_TEXTURE_BASE_LEVEL 0x813C
+#define GL_TEXTURE_MAX_LEVEL 0x813D
+#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
+#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
+#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
+#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
+#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
+#define GL_TEXTURE0 0x84C0
+#define GL_TEXTURE1 0x84C1
+#define GL_TEXTURE2 0x84C2
+#define GL_TEXTURE3 0x84C3
+#define GL_TEXTURE4 0x84C4
+#define GL_TEXTURE5 0x84C5
+#define GL_TEXTURE6 0x84C6
+#define GL_TEXTURE7 0x84C7
+#define GL_TEXTURE8 0x84C8
+#define GL_TEXTURE9 0x84C9
+#define GL_TEXTURE10 0x84CA
+#define GL_TEXTURE11 0x84CB
+#define GL_TEXTURE12 0x84CC
+#define GL_TEXTURE13 0x84CD
+#define GL_TEXTURE14 0x84CE
+#define GL_TEXTURE15 0x84CF
+#define GL_TEXTURE16 0x84D0
+#define GL_TEXTURE17 0x84D1
+#define GL_TEXTURE18 0x84D2
+#define GL_TEXTURE19 0x84D3
+#define GL_TEXTURE20 0x84D4
+#define GL_TEXTURE21 0x84D5
+#define GL_TEXTURE22 0x84D6
+#define GL_TEXTURE23 0x84D7
+#define GL_TEXTURE24 0x84D8
+#define GL_TEXTURE25 0x84D9
+#define GL_TEXTURE26 0x84DA
+#define GL_TEXTURE27 0x84DB
+#define GL_TEXTURE28 0x84DC
+#define GL_TEXTURE29 0x84DD
+#define GL_TEXTURE30 0x84DE
+#define GL_TEXTURE31 0x84DF
+#define GL_ACTIVE_TEXTURE 0x84E0
+#define GL_MULTISAMPLE 0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
+#define GL_SAMPLE_COVERAGE 0x80A0
+#define GL_SAMPLE_BUFFERS 0x80A8
+#define GL_SAMPLES 0x80A9
+#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
+#define GL_TEXTURE_CUBE_MAP 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
+#define GL_COMPRESSED_RGB 0x84ED
+#define GL_COMPRESSED_RGBA 0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
+#define GL_TEXTURE_COMPRESSED 0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
+#define GL_CLAMP_TO_BORDER 0x812D
+#define GL_BLEND_DST_RGB 0x80C8
+#define GL_BLEND_SRC_RGB 0x80C9
+#define GL_BLEND_DST_ALPHA 0x80CA
+#define GL_BLEND_SRC_ALPHA 0x80CB
+#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
+#define GL_DEPTH_COMPONENT16 0x81A5
+#define GL_DEPTH_COMPONENT24 0x81A6
+#define GL_DEPTH_COMPONENT32 0x81A7
+#define GL_MIRRORED_REPEAT 0x8370
+#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
+#define GL_TEXTURE_LOD_BIAS 0x8501
+#define GL_INCR_WRAP 0x8507
+#define GL_DECR_WRAP 0x8508
+#define GL_TEXTURE_DEPTH_SIZE 0x884A
+#define GL_TEXTURE_COMPARE_MODE 0x884C
+#define GL_TEXTURE_COMPARE_FUNC 0x884D
+#define GL_FUNC_ADD 0x8006
+#define GL_FUNC_SUBTRACT 0x800A
+#define GL_FUNC_REVERSE_SUBTRACT 0x800B
+#define GL_MIN 0x8007
+#define GL_MAX 0x8008
+#define GL_CONSTANT_COLOR 0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
+#define GL_CONSTANT_ALPHA 0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
+#define GL_BUFFER_SIZE 0x8764
+#define GL_BUFFER_USAGE 0x8765
+#define GL_QUERY_COUNTER_BITS 0x8864
+#define GL_CURRENT_QUERY 0x8865
+#define GL_QUERY_RESULT 0x8866
+#define GL_QUERY_RESULT_AVAILABLE 0x8867
+#define GL_ARRAY_BUFFER 0x8892
+#define GL_ELEMENT_ARRAY_BUFFER 0x8893
+#define GL_ARRAY_BUFFER_BINDING 0x8894
+#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
+#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
+#define GL_READ_ONLY 0x88B8
+#define GL_WRITE_ONLY 0x88B9
+#define GL_READ_WRITE 0x88BA
+#define GL_BUFFER_ACCESS 0x88BB
+#define GL_BUFFER_MAPPED 0x88BC
+#define GL_BUFFER_MAP_POINTER 0x88BD
+#define GL_STREAM_DRAW 0x88E0
+#define GL_STREAM_READ 0x88E1
+#define GL_STREAM_COPY 0x88E2
+#define GL_STATIC_DRAW 0x88E4
+#define GL_STATIC_READ 0x88E5
+#define GL_STATIC_COPY 0x88E6
+#define GL_DYNAMIC_DRAW 0x88E8
+#define GL_DYNAMIC_READ 0x88E9
+#define GL_DYNAMIC_COPY 0x88EA
+#define GL_SAMPLES_PASSED 0x8914
+#define GL_SRC1_ALPHA 0x8589
+#define GL_BLEND_EQUATION_RGB 0x8009
+#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
+#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
+#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
+#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
+#define GL_CURRENT_VERTEX_ATTRIB 0x8626
+#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
+#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
+#define GL_STENCIL_BACK_FUNC 0x8800
+#define GL_STENCIL_BACK_FAIL 0x8801
+#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
+#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
+#define GL_MAX_DRAW_BUFFERS 0x8824
+#define GL_DRAW_BUFFER0 0x8825
+#define GL_DRAW_BUFFER1 0x8826
+#define GL_DRAW_BUFFER2 0x8827
+#define GL_DRAW_BUFFER3 0x8828
+#define GL_DRAW_BUFFER4 0x8829
+#define GL_DRAW_BUFFER5 0x882A
+#define GL_DRAW_BUFFER6 0x882B
+#define GL_DRAW_BUFFER7 0x882C
+#define GL_DRAW_BUFFER8 0x882D
+#define GL_DRAW_BUFFER9 0x882E
+#define GL_DRAW_BUFFER10 0x882F
+#define GL_DRAW_BUFFER11 0x8830
+#define GL_DRAW_BUFFER12 0x8831
+#define GL_DRAW_BUFFER13 0x8832
+#define GL_DRAW_BUFFER14 0x8833
+#define GL_DRAW_BUFFER15 0x8834
+#define GL_BLEND_EQUATION_ALPHA 0x883D
+#define GL_MAX_VERTEX_ATTRIBS 0x8869
+#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
+#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
+#define GL_FRAGMENT_SHADER 0x8B30
+#define GL_VERTEX_SHADER 0x8B31
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
+#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
+#define GL_MAX_VARYING_FLOATS 0x8B4B
+#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
+#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
+#define GL_SHADER_TYPE 0x8B4F
+#define GL_FLOAT_VEC2 0x8B50
+#define GL_FLOAT_VEC3 0x8B51
+#define GL_FLOAT_VEC4 0x8B52
+#define GL_INT_VEC2 0x8B53
+#define GL_INT_VEC3 0x8B54
+#define GL_INT_VEC4 0x8B55
+#define GL_BOOL 0x8B56
+#define GL_BOOL_VEC2 0x8B57
+#define GL_BOOL_VEC3 0x8B58
+#define GL_BOOL_VEC4 0x8B59
+#define GL_FLOAT_MAT2 0x8B5A
+#define GL_FLOAT_MAT3 0x8B5B
+#define GL_FLOAT_MAT4 0x8B5C
+#define GL_SAMPLER_1D 0x8B5D
+#define GL_SAMPLER_2D 0x8B5E
+#define GL_SAMPLER_3D 0x8B5F
+#define GL_SAMPLER_CUBE 0x8B60
+#define GL_SAMPLER_1D_SHADOW 0x8B61
+#define GL_SAMPLER_2D_SHADOW 0x8B62
+#define GL_DELETE_STATUS 0x8B80
+#define GL_COMPILE_STATUS 0x8B81
+#define GL_LINK_STATUS 0x8B82
+#define GL_VALIDATE_STATUS 0x8B83
+#define GL_INFO_LOG_LENGTH 0x8B84
+#define GL_ATTACHED_SHADERS 0x8B85
+#define GL_ACTIVE_UNIFORMS 0x8B86
+#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
+#define GL_SHADER_SOURCE_LENGTH 0x8B88
+#define GL_ACTIVE_ATTRIBUTES 0x8B89
+#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
+#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
+#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
+#define GL_CURRENT_PROGRAM 0x8B8D
+#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
+#define GL_LOWER_LEFT 0x8CA1
+#define GL_UPPER_LEFT 0x8CA2
+#define GL_STENCIL_BACK_REF 0x8CA3
+#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
+#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
+#define GL_PIXEL_PACK_BUFFER 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
+#define GL_FLOAT_MAT2x3 0x8B65
+#define GL_FLOAT_MAT2x4 0x8B66
+#define GL_FLOAT_MAT3x2 0x8B67
+#define GL_FLOAT_MAT3x4 0x8B68
+#define GL_FLOAT_MAT4x2 0x8B69
+#define GL_FLOAT_MAT4x3 0x8B6A
+#define GL_SRGB 0x8C40
+#define GL_SRGB8 0x8C41
+#define GL_SRGB_ALPHA 0x8C42
+#define GL_SRGB8_ALPHA8 0x8C43
+#define GL_COMPRESSED_SRGB 0x8C48
+#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
+#define GL_COMPARE_REF_TO_TEXTURE 0x884E
+#define GL_CLIP_DISTANCE0 0x3000
+#define GL_CLIP_DISTANCE1 0x3001
+#define GL_CLIP_DISTANCE2 0x3002
+#define GL_CLIP_DISTANCE3 0x3003
+#define GL_CLIP_DISTANCE4 0x3004
+#define GL_CLIP_DISTANCE5 0x3005
+#define GL_CLIP_DISTANCE6 0x3006
+#define GL_CLIP_DISTANCE7 0x3007
+#define GL_MAX_CLIP_DISTANCES 0x0D32
+#define GL_MAJOR_VERSION 0x821B
+#define GL_MINOR_VERSION 0x821C
+#define GL_NUM_EXTENSIONS 0x821D
+#define GL_CONTEXT_FLAGS 0x821E
+#define GL_COMPRESSED_RED 0x8225
+#define GL_COMPRESSED_RG 0x8226
+#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001
+#define GL_RGBA32F 0x8814
+#define GL_RGB32F 0x8815
+#define GL_RGBA16F 0x881A
+#define GL_RGB16F 0x881B
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
+#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
+#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
+#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
+#define GL_CLAMP_READ_COLOR 0x891C
+#define GL_FIXED_ONLY 0x891D
+#define GL_MAX_VARYING_COMPONENTS 0x8B4B
+#define GL_TEXTURE_1D_ARRAY 0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
+#define GL_TEXTURE_2D_ARRAY 0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
+#define GL_R11F_G11F_B10F 0x8C3A
+#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
+#define GL_RGB9_E5 0x8C3D
+#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
+#define GL_TEXTURE_SHARED_SIZE 0x8C3F
+#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
+#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
+#define GL_PRIMITIVES_GENERATED 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
+#define GL_RASTERIZER_DISCARD 0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
+#define GL_INTERLEAVED_ATTRIBS 0x8C8C
+#define GL_SEPARATE_ATTRIBS 0x8C8D
+#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
+#define GL_RGBA32UI 0x8D70
+#define GL_RGB32UI 0x8D71
+#define GL_RGBA16UI 0x8D76
+#define GL_RGB16UI 0x8D77
+#define GL_RGBA8UI 0x8D7C
+#define GL_RGB8UI 0x8D7D
+#define GL_RGBA32I 0x8D82
+#define GL_RGB32I 0x8D83
+#define GL_RGBA16I 0x8D88
+#define GL_RGB16I 0x8D89
+#define GL_RGBA8I 0x8D8E
+#define GL_RGB8I 0x8D8F
+#define GL_RED_INTEGER 0x8D94
+#define GL_GREEN_INTEGER 0x8D95
+#define GL_BLUE_INTEGER 0x8D96
+#define GL_RGB_INTEGER 0x8D98
+#define GL_RGBA_INTEGER 0x8D99
+#define GL_BGR_INTEGER 0x8D9A
+#define GL_BGRA_INTEGER 0x8D9B
+#define GL_SAMPLER_1D_ARRAY 0x8DC0
+#define GL_SAMPLER_2D_ARRAY 0x8DC1
+#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
+#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
+#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
+#define GL_UNSIGNED_INT_VEC2 0x8DC6
+#define GL_UNSIGNED_INT_VEC3 0x8DC7
+#define GL_UNSIGNED_INT_VEC4 0x8DC8
+#define GL_INT_SAMPLER_1D 0x8DC9
+#define GL_INT_SAMPLER_2D 0x8DCA
+#define GL_INT_SAMPLER_3D 0x8DCB
+#define GL_INT_SAMPLER_CUBE 0x8DCC
+#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
+#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
+#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
+#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
+#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
+#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
+#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
+#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
+#define GL_QUERY_WAIT 0x8E13
+#define GL_QUERY_NO_WAIT 0x8E14
+#define GL_QUERY_BY_REGION_WAIT 0x8E15
+#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
+#define GL_BUFFER_ACCESS_FLAGS 0x911F
+#define GL_BUFFER_MAP_LENGTH 0x9120
+#define GL_BUFFER_MAP_OFFSET 0x9121
+#define GL_DEPTH_COMPONENT32F 0x8CAC
+#define GL_DEPTH32F_STENCIL8 0x8CAD
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
+#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
+#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
+#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
+#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
+#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
+#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
+#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
+#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
+#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
+#define GL_FRAMEBUFFER_DEFAULT 0x8218
+#define GL_FRAMEBUFFER_UNDEFINED 0x8219
+#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
+#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
+#define GL_DEPTH_STENCIL 0x84F9
+#define GL_UNSIGNED_INT_24_8 0x84FA
+#define GL_DEPTH24_STENCIL8 0x88F0
+#define GL_TEXTURE_STENCIL_SIZE 0x88F1
+#define GL_TEXTURE_RED_TYPE 0x8C10
+#define GL_TEXTURE_GREEN_TYPE 0x8C11
+#define GL_TEXTURE_BLUE_TYPE 0x8C12
+#define GL_TEXTURE_ALPHA_TYPE 0x8C13
+#define GL_TEXTURE_DEPTH_TYPE 0x8C16
+#define GL_UNSIGNED_NORMALIZED 0x8C17
+#define GL_FRAMEBUFFER_BINDING 0x8CA6
+#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
+#define GL_RENDERBUFFER_BINDING 0x8CA7
+#define GL_READ_FRAMEBUFFER 0x8CA8
+#define GL_DRAW_FRAMEBUFFER 0x8CA9
+#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
+#define GL_RENDERBUFFER_SAMPLES 0x8CAB
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
+#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
+#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
+#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
+#define GL_COLOR_ATTACHMENT0 0x8CE0
+#define GL_COLOR_ATTACHMENT1 0x8CE1
+#define GL_COLOR_ATTACHMENT2 0x8CE2
+#define GL_COLOR_ATTACHMENT3 0x8CE3
+#define GL_COLOR_ATTACHMENT4 0x8CE4
+#define GL_COLOR_ATTACHMENT5 0x8CE5
+#define GL_COLOR_ATTACHMENT6 0x8CE6
+#define GL_COLOR_ATTACHMENT7 0x8CE7
+#define GL_COLOR_ATTACHMENT8 0x8CE8
+#define GL_COLOR_ATTACHMENT9 0x8CE9
+#define GL_COLOR_ATTACHMENT10 0x8CEA
+#define GL_COLOR_ATTACHMENT11 0x8CEB
+#define GL_COLOR_ATTACHMENT12 0x8CEC
+#define GL_COLOR_ATTACHMENT13 0x8CED
+#define GL_COLOR_ATTACHMENT14 0x8CEE
+#define GL_COLOR_ATTACHMENT15 0x8CEF
+#define GL_DEPTH_ATTACHMENT 0x8D00
+#define GL_STENCIL_ATTACHMENT 0x8D20
+#define GL_FRAMEBUFFER 0x8D40
+#define GL_RENDERBUFFER 0x8D41
+#define GL_RENDERBUFFER_WIDTH 0x8D42
+#define GL_RENDERBUFFER_HEIGHT 0x8D43
+#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
+#define GL_STENCIL_INDEX1 0x8D46
+#define GL_STENCIL_INDEX4 0x8D47
+#define GL_STENCIL_INDEX8 0x8D48
+#define GL_STENCIL_INDEX16 0x8D49
+#define GL_RENDERBUFFER_RED_SIZE 0x8D50
+#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
+#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
+#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
+#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
+#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
+#define GL_MAX_SAMPLES 0x8D57
+#define GL_INDEX 0x8222
+#define GL_FRAMEBUFFER_SRGB 0x8DB9
+#define GL_HALF_FLOAT 0x140B
+#define GL_MAP_READ_BIT 0x0001
+#define GL_MAP_WRITE_BIT 0x0002
+#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
+#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
+#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
+#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
+#define GL_COMPRESSED_RED_RGTC1 0x8DBB
+#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
+#define GL_COMPRESSED_RG_RGTC2 0x8DBD
+#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
+#define GL_RG 0x8227
+#define GL_RG_INTEGER 0x8228
+#define GL_R8 0x8229
+#define GL_R16 0x822A
+#define GL_RG8 0x822B
+#define GL_RG16 0x822C
+#define GL_R16F 0x822D
+#define GL_R32F 0x822E
+#define GL_RG16F 0x822F
+#define GL_RG32F 0x8230
+#define GL_R8I 0x8231
+#define GL_R8UI 0x8232
+#define GL_R16I 0x8233
+#define GL_R16UI 0x8234
+#define GL_R32I 0x8235
+#define GL_R32UI 0x8236
+#define GL_RG8I 0x8237
+#define GL_RG8UI 0x8238
+#define GL_RG16I 0x8239
+#define GL_RG16UI 0x823A
+#define GL_RG32I 0x823B
+#define GL_RG32UI 0x823C
+#define GL_VERTEX_ARRAY_BINDING 0x85B5
+#define GL_SAMPLER_2D_RECT 0x8B63
+#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
+#define GL_SAMPLER_BUFFER 0x8DC2
+#define GL_INT_SAMPLER_2D_RECT 0x8DCD
+#define GL_INT_SAMPLER_BUFFER 0x8DD0
+#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
+#define GL_TEXTURE_BUFFER 0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
+#define GL_TEXTURE_RECTANGLE 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
+#define GL_R8_SNORM 0x8F94
+#define GL_RG8_SNORM 0x8F95
+#define GL_RGB8_SNORM 0x8F96
+#define GL_RGBA8_SNORM 0x8F97
+#define GL_R16_SNORM 0x8F98
+#define GL_RG16_SNORM 0x8F99
+#define GL_RGB16_SNORM 0x8F9A
+#define GL_RGBA16_SNORM 0x8F9B
+#define GL_SIGNED_NORMALIZED 0x8F9C
+#define GL_PRIMITIVE_RESTART 0x8F9D
+#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
+#define GL_COPY_READ_BUFFER 0x8F36
+#define GL_COPY_WRITE_BUFFER 0x8F37
+#define GL_UNIFORM_BUFFER 0x8A11
+#define GL_UNIFORM_BUFFER_BINDING 0x8A28
+#define GL_UNIFORM_BUFFER_START 0x8A29
+#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
+#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
+#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
+#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
+#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
+#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
+#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
+#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
+#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
+#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
+#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
+#define GL_UNIFORM_TYPE 0x8A37
+#define GL_UNIFORM_SIZE 0x8A38
+#define GL_UNIFORM_NAME_LENGTH 0x8A39
+#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
+#define GL_UNIFORM_OFFSET 0x8A3B
+#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
+#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
+#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
+#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
+#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
+#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
+#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
+#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
+#define GL_INVALID_INDEX 0xFFFFFFFF
+#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
+#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
+#define GL_LINES_ADJACENCY 0x000A
+#define GL_LINE_STRIP_ADJACENCY 0x000B
+#define GL_TRIANGLES_ADJACENCY 0x000C
+#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
+#define GL_PROGRAM_POINT_SIZE 0x8642
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
+#define GL_GEOMETRY_SHADER 0x8DD9
+#define GL_GEOMETRY_VERTICES_OUT 0x8916
+#define GL_GEOMETRY_INPUT_TYPE 0x8917
+#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
+#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
+#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
+#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
+#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
+#define GL_CONTEXT_PROFILE_MASK 0x9126
+#define GL_DEPTH_CLAMP 0x864F
+#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
+#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
+#define GL_LAST_VERTEX_CONVENTION 0x8E4E
+#define GL_PROVOKING_VERTEX 0x8E4F
+#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
+#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
+#define GL_OBJECT_TYPE 0x9112
+#define GL_SYNC_CONDITION 0x9113
+#define GL_SYNC_STATUS 0x9114
+#define GL_SYNC_FLAGS 0x9115
+#define GL_SYNC_FENCE 0x9116
+#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
+#define GL_UNSIGNALED 0x9118
+#define GL_SIGNALED 0x9119
+#define GL_ALREADY_SIGNALED 0x911A
+#define GL_TIMEOUT_EXPIRED 0x911B
+#define GL_CONDITION_SATISFIED 0x911C
+#define GL_WAIT_FAILED 0x911D
+#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF
+#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
+#define GL_SAMPLE_POSITION 0x8E50
+#define GL_SAMPLE_MASK 0x8E51
+#define GL_SAMPLE_MASK_VALUE 0x8E52
+#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
+#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
+#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
+#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
+#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
+#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
+#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
+#define GL_TEXTURE_SAMPLES 0x9106
+#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
+#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
+#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
+#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
+#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
+#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
+#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
+#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
+#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
+#define GL_MAX_INTEGER_SAMPLES 0x9110
+#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
+#define GL_SRC1_COLOR 0x88F9
+#define GL_ONE_MINUS_SRC1_COLOR 0x88FA
+#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
+#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC
+#define GL_ANY_SAMPLES_PASSED 0x8C2F
+#define GL_SAMPLER_BINDING 0x8919
+#define GL_RGB10_A2UI 0x906F
+#define GL_TEXTURE_SWIZZLE_R 0x8E42
+#define GL_TEXTURE_SWIZZLE_G 0x8E43
+#define GL_TEXTURE_SWIZZLE_B 0x8E44
+#define GL_TEXTURE_SWIZZLE_A 0x8E45
+#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
+#define GL_TIME_ELAPSED 0x88BF
+#define GL_TIMESTAMP 0x8E28
+#define GL_INT_2_10_10_10_REV 0x8D9F
+#define GL_SAMPLE_SHADING 0x8C36
+#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
+#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B
+#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C
+#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D
+#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
+#define GL_DRAW_INDIRECT_BUFFER 0x8F3F
+#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43
+#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
+#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
+#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
+#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
+#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
+#define GL_MAX_VERTEX_STREAMS 0x8E71
+#define GL_DOUBLE_VEC2 0x8FFC
+#define GL_DOUBLE_VEC3 0x8FFD
+#define GL_DOUBLE_VEC4 0x8FFE
+#define GL_DOUBLE_MAT2 0x8F46
+#define GL_DOUBLE_MAT3 0x8F47
+#define GL_DOUBLE_MAT4 0x8F48
+#define GL_DOUBLE_MAT2x3 0x8F49
+#define GL_DOUBLE_MAT2x4 0x8F4A
+#define GL_DOUBLE_MAT3x2 0x8F4B
+#define GL_DOUBLE_MAT3x4 0x8F4C
+#define GL_DOUBLE_MAT4x2 0x8F4D
+#define GL_DOUBLE_MAT4x3 0x8F4E
+#define GL_ACTIVE_SUBROUTINES 0x8DE5
+#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6
+#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47
+#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48
+#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49
+#define GL_MAX_SUBROUTINES 0x8DE7
+#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8
+#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
+#define GL_COMPATIBLE_SUBROUTINES 0x8E4B
+#define GL_PATCHES 0x000E
+#define GL_PATCH_VERTICES 0x8E72
+#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73
+#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74
+#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75
+#define GL_TESS_GEN_MODE 0x8E76
+#define GL_TESS_GEN_SPACING 0x8E77
+#define GL_TESS_GEN_VERTEX_ORDER 0x8E78
+#define GL_TESS_GEN_POINT_MODE 0x8E79
+#define GL_ISOLINES 0x8E7A
+#define GL_FRACTIONAL_ODD 0x8E7B
+#define GL_FRACTIONAL_EVEN 0x8E7C
+#define GL_MAX_PATCH_VERTICES 0x8E7D
+#define GL_MAX_TESS_GEN_LEVEL 0x8E7E
+#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F
+#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80
+#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81
+#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82
+#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83
+#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84
+#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85
+#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86
+#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89
+#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A
+#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C
+#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D
+#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E
+#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1
+#define GL_TESS_EVALUATION_SHADER 0x8E87
+#define GL_TESS_CONTROL_SHADER 0x8E88
+#define GL_TRANSFORM_FEEDBACK 0x8E22
+#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23
+#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24
+#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
+#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70
+#define GL_FIXED 0x140C
+#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
+#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
+#define GL_LOW_FLOAT 0x8DF0
+#define GL_MEDIUM_FLOAT 0x8DF1
+#define GL_HIGH_FLOAT 0x8DF2
+#define GL_LOW_INT 0x8DF3
+#define GL_MEDIUM_INT 0x8DF4
+#define GL_HIGH_INT 0x8DF5
+#define GL_SHADER_COMPILER 0x8DFA
+#define GL_SHADER_BINARY_FORMATS 0x8DF8
+#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
+#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
+#define GL_MAX_VARYING_VECTORS 0x8DFC
+#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
+#define GL_RGB565 0x8D62
+#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
+#define GL_PROGRAM_BINARY_LENGTH 0x8741
+#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
+#define GL_PROGRAM_BINARY_FORMATS 0x87FF
+#define GL_VERTEX_SHADER_BIT 0x00000001
+#define GL_FRAGMENT_SHADER_BIT 0x00000002
+#define GL_GEOMETRY_SHADER_BIT 0x00000004
+#define GL_TESS_CONTROL_SHADER_BIT 0x00000008
+#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010
+#define GL_ALL_SHADER_BITS 0xFFFFFFFF
+#define GL_PROGRAM_SEPARABLE 0x8258
+#define GL_ACTIVE_PROGRAM 0x8259
+#define GL_PROGRAM_PIPELINE_BINDING 0x825A
+#define GL_MAX_VIEWPORTS 0x825B
+#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C
+#define GL_VIEWPORT_BOUNDS_RANGE 0x825D
+#define GL_LAYER_PROVOKING_VERTEX 0x825E
+#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F
+#define GL_UNDEFINED_VERTEX 0x8260
+#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127
+#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128
+#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129
+#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A
+#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B
+#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C
+#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D
+#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E
+#define GL_NUM_SAMPLE_COUNTS 0x9380
+#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC
+#define GL_ATOMIC_COUNTER_BUFFER 0x92C0
+#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1
+#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2
+#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3
+#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4
+#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5
+#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB
+#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
+#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD
+#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE
+#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF
+#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
+#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
+#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2
+#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3
+#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4
+#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5
+#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6
+#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7
+#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
+#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
+#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9
+#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA
+#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB
+#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
+#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002
+#define GL_UNIFORM_BARRIER_BIT 0x00000004
+#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008
+#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
+#define GL_COMMAND_BARRIER_BIT 0x00000040
+#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080
+#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100
+#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200
+#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400
+#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
+#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000
+#define GL_ALL_BARRIER_BITS 0xFFFFFFFF
+#define GL_MAX_IMAGE_UNITS 0x8F38
+#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
+#define GL_IMAGE_BINDING_NAME 0x8F3A
+#define GL_IMAGE_BINDING_LEVEL 0x8F3B
+#define GL_IMAGE_BINDING_LAYERED 0x8F3C
+#define GL_IMAGE_BINDING_LAYER 0x8F3D
+#define GL_IMAGE_BINDING_ACCESS 0x8F3E
+#define GL_IMAGE_1D 0x904C
+#define GL_IMAGE_2D 0x904D
+#define GL_IMAGE_3D 0x904E
+#define GL_IMAGE_2D_RECT 0x904F
+#define GL_IMAGE_CUBE 0x9050
+#define GL_IMAGE_BUFFER 0x9051
+#define GL_IMAGE_1D_ARRAY 0x9052
+#define GL_IMAGE_2D_ARRAY 0x9053
+#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054
+#define GL_IMAGE_2D_MULTISAMPLE 0x9055
+#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056
+#define GL_INT_IMAGE_1D 0x9057
+#define GL_INT_IMAGE_2D 0x9058
+#define GL_INT_IMAGE_3D 0x9059
+#define GL_INT_IMAGE_2D_RECT 0x905A
+#define GL_INT_IMAGE_CUBE 0x905B
+#define GL_INT_IMAGE_BUFFER 0x905C
+#define GL_INT_IMAGE_1D_ARRAY 0x905D
+#define GL_INT_IMAGE_2D_ARRAY 0x905E
+#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F
+#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060
+#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061
+#define GL_UNSIGNED_INT_IMAGE_1D 0x9062
+#define GL_UNSIGNED_INT_IMAGE_2D 0x9063
+#define GL_UNSIGNED_INT_IMAGE_3D 0x9064
+#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065
+#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066
+#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067
+#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068
+#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069
+#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C
+#define GL_MAX_IMAGE_SAMPLES 0x906D
+#define GL_IMAGE_BINDING_FORMAT 0x906E
+#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
+#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
+#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
+#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
+#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB
+#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC
+#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD
+#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
+#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
+#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C
+#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D
+#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E
+#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F
+#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
+#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9
+#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E
+#define GL_COMPRESSED_RGB8_ETC2 0x9274
+#define GL_COMPRESSED_SRGB8_ETC2 0x9275
+#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
+#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
+#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
+#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
+#define GL_COMPRESSED_R11_EAC 0x9270
+#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
+#define GL_COMPRESSED_RG11_EAC 0x9272
+#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
+#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
+#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
+#define GL_MAX_ELEMENT_INDEX 0x8D6B
+#define GL_COMPUTE_SHADER 0x91B9
+#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB
+#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC
+#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD
+#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262
+#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263
+#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264
+#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265
+#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266
+#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB
+#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE
+#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF
+#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED
+#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE
+#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF
+#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
+#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
+#define GL_DEBUG_CALLBACK_FUNCTION 0x8244
+#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
+#define GL_DEBUG_SOURCE_API 0x8246
+#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
+#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
+#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
+#define GL_DEBUG_SOURCE_APPLICATION 0x824A
+#define GL_DEBUG_SOURCE_OTHER 0x824B
+#define GL_DEBUG_TYPE_ERROR 0x824C
+#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
+#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
+#define GL_DEBUG_TYPE_PORTABILITY 0x824F
+#define GL_DEBUG_TYPE_PERFORMANCE 0x8250
+#define GL_DEBUG_TYPE_OTHER 0x8251
+#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
+#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
+#define GL_DEBUG_LOGGED_MESSAGES 0x9145
+#define GL_DEBUG_SEVERITY_HIGH 0x9146
+#define GL_DEBUG_SEVERITY_MEDIUM 0x9147
+#define GL_DEBUG_SEVERITY_LOW 0x9148
+#define GL_DEBUG_TYPE_MARKER 0x8268
+#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
+#define GL_DEBUG_TYPE_POP_GROUP 0x826A
+#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
+#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
+#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
+#define GL_BUFFER 0x82E0
+#define GL_SHADER 0x82E1
+#define GL_PROGRAM 0x82E2
+#define GL_QUERY 0x82E3
+#define GL_PROGRAM_PIPELINE 0x82E4
+#define GL_SAMPLER 0x82E6
+#define GL_MAX_LABEL_LENGTH 0x82E8
+#define GL_DEBUG_OUTPUT 0x92E0
+#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
+#define GL_MAX_UNIFORM_LOCATIONS 0x826E
+#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310
+#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311
+#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312
+#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313
+#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314
+#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315
+#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316
+#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317
+#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318
+#define GL_INTERNALFORMAT_SUPPORTED 0x826F
+#define GL_INTERNALFORMAT_PREFERRED 0x8270
+#define GL_INTERNALFORMAT_RED_SIZE 0x8271
+#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272
+#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273
+#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274
+#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275
+#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276
+#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277
+#define GL_INTERNALFORMAT_RED_TYPE 0x8278
+#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279
+#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A
+#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B
+#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C
+#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D
+#define GL_MAX_WIDTH 0x827E
+#define GL_MAX_HEIGHT 0x827F
+#define GL_MAX_DEPTH 0x8280
+#define GL_MAX_LAYERS 0x8281
+#define GL_MAX_COMBINED_DIMENSIONS 0x8282
+#define GL_COLOR_COMPONENTS 0x8283
+#define GL_DEPTH_COMPONENTS 0x8284
+#define GL_STENCIL_COMPONENTS 0x8285
+#define GL_COLOR_RENDERABLE 0x8286
+#define GL_DEPTH_RENDERABLE 0x8287
+#define GL_STENCIL_RENDERABLE 0x8288
+#define GL_FRAMEBUFFER_RENDERABLE 0x8289
+#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A
+#define GL_FRAMEBUFFER_BLEND 0x828B
+#define GL_READ_PIXELS 0x828C
+#define GL_READ_PIXELS_FORMAT 0x828D
+#define GL_READ_PIXELS_TYPE 0x828E
+#define GL_TEXTURE_IMAGE_FORMAT 0x828F
+#define GL_TEXTURE_IMAGE_TYPE 0x8290
+#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291
+#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292
+#define GL_MIPMAP 0x8293
+#define GL_MANUAL_GENERATE_MIPMAP 0x8294
+#define GL_AUTO_GENERATE_MIPMAP 0x8295
+#define GL_COLOR_ENCODING 0x8296
+#define GL_SRGB_READ 0x8297
+#define GL_SRGB_WRITE 0x8298
+#define GL_FILTER 0x829A
+#define GL_VERTEX_TEXTURE 0x829B
+#define GL_TESS_CONTROL_TEXTURE 0x829C
+#define GL_TESS_EVALUATION_TEXTURE 0x829D
+#define GL_GEOMETRY_TEXTURE 0x829E
+#define GL_FRAGMENT_TEXTURE 0x829F
+#define GL_COMPUTE_TEXTURE 0x82A0
+#define GL_TEXTURE_SHADOW 0x82A1
+#define GL_TEXTURE_GATHER 0x82A2
+#define GL_TEXTURE_GATHER_SHADOW 0x82A3
+#define GL_SHADER_IMAGE_LOAD 0x82A4
+#define GL_SHADER_IMAGE_STORE 0x82A5
+#define GL_SHADER_IMAGE_ATOMIC 0x82A6
+#define GL_IMAGE_TEXEL_SIZE 0x82A7
+#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8
+#define GL_IMAGE_PIXEL_FORMAT 0x82A9
+#define GL_IMAGE_PIXEL_TYPE 0x82AA
+#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC
+#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD
+#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE
+#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF
+#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1
+#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2
+#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3
+#define GL_CLEAR_BUFFER 0x82B4
+#define GL_TEXTURE_VIEW 0x82B5
+#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6
+#define GL_FULL_SUPPORT 0x82B7
+#define GL_CAVEAT_SUPPORT 0x82B8
+#define GL_IMAGE_CLASS_4_X_32 0x82B9
+#define GL_IMAGE_CLASS_2_X_32 0x82BA
+#define GL_IMAGE_CLASS_1_X_32 0x82BB
+#define GL_IMAGE_CLASS_4_X_16 0x82BC
+#define GL_IMAGE_CLASS_2_X_16 0x82BD
+#define GL_IMAGE_CLASS_1_X_16 0x82BE
+#define GL_IMAGE_CLASS_4_X_8 0x82BF
+#define GL_IMAGE_CLASS_2_X_8 0x82C0
+#define GL_IMAGE_CLASS_1_X_8 0x82C1
+#define GL_IMAGE_CLASS_11_11_10 0x82C2
+#define GL_IMAGE_CLASS_10_10_10_2 0x82C3
+#define GL_VIEW_CLASS_128_BITS 0x82C4
+#define GL_VIEW_CLASS_96_BITS 0x82C5
+#define GL_VIEW_CLASS_64_BITS 0x82C6
+#define GL_VIEW_CLASS_48_BITS 0x82C7
+#define GL_VIEW_CLASS_32_BITS 0x82C8
+#define GL_VIEW_CLASS_24_BITS 0x82C9
+#define GL_VIEW_CLASS_16_BITS 0x82CA
+#define GL_VIEW_CLASS_8_BITS 0x82CB
+#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC
+#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD
+#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE
+#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF
+#define GL_VIEW_CLASS_RGTC1_RED 0x82D0
+#define GL_VIEW_CLASS_RGTC2_RG 0x82D1
+#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2
+#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3
+#define GL_UNIFORM 0x92E1
+#define GL_UNIFORM_BLOCK 0x92E2
+#define GL_PROGRAM_INPUT 0x92E3
+#define GL_PROGRAM_OUTPUT 0x92E4
+#define GL_BUFFER_VARIABLE 0x92E5
+#define GL_SHADER_STORAGE_BLOCK 0x92E6
+#define GL_VERTEX_SUBROUTINE 0x92E8
+#define GL_TESS_CONTROL_SUBROUTINE 0x92E9
+#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA
+#define GL_GEOMETRY_SUBROUTINE 0x92EB
+#define GL_FRAGMENT_SUBROUTINE 0x92EC
+#define GL_COMPUTE_SUBROUTINE 0x92ED
+#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE
+#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF
+#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0
+#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1
+#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2
+#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3
+#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4
+#define GL_ACTIVE_RESOURCES 0x92F5
+#define GL_MAX_NAME_LENGTH 0x92F6
+#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7
+#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8
+#define GL_NAME_LENGTH 0x92F9
+#define GL_TYPE 0x92FA
+#define GL_ARRAY_SIZE 0x92FB
+#define GL_OFFSET 0x92FC
+#define GL_BLOCK_INDEX 0x92FD
+#define GL_ARRAY_STRIDE 0x92FE
+#define GL_MATRIX_STRIDE 0x92FF
+#define GL_IS_ROW_MAJOR 0x9300
+#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301
+#define GL_BUFFER_BINDING 0x9302
+#define GL_BUFFER_DATA_SIZE 0x9303
+#define GL_NUM_ACTIVE_VARIABLES 0x9304
+#define GL_ACTIVE_VARIABLES 0x9305
+#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306
+#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307
+#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308
+#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309
+#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A
+#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B
+#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C
+#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D
+#define GL_LOCATION 0x930E
+#define GL_LOCATION_INDEX 0x930F
+#define GL_IS_PER_PATCH 0x92E7
+#define GL_SHADER_STORAGE_BUFFER 0x90D2
+#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3
+#define GL_SHADER_STORAGE_BUFFER_START 0x90D4
+#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5
+#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6
+#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7
+#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8
+#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9
+#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA
+#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB
+#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC
+#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD
+#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE
+#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF
+#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000
+#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39
+#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA
+#define GL_TEXTURE_BUFFER_OFFSET 0x919D
+#define GL_TEXTURE_BUFFER_SIZE 0x919E
+#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F
+#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB
+#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC
+#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD
+#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE
+#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
+#define GL_VERTEX_ATTRIB_BINDING 0x82D4
+#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5
+#define GL_VERTEX_BINDING_DIVISOR 0x82D6
+#define GL_VERTEX_BINDING_OFFSET 0x82D7
+#define GL_VERTEX_BINDING_STRIDE 0x82D8
+#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
+#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
+#define GL_VERTEX_BINDING_BUFFER 0x8F4F
+#define GL_DISPLAY_LIST 0x82E7
+#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5
+#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221
+#define GL_TEXTURE_BUFFER_BINDING 0x8C2A
+#define GL_MAP_PERSISTENT_BIT 0x0040
+#define GL_MAP_COHERENT_BIT 0x0080
+#define GL_DYNAMIC_STORAGE_BIT 0x0100
+#define GL_CLIENT_STORAGE_BIT 0x0200
+#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000
+#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F
+#define GL_BUFFER_STORAGE_FLAGS 0x8220
+#define GL_CLEAR_TEXTURE 0x9365
+#define GL_LOCATION_COMPONENT 0x934A
+#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B
+#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C
+#define GL_QUERY_BUFFER 0x9192
+#define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000
+#define GL_QUERY_BUFFER_BINDING 0x9193
+#define GL_QUERY_RESULT_NO_WAIT 0x9194
+#define GL_MIRROR_CLAMP_TO_EDGE 0x8743
+#ifndef GL_VERSION_1_0
+#define GL_VERSION_1_0 1
+GLAPI int GLAD_GL_VERSION_1_0;
+typedef void (APIENTRYP PFNGLCULLFACEPROC)(GLenum);
+GLAPI PFNGLCULLFACEPROC glad_glCullFace;
+#define glCullFace glad_glCullFace
+typedef void (APIENTRYP PFNGLFRONTFACEPROC)(GLenum);
+GLAPI PFNGLFRONTFACEPROC glad_glFrontFace;
+#define glFrontFace glad_glFrontFace
+typedef void (APIENTRYP PFNGLHINTPROC)(GLenum, GLenum);
+GLAPI PFNGLHINTPROC glad_glHint;
+#define glHint glad_glHint
+typedef void (APIENTRYP PFNGLLINEWIDTHPROC)(GLfloat);
+GLAPI PFNGLLINEWIDTHPROC glad_glLineWidth;
+#define glLineWidth glad_glLineWidth
+typedef void (APIENTRYP PFNGLPOINTSIZEPROC)(GLfloat);
+GLAPI PFNGLPOINTSIZEPROC glad_glPointSize;
+#define glPointSize glad_glPointSize
+typedef void (APIENTRYP PFNGLPOLYGONMODEPROC)(GLenum, GLenum);
+GLAPI PFNGLPOLYGONMODEPROC glad_glPolygonMode;
+#define glPolygonMode glad_glPolygonMode
+typedef void (APIENTRYP PFNGLSCISSORPROC)(GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLSCISSORPROC glad_glScissor;
+#define glScissor glad_glScissor
+typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC)(GLenum, GLenum, GLfloat);
+GLAPI PFNGLTEXPARAMETERFPROC glad_glTexParameterf;
+#define glTexParameterf glad_glTexParameterf
+typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC)(GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv;
+#define glTexParameterfv glad_glTexParameterfv
+typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC)(GLenum, GLenum, GLint);
+GLAPI PFNGLTEXPARAMETERIPROC glad_glTexParameteri;
+#define glTexParameteri glad_glTexParameteri
+typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv;
+#define glTexParameteriv glad_glTexParameteriv
+typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXIMAGE1DPROC glad_glTexImage1D;
+#define glTexImage1D glad_glTexImage1D
+typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXIMAGE2DPROC glad_glTexImage2D;
+#define glTexImage2D glad_glTexImage2D
+typedef void (APIENTRYP PFNGLDRAWBUFFERPROC)(GLenum);
+GLAPI PFNGLDRAWBUFFERPROC glad_glDrawBuffer;
+#define glDrawBuffer glad_glDrawBuffer
+typedef void (APIENTRYP PFNGLCLEARPROC)(GLbitfield);
+GLAPI PFNGLCLEARPROC glad_glClear;
+#define glClear glad_glClear
+typedef void (APIENTRYP PFNGLCLEARCOLORPROC)(GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLCLEARCOLORPROC glad_glClearColor;
+#define glClearColor glad_glClearColor
+typedef void (APIENTRYP PFNGLCLEARSTENCILPROC)(GLint);
+GLAPI PFNGLCLEARSTENCILPROC glad_glClearStencil;
+#define glClearStencil glad_glClearStencil
+typedef void (APIENTRYP PFNGLCLEARDEPTHPROC)(GLdouble);
+GLAPI PFNGLCLEARDEPTHPROC glad_glClearDepth;
+#define glClearDepth glad_glClearDepth
+typedef void (APIENTRYP PFNGLSTENCILMASKPROC)(GLuint);
+GLAPI PFNGLSTENCILMASKPROC glad_glStencilMask;
+#define glStencilMask glad_glStencilMask
+typedef void (APIENTRYP PFNGLCOLORMASKPROC)(GLboolean, GLboolean, GLboolean, GLboolean);
+GLAPI PFNGLCOLORMASKPROC glad_glColorMask;
+#define glColorMask glad_glColorMask
+typedef void (APIENTRYP PFNGLDEPTHMASKPROC)(GLboolean);
+GLAPI PFNGLDEPTHMASKPROC glad_glDepthMask;
+#define glDepthMask glad_glDepthMask
+typedef void (APIENTRYP PFNGLDISABLEPROC)(GLenum);
+GLAPI PFNGLDISABLEPROC glad_glDisable;
+#define glDisable glad_glDisable
+typedef void (APIENTRYP PFNGLENABLEPROC)(GLenum);
+GLAPI PFNGLENABLEPROC glad_glEnable;
+#define glEnable glad_glEnable
+typedef void (APIENTRYP PFNGLFINISHPROC)();
+GLAPI PFNGLFINISHPROC glad_glFinish;
+#define glFinish glad_glFinish
+typedef void (APIENTRYP PFNGLFLUSHPROC)();
+GLAPI PFNGLFLUSHPROC glad_glFlush;
+#define glFlush glad_glFlush
+typedef void (APIENTRYP PFNGLBLENDFUNCPROC)(GLenum, GLenum);
+GLAPI PFNGLBLENDFUNCPROC glad_glBlendFunc;
+#define glBlendFunc glad_glBlendFunc
+typedef void (APIENTRYP PFNGLLOGICOPPROC)(GLenum);
+GLAPI PFNGLLOGICOPPROC glad_glLogicOp;
+#define glLogicOp glad_glLogicOp
+typedef void (APIENTRYP PFNGLSTENCILFUNCPROC)(GLenum, GLint, GLuint);
+GLAPI PFNGLSTENCILFUNCPROC glad_glStencilFunc;
+#define glStencilFunc glad_glStencilFunc
+typedef void (APIENTRYP PFNGLSTENCILOPPROC)(GLenum, GLenum, GLenum);
+GLAPI PFNGLSTENCILOPPROC glad_glStencilOp;
+#define glStencilOp glad_glStencilOp
+typedef void (APIENTRYP PFNGLDEPTHFUNCPROC)(GLenum);
+GLAPI PFNGLDEPTHFUNCPROC glad_glDepthFunc;
+#define glDepthFunc glad_glDepthFunc
+typedef void (APIENTRYP PFNGLPIXELSTOREFPROC)(GLenum, GLfloat);
+GLAPI PFNGLPIXELSTOREFPROC glad_glPixelStoref;
+#define glPixelStoref glad_glPixelStoref
+typedef void (APIENTRYP PFNGLPIXELSTOREIPROC)(GLenum, GLint);
+GLAPI PFNGLPIXELSTOREIPROC glad_glPixelStorei;
+#define glPixelStorei glad_glPixelStorei
+typedef void (APIENTRYP PFNGLREADBUFFERPROC)(GLenum);
+GLAPI PFNGLREADBUFFERPROC glad_glReadBuffer;
+#define glReadBuffer glad_glReadBuffer
+typedef void (APIENTRYP PFNGLREADPIXELSPROC)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void*);
+GLAPI PFNGLREADPIXELSPROC glad_glReadPixels;
+#define glReadPixels glad_glReadPixels
+typedef void (APIENTRYP PFNGLGETBOOLEANVPROC)(GLenum, GLboolean*);
+GLAPI PFNGLGETBOOLEANVPROC glad_glGetBooleanv;
+#define glGetBooleanv glad_glGetBooleanv
+typedef void (APIENTRYP PFNGLGETDOUBLEVPROC)(GLenum, GLdouble*);
+GLAPI PFNGLGETDOUBLEVPROC glad_glGetDoublev;
+#define glGetDoublev glad_glGetDoublev
+typedef GLenum (APIENTRYP PFNGLGETERRORPROC)();
+GLAPI PFNGLGETERRORPROC glad_glGetError;
+#define glGetError glad_glGetError
+typedef void (APIENTRYP PFNGLGETFLOATVPROC)(GLenum, GLfloat*);
+GLAPI PFNGLGETFLOATVPROC glad_glGetFloatv;
+#define glGetFloatv glad_glGetFloatv
+typedef void (APIENTRYP PFNGLGETINTEGERVPROC)(GLenum, GLint*);
+GLAPI PFNGLGETINTEGERVPROC glad_glGetIntegerv;
+#define glGetIntegerv glad_glGetIntegerv
+typedef const GLubyte* (APIENTRYP PFNGLGETSTRINGPROC)(GLenum);
+GLAPI PFNGLGETSTRINGPROC glad_glGetString;
+#define glGetString glad_glGetString
+typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC)(GLenum, GLint, GLenum, GLenum, void*);
+GLAPI PFNGLGETTEXIMAGEPROC glad_glGetTexImage;
+#define glGetTexImage glad_glGetTexImage
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv;
+#define glGetTexParameterfv glad_glGetTexParameterfv
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv;
+#define glGetTexParameteriv glad_glGetTexParameteriv
+typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum, GLint, GLenum, GLfloat*);
+GLAPI PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv;
+#define glGetTexLevelParameterfv glad_glGetTexLevelParameterfv
+typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum, GLint, GLenum, GLint*);
+GLAPI PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv;
+#define glGetTexLevelParameteriv glad_glGetTexLevelParameteriv
+typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC)(GLenum);
+GLAPI PFNGLISENABLEDPROC glad_glIsEnabled;
+#define glIsEnabled glad_glIsEnabled
+typedef void (APIENTRYP PFNGLDEPTHRANGEPROC)(GLdouble, GLdouble);
+GLAPI PFNGLDEPTHRANGEPROC glad_glDepthRange;
+#define glDepthRange glad_glDepthRange
+typedef void (APIENTRYP PFNGLVIEWPORTPROC)(GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLVIEWPORTPROC glad_glViewport;
+#define glViewport glad_glViewport
+#endif
+#ifndef GL_VERSION_1_1
+#define GL_VERSION_1_1 1
+GLAPI int GLAD_GL_VERSION_1_1;
+typedef void (APIENTRYP PFNGLDRAWARRAYSPROC)(GLenum, GLint, GLsizei);
+GLAPI PFNGLDRAWARRAYSPROC glad_glDrawArrays;
+#define glDrawArrays glad_glDrawArrays
+typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC)(GLenum, GLsizei, GLenum, const void*);
+GLAPI PFNGLDRAWELEMENTSPROC glad_glDrawElements;
+#define glDrawElements glad_glDrawElements
+typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC)(GLfloat, GLfloat);
+GLAPI PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset;
+#define glPolygonOffset glad_glPolygonOffset
+typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
+GLAPI PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D;
+#define glCopyTexImage1D glad_glCopyTexImage1D
+typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
+GLAPI PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D;
+#define glCopyTexImage2D glad_glCopyTexImage2D
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum, GLint, GLint, GLint, GLint, GLsizei);
+GLAPI PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D;
+#define glCopyTexSubImage1D glad_glCopyTexSubImage1D
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D;
+#define glCopyTexSubImage2D glad_glCopyTexSubImage2D
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D;
+#define glTexSubImage1D glad_glTexSubImage1D
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D;
+#define glTexSubImage2D glad_glTexSubImage2D
+typedef void (APIENTRYP PFNGLBINDTEXTUREPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDTEXTUREPROC glad_glBindTexture;
+#define glBindTexture glad_glBindTexture
+typedef void (APIENTRYP PFNGLDELETETEXTURESPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETETEXTURESPROC glad_glDeleteTextures;
+#define glDeleteTextures glad_glDeleteTextures
+typedef void (APIENTRYP PFNGLGENTEXTURESPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENTEXTURESPROC glad_glGenTextures;
+#define glGenTextures glad_glGenTextures
+typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC)(GLuint);
+GLAPI PFNGLISTEXTUREPROC glad_glIsTexture;
+#define glIsTexture glad_glIsTexture
+#endif
+#ifndef GL_VERSION_1_2
+#define GL_VERSION_1_2 1
+GLAPI int GLAD_GL_VERSION_1_2;
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void*);
+GLAPI PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements;
+#define glDrawRangeElements glad_glDrawRangeElements
+typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXIMAGE3DPROC glad_glTexImage3D;
+#define glTexImage3D glad_glTexImage3D
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D;
+#define glTexSubImage3D glad_glTexSubImage3D
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D;
+#define glCopyTexSubImage3D glad_glCopyTexSubImage3D
+#endif
+#ifndef GL_VERSION_1_3
+#define GL_VERSION_1_3 1
+GLAPI int GLAD_GL_VERSION_1_3;
+typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum);
+GLAPI PFNGLACTIVETEXTUREPROC glad_glActiveTexture;
+#define glActiveTexture glad_glActiveTexture
+typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC)(GLfloat, GLboolean);
+GLAPI PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage;
+#define glSampleCoverage glad_glSampleCoverage
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D;
+#define glCompressedTexImage3D glad_glCompressedTexImage3D
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D;
+#define glCompressedTexImage2D glad_glCompressedTexImage2D
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D;
+#define glCompressedTexImage1D glad_glCompressedTexImage1D
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D;
+#define glCompressedTexSubImage3D glad_glCompressedTexSubImage3D
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D;
+#define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D;
+#define glCompressedTexSubImage1D glad_glCompressedTexSubImage1D
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum, GLint, void*);
+GLAPI PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage;
+#define glGetCompressedTexImage glad_glGetCompressedTexImage
+#endif
+#ifndef GL_VERSION_1_4
+#define GL_VERSION_1_4 1
+GLAPI int GLAD_GL_VERSION_1_4;
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC)(GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate;
+#define glBlendFuncSeparate glad_glBlendFuncSeparate
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC)(GLenum, const GLint*, const GLsizei*, GLsizei);
+GLAPI PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays;
+#define glMultiDrawArrays glad_glMultiDrawArrays
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC)(GLenum, const GLsizei*, GLenum, const void**, GLsizei);
+GLAPI PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements;
+#define glMultiDrawElements glad_glMultiDrawElements
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC)(GLenum, GLfloat);
+GLAPI PFNGLPOINTPARAMETERFPROC glad_glPointParameterf;
+#define glPointParameterf glad_glPointParameterf
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv;
+#define glPointParameterfv glad_glPointParameterfv
+typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC)(GLenum, GLint);
+GLAPI PFNGLPOINTPARAMETERIPROC glad_glPointParameteri;
+#define glPointParameteri glad_glPointParameteri
+typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC)(GLenum, const GLint*);
+GLAPI PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv;
+#define glPointParameteriv glad_glPointParameteriv
+typedef void (APIENTRYP PFNGLBLENDCOLORPROC)(GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLBLENDCOLORPROC glad_glBlendColor;
+#define glBlendColor glad_glBlendColor
+typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC)(GLenum);
+GLAPI PFNGLBLENDEQUATIONPROC glad_glBlendEquation;
+#define glBlendEquation glad_glBlendEquation
+#endif
+#ifndef GL_VERSION_1_5
+#define GL_VERSION_1_5 1
+GLAPI int GLAD_GL_VERSION_1_5;
+typedef void (APIENTRYP PFNGLGENQUERIESPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENQUERIESPROC glad_glGenQueries;
+#define glGenQueries glad_glGenQueries
+typedef void (APIENTRYP PFNGLDELETEQUERIESPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEQUERIESPROC glad_glDeleteQueries;
+#define glDeleteQueries glad_glDeleteQueries
+typedef GLboolean (APIENTRYP PFNGLISQUERYPROC)(GLuint);
+GLAPI PFNGLISQUERYPROC glad_glIsQuery;
+#define glIsQuery glad_glIsQuery
+typedef void (APIENTRYP PFNGLBEGINQUERYPROC)(GLenum, GLuint);
+GLAPI PFNGLBEGINQUERYPROC glad_glBeginQuery;
+#define glBeginQuery glad_glBeginQuery
+typedef void (APIENTRYP PFNGLENDQUERYPROC)(GLenum);
+GLAPI PFNGLENDQUERYPROC glad_glEndQuery;
+#define glEndQuery glad_glEndQuery
+typedef void (APIENTRYP PFNGLGETQUERYIVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETQUERYIVPROC glad_glGetQueryiv;
+#define glGetQueryiv glad_glGetQueryiv
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv;
+#define glGetQueryObjectiv glad_glGetQueryObjectiv
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC)(GLuint, GLenum, GLuint*);
+GLAPI PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv;
+#define glGetQueryObjectuiv glad_glGetQueryObjectuiv
+typedef void (APIENTRYP PFNGLBINDBUFFERPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDBUFFERPROC glad_glBindBuffer;
+#define glBindBuffer glad_glBindBuffer
+typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers;
+#define glDeleteBuffers glad_glDeleteBuffers
+typedef void (APIENTRYP PFNGLGENBUFFERSPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENBUFFERSPROC glad_glGenBuffers;
+#define glGenBuffers glad_glGenBuffers
+typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC)(GLuint);
+GLAPI PFNGLISBUFFERPROC glad_glIsBuffer;
+#define glIsBuffer glad_glIsBuffer
+typedef void (APIENTRYP PFNGLBUFFERDATAPROC)(GLenum, GLsizeiptr, const void*, GLenum);
+GLAPI PFNGLBUFFERDATAPROC glad_glBufferData;
+#define glBufferData glad_glBufferData
+typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC)(GLenum, GLintptr, GLsizeiptr, const void*);
+GLAPI PFNGLBUFFERSUBDATAPROC glad_glBufferSubData;
+#define glBufferSubData glad_glBufferSubData
+typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC)(GLenum, GLintptr, GLsizeiptr, void*);
+GLAPI PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData;
+#define glGetBufferSubData glad_glGetBufferSubData
+typedef void* (APIENTRYP PFNGLMAPBUFFERPROC)(GLenum, GLenum);
+GLAPI PFNGLMAPBUFFERPROC glad_glMapBuffer;
+#define glMapBuffer glad_glMapBuffer
+typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC)(GLenum);
+GLAPI PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer;
+#define glUnmapBuffer glad_glUnmapBuffer
+typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv;
+#define glGetBufferParameteriv glad_glGetBufferParameteriv
+typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum, GLenum, void**);
+GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;
+#define glGetBufferPointerv glad_glGetBufferPointerv
+#endif
+#ifndef GL_VERSION_2_0
+#define GL_VERSION_2_0 1
+GLAPI int GLAD_GL_VERSION_2_0;
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum, GLenum);
+GLAPI PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate;
+#define glBlendEquationSeparate glad_glBlendEquationSeparate
+typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC)(GLsizei, const GLenum*);
+GLAPI PFNGLDRAWBUFFERSPROC glad_glDrawBuffers;
+#define glDrawBuffers glad_glDrawBuffers
+typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC)(GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate;
+#define glStencilOpSeparate glad_glStencilOpSeparate
+typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC)(GLenum, GLenum, GLint, GLuint);
+GLAPI PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate;
+#define glStencilFuncSeparate glad_glStencilFuncSeparate
+typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC)(GLenum, GLuint);
+GLAPI PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate;
+#define glStencilMaskSeparate glad_glStencilMaskSeparate
+typedef void (APIENTRYP PFNGLATTACHSHADERPROC)(GLuint, GLuint);
+GLAPI PFNGLATTACHSHADERPROC glad_glAttachShader;
+#define glAttachShader glad_glAttachShader
+typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC)(GLuint, GLuint, const GLchar*);
+GLAPI PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation;
+#define glBindAttribLocation glad_glBindAttribLocation
+typedef void (APIENTRYP PFNGLCOMPILESHADERPROC)(GLuint);
+GLAPI PFNGLCOMPILESHADERPROC glad_glCompileShader;
+#define glCompileShader glad_glCompileShader
+typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC)();
+GLAPI PFNGLCREATEPROGRAMPROC glad_glCreateProgram;
+#define glCreateProgram glad_glCreateProgram
+typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC)(GLenum);
+GLAPI PFNGLCREATESHADERPROC glad_glCreateShader;
+#define glCreateShader glad_glCreateShader
+typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC)(GLuint);
+GLAPI PFNGLDELETEPROGRAMPROC glad_glDeleteProgram;
+#define glDeleteProgram glad_glDeleteProgram
+typedef void (APIENTRYP PFNGLDELETESHADERPROC)(GLuint);
+GLAPI PFNGLDELETESHADERPROC glad_glDeleteShader;
+#define glDeleteShader glad_glDeleteShader
+typedef void (APIENTRYP PFNGLDETACHSHADERPROC)(GLuint, GLuint);
+GLAPI PFNGLDETACHSHADERPROC glad_glDetachShader;
+#define glDetachShader glad_glDetachShader
+typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint);
+GLAPI PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray;
+#define glDisableVertexAttribArray glad_glDisableVertexAttribArray
+typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint);
+GLAPI PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray;
+#define glEnableVertexAttribArray glad_glEnableVertexAttribArray
+typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*);
+GLAPI PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib;
+#define glGetActiveAttrib glad_glGetActiveAttrib
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*);
+GLAPI PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform;
+#define glGetActiveUniform glad_glGetActiveUniform
+typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC)(GLuint, GLsizei, GLsizei*, GLuint*);
+GLAPI PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders;
+#define glGetAttachedShaders glad_glGetAttachedShaders
+typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC)(GLuint, const GLchar*);
+GLAPI PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation;
+#define glGetAttribLocation glad_glGetAttribLocation
+typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETPROGRAMIVPROC glad_glGetProgramiv;
+#define glGetProgramiv glad_glGetProgramiv
+typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC)(GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog;
+#define glGetProgramInfoLog glad_glGetProgramInfoLog
+typedef void (APIENTRYP PFNGLGETSHADERIVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETSHADERIVPROC glad_glGetShaderiv;
+#define glGetShaderiv glad_glGetShaderiv
+typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC)(GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog;
+#define glGetShaderInfoLog glad_glGetShaderInfoLog
+typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC)(GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource;
+#define glGetShaderSource glad_glGetShaderSource
+typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC)(GLuint, const GLchar*);
+GLAPI PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation;
+#define glGetUniformLocation glad_glGetUniformLocation
+typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC)(GLuint, GLint, GLfloat*);
+GLAPI PFNGLGETUNIFORMFVPROC glad_glGetUniformfv;
+#define glGetUniformfv glad_glGetUniformfv
+typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC)(GLuint, GLint, GLint*);
+GLAPI PFNGLGETUNIFORMIVPROC glad_glGetUniformiv;
+#define glGetUniformiv glad_glGetUniformiv
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC)(GLuint, GLenum, GLdouble*);
+GLAPI PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv;
+#define glGetVertexAttribdv glad_glGetVertexAttribdv
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv;
+#define glGetVertexAttribfv glad_glGetVertexAttribfv
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv;
+#define glGetVertexAttribiv glad_glGetVertexAttribiv
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint, GLenum, void**);
+GLAPI PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv;
+#define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv
+typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC)(GLuint);
+GLAPI PFNGLISPROGRAMPROC glad_glIsProgram;
+#define glIsProgram glad_glIsProgram
+typedef GLboolean (APIENTRYP PFNGLISSHADERPROC)(GLuint);
+GLAPI PFNGLISSHADERPROC glad_glIsShader;
+#define glIsShader glad_glIsShader
+typedef void (APIENTRYP PFNGLLINKPROGRAMPROC)(GLuint);
+GLAPI PFNGLLINKPROGRAMPROC glad_glLinkProgram;
+#define glLinkProgram glad_glLinkProgram
+typedef void (APIENTRYP PFNGLSHADERSOURCEPROC)(GLuint, GLsizei, const GLchar**, const GLint*);
+GLAPI PFNGLSHADERSOURCEPROC glad_glShaderSource;
+#define glShaderSource glad_glShaderSource
+typedef void (APIENTRYP PFNGLUSEPROGRAMPROC)(GLuint);
+GLAPI PFNGLUSEPROGRAMPROC glad_glUseProgram;
+#define glUseProgram glad_glUseProgram
+typedef void (APIENTRYP PFNGLUNIFORM1FPROC)(GLint, GLfloat);
+GLAPI PFNGLUNIFORM1FPROC glad_glUniform1f;
+#define glUniform1f glad_glUniform1f
+typedef void (APIENTRYP PFNGLUNIFORM2FPROC)(GLint, GLfloat, GLfloat);
+GLAPI PFNGLUNIFORM2FPROC glad_glUniform2f;
+#define glUniform2f glad_glUniform2f
+typedef void (APIENTRYP PFNGLUNIFORM3FPROC)(GLint, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLUNIFORM3FPROC glad_glUniform3f;
+#define glUniform3f glad_glUniform3f
+typedef void (APIENTRYP PFNGLUNIFORM4FPROC)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLUNIFORM4FPROC glad_glUniform4f;
+#define glUniform4f glad_glUniform4f
+typedef void (APIENTRYP PFNGLUNIFORM1IPROC)(GLint, GLint);
+GLAPI PFNGLUNIFORM1IPROC glad_glUniform1i;
+#define glUniform1i glad_glUniform1i
+typedef void (APIENTRYP PFNGLUNIFORM2IPROC)(GLint, GLint, GLint);
+GLAPI PFNGLUNIFORM2IPROC glad_glUniform2i;
+#define glUniform2i glad_glUniform2i
+typedef void (APIENTRYP PFNGLUNIFORM3IPROC)(GLint, GLint, GLint, GLint);
+GLAPI PFNGLUNIFORM3IPROC glad_glUniform3i;
+#define glUniform3i glad_glUniform3i
+typedef void (APIENTRYP PFNGLUNIFORM4IPROC)(GLint, GLint, GLint, GLint, GLint);
+GLAPI PFNGLUNIFORM4IPROC glad_glUniform4i;
+#define glUniform4i glad_glUniform4i
+typedef void (APIENTRYP PFNGLUNIFORM1FVPROC)(GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLUNIFORM1FVPROC glad_glUniform1fv;
+#define glUniform1fv glad_glUniform1fv
+typedef void (APIENTRYP PFNGLUNIFORM2FVPROC)(GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLUNIFORM2FVPROC glad_glUniform2fv;
+#define glUniform2fv glad_glUniform2fv
+typedef void (APIENTRYP PFNGLUNIFORM3FVPROC)(GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLUNIFORM3FVPROC glad_glUniform3fv;
+#define glUniform3fv glad_glUniform3fv
+typedef void (APIENTRYP PFNGLUNIFORM4FVPROC)(GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLUNIFORM4FVPROC glad_glUniform4fv;
+#define glUniform4fv glad_glUniform4fv
+typedef void (APIENTRYP PFNGLUNIFORM1IVPROC)(GLint, GLsizei, const GLint*);
+GLAPI PFNGLUNIFORM1IVPROC glad_glUniform1iv;
+#define glUniform1iv glad_glUniform1iv
+typedef void (APIENTRYP PFNGLUNIFORM2IVPROC)(GLint, GLsizei, const GLint*);
+GLAPI PFNGLUNIFORM2IVPROC glad_glUniform2iv;
+#define glUniform2iv glad_glUniform2iv
+typedef void (APIENTRYP PFNGLUNIFORM3IVPROC)(GLint, GLsizei, const GLint*);
+GLAPI PFNGLUNIFORM3IVPROC glad_glUniform3iv;
+#define glUniform3iv glad_glUniform3iv
+typedef void (APIENTRYP PFNGLUNIFORM4IVPROC)(GLint, GLsizei, const GLint*);
+GLAPI PFNGLUNIFORM4IVPROC glad_glUniform4iv;
+#define glUniform4iv glad_glUniform4iv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv;
+#define glUniformMatrix2fv glad_glUniformMatrix2fv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv;
+#define glUniformMatrix3fv glad_glUniformMatrix3fv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv;
+#define glUniformMatrix4fv glad_glUniformMatrix4fv
+typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC)(GLuint);
+GLAPI PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram;
+#define glValidateProgram glad_glValidateProgram
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC)(GLuint, GLdouble);
+GLAPI PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d;
+#define glVertexAttrib1d glad_glVertexAttrib1d
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv;
+#define glVertexAttrib1dv glad_glVertexAttrib1dv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC)(GLuint, GLfloat);
+GLAPI PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f;
+#define glVertexAttrib1f glad_glVertexAttrib1f
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv;
+#define glVertexAttrib1fv glad_glVertexAttrib1fv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC)(GLuint, GLshort);
+GLAPI PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s;
+#define glVertexAttrib1s glad_glVertexAttrib1s
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv;
+#define glVertexAttrib1sv glad_glVertexAttrib1sv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC)(GLuint, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d;
+#define glVertexAttrib2d glad_glVertexAttrib2d
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv;
+#define glVertexAttrib2dv glad_glVertexAttrib2dv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC)(GLuint, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f;
+#define glVertexAttrib2f glad_glVertexAttrib2f
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv;
+#define glVertexAttrib2fv glad_glVertexAttrib2fv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC)(GLuint, GLshort, GLshort);
+GLAPI PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s;
+#define glVertexAttrib2s glad_glVertexAttrib2s
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv;
+#define glVertexAttrib2sv glad_glVertexAttrib2sv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC)(GLuint, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d;
+#define glVertexAttrib3d glad_glVertexAttrib3d
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv;
+#define glVertexAttrib3dv glad_glVertexAttrib3dv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC)(GLuint, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f;
+#define glVertexAttrib3f glad_glVertexAttrib3f
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv;
+#define glVertexAttrib3fv glad_glVertexAttrib3fv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC)(GLuint, GLshort, GLshort, GLshort);
+GLAPI PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s;
+#define glVertexAttrib3s glad_glVertexAttrib3s
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv;
+#define glVertexAttrib3sv glad_glVertexAttrib3sv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC)(GLuint, const GLbyte*);
+GLAPI PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv;
+#define glVertexAttrib4Nbv glad_glVertexAttrib4Nbv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv;
+#define glVertexAttrib4Niv glad_glVertexAttrib4Niv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv;
+#define glVertexAttrib4Nsv glad_glVertexAttrib4Nsv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
+GLAPI PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub;
+#define glVertexAttrib4Nub glad_glVertexAttrib4Nub
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC)(GLuint, const GLubyte*);
+GLAPI PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv;
+#define glVertexAttrib4Nubv glad_glVertexAttrib4Nubv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv;
+#define glVertexAttrib4Nuiv glad_glVertexAttrib4Nuiv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC)(GLuint, const GLushort*);
+GLAPI PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv;
+#define glVertexAttrib4Nusv glad_glVertexAttrib4Nusv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC)(GLuint, const GLbyte*);
+GLAPI PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv;
+#define glVertexAttrib4bv glad_glVertexAttrib4bv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d;
+#define glVertexAttrib4d glad_glVertexAttrib4d
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv;
+#define glVertexAttrib4dv glad_glVertexAttrib4dv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f;
+#define glVertexAttrib4f glad_glVertexAttrib4f
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv;
+#define glVertexAttrib4fv glad_glVertexAttrib4fv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv;
+#define glVertexAttrib4iv glad_glVertexAttrib4iv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC)(GLuint, GLshort, GLshort, GLshort, GLshort);
+GLAPI PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s;
+#define glVertexAttrib4s glad_glVertexAttrib4s
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv;
+#define glVertexAttrib4sv glad_glVertexAttrib4sv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC)(GLuint, const GLubyte*);
+GLAPI PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv;
+#define glVertexAttrib4ubv glad_glVertexAttrib4ubv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv;
+#define glVertexAttrib4uiv glad_glVertexAttrib4uiv
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC)(GLuint, const GLushort*);
+GLAPI PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv;
+#define glVertexAttrib4usv glad_glVertexAttrib4usv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void*);
+GLAPI PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer;
+#define glVertexAttribPointer glad_glVertexAttribPointer
+#endif
+#ifndef GL_VERSION_2_1
+#define GL_VERSION_2_1 1
+GLAPI int GLAD_GL_VERSION_2_1;
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv;
+#define glUniformMatrix2x3fv glad_glUniformMatrix2x3fv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv;
+#define glUniformMatrix3x2fv glad_glUniformMatrix3x2fv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv;
+#define glUniformMatrix2x4fv glad_glUniformMatrix2x4fv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv;
+#define glUniformMatrix4x2fv glad_glUniformMatrix4x2fv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv;
+#define glUniformMatrix3x4fv glad_glUniformMatrix3x4fv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;
+#define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv
+#endif
+#ifndef GL_VERSION_3_0
+#define GL_VERSION_3_0 1
+GLAPI int GLAD_GL_VERSION_3_0;
+typedef void (APIENTRYP PFNGLCOLORMASKIPROC)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
+GLAPI PFNGLCOLORMASKIPROC glad_glColorMaski;
+#define glColorMaski glad_glColorMaski
+typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum, GLuint, GLboolean*);
+GLAPI PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v;
+#define glGetBooleani_v glad_glGetBooleani_v
+typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum, GLuint, GLint*);
+GLAPI PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v;
+#define glGetIntegeri_v glad_glGetIntegeri_v
+typedef void (APIENTRYP PFNGLENABLEIPROC)(GLenum, GLuint);
+GLAPI PFNGLENABLEIPROC glad_glEnablei;
+#define glEnablei glad_glEnablei
+typedef void (APIENTRYP PFNGLDISABLEIPROC)(GLenum, GLuint);
+GLAPI PFNGLDISABLEIPROC glad_glDisablei;
+#define glDisablei glad_glDisablei
+typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC)(GLenum, GLuint);
+GLAPI PFNGLISENABLEDIPROC glad_glIsEnabledi;
+#define glIsEnabledi glad_glIsEnabledi
+typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum);
+GLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback;
+#define glBeginTransformFeedback glad_glBeginTransformFeedback
+typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)();
+GLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback;
+#define glEndTransformFeedback glad_glEndTransformFeedback
+typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
+GLAPI PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange;
+#define glBindBufferRange glad_glBindBufferRange
+typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum, GLuint, GLuint);
+GLAPI PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase;
+#define glBindBufferBase glad_glBindBufferBase
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint, GLsizei, const GLchar**, GLenum);
+GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings;
+#define glTransformFeedbackVaryings glad_glTransformFeedbackVaryings
+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*);
+GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying;
+#define glGetTransformFeedbackVarying glad_glGetTransformFeedbackVarying
+typedef void (APIENTRYP PFNGLCLAMPCOLORPROC)(GLenum, GLenum);
+GLAPI PFNGLCLAMPCOLORPROC glad_glClampColor;
+#define glClampColor glad_glClampColor
+typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC)(GLuint, GLenum);
+GLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender;
+#define glBeginConditionalRender glad_glBeginConditionalRender
+typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC)();
+GLAPI PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender;
+#define glEndConditionalRender glad_glEndConditionalRender
+typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint, GLint, GLenum, GLsizei, const void*);
+GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer;
+#define glVertexAttribIPointer glad_glVertexAttribIPointer
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv;
+#define glGetVertexAttribIiv glad_glGetVertexAttribIiv
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint, GLenum, GLuint*);
+GLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv;
+#define glGetVertexAttribIuiv glad_glGetVertexAttribIuiv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC)(GLuint, GLint);
+GLAPI PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i;
+#define glVertexAttribI1i glad_glVertexAttribI1i
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC)(GLuint, GLint, GLint);
+GLAPI PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i;
+#define glVertexAttribI2i glad_glVertexAttribI2i
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC)(GLuint, GLint, GLint, GLint);
+GLAPI PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i;
+#define glVertexAttribI3i glad_glVertexAttribI3i
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint, GLint, GLint, GLint, GLint);
+GLAPI PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i;
+#define glVertexAttribI4i glad_glVertexAttribI4i
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC)(GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui;
+#define glVertexAttribI1ui glad_glVertexAttribI1ui
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC)(GLuint, GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui;
+#define glVertexAttribI2ui glad_glVertexAttribI2ui
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC)(GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui;
+#define glVertexAttribI3ui glad_glVertexAttribI3ui
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui;
+#define glVertexAttribI4ui glad_glVertexAttribI4ui
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv;
+#define glVertexAttribI1iv glad_glVertexAttribI1iv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv;
+#define glVertexAttribI2iv glad_glVertexAttribI2iv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv;
+#define glVertexAttribI3iv glad_glVertexAttribI3iv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv;
+#define glVertexAttribI4iv glad_glVertexAttribI4iv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv;
+#define glVertexAttribI1uiv glad_glVertexAttribI1uiv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv;
+#define glVertexAttribI2uiv glad_glVertexAttribI2uiv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv;
+#define glVertexAttribI3uiv glad_glVertexAttribI3uiv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv;
+#define glVertexAttribI4uiv glad_glVertexAttribI4uiv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC)(GLuint, const GLbyte*);
+GLAPI PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv;
+#define glVertexAttribI4bv glad_glVertexAttribI4bv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv;
+#define glVertexAttribI4sv glad_glVertexAttribI4sv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC)(GLuint, const GLubyte*);
+GLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv;
+#define glVertexAttribI4ubv glad_glVertexAttribI4ubv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC)(GLuint, const GLushort*);
+GLAPI PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv;
+#define glVertexAttribI4usv glad_glVertexAttribI4usv
+typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint, GLint, GLuint*);
+GLAPI PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv;
+#define glGetUniformuiv glad_glGetUniformuiv
+typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC)(GLuint, GLuint, const GLchar*);
+GLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation;
+#define glBindFragDataLocation glad_glBindFragDataLocation
+typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint, const GLchar*);
+GLAPI PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation;
+#define glGetFragDataLocation glad_glGetFragDataLocation
+typedef void (APIENTRYP PFNGLUNIFORM1UIPROC)(GLint, GLuint);
+GLAPI PFNGLUNIFORM1UIPROC glad_glUniform1ui;
+#define glUniform1ui glad_glUniform1ui
+typedef void (APIENTRYP PFNGLUNIFORM2UIPROC)(GLint, GLuint, GLuint);
+GLAPI PFNGLUNIFORM2UIPROC glad_glUniform2ui;
+#define glUniform2ui glad_glUniform2ui
+typedef void (APIENTRYP PFNGLUNIFORM3UIPROC)(GLint, GLuint, GLuint, GLuint);
+GLAPI PFNGLUNIFORM3UIPROC glad_glUniform3ui;
+#define glUniform3ui glad_glUniform3ui
+typedef void (APIENTRYP PFNGLUNIFORM4UIPROC)(GLint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLUNIFORM4UIPROC glad_glUniform4ui;
+#define glUniform4ui glad_glUniform4ui
+typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint, GLsizei, const GLuint*);
+GLAPI PFNGLUNIFORM1UIVPROC glad_glUniform1uiv;
+#define glUniform1uiv glad_glUniform1uiv
+typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint, GLsizei, const GLuint*);
+GLAPI PFNGLUNIFORM2UIVPROC glad_glUniform2uiv;
+#define glUniform2uiv glad_glUniform2uiv
+typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint, GLsizei, const GLuint*);
+GLAPI PFNGLUNIFORM3UIVPROC glad_glUniform3uiv;
+#define glUniform3uiv glad_glUniform3uiv
+typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint, GLsizei, const GLuint*);
+GLAPI PFNGLUNIFORM4UIVPROC glad_glUniform4uiv;
+#define glUniform4uiv glad_glUniform4uiv
+typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv;
+#define glTexParameterIiv glad_glTexParameterIiv
+typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum, GLenum, const GLuint*);
+GLAPI PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv;
+#define glTexParameterIuiv glad_glTexParameterIuiv
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv;
+#define glGetTexParameterIiv glad_glGetTexParameterIiv
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum, GLenum, GLuint*);
+GLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv;
+#define glGetTexParameterIuiv glad_glGetTexParameterIuiv
+typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum, GLint, const GLint*);
+GLAPI PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv;
+#define glClearBufferiv glad_glClearBufferiv
+typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum, GLint, const GLuint*);
+GLAPI PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv;
+#define glClearBufferuiv glad_glClearBufferuiv
+typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum, GLint, const GLfloat*);
+GLAPI PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv;
+#define glClearBufferfv glad_glClearBufferfv
+typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum, GLint, GLfloat, GLint);
+GLAPI PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi;
+#define glClearBufferfi glad_glClearBufferfi
+typedef const GLubyte* (APIENTRYP PFNGLGETSTRINGIPROC)(GLenum, GLuint);
+GLAPI PFNGLGETSTRINGIPROC glad_glGetStringi;
+#define glGetStringi glad_glGetStringi
+typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC)(GLuint);
+GLAPI PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;
+#define glIsRenderbuffer glad_glIsRenderbuffer
+typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;
+#define glBindRenderbuffer glad_glBindRenderbuffer
+typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;
+#define glDeleteRenderbuffers glad_glDeleteRenderbuffers
+typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;
+#define glGenRenderbuffers glad_glGenRenderbuffers
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC)(GLenum, GLenum, GLsizei, GLsizei);
+GLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;
+#define glRenderbufferStorage glad_glRenderbufferStorage
+typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;
+#define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv
+typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC)(GLuint);
+GLAPI PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;
+#define glIsFramebuffer glad_glIsFramebuffer
+typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;
+#define glBindFramebuffer glad_glBindFramebuffer
+typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;
+#define glDeleteFramebuffers glad_glDeleteFramebuffers
+typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;
+#define glGenFramebuffers glad_glGenFramebuffers
+typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum);
+GLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;
+#define glCheckFramebufferStatus glad_glCheckFramebufferStatus
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum, GLenum, GLenum, GLuint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D;
+#define glFramebufferTexture1D glad_glFramebufferTexture1D
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum, GLenum, GLenum, GLuint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;
+#define glFramebufferTexture2D glad_glFramebufferTexture2D
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D;
+#define glFramebufferTexture3D glad_glFramebufferTexture3D
+typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum, GLenum, GLenum, GLuint);
+GLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;
+#define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;
+#define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv
+typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC)(GLenum);
+GLAPI PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;
+#define glGenerateMipmap glad_glGenerateMipmap
+typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
+GLAPI PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer;
+#define glBlitFramebuffer glad_glBlitFramebuffer
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
+GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample;
+#define glRenderbufferStorageMultisample glad_glRenderbufferStorageMultisample
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum, GLenum, GLuint, GLint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer;
+#define glFramebufferTextureLayer glad_glFramebufferTextureLayer
+typedef void* (APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum, GLintptr, GLsizeiptr, GLbitfield);
+GLAPI PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange;
+#define glMapBufferRange glad_glMapBufferRange
+typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum, GLintptr, GLsizeiptr);
+GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange;
+#define glFlushMappedBufferRange glad_glFlushMappedBufferRange
+typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint);
+GLAPI PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray;
+#define glBindVertexArray glad_glBindVertexArray
+typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays;
+#define glDeleteVertexArrays glad_glDeleteVertexArrays
+typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays;
+#define glGenVertexArrays glad_glGenVertexArrays
+typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint);
+GLAPI PFNGLISVERTEXARRAYPROC glad_glIsVertexArray;
+#define glIsVertexArray glad_glIsVertexArray
+#endif
+#ifndef GL_VERSION_3_1
+#define GL_VERSION_3_1 1
+GLAPI int GLAD_GL_VERSION_3_1;
+typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum, GLint, GLsizei, GLsizei);
+GLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced;
+#define glDrawArraysInstanced glad_glDrawArraysInstanced
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum, GLsizei, GLenum, const void*, GLsizei);
+GLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced;
+#define glDrawElementsInstanced glad_glDrawElementsInstanced
+typedef void (APIENTRYP PFNGLTEXBUFFERPROC)(GLenum, GLenum, GLuint);
+GLAPI PFNGLTEXBUFFERPROC glad_glTexBuffer;
+#define glTexBuffer glad_glTexBuffer
+typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint);
+GLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex;
+#define glPrimitiveRestartIndex glad_glPrimitiveRestartIndex
+typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr);
+GLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData;
+#define glCopyBufferSubData glad_glCopyBufferSubData
+typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint, GLsizei, const GLchar**, GLuint*);
+GLAPI PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices;
+#define glGetUniformIndices glad_glGetUniformIndices
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint, GLsizei, const GLuint*, GLenum, GLint*);
+GLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv;
+#define glGetActiveUniformsiv glad_glGetActiveUniformsiv
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName;
+#define glGetActiveUniformName glad_glGetActiveUniformName
+typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint, const GLchar*);
+GLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex;
+#define glGetUniformBlockIndex glad_glGetUniformBlockIndex
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint, GLuint, GLenum, GLint*);
+GLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv;
+#define glGetActiveUniformBlockiv glad_glGetActiveUniformBlockiv
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName;
+#define glGetActiveUniformBlockName glad_glGetActiveUniformBlockName
+typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint, GLuint, GLuint);
+GLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding;
+#define glUniformBlockBinding glad_glUniformBlockBinding
+#endif
+#ifndef GL_VERSION_3_2
+#define GL_VERSION_3_2 1
+GLAPI int GLAD_GL_VERSION_3_2;
+typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum, GLsizei, GLenum, const void*, GLint);
+GLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex;
+#define glDrawElementsBaseVertex glad_glDrawElementsBaseVertex
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void*, GLint);
+GLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex;
+#define glDrawRangeElementsBaseVertex glad_glDrawRangeElementsBaseVertex
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum, GLsizei, GLenum, const void*, GLsizei, GLint);
+GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex;
+#define glDrawElementsInstancedBaseVertex glad_glDrawElementsInstancedBaseVertex
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum, const GLsizei*, GLenum, const void**, GLsizei, const GLint*);
+GLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex;
+#define glMultiDrawElementsBaseVertex glad_glMultiDrawElementsBaseVertex
+typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC)(GLenum);
+GLAPI PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex;
+#define glProvokingVertex glad_glProvokingVertex
+typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC)(GLenum, GLbitfield);
+GLAPI PFNGLFENCESYNCPROC glad_glFenceSync;
+#define glFenceSync glad_glFenceSync
+typedef GLboolean (APIENTRYP PFNGLISSYNCPROC)(GLsync);
+GLAPI PFNGLISSYNCPROC glad_glIsSync;
+#define glIsSync glad_glIsSync
+typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync);
+GLAPI PFNGLDELETESYNCPROC glad_glDeleteSync;
+#define glDeleteSync glad_glDeleteSync
+typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync, GLbitfield, GLuint64);
+GLAPI PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync;
+#define glClientWaitSync glad_glClientWaitSync
+typedef void (APIENTRYP PFNGLWAITSYNCPROC)(GLsync, GLbitfield, GLuint64);
+GLAPI PFNGLWAITSYNCPROC glad_glWaitSync;
+#define glWaitSync glad_glWaitSync
+typedef void (APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum, GLint64*);
+GLAPI PFNGLGETINTEGER64VPROC glad_glGetInteger64v;
+#define glGetInteger64v glad_glGetInteger64v
+typedef void (APIENTRYP PFNGLGETSYNCIVPROC)(GLsync, GLenum, GLsizei, GLsizei*, GLint*);
+GLAPI PFNGLGETSYNCIVPROC glad_glGetSynciv;
+#define glGetSynciv glad_glGetSynciv
+typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum, GLuint, GLint64*);
+GLAPI PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v;
+#define glGetInteger64i_v glad_glGetInteger64i_v
+typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum, GLenum, GLint64*);
+GLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v;
+#define glGetBufferParameteri64v glad_glGetBufferParameteri64v
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum, GLenum, GLuint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture;
+#define glFramebufferTexture glad_glFramebufferTexture
+typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample;
+#define glTexImage2DMultisample glad_glTexImage2DMultisample
+typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample;
+#define glTexImage3DMultisample glad_glTexImage3DMultisample
+typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum, GLuint, GLfloat*);
+GLAPI PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv;
+#define glGetMultisamplefv glad_glGetMultisamplefv
+typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint, GLbitfield);
+GLAPI PFNGLSAMPLEMASKIPROC glad_glSampleMaski;
+#define glSampleMaski glad_glSampleMaski
+#endif
+#ifndef GL_VERSION_3_3
+#define GL_VERSION_3_3 1
+GLAPI int GLAD_GL_VERSION_3_3;
+typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint, GLuint, GLuint, const GLchar*);
+GLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed;
+#define glBindFragDataLocationIndexed glad_glBindFragDataLocationIndexed
+typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC)(GLuint, const GLchar*);
+GLAPI PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex;
+#define glGetFragDataIndex glad_glGetFragDataIndex
+typedef void (APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENSAMPLERSPROC glad_glGenSamplers;
+#define glGenSamplers glad_glGenSamplers
+typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers;
+#define glDeleteSamplers glad_glDeleteSamplers
+typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC)(GLuint);
+GLAPI PFNGLISSAMPLERPROC glad_glIsSampler;
+#define glIsSampler glad_glIsSampler
+typedef void (APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint, GLuint);
+GLAPI PFNGLBINDSAMPLERPROC glad_glBindSampler;
+#define glBindSampler glad_glBindSampler
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint, GLenum, GLint);
+GLAPI PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri;
+#define glSamplerParameteri glad_glSamplerParameteri
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint, GLenum, const GLint*);
+GLAPI PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv;
+#define glSamplerParameteriv glad_glSamplerParameteriv
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint, GLenum, GLfloat);
+GLAPI PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf;
+#define glSamplerParameterf glad_glSamplerParameterf
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint, GLenum, const GLfloat*);
+GLAPI PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv;
+#define glSamplerParameterfv glad_glSamplerParameterfv
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint, GLenum, const GLint*);
+GLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv;
+#define glSamplerParameterIiv glad_glSamplerParameterIiv
+typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint, GLenum, const GLuint*);
+GLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv;
+#define glSamplerParameterIuiv glad_glSamplerParameterIuiv
+typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv;
+#define glGetSamplerParameteriv glad_glGetSamplerParameteriv
+typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv;
+#define glGetSamplerParameterIiv glad_glGetSamplerParameterIiv
+typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv;
+#define glGetSamplerParameterfv glad_glGetSamplerParameterfv
+typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint, GLenum, GLuint*);
+GLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv;
+#define glGetSamplerParameterIuiv glad_glGetSamplerParameterIuiv
+typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC)(GLuint, GLenum);
+GLAPI PFNGLQUERYCOUNTERPROC glad_glQueryCounter;
+#define glQueryCounter glad_glQueryCounter
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC)(GLuint, GLenum, GLint64*);
+GLAPI PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v;
+#define glGetQueryObjecti64v glad_glGetQueryObjecti64v
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC)(GLuint, GLenum, GLuint64*);
+GLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v;
+#define glGetQueryObjectui64v glad_glGetQueryObjectui64v
+typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor;
+#define glVertexAttribDivisor glad_glVertexAttribDivisor
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC)(GLuint, GLenum, GLboolean, GLuint);
+GLAPI PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui;
+#define glVertexAttribP1ui glad_glVertexAttribP1ui
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC)(GLuint, GLenum, GLboolean, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv;
+#define glVertexAttribP1uiv glad_glVertexAttribP1uiv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC)(GLuint, GLenum, GLboolean, GLuint);
+GLAPI PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui;
+#define glVertexAttribP2ui glad_glVertexAttribP2ui
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC)(GLuint, GLenum, GLboolean, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv;
+#define glVertexAttribP2uiv glad_glVertexAttribP2uiv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC)(GLuint, GLenum, GLboolean, GLuint);
+GLAPI PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui;
+#define glVertexAttribP3ui glad_glVertexAttribP3ui
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC)(GLuint, GLenum, GLboolean, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv;
+#define glVertexAttribP3uiv glad_glVertexAttribP3uiv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC)(GLuint, GLenum, GLboolean, GLuint);
+GLAPI PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui;
+#define glVertexAttribP4ui glad_glVertexAttribP4ui
+typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC)(GLuint, GLenum, GLboolean, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv;
+#define glVertexAttribP4uiv glad_glVertexAttribP4uiv
+typedef void (APIENTRYP PFNGLVERTEXP2UIPROC)(GLenum, GLuint);
+GLAPI PFNGLVERTEXP2UIPROC glad_glVertexP2ui;
+#define glVertexP2ui glad_glVertexP2ui
+typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC)(GLenum, const GLuint*);
+GLAPI PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv;
+#define glVertexP2uiv glad_glVertexP2uiv
+typedef void (APIENTRYP PFNGLVERTEXP3UIPROC)(GLenum, GLuint);
+GLAPI PFNGLVERTEXP3UIPROC glad_glVertexP3ui;
+#define glVertexP3ui glad_glVertexP3ui
+typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC)(GLenum, const GLuint*);
+GLAPI PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv;
+#define glVertexP3uiv glad_glVertexP3uiv
+typedef void (APIENTRYP PFNGLVERTEXP4UIPROC)(GLenum, GLuint);
+GLAPI PFNGLVERTEXP4UIPROC glad_glVertexP4ui;
+#define glVertexP4ui glad_glVertexP4ui
+typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC)(GLenum, const GLuint*);
+GLAPI PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv;
+#define glVertexP4uiv glad_glVertexP4uiv
+typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC)(GLenum, GLuint);
+GLAPI PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui;
+#define glTexCoordP1ui glad_glTexCoordP1ui
+typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC)(GLenum, const GLuint*);
+GLAPI PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv;
+#define glTexCoordP1uiv glad_glTexCoordP1uiv
+typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC)(GLenum, GLuint);
+GLAPI PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui;
+#define glTexCoordP2ui glad_glTexCoordP2ui
+typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC)(GLenum, const GLuint*);
+GLAPI PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv;
+#define glTexCoordP2uiv glad_glTexCoordP2uiv
+typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC)(GLenum, GLuint);
+GLAPI PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui;
+#define glTexCoordP3ui glad_glTexCoordP3ui
+typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC)(GLenum, const GLuint*);
+GLAPI PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv;
+#define glTexCoordP3uiv glad_glTexCoordP3uiv
+typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC)(GLenum, GLuint);
+GLAPI PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui;
+#define glTexCoordP4ui glad_glTexCoordP4ui
+typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC)(GLenum, const GLuint*);
+GLAPI PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv;
+#define glTexCoordP4uiv glad_glTexCoordP4uiv
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC)(GLenum, GLenum, GLuint);
+GLAPI PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui;
+#define glMultiTexCoordP1ui glad_glMultiTexCoordP1ui
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC)(GLenum, GLenum, const GLuint*);
+GLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv;
+#define glMultiTexCoordP1uiv glad_glMultiTexCoordP1uiv
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC)(GLenum, GLenum, GLuint);
+GLAPI PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui;
+#define glMultiTexCoordP2ui glad_glMultiTexCoordP2ui
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC)(GLenum, GLenum, const GLuint*);
+GLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv;
+#define glMultiTexCoordP2uiv glad_glMultiTexCoordP2uiv
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC)(GLenum, GLenum, GLuint);
+GLAPI PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui;
+#define glMultiTexCoordP3ui glad_glMultiTexCoordP3ui
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC)(GLenum, GLenum, const GLuint*);
+GLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv;
+#define glMultiTexCoordP3uiv glad_glMultiTexCoordP3uiv
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC)(GLenum, GLenum, GLuint);
+GLAPI PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui;
+#define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui
+typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC)(GLenum, GLenum, const GLuint*);
+GLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv;
+#define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv
+typedef void (APIENTRYP PFNGLNORMALP3UIPROC)(GLenum, GLuint);
+GLAPI PFNGLNORMALP3UIPROC glad_glNormalP3ui;
+#define glNormalP3ui glad_glNormalP3ui
+typedef void (APIENTRYP PFNGLNORMALP3UIVPROC)(GLenum, const GLuint*);
+GLAPI PFNGLNORMALP3UIVPROC glad_glNormalP3uiv;
+#define glNormalP3uiv glad_glNormalP3uiv
+typedef void (APIENTRYP PFNGLCOLORP3UIPROC)(GLenum, GLuint);
+GLAPI PFNGLCOLORP3UIPROC glad_glColorP3ui;
+#define glColorP3ui glad_glColorP3ui
+typedef void (APIENTRYP PFNGLCOLORP3UIVPROC)(GLenum, const GLuint*);
+GLAPI PFNGLCOLORP3UIVPROC glad_glColorP3uiv;
+#define glColorP3uiv glad_glColorP3uiv
+typedef void (APIENTRYP PFNGLCOLORP4UIPROC)(GLenum, GLuint);
+GLAPI PFNGLCOLORP4UIPROC glad_glColorP4ui;
+#define glColorP4ui glad_glColorP4ui
+typedef void (APIENTRYP PFNGLCOLORP4UIVPROC)(GLenum, const GLuint*);
+GLAPI PFNGLCOLORP4UIVPROC glad_glColorP4uiv;
+#define glColorP4uiv glad_glColorP4uiv
+typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC)(GLenum, GLuint);
+GLAPI PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui;
+#define glSecondaryColorP3ui glad_glSecondaryColorP3ui
+typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum, const GLuint*);
+GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv;
+#define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv
+#endif
+#ifndef GL_VERSION_4_0
+#define GL_VERSION_4_0 1
+GLAPI int GLAD_GL_VERSION_4_0;
+typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC)(GLfloat);
+GLAPI PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading;
+#define glMinSampleShading glad_glMinSampleShading
+typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC)(GLuint, GLenum);
+GLAPI PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi;
+#define glBlendEquationi glad_glBlendEquationi
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC)(GLuint, GLenum, GLenum);
+GLAPI PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei;
+#define glBlendEquationSeparatei glad_glBlendEquationSeparatei
+typedef void (APIENTRYP PFNGLBLENDFUNCIPROC)(GLuint, GLenum, GLenum);
+GLAPI PFNGLBLENDFUNCIPROC glad_glBlendFunci;
+#define glBlendFunci glad_glBlendFunci
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC)(GLuint, GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei;
+#define glBlendFuncSeparatei glad_glBlendFuncSeparatei
+typedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC)(GLenum, const void*);
+GLAPI PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect;
+#define glDrawArraysIndirect glad_glDrawArraysIndirect
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC)(GLenum, GLenum, const void*);
+GLAPI PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect;
+#define glDrawElementsIndirect glad_glDrawElementsIndirect
+typedef void (APIENTRYP PFNGLUNIFORM1DPROC)(GLint, GLdouble);
+GLAPI PFNGLUNIFORM1DPROC glad_glUniform1d;
+#define glUniform1d glad_glUniform1d
+typedef void (APIENTRYP PFNGLUNIFORM2DPROC)(GLint, GLdouble, GLdouble);
+GLAPI PFNGLUNIFORM2DPROC glad_glUniform2d;
+#define glUniform2d glad_glUniform2d
+typedef void (APIENTRYP PFNGLUNIFORM3DPROC)(GLint, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLUNIFORM3DPROC glad_glUniform3d;
+#define glUniform3d glad_glUniform3d
+typedef void (APIENTRYP PFNGLUNIFORM4DPROC)(GLint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLUNIFORM4DPROC glad_glUniform4d;
+#define glUniform4d glad_glUniform4d
+typedef void (APIENTRYP PFNGLUNIFORM1DVPROC)(GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLUNIFORM1DVPROC glad_glUniform1dv;
+#define glUniform1dv glad_glUniform1dv
+typedef void (APIENTRYP PFNGLUNIFORM2DVPROC)(GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLUNIFORM2DVPROC glad_glUniform2dv;
+#define glUniform2dv glad_glUniform2dv
+typedef void (APIENTRYP PFNGLUNIFORM3DVPROC)(GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLUNIFORM3DVPROC glad_glUniform3dv;
+#define glUniform3dv glad_glUniform3dv
+typedef void (APIENTRYP PFNGLUNIFORM4DVPROC)(GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLUNIFORM4DVPROC glad_glUniform4dv;
+#define glUniform4dv glad_glUniform4dv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC)(GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv;
+#define glUniformMatrix2dv glad_glUniformMatrix2dv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC)(GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv;
+#define glUniformMatrix3dv glad_glUniformMatrix3dv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC)(GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv;
+#define glUniformMatrix4dv glad_glUniformMatrix4dv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC)(GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv;
+#define glUniformMatrix2x3dv glad_glUniformMatrix2x3dv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC)(GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv;
+#define glUniformMatrix2x4dv glad_glUniformMatrix2x4dv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC)(GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv;
+#define glUniformMatrix3x2dv glad_glUniformMatrix3x2dv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC)(GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv;
+#define glUniformMatrix3x4dv glad_glUniformMatrix3x4dv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC)(GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv;
+#define glUniformMatrix4x2dv glad_glUniformMatrix4x2dv
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC)(GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv;
+#define glUniformMatrix4x3dv glad_glUniformMatrix4x3dv
+typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC)(GLuint, GLint, GLdouble*);
+GLAPI PFNGLGETUNIFORMDVPROC glad_glGetUniformdv;
+#define glGetUniformdv glad_glGetUniformdv
+typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)(GLuint, GLenum, const GLchar*);
+GLAPI PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation;
+#define glGetSubroutineUniformLocation glad_glGetSubroutineUniformLocation
+typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC)(GLuint, GLenum, const GLchar*);
+GLAPI PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex;
+#define glGetSubroutineIndex glad_glGetSubroutineIndex
+typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)(GLuint, GLenum, GLuint, GLenum, GLint*);
+GLAPI PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv;
+#define glGetActiveSubroutineUniformiv glad_glGetActiveSubroutineUniformiv
+typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)(GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName;
+#define glGetActiveSubroutineUniformName glad_glGetActiveSubroutineUniformName
+typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC)(GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName;
+#define glGetActiveSubroutineName glad_glGetActiveSubroutineName
+typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC)(GLenum, GLsizei, const GLuint*);
+GLAPI PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv;
+#define glUniformSubroutinesuiv glad_glUniformSubroutinesuiv
+typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC)(GLenum, GLint, GLuint*);
+GLAPI PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv;
+#define glGetUniformSubroutineuiv glad_glGetUniformSubroutineuiv
+typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC)(GLuint, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv;
+#define glGetProgramStageiv glad_glGetProgramStageiv
+typedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC)(GLenum, GLint);
+GLAPI PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri;
+#define glPatchParameteri glad_glPatchParameteri
+typedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv;
+#define glPatchParameterfv glad_glPatchParameterfv
+typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback;
+#define glBindTransformFeedback glad_glBindTransformFeedback
+typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks;
+#define glDeleteTransformFeedbacks glad_glDeleteTransformFeedbacks
+typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks;
+#define glGenTransformFeedbacks glad_glGenTransformFeedbacks
+typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC)(GLuint);
+GLAPI PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback;
+#define glIsTransformFeedback glad_glIsTransformFeedback
+typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC)();
+GLAPI PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback;
+#define glPauseTransformFeedback glad_glPauseTransformFeedback
+typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC)();
+GLAPI PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback;
+#define glResumeTransformFeedback glad_glResumeTransformFeedback
+typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC)(GLenum, GLuint);
+GLAPI PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback;
+#define glDrawTransformFeedback glad_glDrawTransformFeedback
+typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)(GLenum, GLuint, GLuint);
+GLAPI PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream;
+#define glDrawTransformFeedbackStream glad_glDrawTransformFeedbackStream
+typedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC)(GLenum, GLuint, GLuint);
+GLAPI PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed;
+#define glBeginQueryIndexed glad_glBeginQueryIndexed
+typedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC)(GLenum, GLuint);
+GLAPI PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed;
+#define glEndQueryIndexed glad_glEndQueryIndexed
+typedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC)(GLenum, GLuint, GLenum, GLint*);
+GLAPI PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv;
+#define glGetQueryIndexediv glad_glGetQueryIndexediv
+#endif
+#ifndef GL_VERSION_4_1
+#define GL_VERSION_4_1 1
+GLAPI int GLAD_GL_VERSION_4_1;
+typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC)();
+GLAPI PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler;
+#define glReleaseShaderCompiler glad_glReleaseShaderCompiler
+typedef void (APIENTRYP PFNGLSHADERBINARYPROC)(GLsizei, const GLuint*, GLenum, const void*, GLsizei);
+GLAPI PFNGLSHADERBINARYPROC glad_glShaderBinary;
+#define glShaderBinary glad_glShaderBinary
+typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum, GLenum, GLint*, GLint*);
+GLAPI PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat;
+#define glGetShaderPrecisionFormat glad_glGetShaderPrecisionFormat
+typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC)(GLfloat, GLfloat);
+GLAPI PFNGLDEPTHRANGEFPROC glad_glDepthRangef;
+#define glDepthRangef glad_glDepthRangef
+typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC)(GLfloat);
+GLAPI PFNGLCLEARDEPTHFPROC glad_glClearDepthf;
+#define glClearDepthf glad_glClearDepthf
+typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC)(GLuint, GLsizei, GLsizei*, GLenum*, void*);
+GLAPI PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary;
+#define glGetProgramBinary glad_glGetProgramBinary
+typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC)(GLuint, GLenum, const void*, GLsizei);
+GLAPI PFNGLPROGRAMBINARYPROC glad_glProgramBinary;
+#define glProgramBinary glad_glProgramBinary
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC)(GLuint, GLenum, GLint);
+GLAPI PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri;
+#define glProgramParameteri glad_glProgramParameteri
+typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC)(GLuint, GLbitfield, GLuint);
+GLAPI PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages;
+#define glUseProgramStages glad_glUseProgramStages
+typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC)(GLuint, GLuint);
+GLAPI PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram;
+#define glActiveShaderProgram glad_glActiveShaderProgram
+typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC)(GLenum, GLsizei, const GLchar**);
+GLAPI PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv;
+#define glCreateShaderProgramv glad_glCreateShaderProgramv
+typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC)(GLuint);
+GLAPI PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline;
+#define glBindProgramPipeline glad_glBindProgramPipeline
+typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines;
+#define glDeleteProgramPipelines glad_glDeleteProgramPipelines
+typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines;
+#define glGenProgramPipelines glad_glGenProgramPipelines
+typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC)(GLuint);
+GLAPI PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline;
+#define glIsProgramPipeline glad_glIsProgramPipeline
+typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv;
+#define glGetProgramPipelineiv glad_glGetProgramPipelineiv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC)(GLuint, GLint, GLint);
+GLAPI PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i;
+#define glProgramUniform1i glad_glProgramUniform1i
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC)(GLuint, GLint, GLsizei, const GLint*);
+GLAPI PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv;
+#define glProgramUniform1iv glad_glProgramUniform1iv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC)(GLuint, GLint, GLfloat);
+GLAPI PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f;
+#define glProgramUniform1f glad_glProgramUniform1f
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC)(GLuint, GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv;
+#define glProgramUniform1fv glad_glProgramUniform1fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC)(GLuint, GLint, GLdouble);
+GLAPI PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d;
+#define glProgramUniform1d glad_glProgramUniform1d
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC)(GLuint, GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv;
+#define glProgramUniform1dv glad_glProgramUniform1dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC)(GLuint, GLint, GLuint);
+GLAPI PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui;
+#define glProgramUniform1ui glad_glProgramUniform1ui
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC)(GLuint, GLint, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv;
+#define glProgramUniform1uiv glad_glProgramUniform1uiv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC)(GLuint, GLint, GLint, GLint);
+GLAPI PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i;
+#define glProgramUniform2i glad_glProgramUniform2i
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC)(GLuint, GLint, GLsizei, const GLint*);
+GLAPI PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv;
+#define glProgramUniform2iv glad_glProgramUniform2iv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC)(GLuint, GLint, GLfloat, GLfloat);
+GLAPI PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f;
+#define glProgramUniform2f glad_glProgramUniform2f
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC)(GLuint, GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv;
+#define glProgramUniform2fv glad_glProgramUniform2fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC)(GLuint, GLint, GLdouble, GLdouble);
+GLAPI PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d;
+#define glProgramUniform2d glad_glProgramUniform2d
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC)(GLuint, GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv;
+#define glProgramUniform2dv glad_glProgramUniform2dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC)(GLuint, GLint, GLuint, GLuint);
+GLAPI PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui;
+#define glProgramUniform2ui glad_glProgramUniform2ui
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC)(GLuint, GLint, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv;
+#define glProgramUniform2uiv glad_glProgramUniform2uiv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC)(GLuint, GLint, GLint, GLint, GLint);
+GLAPI PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i;
+#define glProgramUniform3i glad_glProgramUniform3i
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC)(GLuint, GLint, GLsizei, const GLint*);
+GLAPI PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv;
+#define glProgramUniform3iv glad_glProgramUniform3iv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC)(GLuint, GLint, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f;
+#define glProgramUniform3f glad_glProgramUniform3f
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC)(GLuint, GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv;
+#define glProgramUniform3fv glad_glProgramUniform3fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC)(GLuint, GLint, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d;
+#define glProgramUniform3d glad_glProgramUniform3d
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC)(GLuint, GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv;
+#define glProgramUniform3dv glad_glProgramUniform3dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC)(GLuint, GLint, GLuint, GLuint, GLuint);
+GLAPI PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui;
+#define glProgramUniform3ui glad_glProgramUniform3ui
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC)(GLuint, GLint, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv;
+#define glProgramUniform3uiv glad_glProgramUniform3uiv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC)(GLuint, GLint, GLint, GLint, GLint, GLint);
+GLAPI PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i;
+#define glProgramUniform4i glad_glProgramUniform4i
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC)(GLuint, GLint, GLsizei, const GLint*);
+GLAPI PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv;
+#define glProgramUniform4iv glad_glProgramUniform4iv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f;
+#define glProgramUniform4f glad_glProgramUniform4f
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC)(GLuint, GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv;
+#define glProgramUniform4fv glad_glProgramUniform4fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d;
+#define glProgramUniform4d glad_glProgramUniform4d
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC)(GLuint, GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv;
+#define glProgramUniform4dv glad_glProgramUniform4dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui;
+#define glProgramUniform4ui glad_glProgramUniform4ui
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC)(GLuint, GLint, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv;
+#define glProgramUniform4uiv glad_glProgramUniform4uiv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv;
+#define glProgramUniformMatrix2fv glad_glProgramUniformMatrix2fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv;
+#define glProgramUniformMatrix3fv glad_glProgramUniformMatrix3fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv;
+#define glProgramUniformMatrix4fv glad_glProgramUniformMatrix4fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv;
+#define glProgramUniformMatrix2dv glad_glProgramUniformMatrix2dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv;
+#define glProgramUniformMatrix3dv glad_glProgramUniformMatrix3dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv;
+#define glProgramUniformMatrix4dv glad_glProgramUniformMatrix4dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv;
+#define glProgramUniformMatrix2x3fv glad_glProgramUniformMatrix2x3fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv;
+#define glProgramUniformMatrix3x2fv glad_glProgramUniformMatrix3x2fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv;
+#define glProgramUniformMatrix2x4fv glad_glProgramUniformMatrix2x4fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv;
+#define glProgramUniformMatrix4x2fv glad_glProgramUniformMatrix4x2fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv;
+#define glProgramUniformMatrix3x4fv glad_glProgramUniformMatrix3x4fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv;
+#define glProgramUniformMatrix4x3fv glad_glProgramUniformMatrix4x3fv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv;
+#define glProgramUniformMatrix2x3dv glad_glProgramUniformMatrix2x3dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv;
+#define glProgramUniformMatrix3x2dv glad_glProgramUniformMatrix3x2dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv;
+#define glProgramUniformMatrix2x4dv glad_glProgramUniformMatrix2x4dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv;
+#define glProgramUniformMatrix4x2dv glad_glProgramUniformMatrix4x2dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv;
+#define glProgramUniformMatrix3x4dv glad_glProgramUniformMatrix3x4dv
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv;
+#define glProgramUniformMatrix4x3dv glad_glProgramUniformMatrix4x3dv
+typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC)(GLuint);
+GLAPI PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline;
+#define glValidateProgramPipeline glad_glValidateProgramPipeline
+typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC)(GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog;
+#define glGetProgramPipelineInfoLog glad_glGetProgramPipelineInfoLog
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC)(GLuint, GLdouble);
+GLAPI PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d;
+#define glVertexAttribL1d glad_glVertexAttribL1d
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC)(GLuint, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d;
+#define glVertexAttribL2d glad_glVertexAttribL2d
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC)(GLuint, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d;
+#define glVertexAttribL3d glad_glVertexAttribL3d
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d;
+#define glVertexAttribL4d glad_glVertexAttribL4d
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv;
+#define glVertexAttribL1dv glad_glVertexAttribL1dv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv;
+#define glVertexAttribL2dv glad_glVertexAttribL2dv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv;
+#define glVertexAttribL3dv glad_glVertexAttribL3dv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv;
+#define glVertexAttribL4dv glad_glVertexAttribL4dv
+typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC)(GLuint, GLint, GLenum, GLsizei, const void*);
+GLAPI PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer;
+#define glVertexAttribLPointer glad_glVertexAttribLPointer
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC)(GLuint, GLenum, GLdouble*);
+GLAPI PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv;
+#define glGetVertexAttribLdv glad_glGetVertexAttribLdv
+typedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC)(GLuint, GLsizei, const GLfloat*);
+GLAPI PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv;
+#define glViewportArrayv glad_glViewportArrayv
+typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf;
+#define glViewportIndexedf glad_glViewportIndexedf
+typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv;
+#define glViewportIndexedfv glad_glViewportIndexedfv
+typedef void (APIENTRYP PFNGLSCISSORARRAYVPROC)(GLuint, GLsizei, const GLint*);
+GLAPI PFNGLSCISSORARRAYVPROC glad_glScissorArrayv;
+#define glScissorArrayv glad_glScissorArrayv
+typedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC)(GLuint, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed;
+#define glScissorIndexed glad_glScissorIndexed
+typedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC)(GLuint, const GLint*);
+GLAPI PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv;
+#define glScissorIndexedv glad_glScissorIndexedv
+typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC)(GLuint, GLsizei, const GLdouble*);
+GLAPI PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv;
+#define glDepthRangeArrayv glad_glDepthRangeArrayv
+typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC)(GLuint, GLdouble, GLdouble);
+GLAPI PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed;
+#define glDepthRangeIndexed glad_glDepthRangeIndexed
+typedef void (APIENTRYP PFNGLGETFLOATI_VPROC)(GLenum, GLuint, GLfloat*);
+GLAPI PFNGLGETFLOATI_VPROC glad_glGetFloati_v;
+#define glGetFloati_v glad_glGetFloati_v
+typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC)(GLenum, GLuint, GLdouble*);
+GLAPI PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v;
+#define glGetDoublei_v glad_glGetDoublei_v
+#endif
+#ifndef GL_VERSION_4_2
+#define GL_VERSION_4_2 1
+GLAPI int GLAD_GL_VERSION_4_2;
+typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)(GLenum, GLint, GLsizei, GLsizei, GLuint);
+GLAPI PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance;
+#define glDrawArraysInstancedBaseInstance glad_glDrawArraysInstancedBaseInstance
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)(GLenum, GLsizei, GLenum, const void*, GLsizei, GLuint);
+GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance;
+#define glDrawElementsInstancedBaseInstance glad_glDrawElementsInstancedBaseInstance
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)(GLenum, GLsizei, GLenum, const void*, GLsizei, GLint, GLuint);
+GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance;
+#define glDrawElementsInstancedBaseVertexBaseInstance glad_glDrawElementsInstancedBaseVertexBaseInstance
+typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC)(GLenum, GLenum, GLenum, GLsizei, GLint*);
+GLAPI PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ;
+#define glGetInternalformativ glad_glGetInternalformativ
+typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)(GLuint, GLuint, GLenum, GLint*);
+GLAPI PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv;
+#define glGetActiveAtomicCounterBufferiv glad_glGetActiveAtomicCounterBufferiv
+typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum);
+GLAPI PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture;
+#define glBindImageTexture glad_glBindImageTexture
+typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC)(GLbitfield);
+GLAPI PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier;
+#define glMemoryBarrier glad_glMemoryBarrier
+typedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC)(GLenum, GLsizei, GLenum, GLsizei);
+GLAPI PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D;
+#define glTexStorage1D glad_glTexStorage1D
+typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
+GLAPI PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D;
+#define glTexStorage2D glad_glTexStorage2D
+typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei);
+GLAPI PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D;
+#define glTexStorage3D glad_glTexStorage3D
+typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)(GLenum, GLuint, GLsizei);
+GLAPI PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced;
+#define glDrawTransformFeedbackInstanced glad_glDrawTransformFeedbackInstanced
+typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)(GLenum, GLuint, GLuint, GLsizei);
+GLAPI PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced;
+#define glDrawTransformFeedbackStreamInstanced glad_glDrawTransformFeedbackStreamInstanced
+#endif
+#ifndef GL_VERSION_4_3
+#define GL_VERSION_4_3 1
+GLAPI int GLAD_GL_VERSION_4_3;
+typedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC)(GLenum, GLenum, GLenum, GLenum, const void*);
+GLAPI PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData;
+#define glClearBufferData glad_glClearBufferData
+typedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC)(GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const void*);
+GLAPI PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData;
+#define glClearBufferSubData glad_glClearBufferSubData
+typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEPROC)(GLuint, GLuint, GLuint);
+GLAPI PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute;
+#define glDispatchCompute glad_glDispatchCompute
+typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC)(GLintptr);
+GLAPI PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect;
+#define glDispatchComputeIndirect glad_glDispatchComputeIndirect
+typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATAPROC)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
+GLAPI PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData;
+#define glCopyImageSubData glad_glCopyImageSubData
+typedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC)(GLenum, GLenum, GLint);
+GLAPI PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri;
+#define glFramebufferParameteri glad_glFramebufferParameteri
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv;
+#define glGetFramebufferParameteriv glad_glGetFramebufferParameteriv
+typedef void (APIENTRYP PFNGLGETINTERNALFORMATI64VPROC)(GLenum, GLenum, GLenum, GLsizei, GLint64*);
+GLAPI PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v;
+#define glGetInternalformati64v glad_glGetInternalformati64v
+typedef void (APIENTRYP PFNGLINVALIDATETEXSUBIMAGEPROC)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
+GLAPI PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage;
+#define glInvalidateTexSubImage glad_glInvalidateTexSubImage
+typedef void (APIENTRYP PFNGLINVALIDATETEXIMAGEPROC)(GLuint, GLint);
+GLAPI PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage;
+#define glInvalidateTexImage glad_glInvalidateTexImage
+typedef void (APIENTRYP PFNGLINVALIDATEBUFFERSUBDATAPROC)(GLuint, GLintptr, GLsizeiptr);
+GLAPI PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData;
+#define glInvalidateBufferSubData glad_glInvalidateBufferSubData
+typedef void (APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC)(GLuint);
+GLAPI PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData;
+#define glInvalidateBufferData glad_glInvalidateBufferData
+typedef void (APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC)(GLenum, GLsizei, const GLenum*);
+GLAPI PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer;
+#define glInvalidateFramebuffer glad_glInvalidateFramebuffer
+typedef void (APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC)(GLenum, GLsizei, const GLenum*, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer;
+#define glInvalidateSubFramebuffer glad_glInvalidateSubFramebuffer
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTPROC)(GLenum, const void*, GLsizei, GLsizei);
+GLAPI PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect;
+#define glMultiDrawArraysIndirect glad_glMultiDrawArraysIndirect
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTPROC)(GLenum, GLenum, const void*, GLsizei, GLsizei);
+GLAPI PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect;
+#define glMultiDrawElementsIndirect glad_glMultiDrawElementsIndirect
+typedef void (APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC)(GLuint, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv;
+#define glGetProgramInterfaceiv glad_glGetProgramInterfaceiv
+typedef GLuint (APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC)(GLuint, GLenum, const GLchar*);
+GLAPI PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex;
+#define glGetProgramResourceIndex glad_glGetProgramResourceIndex
+typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC)(GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName;
+#define glGetProgramResourceName glad_glGetProgramResourceName
+typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC)(GLuint, GLenum, GLuint, GLsizei, const GLenum*, GLsizei, GLsizei*, GLint*);
+GLAPI PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv;
+#define glGetProgramResourceiv glad_glGetProgramResourceiv
+typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC)(GLuint, GLenum, const GLchar*);
+GLAPI PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation;
+#define glGetProgramResourceLocation glad_glGetProgramResourceLocation
+typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)(GLuint, GLenum, const GLchar*);
+GLAPI PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex;
+#define glGetProgramResourceLocationIndex glad_glGetProgramResourceLocationIndex
+typedef void (APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC)(GLuint, GLuint, GLuint);
+GLAPI PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding;
+#define glShaderStorageBlockBinding glad_glShaderStorageBlockBinding
+typedef void (APIENTRYP PFNGLTEXBUFFERRANGEPROC)(GLenum, GLenum, GLuint, GLintptr, GLsizeiptr);
+GLAPI PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange;
+#define glTexBufferRange glad_glTexBufferRange
+typedef void (APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample;
+#define glTexStorage2DMultisample glad_glTexStorage2DMultisample
+typedef void (APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample;
+#define glTexStorage3DMultisample glad_glTexStorage3DMultisample
+typedef void (APIENTRYP PFNGLTEXTUREVIEWPROC)(GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLTEXTUREVIEWPROC glad_glTextureView;
+#define glTextureView glad_glTextureView
+typedef void (APIENTRYP PFNGLBINDVERTEXBUFFERPROC)(GLuint, GLuint, GLintptr, GLsizei);
+GLAPI PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer;
+#define glBindVertexBuffer glad_glBindVertexBuffer
+typedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATPROC)(GLuint, GLint, GLenum, GLboolean, GLuint);
+GLAPI PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat;
+#define glVertexAttribFormat glad_glVertexAttribFormat
+typedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC)(GLuint, GLint, GLenum, GLuint);
+GLAPI PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat;
+#define glVertexAttribIFormat glad_glVertexAttribIFormat
+typedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATPROC)(GLuint, GLint, GLenum, GLuint);
+GLAPI PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat;
+#define glVertexAttribLFormat glad_glVertexAttribLFormat
+typedef void (APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC)(GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding;
+#define glVertexAttribBinding glad_glVertexAttribBinding
+typedef void (APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC)(GLuint, GLuint);
+GLAPI PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor;
+#define glVertexBindingDivisor glad_glVertexBindingDivisor
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC)(GLenum, GLenum, GLenum, GLsizei, const GLuint*, GLboolean);
+GLAPI PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl;
+#define glDebugMessageControl glad_glDebugMessageControl
+typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*);
+GLAPI PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert;
+#define glDebugMessageInsert glad_glDebugMessageInsert
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC)(GLDEBUGPROC, const void*);
+GLAPI PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback;
+#define glDebugMessageCallback glad_glDebugMessageCallback
+typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC)(GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*);
+GLAPI PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog;
+#define glGetDebugMessageLog glad_glGetDebugMessageLog
+typedef void (APIENTRYP PFNGLPUSHDEBUGGROUPPROC)(GLenum, GLuint, GLsizei, const GLchar*);
+GLAPI PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup;
+#define glPushDebugGroup glad_glPushDebugGroup
+typedef void (APIENTRYP PFNGLPOPDEBUGGROUPPROC)();
+GLAPI PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup;
+#define glPopDebugGroup glad_glPopDebugGroup
+typedef void (APIENTRYP PFNGLOBJECTLABELPROC)(GLenum, GLuint, GLsizei, const GLchar*);
+GLAPI PFNGLOBJECTLABELPROC glad_glObjectLabel;
+#define glObjectLabel glad_glObjectLabel
+typedef void (APIENTRYP PFNGLGETOBJECTLABELPROC)(GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel;
+#define glGetObjectLabel glad_glGetObjectLabel
+typedef void (APIENTRYP PFNGLOBJECTPTRLABELPROC)(const void*, GLsizei, const GLchar*);
+GLAPI PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel;
+#define glObjectPtrLabel glad_glObjectPtrLabel
+typedef void (APIENTRYP PFNGLGETOBJECTPTRLABELPROC)(const void*, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel;
+#define glGetObjectPtrLabel glad_glGetObjectPtrLabel
+#endif
+#ifndef GL_VERSION_4_4
+#define GL_VERSION_4_4 1
+GLAPI int GLAD_GL_VERSION_4_4;
+typedef void (APIENTRYP PFNGLBUFFERSTORAGEPROC)(GLenum, GLsizeiptr, const void*, GLbitfield);
+GLAPI PFNGLBUFFERSTORAGEPROC glad_glBufferStorage;
+#define glBufferStorage glad_glBufferStorage
+typedef void (APIENTRYP PFNGLCLEARTEXIMAGEPROC)(GLuint, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLCLEARTEXIMAGEPROC glad_glClearTexImage;
+#define glClearTexImage glad_glClearTexImage
+typedef void (APIENTRYP PFNGLCLEARTEXSUBIMAGEPROC)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage;
+#define glClearTexSubImage glad_glClearTexSubImage
+typedef void (APIENTRYP PFNGLBINDBUFFERSBASEPROC)(GLenum, GLuint, GLsizei, const GLuint*);
+GLAPI PFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase;
+#define glBindBuffersBase glad_glBindBuffersBase
+typedef void (APIENTRYP PFNGLBINDBUFFERSRANGEPROC)(GLenum, GLuint, GLsizei, const GLuint*, const GLintptr*, const GLsizeiptr*);
+GLAPI PFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange;
+#define glBindBuffersRange glad_glBindBuffersRange
+typedef void (APIENTRYP PFNGLBINDTEXTURESPROC)(GLuint, GLsizei, const GLuint*);
+GLAPI PFNGLBINDTEXTURESPROC glad_glBindTextures;
+#define glBindTextures glad_glBindTextures
+typedef void (APIENTRYP PFNGLBINDSAMPLERSPROC)(GLuint, GLsizei, const GLuint*);
+GLAPI PFNGLBINDSAMPLERSPROC glad_glBindSamplers;
+#define glBindSamplers glad_glBindSamplers
+typedef void (APIENTRYP PFNGLBINDIMAGETEXTURESPROC)(GLuint, GLsizei, const GLuint*);
+GLAPI PFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures;
+#define glBindImageTextures glad_glBindImageTextures
+typedef void (APIENTRYP PFNGLBINDVERTEXBUFFERSPROC)(GLuint, GLsizei, const GLuint*, const GLintptr*, const GLsizei*);
+GLAPI PFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers;
+#define glBindVertexBuffers glad_glBindVertexBuffers
+#endif
+#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E
+#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F
+#define GL_PIXEL_TILE_WIDTH_SGIX 0x8140
+#define GL_PIXEL_TILE_HEIGHT_SGIX 0x8141
+#define GL_PIXEL_TILE_GRID_WIDTH_SGIX 0x8142
+#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX 0x8143
+#define GL_PIXEL_TILE_GRID_DEPTH_SGIX 0x8144
+#define GL_PIXEL_TILE_CACHE_SIZE_SGIX 0x8145
+#define GL_POINT_SPRITE_NV 0x8861
+#define GL_COORD_REPLACE_NV 0x8862
+#define GL_POINT_SPRITE_R_MODE_NV 0x8863
+#define GL_ELEMENT_ARRAY_APPLE 0x8A0C
+#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D
+#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E
+#define GL_FUNC_SUBTRACT_EXT 0x800A
+#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B
+#define GL_MIRRORED_REPEAT_IBM 0x8370
+#define GL_TRANSFORM_HINT_APPLE 0x85B1
+#define GL_STENCIL_BACK_FUNC_ATI 0x8800
+#define GL_STENCIL_BACK_FAIL_ATI 0x8801
+#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
+#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803
+#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
+#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
+#define GL_TEXTURE_BUFFER_EXT 0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D
+#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E
+#define GL_MAX_VERTEX_UNITS_ARB 0x86A4
+#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
+#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6
+#define GL_VERTEX_BLEND_ARB 0x86A7
+#define GL_CURRENT_WEIGHT_ARB 0x86A8
+#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9
+#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA
+#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB
+#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC
+#define GL_WEIGHT_ARRAY_ARB 0x86AD
+#define GL_MODELVIEW0_ARB 0x1700
+#define GL_MODELVIEW1_ARB 0x850A
+#define GL_MODELVIEW2_ARB 0x8722
+#define GL_MODELVIEW3_ARB 0x8723
+#define GL_MODELVIEW4_ARB 0x8724
+#define GL_MODELVIEW5_ARB 0x8725
+#define GL_MODELVIEW6_ARB 0x8726
+#define GL_MODELVIEW7_ARB 0x8727
+#define GL_MODELVIEW8_ARB 0x8728
+#define GL_MODELVIEW9_ARB 0x8729
+#define GL_MODELVIEW10_ARB 0x872A
+#define GL_MODELVIEW11_ARB 0x872B
+#define GL_MODELVIEW12_ARB 0x872C
+#define GL_MODELVIEW13_ARB 0x872D
+#define GL_MODELVIEW14_ARB 0x872E
+#define GL_MODELVIEW15_ARB 0x872F
+#define GL_MODELVIEW16_ARB 0x8730
+#define GL_MODELVIEW17_ARB 0x8731
+#define GL_MODELVIEW18_ARB 0x8732
+#define GL_MODELVIEW19_ARB 0x8733
+#define GL_MODELVIEW20_ARB 0x8734
+#define GL_MODELVIEW21_ARB 0x8735
+#define GL_MODELVIEW22_ARB 0x8736
+#define GL_MODELVIEW23_ARB 0x8737
+#define GL_MODELVIEW24_ARB 0x8738
+#define GL_MODELVIEW25_ARB 0x8739
+#define GL_MODELVIEW26_ARB 0x873A
+#define GL_MODELVIEW27_ARB 0x873B
+#define GL_MODELVIEW28_ARB 0x873C
+#define GL_MODELVIEW29_ARB 0x873D
+#define GL_MODELVIEW30_ARB 0x873E
+#define GL_MODELVIEW31_ARB 0x873F
+#define GL_SAMPLES_ARB 0x80A9
+#define GL_COLOR_SAMPLES_NV 0x8E20
+#define GL_NORMAL_MAP_EXT 0x8511
+#define GL_REFLECTION_MAP_EXT 0x8512
+#define GL_TEXTURE_CUBE_MAP_EXT 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C
+#define GL_INDEX_TEST_EXT 0x81B5
+#define GL_INDEX_TEST_FUNC_EXT 0x81B6
+#define GL_INDEX_TEST_REF_EXT 0x81B7
+#define GL_PALETTE4_RGB8_OES 0x8B90
+#define GL_PALETTE4_RGBA8_OES 0x8B91
+#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
+#define GL_PALETTE4_RGBA4_OES 0x8B93
+#define GL_PALETTE4_RGB5_A1_OES 0x8B94
+#define GL_PALETTE8_RGB8_OES 0x8B95
+#define GL_PALETTE8_RGBA8_OES 0x8B96
+#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
+#define GL_PALETTE8_RGBA4_OES 0x8B98
+#define GL_PALETTE8_RGB5_A1_OES 0x8B99
+#define GL_DEPTH_CLAMP_NV 0x864F
+#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D
+#define GL_GPU_ADDRESS_NV 0x8F34
+#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35
+#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5
+#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6
+#define GL_QUERY_WAIT_NV 0x8E13
+#define GL_QUERY_NO_WAIT_NV 0x8E14
+#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15
+#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16
+#define GL_COMBINE_EXT 0x8570
+#define GL_COMBINE_RGB_EXT 0x8571
+#define GL_COMBINE_ALPHA_EXT 0x8572
+#define GL_RGB_SCALE_EXT 0x8573
+#define GL_ADD_SIGNED_EXT 0x8574
+#define GL_INTERPOLATE_EXT 0x8575
+#define GL_CONSTANT_EXT 0x8576
+#define GL_PRIMARY_COLOR_EXT 0x8577
+#define GL_PREVIOUS_EXT 0x8578
+#define GL_SOURCE0_RGB_EXT 0x8580
+#define GL_SOURCE1_RGB_EXT 0x8581
+#define GL_SOURCE2_RGB_EXT 0x8582
+#define GL_SOURCE0_ALPHA_EXT 0x8588
+#define GL_SOURCE1_ALPHA_EXT 0x8589
+#define GL_SOURCE2_ALPHA_EXT 0x858A
+#define GL_OPERAND0_RGB_EXT 0x8590
+#define GL_OPERAND1_RGB_EXT 0x8591
+#define GL_OPERAND2_RGB_EXT 0x8592
+#define GL_OPERAND0_ALPHA_EXT 0x8598
+#define GL_OPERAND1_ALPHA_EXT 0x8599
+#define GL_OPERAND2_ALPHA_EXT 0x859A
+#define GL_FOG_DISTANCE_MODE_NV 0x855A
+#define GL_EYE_RADIAL_NV 0x855B
+#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C
+#define GL_EYE_PLANE 0x2502
+#define GL_ASYNC_HISTOGRAM_SGIX 0x832C
+#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D
+#define GL_MAX_SHININESS_NV 0x8504
+#define GL_MAX_SPOT_EXPONENT_NV 0x8505
+#define GL_COMBINE4_NV 0x8503
+#define GL_SOURCE3_RGB_NV 0x8583
+#define GL_SOURCE3_ALPHA_NV 0x858B
+#define GL_OPERAND3_RGB_NV 0x8593
+#define GL_OPERAND3_ALPHA_NV 0x859B
+#define GL_COMBINE_ARB 0x8570
+#define GL_COMBINE_RGB_ARB 0x8571
+#define GL_COMBINE_ALPHA_ARB 0x8572
+#define GL_SOURCE0_RGB_ARB 0x8580
+#define GL_SOURCE1_RGB_ARB 0x8581
+#define GL_SOURCE2_RGB_ARB 0x8582
+#define GL_SOURCE0_ALPHA_ARB 0x8588
+#define GL_SOURCE1_ALPHA_ARB 0x8589
+#define GL_SOURCE2_ALPHA_ARB 0x858A
+#define GL_OPERAND0_RGB_ARB 0x8590
+#define GL_OPERAND1_RGB_ARB 0x8591
+#define GL_OPERAND2_RGB_ARB 0x8592
+#define GL_OPERAND0_ALPHA_ARB 0x8598
+#define GL_OPERAND1_ALPHA_ARB 0x8599
+#define GL_OPERAND2_ALPHA_ARB 0x859A
+#define GL_RGB_SCALE_ARB 0x8573
+#define GL_ADD_SIGNED_ARB 0x8574
+#define GL_INTERPOLATE_ARB 0x8575
+#define GL_SUBTRACT_ARB 0x84E7
+#define GL_CONSTANT_ARB 0x8576
+#define GL_PRIMARY_COLOR_ARB 0x8577
+#define GL_PREVIOUS_ARB 0x8578
+#define GL_CONVOLUTION_1D_EXT 0x8010
+#define GL_CONVOLUTION_2D_EXT 0x8011
+#define GL_SEPARABLE_2D_EXT 0x8012
+#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013
+#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014
+#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015
+#define GL_REDUCE_EXT 0x8016
+#define GL_CONVOLUTION_FORMAT_EXT 0x8017
+#define GL_CONVOLUTION_WIDTH_EXT 0x8018
+#define GL_CONVOLUTION_HEIGHT_EXT 0x8019
+#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A
+#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B
+#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C
+#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D
+#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E
+#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F
+#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020
+#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021
+#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022
+#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023
+#define GL_COMPUTE_PROGRAM_NV 0x90FB
+#define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV 0x90FC
+#define GL_INT64_NV 0x140E
+#define GL_UNSIGNED_INT64_NV 0x140F
+#define GL_COLOR_INDEX1_EXT 0x80E2
+#define GL_COLOR_INDEX2_EXT 0x80E3
+#define GL_COLOR_INDEX4_EXT 0x80E4
+#define GL_COLOR_INDEX8_EXT 0x80E5
+#define GL_COLOR_INDEX12_EXT 0x80E6
+#define GL_COLOR_INDEX16_EXT 0x80E7
+#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED
+#define GL_TEXTURE_BUFFER_ARB 0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D
+#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E
+#define GL_PN_TRIANGLES_ATI 0x87F0
+#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
+#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2
+#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3
+#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4
+#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5
+#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6
+#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7
+#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8
+#define GL_PACK_RESAMPLE_SGIX 0x842C
+#define GL_UNPACK_RESAMPLE_SGIX 0x842D
+#define GL_RESAMPLE_REPLICATE_SGIX 0x842E
+#define GL_RESAMPLE_ZERO_FILL_SGIX 0x842F
+#define GL_RESAMPLE_DECIMATE_SGIX 0x8430
+#define GL_FRAGMENT_MATERIAL_EXT 0x8349
+#define GL_FRAGMENT_NORMAL_EXT 0x834A
+#define GL_FRAGMENT_COLOR_EXT 0x834C
+#define GL_ATTENUATION_EXT 0x834D
+#define GL_SHADOW_ATTENUATION_EXT 0x834E
+#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F
+#define GL_TEXTURE_LIGHT_EXT 0x8350
+#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351
+#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352
+#define GL_FRAGMENT_DEPTH_EXT 0x8452
+#define GL_POINT_SPRITE_ARB 0x8861
+#define GL_COORD_REPLACE_ARB 0x8862
+#define GL_HALF_FLOAT_ARB 0x140B
+#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8
+#define GL_TESS_CONTROL_PROGRAM_NV 0x891E
+#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F
+#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74
+#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75
+#define GL_SCREEN_COORDINATES_REND 0x8490
+#define GL_INVERTED_SCREEN_W_REND 0x8491
+#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB
+#define GL_R11F_G11F_B10F_EXT 0x8C3A
+#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B
+#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C
+#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982
+#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983
+#define GL_VERTEX_PRECLIP_SGIX 0x83EE
+#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF
+#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179
+#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A
+#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B
+#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C
+#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
+#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
+#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
+#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
+#define GL_EMBOSS_LIGHT_NV 0x855D
+#define GL_EMBOSS_CONSTANT_NV 0x855E
+#define GL_EMBOSS_MAP_NV 0x855F
+#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42
+#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43
+#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44
+#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45
+#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46
+#define GL_FRAGMENT_SHADER_ARB 0x8B30
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
+#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
+#define GL_ACTIVE_PROGRAM_EXT 0x8B8D
+#define GL_VERTEX_SHADER_BIT_EXT 0x00000001
+#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
+#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
+#define GL_PROGRAM_SEPARABLE_EXT 0x8258
+#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
+#define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045
+#define GL_TEXTURE_COLOR_SAMPLES_NV 0x9046
+#define GL_PROGRAM_OBJECT_ARB 0x8B40
+#define GL_SHADER_OBJECT_ARB 0x8B48
+#define GL_OBJECT_TYPE_ARB 0x8B4E
+#define GL_OBJECT_SUBTYPE_ARB 0x8B4F
+#define GL_FLOAT_VEC2_ARB 0x8B50
+#define GL_FLOAT_VEC3_ARB 0x8B51
+#define GL_FLOAT_VEC4_ARB 0x8B52
+#define GL_INT_VEC2_ARB 0x8B53
+#define GL_INT_VEC3_ARB 0x8B54
+#define GL_INT_VEC4_ARB 0x8B55
+#define GL_BOOL_ARB 0x8B56
+#define GL_BOOL_VEC2_ARB 0x8B57
+#define GL_BOOL_VEC3_ARB 0x8B58
+#define GL_BOOL_VEC4_ARB 0x8B59
+#define GL_FLOAT_MAT2_ARB 0x8B5A
+#define GL_FLOAT_MAT3_ARB 0x8B5B
+#define GL_FLOAT_MAT4_ARB 0x8B5C
+#define GL_SAMPLER_1D_ARB 0x8B5D
+#define GL_SAMPLER_2D_ARB 0x8B5E
+#define GL_SAMPLER_3D_ARB 0x8B5F
+#define GL_SAMPLER_CUBE_ARB 0x8B60
+#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
+#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62
+#define GL_SAMPLER_2D_RECT_ARB 0x8B63
+#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
+#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
+#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
+#define GL_OBJECT_LINK_STATUS_ARB 0x8B82
+#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
+#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
+#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
+#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
+#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
+#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
+#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14
+#define GL_TEXTURE_INTENSITY_TYPE 0x8C15
+#define GL_BUMP_ROT_MATRIX_ATI 0x8775
+#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
+#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
+#define GL_BUMP_TEX_UNITS_ATI 0x8778
+#define GL_DUDV_ATI 0x8779
+#define GL_DU8DV8_ATI 0x877A
+#define GL_BUMP_ENVMAP_ATI 0x877B
+#define GL_BUMP_TARGET_ATI 0x877C
+#define GL_TEXTURE_RECTANGLE_NV 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
+#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
+#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC
+#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD
+#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004
+#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
+#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
+#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
+#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
+#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
+#define GL_NO_RESET_NOTIFICATION_ARB 0x8261
+#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878
+#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879
+#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A
+#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B
+#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C
+#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D
+#define GL_READ_FRAMEBUFFER_EXT 0x8CA8
+#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9
+#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6
+#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA
+#define GL_DEPTH_COMPONENT16_SGIX 0x81A5
+#define GL_DEPTH_COMPONENT24_SGIX 0x81A6
+#define GL_DEPTH_COMPONENT32_SGIX 0x81A7
+#define GL_MODELVIEW0_STACK_DEPTH_EXT 0x0BA3
+#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502
+#define GL_MODELVIEW0_MATRIX_EXT 0x0BA6
+#define GL_MODELVIEW1_MATRIX_EXT 0x8506
+#define GL_VERTEX_WEIGHTING_EXT 0x8509
+#define GL_MODELVIEW0_EXT 0x1700
+#define GL_MODELVIEW1_EXT 0x850A
+#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B
+#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C
+#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D
+#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E
+#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F
+#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510
+#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C
+#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D
+#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E
+#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F
+#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
+#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
+#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
+#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE
+#define GL_EVAL_2D_NV 0x86C0
+#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1
+#define GL_MAP_TESSELLATION_NV 0x86C2
+#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3
+#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4
+#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5
+#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6
+#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7
+#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8
+#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9
+#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA
+#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB
+#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC
+#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD
+#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE
+#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF
+#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0
+#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1
+#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2
+#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3
+#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4
+#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5
+#define GL_MAX_MAP_TESSELLATION_NV 0x86D6
+#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7
+#define GL_FILTER4_SGIS 0x8146
+#define GL_TEXTURE_FILTER4_SIZE_SGIS 0x8147
+#define GL_COUNTER_TYPE_AMD 0x8BC0
+#define GL_COUNTER_RANGE_AMD 0x8BC1
+#define GL_UNSIGNED_INT64_AMD 0x8BC2
+#define GL_PERCENTAGE_AMD 0x8BC3
+#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
+#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
+#define GL_PERFMON_RESULT_AMD 0x8BC6
+#define GL_STENCIL_TAG_BITS_EXT 0x88F2
+#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3
+#define GL_FRAME_NV 0x8E26
+#define GL_FIELDS_NV 0x8E27
+#define GL_CURRENT_TIME_NV 0x8E28
+#define GL_NUM_FILL_STREAMS_NV 0x8E29
+#define GL_PRESENT_TIME_NV 0x8E2A
+#define GL_PRESENT_DURATION_NV 0x8E2B
+#define GL_IGNORE_BORDER_HP 0x8150
+#define GL_CONSTANT_BORDER_HP 0x8151
+#define GL_REPLICATE_BORDER_HP 0x8153
+#define GL_CONVOLUTION_BORDER_COLOR_HP 0x8154
+#define GL_FOG_OFFSET_SGIX 0x8198
+#define GL_FOG_OFFSET_VALUE_SGIX 0x8199
+#define GL_INTERLACE_READ_INGR 0x8568
+#define GL_BACK_PRIMARY_COLOR_NV 0x8C77
+#define GL_BACK_SECONDARY_COLOR_NV 0x8C78
+#define GL_TEXTURE_COORD_NV 0x8C79
+#define GL_CLIP_DISTANCE_NV 0x8C7A
+#define GL_VERTEX_ID_NV 0x8C7B
+#define GL_PRIMITIVE_ID_NV 0x8C7C
+#define GL_GENERIC_ATTRIB_NV 0x8C7D
+#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80
+#define GL_ACTIVE_VARYINGS_NV 0x8C81
+#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82
+#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85
+#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86
+#define GL_PRIMITIVES_GENERATED_NV 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88
+#define GL_RASTERIZER_DISCARD_NV 0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B
+#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C
+#define GL_SEPARATE_ATTRIBS_NV 0x8C8D
+#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F
+#define GL_LAYER_NV 0x8DAA
+#define GL_NEXT_BUFFER_NV -2
+#define GL_SKIP_COMPONENTS4_NV -3
+#define GL_SKIP_COMPONENTS3_NV -4
+#define GL_SKIP_COMPONENTS2_NV -5
+#define GL_SKIP_COMPONENTS1_NV -6
+#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
+#define GL_FRAGMENT_PROGRAM_NV 0x8870
+#define GL_MAX_TEXTURE_COORDS_NV 0x8871
+#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872
+#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873
+#define GL_PROGRAM_ERROR_STRING_NV 0x8874
+#define GL_SET_AMD 0x874A
+#define GL_REPLACE_VALUE_AMD 0x874B
+#define GL_STENCIL_OP_VALUE_AMD 0x874C
+#define GL_STENCIL_BACK_OP_VALUE_AMD 0x874D
+#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE
+#define GL_POLYGON_OFFSET_EXT 0x8037
+#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038
+#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039
+#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
+#define GL_VIRTUAL_PAGE_SIZE_X_AMD 0x9195
+#define GL_VIRTUAL_PAGE_SIZE_Y_AMD 0x9196
+#define GL_VIRTUAL_PAGE_SIZE_Z_AMD 0x9197
+#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD 0x9198
+#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD 0x9199
+#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS 0x919A
+#define GL_MIN_SPARSE_LEVEL_AMD 0x919B
+#define GL_MIN_LOD_WARNING_AMD 0x919C
+#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD 0x00000001
+#define GL_ALL_COMPLETED_NV 0x84F2
+#define GL_FENCE_STATUS_NV 0x84F3
+#define GL_FENCE_CONDITION_NV 0x84F4
+#define GL_QUAD_MESH_SUN 0x8614
+#define GL_TRIANGLE_MESH_SUN 0x8615
+#define GL_SYNC_CL_EVENT_ARB 0x8240
+#define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241
+#define GL_DEPTH_STENCIL_NV 0x84F9
+#define GL_UNSIGNED_INT_24_8_NV 0x84FA
+#define GL_PRIMITIVE_RESTART_NV 0x8558
+#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559
+#define GL_GLOBAL_ALPHA_SUN 0x81D9
+#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA
+#define GL_TEXTURE_PRIORITY_EXT 0x8066
+#define GL_TEXTURE_RESIDENT_EXT 0x8067
+#define GL_TEXTURE_1D_BINDING_EXT 0x8068
+#define GL_TEXTURE_2D_BINDING_EXT 0x8069
+#define GL_TEXTURE_3D_BINDING_EXT 0x806A
+#define GL_DATA_BUFFER_AMD 0x9151
+#define GL_PERFORMANCE_MONITOR_AMD 0x9152
+#define GL_QUERY_OBJECT_AMD 0x9153
+#define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154
+#define GL_SAMPLER_OBJECT_AMD 0x9155
+#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
+#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
+#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
+#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
+#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854
+#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
+#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
+#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
+#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858
+#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859
+#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
+#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B
+#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C
+#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
+#define GL_HILO8_NV 0x885E
+#define GL_SIGNED_HILO8_NV 0x885F
+#define GL_FORCE_BLUE_TO_ONE_NV 0x8860
+#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF
+#define GL_ALPHA4_EXT 0x803B
+#define GL_ALPHA8_EXT 0x803C
+#define GL_ALPHA12_EXT 0x803D
+#define GL_ALPHA16_EXT 0x803E
+#define GL_LUMINANCE4_EXT 0x803F
+#define GL_LUMINANCE8_EXT 0x8040
+#define GL_LUMINANCE12_EXT 0x8041
+#define GL_LUMINANCE16_EXT 0x8042
+#define GL_LUMINANCE4_ALPHA4_EXT 0x8043
+#define GL_LUMINANCE6_ALPHA2_EXT 0x8044
+#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
+#define GL_LUMINANCE12_ALPHA4_EXT 0x8046
+#define GL_LUMINANCE12_ALPHA12_EXT 0x8047
+#define GL_LUMINANCE16_ALPHA16_EXT 0x8048
+#define GL_INTENSITY_EXT 0x8049
+#define GL_INTENSITY4_EXT 0x804A
+#define GL_INTENSITY8_EXT 0x804B
+#define GL_INTENSITY12_EXT 0x804C
+#define GL_INTENSITY16_EXT 0x804D
+#define GL_RGB2_EXT 0x804E
+#define GL_RGB4_EXT 0x804F
+#define GL_RGB5_EXT 0x8050
+#define GL_RGB8_EXT 0x8051
+#define GL_RGB10_EXT 0x8052
+#define GL_RGB12_EXT 0x8053
+#define GL_RGB16_EXT 0x8054
+#define GL_RGBA2_EXT 0x8055
+#define GL_RGBA4_EXT 0x8056
+#define GL_RGB5_A1_EXT 0x8057
+#define GL_RGBA8_EXT 0x8058
+#define GL_RGB10_A2_EXT 0x8059
+#define GL_RGBA12_EXT 0x805A
+#define GL_RGBA16_EXT 0x805B
+#define GL_TEXTURE_RED_SIZE_EXT 0x805C
+#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D
+#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E
+#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F
+#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060
+#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061
+#define GL_REPLACE_EXT 0x8062
+#define GL_PROXY_TEXTURE_1D_EXT 0x8063
+#define GL_PROXY_TEXTURE_2D_EXT 0x8064
+#define GL_TEXTURE_TOO_LARGE_EXT 0x8065
+#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00
+#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01
+#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02
+#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03
+#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04
+#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05
+#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06
+#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07
+#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08
+#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09
+#define GL_SHADOW_AMBIENT_SGIX 0x80BF
+#define GL_NORMAL_MAP_ARB 0x8511
+#define GL_REFLECTION_MAP_ARB 0x8512
+#define GL_TEXTURE_CUBE_MAP_ARB 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C
+#define GL_LIST_PRIORITY_SGIX 0x8182
+#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E
+#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F
+#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20
+#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21
+#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22
+#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23
+#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24
+#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25
+#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26
+#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27
+#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28
+#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29
+#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A
+#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B
+#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C
+#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D
+#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E
+#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F
+#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30
+#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31
+#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32
+#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33
+#define GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40
+#define GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41
+#define GL_DRAW_INDIRECT_LENGTH_NV 0x8F42
+#define GL_DOT3_RGB_EXT 0x8740
+#define GL_DOT3_RGBA_EXT 0x8741
+#define GL_MODULATE_ADD_ATI 0x8744
+#define GL_MODULATE_SIGNED_ADD_ATI 0x8745
+#define GL_MODULATE_SUBTRACT_ATI 0x8746
+#define GL_BLEND_OVERLAP_NV 0x9281
+#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280
+#define GL_BLUE_NV 0x1905
+#define GL_COLORBURN_NV 0x929A
+#define GL_COLORDODGE_NV 0x9299
+#define GL_CONJOINT_NV 0x9284
+#define GL_CONTRAST_NV 0x92A1
+#define GL_DARKEN_NV 0x9297
+#define GL_DIFFERENCE_NV 0x929E
+#define GL_DISJOINT_NV 0x9283
+#define GL_DST_ATOP_NV 0x928F
+#define GL_DST_IN_NV 0x928B
+#define GL_DST_NV 0x9287
+#define GL_DST_OUT_NV 0x928D
+#define GL_DST_OVER_NV 0x9289
+#define GL_EXCLUSION_NV 0x92A0
+#define GL_GREEN_NV 0x1904
+#define GL_HARDLIGHT_NV 0x929B
+#define GL_HARDMIX_NV 0x92A9
+#define GL_HSL_COLOR_NV 0x92AF
+#define GL_HSL_HUE_NV 0x92AD
+#define GL_HSL_LUMINOSITY_NV 0x92B0
+#define GL_HSL_SATURATION_NV 0x92AE
+#define GL_INVERT_OVG_NV 0x92B4
+#define GL_INVERT_RGB_NV 0x92A3
+#define GL_LIGHTEN_NV 0x9298
+#define GL_LINEARBURN_NV 0x92A5
+#define GL_LINEARDODGE_NV 0x92A4
+#define GL_LINEARLIGHT_NV 0x92A7
+#define GL_MINUS_CLAMPED_NV 0x92B3
+#define GL_MINUS_NV 0x929F
+#define GL_MULTIPLY_NV 0x9294
+#define GL_OVERLAY_NV 0x9296
+#define GL_PINLIGHT_NV 0x92A8
+#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2
+#define GL_PLUS_CLAMPED_NV 0x92B1
+#define GL_PLUS_DARKER_NV 0x9292
+#define GL_PLUS_NV 0x9291
+#define GL_RED_NV 0x1903
+#define GL_SCREEN_NV 0x9295
+#define GL_SOFTLIGHT_NV 0x929C
+#define GL_SRC_ATOP_NV 0x928E
+#define GL_SRC_IN_NV 0x928A
+#define GL_SRC_NV 0x9286
+#define GL_SRC_OUT_NV 0x928C
+#define GL_SRC_OVER_NV 0x9288
+#define GL_UNCORRELATED_NV 0x9282
+#define GL_VIVIDLIGHT_NV 0x92A6
+#define GL_XOR_NV 0x1506
+#define GL_LINEAR_SHARPEN_SGIS 0x80AD
+#define GL_LINEAR_SHARPEN_ALPHA_SGIS 0x80AE
+#define GL_LINEAR_SHARPEN_COLOR_SGIS 0x80AF
+#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS 0x80B0
+#define GL_COLOR_SUM_ARB 0x8458
+#define GL_VERTEX_PROGRAM_ARB 0x8620
+#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
+#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
+#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
+#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
+#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
+#define GL_PROGRAM_LENGTH_ARB 0x8627
+#define GL_PROGRAM_STRING_ARB 0x8628
+#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
+#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
+#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
+#define GL_CURRENT_MATRIX_ARB 0x8641
+#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
+#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
+#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
+#define GL_PROGRAM_BINDING_ARB 0x8677
+#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
+#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
+#define GL_PROGRAM_ERROR_STRING_ARB 0x8874
+#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
+#define GL_PROGRAM_FORMAT_ARB 0x8876
+#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
+#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
+#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
+#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
+#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
+#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
+#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
+#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
+#define GL_PROGRAM_PARAMETERS_ARB 0x88A8
+#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
+#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
+#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
+#define GL_PROGRAM_ATTRIBS_ARB 0x88AC
+#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
+#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
+#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
+#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
+#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
+#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
+#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
+#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
+#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
+#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
+#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
+#define GL_MATRIX0_ARB 0x88C0
+#define GL_MATRIX1_ARB 0x88C1
+#define GL_MATRIX2_ARB 0x88C2
+#define GL_MATRIX3_ARB 0x88C3
+#define GL_MATRIX4_ARB 0x88C4
+#define GL_MATRIX5_ARB 0x88C5
+#define GL_MATRIX6_ARB 0x88C6
+#define GL_MATRIX7_ARB 0x88C7
+#define GL_MATRIX8_ARB 0x88C8
+#define GL_MATRIX9_ARB 0x88C9
+#define GL_MATRIX10_ARB 0x88CA
+#define GL_MATRIX11_ARB 0x88CB
+#define GL_MATRIX12_ARB 0x88CC
+#define GL_MATRIX13_ARB 0x88CD
+#define GL_MATRIX14_ARB 0x88CE
+#define GL_MATRIX15_ARB 0x88CF
+#define GL_MATRIX16_ARB 0x88D0
+#define GL_MATRIX17_ARB 0x88D1
+#define GL_MATRIX18_ARB 0x88D2
+#define GL_MATRIX19_ARB 0x88D3
+#define GL_MATRIX20_ARB 0x88D4
+#define GL_MATRIX21_ARB 0x88D5
+#define GL_MATRIX22_ARB 0x88D6
+#define GL_MATRIX23_ARB 0x88D7
+#define GL_MATRIX24_ARB 0x88D8
+#define GL_MATRIX25_ARB 0x88D9
+#define GL_MATRIX26_ARB 0x88DA
+#define GL_MATRIX27_ARB 0x88DB
+#define GL_MATRIX28_ARB 0x88DC
+#define GL_MATRIX29_ARB 0x88DD
+#define GL_MATRIX30_ARB 0x88DE
+#define GL_MATRIX31_ARB 0x88DF
+#define GL_INTERLACE_OML 0x8980
+#define GL_INTERLACE_READ_OML 0x8981
+#define GL_RGBA_FLOAT_MODE_ATI 0x8820
+#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
+#define GL_BUFFER_SIZE_ARB 0x8764
+#define GL_BUFFER_USAGE_ARB 0x8765
+#define GL_ARRAY_BUFFER_ARB 0x8892
+#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
+#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
+#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
+#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
+#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
+#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
+#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
+#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
+#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
+#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
+#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
+#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
+#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
+#define GL_READ_ONLY_ARB 0x88B8
+#define GL_WRITE_ONLY_ARB 0x88B9
+#define GL_READ_WRITE_ARB 0x88BA
+#define GL_BUFFER_ACCESS_ARB 0x88BB
+#define GL_BUFFER_MAPPED_ARB 0x88BC
+#define GL_BUFFER_MAP_POINTER_ARB 0x88BD
+#define GL_STREAM_DRAW_ARB 0x88E0
+#define GL_STREAM_READ_ARB 0x88E1
+#define GL_STREAM_COPY_ARB 0x88E2
+#define GL_STATIC_DRAW_ARB 0x88E4
+#define GL_STATIC_READ_ARB 0x88E5
+#define GL_STATIC_COPY_ARB 0x88E6
+#define GL_DYNAMIC_DRAW_ARB 0x88E8
+#define GL_DYNAMIC_READ_ARB 0x88E9
+#define GL_DYNAMIC_COPY_ARB 0x88EA
+#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200
+#define GL_VERTEX_ARRAY_RANGE_NV 0x851D
+#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E
+#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F
+#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
+#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521
+#define GL_FRAGMENT_LIGHTING_SGIX 0x8400
+#define GL_FRAGMENT_COLOR_MATERIAL_SGIX 0x8401
+#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX 0x8402
+#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX 0x8403
+#define GL_MAX_FRAGMENT_LIGHTS_SGIX 0x8404
+#define GL_MAX_ACTIVE_LIGHTS_SGIX 0x8405
+#define GL_CURRENT_RASTER_NORMAL_SGIX 0x8406
+#define GL_LIGHT_ENV_MODE_SGIX 0x8407
+#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX 0x8408
+#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX 0x8409
+#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX 0x840A
+#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840B
+#define GL_FRAGMENT_LIGHT0_SGIX 0x840C
+#define GL_FRAGMENT_LIGHT1_SGIX 0x840D
+#define GL_FRAGMENT_LIGHT2_SGIX 0x840E
+#define GL_FRAGMENT_LIGHT3_SGIX 0x840F
+#define GL_FRAGMENT_LIGHT4_SGIX 0x8410
+#define GL_FRAGMENT_LIGHT5_SGIX 0x8411
+#define GL_FRAGMENT_LIGHT6_SGIX 0x8412
+#define GL_FRAGMENT_LIGHT7_SGIX 0x8413
+#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F
+#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB
+#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10
+#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11
+#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12
+#define GL_TIME_ELAPSED_EXT 0x88BF
+#define GL_VERTEX_ARRAY 0x8074
+#define GL_STACK_OVERFLOW 0x0503
+#define GL_STACK_UNDERFLOW 0x0504
+#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242
+#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243
+#define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244
+#define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245
+#define GL_DEBUG_SOURCE_API_KHR 0x8246
+#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247
+#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248
+#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249
+#define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A
+#define GL_DEBUG_SOURCE_OTHER_KHR 0x824B
+#define GL_DEBUG_TYPE_ERROR_KHR 0x824C
+#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D
+#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E
+#define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F
+#define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250
+#define GL_DEBUG_TYPE_OTHER_KHR 0x8251
+#define GL_DEBUG_TYPE_MARKER_KHR 0x8268
+#define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269
+#define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A
+#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B
+#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C
+#define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D
+#define GL_BUFFER_KHR 0x82E0
+#define GL_SHADER_KHR 0x82E1
+#define GL_PROGRAM_KHR 0x82E2
+#define GL_VERTEX_ARRAY_KHR 0x8074
+#define GL_QUERY_KHR 0x82E3
+#define GL_SAMPLER_KHR 0x82E6
+#define GL_MAX_LABEL_LENGTH_KHR 0x82E8
+#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143
+#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144
+#define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145
+#define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146
+#define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147
+#define GL_DEBUG_SEVERITY_LOW_KHR 0x9148
+#define GL_DEBUG_OUTPUT_KHR 0x92E0
+#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002
+#define GL_STACK_OVERFLOW_KHR 0x0503
+#define GL_STACK_UNDERFLOW_KHR 0x0504
+#define GL_CLAMP_TO_BORDER_SGIS 0x812D
+#define GL_LINEAR_CLIPMAP_LINEAR_SGIX 0x8170
+#define GL_TEXTURE_CLIPMAP_CENTER_SGIX 0x8171
+#define GL_TEXTURE_CLIPMAP_FRAME_SGIX 0x8172
+#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX 0x8173
+#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8174
+#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX 0x8175
+#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX 0x8176
+#define GL_MAX_CLIPMAP_DEPTH_SGIX 0x8177
+#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8178
+#define GL_NEAREST_CLIPMAP_NEAREST_SGIX 0x844D
+#define GL_NEAREST_CLIPMAP_LINEAR_SGIX 0x844E
+#define GL_LINEAR_CLIPMAP_NEAREST_SGIX 0x844F
+#define GL_GEOMETRY_SHADER_EXT 0x8DD9
+#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA
+#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB
+#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29
+#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD
+#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE
+#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1
+#define GL_LINES_ADJACENCY_EXT 0x000A
+#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B
+#define GL_TRIANGLES_ADJACENCY_EXT 0x000C
+#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7
+#define GL_PROGRAM_POINT_SIZE_EXT 0x8642
+#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA
+#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB
+#define GL_YCBCR_MESA 0x8757
+#define GL_TEXTURE_1D_STACK_MESAX 0x8759
+#define GL_TEXTURE_2D_STACK_MESAX 0x875A
+#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B
+#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C
+#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D
+#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E
+#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
+#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
+#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4
+#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED
+#define GL_UNIFORM_BUFFER_EXT 0x8DEE
+#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF
+#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
+#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1
+#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2
+#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3
+#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4
+#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5
+#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6
+#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7
+#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8
+#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9
+#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA
+#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
+#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
+#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
+#define GL_ELEMENT_ARRAY_ATI 0x8768
+#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769
+#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A
+#define GL_REFERENCE_PLANE_SGIX 0x817D
+#define GL_REFERENCE_PLANE_EQUATION_SGIX 0x817E
+#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
+#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911
+#define GL_TEXTURE_LOD_BIAS_S_SGIX 0x818E
+#define GL_TEXTURE_LOD_BIAS_T_SGIX 0x818F
+#define GL_TEXTURE_LOD_BIAS_R_SGIX 0x8190
+#define GL_SAMPLE_POSITION_NV 0x8E50
+#define GL_SAMPLE_MASK_NV 0x8E51
+#define GL_SAMPLE_MASK_VALUE_NV 0x8E52
+#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53
+#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54
+#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55
+#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56
+#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57
+#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58
+#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59
+#define GL_ALL_STATIC_DATA_IBM 103060
+#define GL_STATIC_VERTEX_ARRAY_IBM 103061
+#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0
+#define GL_PERTURB_EXT 0x85AE
+#define GL_TEXTURE_NORMAL_EXT 0x85AF
+#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6
+#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7
+#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8
+#define GL_POINT_SIZE_MIN_EXT 0x8126
+#define GL_POINT_SIZE_MAX_EXT 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
+#define GL_DISTANCE_ATTENUATION_EXT 0x8129
+#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 0x1A1F8
+#define GL_CONSERVE_MEMORY_HINT_PGI 0x1A1FD
+#define GL_RECLAIM_MEMORY_HINT_PGI 0x1A1FE
+#define GL_NATIVE_GRAPHICS_HANDLE_PGI 0x1A202
+#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203
+#define GL_NATIVE_GRAPHICS_END_HINT_PGI 0x1A204
+#define GL_ALWAYS_FAST_HINT_PGI 0x1A20C
+#define GL_ALWAYS_SOFT_HINT_PGI 0x1A20D
+#define GL_ALLOW_DRAW_OBJ_HINT_PGI 0x1A20E
+#define GL_ALLOW_DRAW_WIN_HINT_PGI 0x1A20F
+#define GL_ALLOW_DRAW_FRG_HINT_PGI 0x1A210
+#define GL_ALLOW_DRAW_MEM_HINT_PGI 0x1A211
+#define GL_STRICT_DEPTHFUNC_HINT_PGI 0x1A216
+#define GL_STRICT_LIGHTING_HINT_PGI 0x1A217
+#define GL_STRICT_SCISSOR_HINT_PGI 0x1A218
+#define GL_FULL_STIPPLE_HINT_PGI 0x1A219
+#define GL_CLIP_NEAR_HINT_PGI 0x1A220
+#define GL_CLIP_FAR_HINT_PGI 0x1A221
+#define GL_WIDE_LINE_HINT_PGI 0x1A222
+#define GL_BACK_NORMALS_HINT_PGI 0x1A223
+#define GL_PACK_SUBSAMPLE_RATE_SGIX 0x85A0
+#define GL_UNPACK_SUBSAMPLE_RATE_SGIX 0x85A1
+#define GL_PIXEL_SUBSAMPLE_4444_SGIX 0x85A2
+#define GL_PIXEL_SUBSAMPLE_2424_SGIX 0x85A3
+#define GL_PIXEL_SUBSAMPLE_4242_SGIX 0x85A4
+#define GL_VERTEX_SHADER_ARB 0x8B31
+#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
+#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
+#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
+#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
+#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
+#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
+#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872
+#define GL_MAX_TEXTURE_COORDS_ARB 0x8871
+#define GL_DUAL_ALPHA4_SGIS 0x8110
+#define GL_DUAL_ALPHA8_SGIS 0x8111
+#define GL_DUAL_ALPHA12_SGIS 0x8112
+#define GL_DUAL_ALPHA16_SGIS 0x8113
+#define GL_DUAL_LUMINANCE4_SGIS 0x8114
+#define GL_DUAL_LUMINANCE8_SGIS 0x8115
+#define GL_DUAL_LUMINANCE12_SGIS 0x8116
+#define GL_DUAL_LUMINANCE16_SGIS 0x8117
+#define GL_DUAL_INTENSITY4_SGIS 0x8118
+#define GL_DUAL_INTENSITY8_SGIS 0x8119
+#define GL_DUAL_INTENSITY12_SGIS 0x811A
+#define GL_DUAL_INTENSITY16_SGIS 0x811B
+#define GL_DUAL_LUMINANCE_ALPHA4_SGIS 0x811C
+#define GL_DUAL_LUMINANCE_ALPHA8_SGIS 0x811D
+#define GL_QUAD_ALPHA4_SGIS 0x811E
+#define GL_QUAD_ALPHA8_SGIS 0x811F
+#define GL_QUAD_LUMINANCE4_SGIS 0x8120
+#define GL_QUAD_LUMINANCE8_SGIS 0x8121
+#define GL_QUAD_INTENSITY4_SGIS 0x8122
+#define GL_QUAD_INTENSITY8_SGIS 0x8123
+#define GL_DUAL_TEXTURE_SELECT_SGIS 0x8124
+#define GL_QUAD_TEXTURE_SELECT_SGIS 0x8125
+#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C
+#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
+#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
+#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
+#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
+#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
+#define GL_DSDT_MAG_INTENSITY_NV 0x86DC
+#define GL_SHADER_CONSISTENT_NV 0x86DD
+#define GL_TEXTURE_SHADER_NV 0x86DE
+#define GL_SHADER_OPERATION_NV 0x86DF
+#define GL_CULL_MODES_NV 0x86E0
+#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1
+#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2
+#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3
+#define GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1
+#define GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2
+#define GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3
+#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4
+#define GL_CONST_EYE_NV 0x86E5
+#define GL_PASS_THROUGH_NV 0x86E6
+#define GL_CULL_FRAGMENT_NV 0x86E7
+#define GL_OFFSET_TEXTURE_2D_NV 0x86E8
+#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9
+#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA
+#define GL_DOT_PRODUCT_NV 0x86EC
+#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED
+#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE
+#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
+#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
+#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
+#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
+#define GL_HILO_NV 0x86F4
+#define GL_DSDT_NV 0x86F5
+#define GL_DSDT_MAG_NV 0x86F6
+#define GL_DSDT_MAG_VIB_NV 0x86F7
+#define GL_HILO16_NV 0x86F8
+#define GL_SIGNED_HILO_NV 0x86F9
+#define GL_SIGNED_HILO16_NV 0x86FA
+#define GL_SIGNED_RGBA_NV 0x86FB
+#define GL_SIGNED_RGBA8_NV 0x86FC
+#define GL_SIGNED_RGB_NV 0x86FE
+#define GL_SIGNED_RGB8_NV 0x86FF
+#define GL_SIGNED_LUMINANCE_NV 0x8701
+#define GL_SIGNED_LUMINANCE8_NV 0x8702
+#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
+#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
+#define GL_SIGNED_ALPHA_NV 0x8705
+#define GL_SIGNED_ALPHA8_NV 0x8706
+#define GL_SIGNED_INTENSITY_NV 0x8707
+#define GL_SIGNED_INTENSITY8_NV 0x8708
+#define GL_DSDT8_NV 0x8709
+#define GL_DSDT8_MAG8_NV 0x870A
+#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
+#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
+#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
+#define GL_HI_SCALE_NV 0x870E
+#define GL_LO_SCALE_NV 0x870F
+#define GL_DS_SCALE_NV 0x8710
+#define GL_DT_SCALE_NV 0x8711
+#define GL_MAGNITUDE_SCALE_NV 0x8712
+#define GL_VIBRANCE_SCALE_NV 0x8713
+#define GL_HI_BIAS_NV 0x8714
+#define GL_LO_BIAS_NV 0x8715
+#define GL_DS_BIAS_NV 0x8716
+#define GL_DT_BIAS_NV 0x8717
+#define GL_MAGNITUDE_BIAS_NV 0x8718
+#define GL_VIBRANCE_BIAS_NV 0x8719
+#define GL_TEXTURE_BORDER_VALUES_NV 0x871A
+#define GL_TEXTURE_HI_SIZE_NV 0x871B
+#define GL_TEXTURE_LO_SIZE_NV 0x871C
+#define GL_TEXTURE_DS_SIZE_NV 0x871D
+#define GL_TEXTURE_DT_SIZE_NV 0x871E
+#define GL_TEXTURE_MAG_SIZE_NV 0x871F
+#define GL_QUADS 0x0007
+#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC
+#define GL_VERTEX_ELEMENT_SWIZZLE_AMD 0x91A4
+#define GL_VERTEX_ID_SWIZZLE_AMD 0x91A5
+#define GL_FRAGMENT_PROGRAM_ARB 0x8804
+#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
+#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
+#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
+#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
+#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
+#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
+#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
+#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
+#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
+#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
+#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
+#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
+#define GL_PACK_RESAMPLE_OML 0x8984
+#define GL_UNPACK_RESAMPLE_OML 0x8985
+#define GL_RESAMPLE_REPLICATE_OML 0x8986
+#define GL_RESAMPLE_ZERO_FILL_OML 0x8987
+#define GL_RESAMPLE_AVERAGE_OML 0x8988
+#define GL_RESAMPLE_DECIMATE_OML 0x8989
+#define GL_YCBCR_422_APPLE 0x85B9
+#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
+#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
+#define GL_TEXTURE_ENV_BIAS_SGIX 0x80BE
+#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
+#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF
+#define GL_PIXEL_TEXTURE_SGIS 0x8353
+#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS 0x8354
+#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS 0x8355
+#define GL_PIXEL_GROUP_COLOR_SGIS 0x8356
+#define GL_GENERATE_MIPMAP_SGIS 0x8191
+#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
+#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180
+#define GL_INSTRUMENT_MEASUREMENTS_SGIX 0x8181
+#define GL_TEXTURE_LIGHTING_MODE_HP 0x8167
+#define GL_TEXTURE_POST_SPECULAR_HP 0x8168
+#define GL_TEXTURE_PRE_SPECULAR_HP 0x8169
+#define GL_MIN_EXT 0x8007
+#define GL_MAX_EXT 0x8008
+#define GL_FUNC_ADD_EXT 0x8006
+#define GL_BLEND_EQUATION_EXT 0x8009
+#define GL_PACK_INVERT_MESA 0x8758
+#define GL_CONVOLUTION_HINT_SGIX 0x8316
+#define GL_VERTEX_DATA_HINT_PGI 0x1A22A
+#define GL_VERTEX_CONSISTENT_HINT_PGI 0x1A22B
+#define GL_MATERIAL_SIDE_HINT_PGI 0x1A22C
+#define GL_MAX_VERTEX_HINT_PGI 0x1A22D
+#define GL_COLOR3_BIT_PGI 0x00010000
+#define GL_COLOR4_BIT_PGI 0x00020000
+#define GL_EDGEFLAG_BIT_PGI 0x00040000
+#define GL_INDEX_BIT_PGI 0x00080000
+#define GL_MAT_AMBIENT_BIT_PGI 0x00100000
+#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000
+#define GL_MAT_DIFFUSE_BIT_PGI 0x00400000
+#define GL_MAT_EMISSION_BIT_PGI 0x00800000
+#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000
+#define GL_MAT_SHININESS_BIT_PGI 0x02000000
+#define GL_MAT_SPECULAR_BIT_PGI 0x04000000
+#define GL_NORMAL_BIT_PGI 0x08000000
+#define GL_TEXCOORD1_BIT_PGI 0x10000000
+#define GL_TEXCOORD2_BIT_PGI 0x20000000
+#define GL_TEXCOORD3_BIT_PGI 0x40000000
+#define GL_TEXCOORD4_BIT_PGI 0x80000000
+#define GL_VERTEX23_BIT_PGI 0x00000004
+#define GL_VERTEX4_BIT_PGI 0x00000008
+#define GL_RGBA32UI_EXT 0x8D70
+#define GL_RGB32UI_EXT 0x8D71
+#define GL_ALPHA32UI_EXT 0x8D72
+#define GL_INTENSITY32UI_EXT 0x8D73
+#define GL_LUMINANCE32UI_EXT 0x8D74
+#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75
+#define GL_RGBA16UI_EXT 0x8D76
+#define GL_RGB16UI_EXT 0x8D77
+#define GL_ALPHA16UI_EXT 0x8D78
+#define GL_INTENSITY16UI_EXT 0x8D79
+#define GL_LUMINANCE16UI_EXT 0x8D7A
+#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B
+#define GL_RGBA8UI_EXT 0x8D7C
+#define GL_RGB8UI_EXT 0x8D7D
+#define GL_ALPHA8UI_EXT 0x8D7E
+#define GL_INTENSITY8UI_EXT 0x8D7F
+#define GL_LUMINANCE8UI_EXT 0x8D80
+#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81
+#define GL_RGBA32I_EXT 0x8D82
+#define GL_RGB32I_EXT 0x8D83
+#define GL_ALPHA32I_EXT 0x8D84
+#define GL_INTENSITY32I_EXT 0x8D85
+#define GL_LUMINANCE32I_EXT 0x8D86
+#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87
+#define GL_RGBA16I_EXT 0x8D88
+#define GL_RGB16I_EXT 0x8D89
+#define GL_ALPHA16I_EXT 0x8D8A
+#define GL_INTENSITY16I_EXT 0x8D8B
+#define GL_LUMINANCE16I_EXT 0x8D8C
+#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D
+#define GL_RGBA8I_EXT 0x8D8E
+#define GL_RGB8I_EXT 0x8D8F
+#define GL_ALPHA8I_EXT 0x8D90
+#define GL_INTENSITY8I_EXT 0x8D91
+#define GL_LUMINANCE8I_EXT 0x8D92
+#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93
+#define GL_RED_INTEGER_EXT 0x8D94
+#define GL_GREEN_INTEGER_EXT 0x8D95
+#define GL_BLUE_INTEGER_EXT 0x8D96
+#define GL_ALPHA_INTEGER_EXT 0x8D97
+#define GL_RGB_INTEGER_EXT 0x8D98
+#define GL_RGBA_INTEGER_EXT 0x8D99
+#define GL_BGR_INTEGER_EXT 0x8D9A
+#define GL_BGRA_INTEGER_EXT 0x8D9B
+#define GL_LUMINANCE_INTEGER_EXT 0x8D9C
+#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D
+#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E
+#define GL_RGB_S3TC 0x83A0
+#define GL_RGB4_S3TC 0x83A1
+#define GL_RGBA_S3TC 0x83A2
+#define GL_RGBA4_S3TC 0x83A3
+#define GL_RGBA_DXT5_S3TC 0x83A4
+#define GL_RGBA4_DXT5_S3TC 0x83A5
+#define GL_SAMPLER_BUFFER_AMD 0x9001
+#define GL_INT_SAMPLER_BUFFER_AMD 0x9002
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003
+#define GL_TESSELLATION_MODE_AMD 0x9004
+#define GL_TESSELLATION_FACTOR_AMD 0x9005
+#define GL_DISCRETE_AMD 0x9006
+#define GL_CONTINUOUS_AMD 0x9007
+#define GL_INDEX_MATERIAL_EXT 0x81B8
+#define GL_INDEX_MATERIAL_PARAMETER_EXT 0x81B9
+#define GL_INDEX_MATERIAL_FACE_EXT 0x81BA
+#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285
+#define GL_PARALLEL_ARRAYS_INTEL 0x83F4
+#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5
+#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6
+#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7
+#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8
+#define GL_MAX_DRAW_BUFFERS_ATI 0x8824
+#define GL_DRAW_BUFFER0_ATI 0x8825
+#define GL_DRAW_BUFFER1_ATI 0x8826
+#define GL_DRAW_BUFFER2_ATI 0x8827
+#define GL_DRAW_BUFFER3_ATI 0x8828
+#define GL_DRAW_BUFFER4_ATI 0x8829
+#define GL_DRAW_BUFFER5_ATI 0x882A
+#define GL_DRAW_BUFFER6_ATI 0x882B
+#define GL_DRAW_BUFFER7_ATI 0x882C
+#define GL_DRAW_BUFFER8_ATI 0x882D
+#define GL_DRAW_BUFFER9_ATI 0x882E
+#define GL_DRAW_BUFFER10_ATI 0x882F
+#define GL_DRAW_BUFFER11_ATI 0x8830
+#define GL_DRAW_BUFFER12_ATI 0x8831
+#define GL_DRAW_BUFFER13_ATI 0x8832
+#define GL_DRAW_BUFFER14_ATI 0x8833
+#define GL_DRAW_BUFFER15_ATI 0x8834
+#define GL_CMYK_EXT 0x800C
+#define GL_CMYKA_EXT 0x800D
+#define GL_PACK_CMYK_HINT_EXT 0x800E
+#define GL_UNPACK_CMYK_HINT_EXT 0x800F
+#define GL_PIXEL_TEX_GEN_SGIX 0x8139
+#define GL_PIXEL_TEX_GEN_MODE_SGIX 0x832B
+#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0
+#define GL_INTERLACE_SGIX 0x8094
+#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0
+#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1
+#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2
+#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3
+#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4
+#define GL_RESCALE_NORMAL_EXT 0x803A
+#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
+#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
+#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
+#define GL_TRANSFORM_FEEDBACK_NV 0x8E22
+#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23
+#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24
+#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25
+#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C
+#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D
+#define GL_ASYNC_READ_PIXELS_SGIX 0x835E
+#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F
+#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360
+#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361
+#define GL_CONSTANT_COLOR_EXT 0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
+#define GL_CONSTANT_ALPHA_EXT 0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
+#define GL_BLEND_COLOR_EXT 0x8005
+#define GL_WARP_SIZE_NV 0x9339
+#define GL_WARPS_PER_SM_NV 0x933A
+#define GL_SM_COUNT_NV 0x933B
+#define GL_INCR_WRAP_EXT 0x8507
+#define GL_DECR_WRAP_EXT 0x8508
+#define GL_IUI_V2F_EXT 0x81AD
+#define GL_IUI_V3F_EXT 0x81AE
+#define GL_IUI_N3F_V2F_EXT 0x81AF
+#define GL_IUI_N3F_V3F_EXT 0x81B0
+#define GL_T2F_IUI_V2F_EXT 0x81B1
+#define GL_T2F_IUI_V3F_EXT 0x81B2
+#define GL_T2F_IUI_N3F_V2F_EXT 0x81B3
+#define GL_T2F_IUI_N3F_V3F_EXT 0x81B4
+#define GL_HISTOGRAM_EXT 0x8024
+#define GL_PROXY_HISTOGRAM_EXT 0x8025
+#define GL_HISTOGRAM_WIDTH_EXT 0x8026
+#define GL_HISTOGRAM_FORMAT_EXT 0x8027
+#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028
+#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029
+#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A
+#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B
+#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C
+#define GL_HISTOGRAM_SINK_EXT 0x802D
+#define GL_MINMAX_EXT 0x802E
+#define GL_MINMAX_FORMAT_EXT 0x802F
+#define GL_MINMAX_SINK_EXT 0x8030
+#define GL_TABLE_TOO_LARGE_EXT 0x8031
+#define GL_POINT_SIZE_MIN_SGIS 0x8126
+#define GL_POINT_SIZE_MAX_SGIS 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128
+#define GL_DISTANCE_ATTENUATION_SGIS 0x8129
+#define GL_PROGRAM_MATRIX_EXT 0x8E2D
+#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E
+#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F
+#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F
+#define GL_VERTEX_PROGRAM_NV 0x8620
+#define GL_VERTEX_STATE_PROGRAM_NV 0x8621
+#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623
+#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
+#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625
+#define GL_CURRENT_ATTRIB_NV 0x8626
+#define GL_PROGRAM_LENGTH_NV 0x8627
+#define GL_PROGRAM_STRING_NV 0x8628
+#define GL_MODELVIEW_PROJECTION_NV 0x8629
+#define GL_IDENTITY_NV 0x862A
+#define GL_INVERSE_NV 0x862B
+#define GL_TRANSPOSE_NV 0x862C
+#define GL_INVERSE_TRANSPOSE_NV 0x862D
+#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
+#define GL_MAX_TRACK_MATRICES_NV 0x862F
+#define GL_MATRIX0_NV 0x8630
+#define GL_MATRIX1_NV 0x8631
+#define GL_MATRIX2_NV 0x8632
+#define GL_MATRIX3_NV 0x8633
+#define GL_MATRIX4_NV 0x8634
+#define GL_MATRIX5_NV 0x8635
+#define GL_MATRIX6_NV 0x8636
+#define GL_MATRIX7_NV 0x8637
+#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
+#define GL_CURRENT_MATRIX_NV 0x8641
+#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
+#define GL_PROGRAM_PARAMETER_NV 0x8644
+#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645
+#define GL_PROGRAM_TARGET_NV 0x8646
+#define GL_PROGRAM_RESIDENT_NV 0x8647
+#define GL_TRACK_MATRIX_NV 0x8648
+#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
+#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A
+#define GL_PROGRAM_ERROR_POSITION_NV 0x864B
+#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
+#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
+#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
+#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
+#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
+#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
+#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
+#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
+#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
+#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
+#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
+#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
+#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
+#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
+#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
+#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
+#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
+#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
+#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
+#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
+#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
+#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
+#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
+#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
+#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
+#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
+#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
+#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
+#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
+#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
+#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
+#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
+#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
+#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
+#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
+#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
+#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
+#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
+#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
+#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
+#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
+#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
+#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
+#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
+#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
+#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
+#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
+#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F
+#define GL_VERTEX_SHADER_EXT 0x8780
+#define GL_VERTEX_SHADER_BINDING_EXT 0x8781
+#define GL_OP_INDEX_EXT 0x8782
+#define GL_OP_NEGATE_EXT 0x8783
+#define GL_OP_DOT3_EXT 0x8784
+#define GL_OP_DOT4_EXT 0x8785
+#define GL_OP_MUL_EXT 0x8786
+#define GL_OP_ADD_EXT 0x8787
+#define GL_OP_MADD_EXT 0x8788
+#define GL_OP_FRAC_EXT 0x8789
+#define GL_OP_MAX_EXT 0x878A
+#define GL_OP_MIN_EXT 0x878B
+#define GL_OP_SET_GE_EXT 0x878C
+#define GL_OP_SET_LT_EXT 0x878D
+#define GL_OP_CLAMP_EXT 0x878E
+#define GL_OP_FLOOR_EXT 0x878F
+#define GL_OP_ROUND_EXT 0x8790
+#define GL_OP_EXP_BASE_2_EXT 0x8791
+#define GL_OP_LOG_BASE_2_EXT 0x8792
+#define GL_OP_POWER_EXT 0x8793
+#define GL_OP_RECIP_EXT 0x8794
+#define GL_OP_RECIP_SQRT_EXT 0x8795
+#define GL_OP_SUB_EXT 0x8796
+#define GL_OP_CROSS_PRODUCT_EXT 0x8797
+#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798
+#define GL_OP_MOV_EXT 0x8799
+#define GL_OUTPUT_VERTEX_EXT 0x879A
+#define GL_OUTPUT_COLOR0_EXT 0x879B
+#define GL_OUTPUT_COLOR1_EXT 0x879C
+#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D
+#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E
+#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F
+#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0
+#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1
+#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2
+#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3
+#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4
+#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5
+#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6
+#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7
+#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8
+#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9
+#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA
+#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB
+#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC
+#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD
+#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE
+#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF
+#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0
+#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1
+#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2
+#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3
+#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4
+#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5
+#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6
+#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7
+#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8
+#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9
+#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA
+#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB
+#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC
+#define GL_OUTPUT_FOG_EXT 0x87BD
+#define GL_SCALAR_EXT 0x87BE
+#define GL_VECTOR_EXT 0x87BF
+#define GL_MATRIX_EXT 0x87C0
+#define GL_VARIANT_EXT 0x87C1
+#define GL_INVARIANT_EXT 0x87C2
+#define GL_LOCAL_CONSTANT_EXT 0x87C3
+#define GL_LOCAL_EXT 0x87C4
+#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5
+#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6
+#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7
+#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8
+#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CD
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE
+#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF
+#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0
+#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1
+#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2
+#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3
+#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4
+#define GL_X_EXT 0x87D5
+#define GL_Y_EXT 0x87D6
+#define GL_Z_EXT 0x87D7
+#define GL_W_EXT 0x87D8
+#define GL_NEGATIVE_X_EXT 0x87D9
+#define GL_NEGATIVE_Y_EXT 0x87DA
+#define GL_NEGATIVE_Z_EXT 0x87DB
+#define GL_NEGATIVE_W_EXT 0x87DC
+#define GL_ZERO_EXT 0x87DD
+#define GL_ONE_EXT 0x87DE
+#define GL_NEGATIVE_ONE_EXT 0x87DF
+#define GL_NORMALIZED_RANGE_EXT 0x87E0
+#define GL_FULL_RANGE_EXT 0x87E1
+#define GL_CURRENT_VERTEX_EXT 0x87E2
+#define GL_MVP_MATRIX_EXT 0x87E3
+#define GL_VARIANT_VALUE_EXT 0x87E4
+#define GL_VARIANT_DATATYPE_EXT 0x87E5
+#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6
+#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7
+#define GL_VARIANT_ARRAY_EXT 0x87E8
+#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9
+#define GL_INVARIANT_VALUE_EXT 0x87EA
+#define GL_INVARIANT_DATATYPE_EXT 0x87EB
+#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC
+#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED
+#define GL_BLEND_DST_RGB_EXT 0x80C8
+#define GL_BLEND_SRC_RGB_EXT 0x80C9
+#define GL_BLEND_DST_ALPHA_EXT 0x80CA
+#define GL_BLEND_SRC_ALPHA_EXT 0x80CB
+#define GL_DRAW_PIXELS_APPLE 0x8A0A
+#define GL_FENCE_APPLE 0x8A0B
+#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
+#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
+#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5
+#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6
+#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450
+#define GL_FOG_COORDINATE_EXT 0x8451
+#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453
+#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454
+#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
+#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
+#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457
+#define GL_VERTEX_ARRAY_EXT 0x8074
+#define GL_NORMAL_ARRAY_EXT 0x8075
+#define GL_COLOR_ARRAY_EXT 0x8076
+#define GL_INDEX_ARRAY_EXT 0x8077
+#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
+#define GL_EDGE_FLAG_ARRAY_EXT 0x8079
+#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
+#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
+#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
+#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
+#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
+#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
+#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
+#define GL_COLOR_ARRAY_SIZE_EXT 0x8081
+#define GL_COLOR_ARRAY_TYPE_EXT 0x8082
+#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
+#define GL_COLOR_ARRAY_COUNT_EXT 0x8084
+#define GL_INDEX_ARRAY_TYPE_EXT 0x8085
+#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
+#define GL_INDEX_ARRAY_COUNT_EXT 0x8087
+#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
+#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
+#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
+#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
+#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
+#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
+#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
+#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
+#define GL_COLOR_ARRAY_POINTER_EXT 0x8090
+#define GL_INDEX_ARRAY_POINTER_EXT 0x8091
+#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
+#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
+#define GL_BLEND_EQUATION_RGB_EXT 0x8009
+#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D
+#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
+#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
+#define GL_YCRCB_SGIX 0x8318
+#define GL_YCRCBA_SGIX 0x8319
+#define GL_BGR_EXT 0x80E0
+#define GL_BGRA_EXT 0x80E1
+#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
+#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
+#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
+#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
+#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330
+#define GL_PIXEL_MAG_FILTER_EXT 0x8331
+#define GL_PIXEL_MIN_FILTER_EXT 0x8332
+#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333
+#define GL_CUBIC_EXT 0x8334
+#define GL_AVERAGE_EXT 0x8335
+#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336
+#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337
+#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338
+#define GL_FRAGMENT_SHADER_ATI 0x8920
+#define GL_REG_0_ATI 0x8921
+#define GL_REG_1_ATI 0x8922
+#define GL_REG_2_ATI 0x8923
+#define GL_REG_3_ATI 0x8924
+#define GL_REG_4_ATI 0x8925
+#define GL_REG_5_ATI 0x8926
+#define GL_REG_6_ATI 0x8927
+#define GL_REG_7_ATI 0x8928
+#define GL_REG_8_ATI 0x8929
+#define GL_REG_9_ATI 0x892A
+#define GL_REG_10_ATI 0x892B
+#define GL_REG_11_ATI 0x892C
+#define GL_REG_12_ATI 0x892D
+#define GL_REG_13_ATI 0x892E
+#define GL_REG_14_ATI 0x892F
+#define GL_REG_15_ATI 0x8930
+#define GL_REG_16_ATI 0x8931
+#define GL_REG_17_ATI 0x8932
+#define GL_REG_18_ATI 0x8933
+#define GL_REG_19_ATI 0x8934
+#define GL_REG_20_ATI 0x8935
+#define GL_REG_21_ATI 0x8936
+#define GL_REG_22_ATI 0x8937
+#define GL_REG_23_ATI 0x8938
+#define GL_REG_24_ATI 0x8939
+#define GL_REG_25_ATI 0x893A
+#define GL_REG_26_ATI 0x893B
+#define GL_REG_27_ATI 0x893C
+#define GL_REG_28_ATI 0x893D
+#define GL_REG_29_ATI 0x893E
+#define GL_REG_30_ATI 0x893F
+#define GL_REG_31_ATI 0x8940
+#define GL_CON_0_ATI 0x8941
+#define GL_CON_1_ATI 0x8942
+#define GL_CON_2_ATI 0x8943
+#define GL_CON_3_ATI 0x8944
+#define GL_CON_4_ATI 0x8945
+#define GL_CON_5_ATI 0x8946
+#define GL_CON_6_ATI 0x8947
+#define GL_CON_7_ATI 0x8948
+#define GL_CON_8_ATI 0x8949
+#define GL_CON_9_ATI 0x894A
+#define GL_CON_10_ATI 0x894B
+#define GL_CON_11_ATI 0x894C
+#define GL_CON_12_ATI 0x894D
+#define GL_CON_13_ATI 0x894E
+#define GL_CON_14_ATI 0x894F
+#define GL_CON_15_ATI 0x8950
+#define GL_CON_16_ATI 0x8951
+#define GL_CON_17_ATI 0x8952
+#define GL_CON_18_ATI 0x8953
+#define GL_CON_19_ATI 0x8954
+#define GL_CON_20_ATI 0x8955
+#define GL_CON_21_ATI 0x8956
+#define GL_CON_22_ATI 0x8957
+#define GL_CON_23_ATI 0x8958
+#define GL_CON_24_ATI 0x8959
+#define GL_CON_25_ATI 0x895A
+#define GL_CON_26_ATI 0x895B
+#define GL_CON_27_ATI 0x895C
+#define GL_CON_28_ATI 0x895D
+#define GL_CON_29_ATI 0x895E
+#define GL_CON_30_ATI 0x895F
+#define GL_CON_31_ATI 0x8960
+#define GL_MOV_ATI 0x8961
+#define GL_ADD_ATI 0x8963
+#define GL_MUL_ATI 0x8964
+#define GL_SUB_ATI 0x8965
+#define GL_DOT3_ATI 0x8966
+#define GL_DOT4_ATI 0x8967
+#define GL_MAD_ATI 0x8968
+#define GL_LERP_ATI 0x8969
+#define GL_CND_ATI 0x896A
+#define GL_CND0_ATI 0x896B
+#define GL_DOT2_ADD_ATI 0x896C
+#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D
+#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
+#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F
+#define GL_NUM_PASSES_ATI 0x8970
+#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971
+#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972
+#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
+#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974
+#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975
+#define GL_SWIZZLE_STR_ATI 0x8976
+#define GL_SWIZZLE_STQ_ATI 0x8977
+#define GL_SWIZZLE_STR_DR_ATI 0x8978
+#define GL_SWIZZLE_STQ_DQ_ATI 0x8979
+#define GL_SWIZZLE_STRQ_ATI 0x897A
+#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B
+#define GL_RED_BIT_ATI 0x00000001
+#define GL_GREEN_BIT_ATI 0x00000002
+#define GL_BLUE_BIT_ATI 0x00000004
+#define GL_2X_BIT_ATI 0x00000001
+#define GL_4X_BIT_ATI 0x00000002
+#define GL_8X_BIT_ATI 0x00000004
+#define GL_HALF_BIT_ATI 0x00000008
+#define GL_QUARTER_BIT_ATI 0x00000010
+#define GL_EIGHTH_BIT_ATI 0x00000020
+#define GL_SATURATE_BIT_ATI 0x00000040
+#define GL_COMP_BIT_ATI 0x00000002
+#define GL_NEGATE_BIT_ATI 0x00000004
+#define GL_BIAS_BIT_ATI 0x00000008
+#define GL_RESTART_SUN 0x0001
+#define GL_REPLACE_MIDDLE_SUN 0x0002
+#define GL_REPLACE_OLDEST_SUN 0x0003
+#define GL_TRIANGLE_LIST_SUN 0x81D7
+#define GL_REPLACEMENT_CODE_SUN 0x81D8
+#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0
+#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1
+#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2
+#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3
+#define GL_R1UI_V3F_SUN 0x85C4
+#define GL_R1UI_C4UB_V3F_SUN 0x85C5
+#define GL_R1UI_C3F_V3F_SUN 0x85C6
+#define GL_R1UI_N3F_V3F_SUN 0x85C7
+#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8
+#define GL_R1UI_T2F_V3F_SUN 0x85C9
+#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA
+#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB
+#define GL_DEPTH_STENCIL_EXT 0x84F9
+#define GL_UNSIGNED_INT_24_8_EXT 0x84FA
+#define GL_DEPTH24_STENCIL8_EXT 0x88F0
+#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1
+#define GL_MIRROR_CLAMP_EXT 0x8742
+#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743
+#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912
+#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534
+#define GL_HALF_APPLE 0x140B
+#define GL_RGBA_FLOAT32_APPLE 0x8814
+#define GL_RGB_FLOAT32_APPLE 0x8815
+#define GL_ALPHA_FLOAT32_APPLE 0x8816
+#define GL_INTENSITY_FLOAT32_APPLE 0x8817
+#define GL_LUMINANCE_FLOAT32_APPLE 0x8818
+#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819
+#define GL_RGBA_FLOAT16_APPLE 0x881A
+#define GL_RGB_FLOAT16_APPLE 0x881B
+#define GL_ALPHA_FLOAT16_APPLE 0x881C
+#define GL_INTENSITY_FLOAT16_APPLE 0x881D
+#define GL_LUMINANCE_FLOAT16_APPLE 0x881E
+#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F
+#define GL_COLOR_FLOAT_APPLE 0x8A0F
+#define GL_ASYNC_MARKER_SGIX 0x8329
+#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
+#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
+#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
+#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73
+#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
+#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000
+#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001
+#define GL_PERFQUERY_WAIT_INTEL 0x83FB
+#define GL_PERFQUERY_FLUSH_INTEL 0x83FA
+#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9
+#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0
+#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1
+#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2
+#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3
+#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4
+#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5
+#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8
+#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9
+#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA
+#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB
+#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC
+#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD
+#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE
+#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF
+#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500
+#define GL_INT8_NV 0x8FE0
+#define GL_INT8_VEC2_NV 0x8FE1
+#define GL_INT8_VEC3_NV 0x8FE2
+#define GL_INT8_VEC4_NV 0x8FE3
+#define GL_INT16_NV 0x8FE4
+#define GL_INT16_VEC2_NV 0x8FE5
+#define GL_INT16_VEC3_NV 0x8FE6
+#define GL_INT16_VEC4_NV 0x8FE7
+#define GL_INT64_VEC2_NV 0x8FE9
+#define GL_INT64_VEC3_NV 0x8FEA
+#define GL_INT64_VEC4_NV 0x8FEB
+#define GL_UNSIGNED_INT8_NV 0x8FEC
+#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED
+#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE
+#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF
+#define GL_UNSIGNED_INT16_NV 0x8FF0
+#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1
+#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2
+#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3
+#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
+#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
+#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7
+#define GL_FLOAT16_NV 0x8FF8
+#define GL_FLOAT16_VEC2_NV 0x8FF9
+#define GL_FLOAT16_VEC3_NV 0x8FFA
+#define GL_FLOAT16_VEC4_NV 0x8FFB
+#define GL_PARAMETER_BUFFER_ARB 0x80EE
+#define GL_PARAMETER_BUFFER_BINDING_ARB 0x80EF
+#define GL_HALF_FLOAT_NV 0x140B
+#define GL_TANGENT_ARRAY_EXT 0x8439
+#define GL_BINORMAL_ARRAY_EXT 0x843A
+#define GL_CURRENT_TANGENT_EXT 0x843B
+#define GL_CURRENT_BINORMAL_EXT 0x843C
+#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E
+#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F
+#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440
+#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441
+#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442
+#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443
+#define GL_MAP1_TANGENT_EXT 0x8444
+#define GL_MAP2_TANGENT_EXT 0x8445
+#define GL_MAP1_BINORMAL_EXT 0x8446
+#define GL_MAP2_BINORMAL_EXT 0x8447
+#define GL_MIRROR_CLAMP_ATI 0x8742
+#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
+#define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262
+#define GL_TEXTURE_COMPARE_SGIX 0x819A
+#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B
+#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C
+#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D
+#define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV 0x90D0
+#define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV 0x90D1
+#define GL_CALLIGRAPHIC_FRAGMENT_SGIX 0x8183
+#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8
+#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9
+#define GL_DEPTH_COMPONENT32F_NV 0x8DAB
+#define GL_DEPTH32F_STENCIL8_NV 0x8DAC
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD
+#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF
+#define GL_PIXEL_COUNTER_BITS_NV 0x8864
+#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865
+#define GL_PIXEL_COUNT_NV 0x8866
+#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867
+#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12
+#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13
+#define GL_BLEND_COLOR 0x8005
+#define GL_BLEND_EQUATION 0x8009
+#define GL_CONVOLUTION_1D 0x8010
+#define GL_CONVOLUTION_2D 0x8011
+#define GL_SEPARABLE_2D 0x8012
+#define GL_CONVOLUTION_BORDER_MODE 0x8013
+#define GL_CONVOLUTION_FILTER_SCALE 0x8014
+#define GL_CONVOLUTION_FILTER_BIAS 0x8015
+#define GL_REDUCE 0x8016
+#define GL_CONVOLUTION_FORMAT 0x8017
+#define GL_CONVOLUTION_WIDTH 0x8018
+#define GL_CONVOLUTION_HEIGHT 0x8019
+#define GL_MAX_CONVOLUTION_WIDTH 0x801A
+#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
+#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
+#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
+#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
+#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
+#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
+#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
+#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
+#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
+#define GL_HISTOGRAM 0x8024
+#define GL_PROXY_HISTOGRAM 0x8025
+#define GL_HISTOGRAM_WIDTH 0x8026
+#define GL_HISTOGRAM_FORMAT 0x8027
+#define GL_HISTOGRAM_RED_SIZE 0x8028
+#define GL_HISTOGRAM_GREEN_SIZE 0x8029
+#define GL_HISTOGRAM_BLUE_SIZE 0x802A
+#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
+#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
+#define GL_HISTOGRAM_SINK 0x802D
+#define GL_MINMAX 0x802E
+#define GL_MINMAX_FORMAT 0x802F
+#define GL_MINMAX_SINK 0x8030
+#define GL_TABLE_TOO_LARGE 0x8031
+#define GL_COLOR_MATRIX 0x80B1
+#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
+#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
+#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
+#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
+#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
+#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
+#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
+#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
+#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
+#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
+#define GL_COLOR_TABLE 0x80D0
+#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
+#define GL_PROXY_COLOR_TABLE 0x80D3
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
+#define GL_COLOR_TABLE_SCALE 0x80D6
+#define GL_COLOR_TABLE_BIAS 0x80D7
+#define GL_COLOR_TABLE_FORMAT 0x80D8
+#define GL_COLOR_TABLE_WIDTH 0x80D9
+#define GL_COLOR_TABLE_RED_SIZE 0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
+#define GL_CONSTANT_BORDER 0x8151
+#define GL_REPLICATE_BORDER 0x8153
+#define GL_CONVOLUTION_BORDER_COLOR 0x8154
+#define GL_FACTOR_MIN_AMD 0x901C
+#define GL_FACTOR_MAX_AMD 0x901D
+#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48
+#define GL_DECODE_EXT 0x8A49
+#define GL_SKIP_DECODE_EXT 0x8A4A
+#define GL_VBO_FREE_MEMORY_ATI 0x87FB
+#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC
+#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD
+#define GL_ABGR_EXT 0x8000
+#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160
+#define GL_ALPHA_SNORM 0x9010
+#define GL_LUMINANCE_SNORM 0x9011
+#define GL_LUMINANCE_ALPHA_SNORM 0x9012
+#define GL_INTENSITY_SNORM 0x9013
+#define GL_ALPHA8_SNORM 0x9014
+#define GL_LUMINANCE8_SNORM 0x9015
+#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016
+#define GL_INTENSITY8_SNORM 0x9017
+#define GL_ALPHA16_SNORM 0x9018
+#define GL_LUMINANCE16_SNORM 0x9019
+#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A
+#define GL_INTENSITY16_SNORM 0x901B
+#define GL_RED_SNORM 0x8F90
+#define GL_RG_SNORM 0x8F91
+#define GL_RGB_SNORM 0x8F92
+#define GL_RGBA_SNORM 0x8F93
+#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369
+#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A
+#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B
+#define GL_MULTISAMPLE_ARB 0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
+#define GL_SAMPLE_COVERAGE_ARB 0x80A0
+#define GL_SAMPLE_BUFFERS_ARB 0x80A8
+#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
+#define GL_MULTISAMPLE_BIT_ARB 0x20000000
+#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
+#define GL_PROGRAM_OBJECT_EXT 0x8B40
+#define GL_SHADER_OBJECT_EXT 0x8B48
+#define GL_BUFFER_OBJECT_EXT 0x9151
+#define GL_QUERY_OBJECT_EXT 0x9153
+#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
+#define GL_SAMPLE_SHADING_ARB 0x8C36
+#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37
+#define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF
+#define GL_LAYOUT_DEFAULT_INTEL 0
+#define GL_LAYOUT_LINEAR_INTEL 1
+#define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL 2
+#define GL_422_EXT 0x80CC
+#define GL_422_REV_EXT 0x80CD
+#define GL_422_AVERAGE_EXT 0x80CE
+#define GL_422_REV_AVERAGE_EXT 0x80CF
+#define GL_COMPUTE_SHADER_BIT 0x00000020
+#define GL_CULL_VERTEX_IBM 103050
+#define GL_VERTEX_ARRAY_LIST_IBM 103070
+#define GL_NORMAL_ARRAY_LIST_IBM 103071
+#define GL_COLOR_ARRAY_LIST_IBM 103072
+#define GL_INDEX_ARRAY_LIST_IBM 103073
+#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074
+#define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075
+#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076
+#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077
+#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080
+#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081
+#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082
+#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083
+#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084
+#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085
+#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086
+#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087
+#define GL_RGBA_FLOAT_MODE_ARB 0x8820
+#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A
+#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B
+#define GL_CLAMP_READ_COLOR_ARB 0x891C
+#define GL_FIXED_ONLY_ARB 0x891D
+#define GL_UNSIGNED_INT64_ARB 0x140F
+#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
+#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
+#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E
+#define GL_MIRRORED_REPEAT_ARB 0x8370
+#define GL_MAX_IMAGE_UNITS_EXT 0x8F38
+#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39
+#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A
+#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B
+#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C
+#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D
+#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E
+#define GL_IMAGE_1D_EXT 0x904C
+#define GL_IMAGE_2D_EXT 0x904D
+#define GL_IMAGE_3D_EXT 0x904E
+#define GL_IMAGE_2D_RECT_EXT 0x904F
+#define GL_IMAGE_CUBE_EXT 0x9050
+#define GL_IMAGE_BUFFER_EXT 0x9051
+#define GL_IMAGE_1D_ARRAY_EXT 0x9052
+#define GL_IMAGE_2D_ARRAY_EXT 0x9053
+#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054
+#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055
+#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056
+#define GL_INT_IMAGE_1D_EXT 0x9057
+#define GL_INT_IMAGE_2D_EXT 0x9058
+#define GL_INT_IMAGE_3D_EXT 0x9059
+#define GL_INT_IMAGE_2D_RECT_EXT 0x905A
+#define GL_INT_IMAGE_CUBE_EXT 0x905B
+#define GL_INT_IMAGE_BUFFER_EXT 0x905C
+#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D
+#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E
+#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F
+#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060
+#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061
+#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062
+#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063
+#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064
+#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065
+#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066
+#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067
+#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068
+#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069
+#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C
+#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D
+#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E
+#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001
+#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002
+#define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004
+#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008
+#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020
+#define GL_COMMAND_BARRIER_BIT_EXT 0x00000040
+#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080
+#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100
+#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200
+#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400
+#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800
+#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000
+#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF
+#define GL_PER_STAGE_CONSTANTS_NV 0x8535
+#define GL_IR_INSTRUMENT1_SGIX 0x817F
+#define GL_RGB9_E5_EXT 0x8C3D
+#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E
+#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F
+#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
+#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F
+#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890
+#define GL_DEPTH_BOUNDS_EXT 0x8891
+#define GL_IMAGE_SCALE_X_HP 0x8155
+#define GL_IMAGE_SCALE_Y_HP 0x8156
+#define GL_IMAGE_TRANSLATE_X_HP 0x8157
+#define GL_IMAGE_TRANSLATE_Y_HP 0x8158
+#define GL_IMAGE_ROTATE_ANGLE_HP 0x8159
+#define GL_IMAGE_ROTATE_ORIGIN_X_HP 0x815A
+#define GL_IMAGE_ROTATE_ORIGIN_Y_HP 0x815B
+#define GL_IMAGE_MAG_FILTER_HP 0x815C
+#define GL_IMAGE_MIN_FILTER_HP 0x815D
+#define GL_IMAGE_CUBIC_WEIGHT_HP 0x815E
+#define GL_CUBIC_HP 0x815F
+#define GL_AVERAGE_HP 0x8160
+#define GL_IMAGE_TRANSFORM_2D_HP 0x8161
+#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162
+#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163
+#define GL_VIDEO_BUFFER_NV 0x9020
+#define GL_VIDEO_BUFFER_BINDING_NV 0x9021
+#define GL_FIELD_UPPER_NV 0x9022
+#define GL_FIELD_LOWER_NV 0x9023
+#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV 0x9024
+#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV 0x9025
+#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV 0x9026
+#define GL_LAST_VIDEO_CAPTURE_STATUS_NV 0x9027
+#define GL_VIDEO_BUFFER_PITCH_NV 0x9028
+#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV 0x9029
+#define GL_VIDEO_COLOR_CONVERSION_MAX_NV 0x902A
+#define GL_VIDEO_COLOR_CONVERSION_MIN_NV 0x902B
+#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV 0x902C
+#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV 0x902D
+#define GL_PARTIAL_SUCCESS_NV 0x902E
+#define GL_SUCCESS_NV 0x902F
+#define GL_FAILURE_NV 0x9030
+#define GL_YCBYCR8_422_NV 0x9031
+#define GL_YCBAYCR8A_4224_NV 0x9032
+#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV 0x9033
+#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034
+#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV 0x9035
+#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036
+#define GL_Z4Y12Z4CB12Z4CR12_444_NV 0x9037
+#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV 0x9038
+#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV 0x9039
+#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV 0x903A
+#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV 0x903B
+#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV 0x903C
+#define GL_MATRIX_PALETTE_ARB 0x8840
+#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
+#define GL_MAX_PALETTE_MATRICES_ARB 0x8842
+#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843
+#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844
+#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845
+#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846
+#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847
+#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
+#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
+#define GL_TEXTURE_COLOR_WRITEMASK_SGIS 0x81EF
+#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032
+#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033
+#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034
+#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035
+#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036
+#define GL_COMPRESSED_ALPHA_ARB 0x84E9
+#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
+#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
+#define GL_COMPRESSED_INTENSITY_ARB 0x84EC
+#define GL_COMPRESSED_RGB_ARB 0x84ED
+#define GL_COMPRESSED_RGBA_ARB 0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
+#define GL_TEXTURE_COMPRESSED_ARB 0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
+#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14
+#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
+#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA
+#define GL_DOUBLE_VEC2_EXT 0x8FFC
+#define GL_DOUBLE_VEC3_EXT 0x8FFD
+#define GL_DOUBLE_VEC4_EXT 0x8FFE
+#define GL_DOUBLE_MAT2_EXT 0x8F46
+#define GL_DOUBLE_MAT3_EXT 0x8F47
+#define GL_DOUBLE_MAT4_EXT 0x8F48
+#define GL_DOUBLE_MAT2x3_EXT 0x8F49
+#define GL_DOUBLE_MAT2x4_EXT 0x8F4A
+#define GL_DOUBLE_MAT3x2_EXT 0x8F4B
+#define GL_DOUBLE_MAT3x4_EXT 0x8F4C
+#define GL_DOUBLE_MAT4x2_EXT 0x8F4D
+#define GL_DOUBLE_MAT4x3_EXT 0x8F4E
+#define GL_DEPTH_COMPONENT16_ARB 0x81A5
+#define GL_DEPTH_COMPONENT24_ARB 0x81A6
+#define GL_DEPTH_COMPONENT32_ARB 0x81A7
+#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
+#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
+#define GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV 0x00000010
+#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7
+#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8
+#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC
+#define GL_STORAGE_PRIVATE_APPLE 0x85BD
+#define GL_STORAGE_CACHED_APPLE 0x85BE
+#define GL_STORAGE_SHARED_APPLE 0x85BF
+#define GL_COPY_READ_BUFFER_BINDING 0x8F36
+#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
+#define GL_BUFFER_OBJECT_APPLE 0x85B3
+#define GL_RELEASED_APPLE 0x8A19
+#define GL_VOLATILE_APPLE 0x8A1A
+#define GL_RETAINED_APPLE 0x8A1B
+#define GL_UNDEFINED_APPLE 0x8A1C
+#define GL_PURGEABLE_APPLE 0x8A1D
+#define GL_QUERY_COUNTER_BITS_ARB 0x8864
+#define GL_CURRENT_QUERY_ARB 0x8865
+#define GL_QUERY_RESULT_ARB 0x8866
+#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
+#define GL_SAMPLES_PASSED_ARB 0x8914
+#define GL_RED_MIN_CLAMP_INGR 0x8560
+#define GL_GREEN_MIN_CLAMP_INGR 0x8561
+#define GL_BLUE_MIN_CLAMP_INGR 0x8562
+#define GL_ALPHA_MIN_CLAMP_INGR 0x8563
+#define GL_RED_MAX_CLAMP_INGR 0x8564
+#define GL_GREEN_MAX_CLAMP_INGR 0x8565
+#define GL_BLUE_MAX_CLAMP_INGR 0x8566
+#define GL_ALPHA_MAX_CLAMP_INGR 0x8567
+#define GL_COLOR_TABLE_SGI 0x80D0
+#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2
+#define GL_PROXY_COLOR_TABLE_SGI 0x80D3
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5
+#define GL_COLOR_TABLE_SCALE_SGI 0x80D6
+#define GL_COLOR_TABLE_BIAS_SGI 0x80D7
+#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8
+#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9
+#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF
+#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B
+#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C
+#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D
+#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F
+#define GL_SCALEBIAS_HINT_SGIX 0x8322
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD
+#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0
+#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1
+#define GL_SAMPLER_BUFFER_EXT 0x8DC2
+#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3
+#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4
+#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5
+#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6
+#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7
+#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8
+#define GL_INT_SAMPLER_1D_EXT 0x8DC9
+#define GL_INT_SAMPLER_2D_EXT 0x8DCA
+#define GL_INT_SAMPLER_3D_EXT 0x8DCB
+#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC
+#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD
+#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE
+#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF
+#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0
+#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1
+#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2
+#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4
+#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5
+#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6
+#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8
+#define GL_MIN_PROGRAM_TEXEL_OFFSET_EXT 0x8904
+#define GL_MAX_PROGRAM_TEXEL_OFFSET_EXT 0x8905
+#define GL_GEOMETRY_PROGRAM_NV 0x8C26
+#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27
+#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28
+#define GL_SCALED_RESOLVE_FASTEST_EXT 0x90BA
+#define GL_SCALED_RESOLVE_NICEST_EXT 0x90BB
+#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD 0x9143
+#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD 0x9144
+#define GL_DEBUG_LOGGED_MESSAGES_AMD 0x9145
+#define GL_DEBUG_SEVERITY_HIGH_AMD 0x9146
+#define GL_DEBUG_SEVERITY_MEDIUM_AMD 0x9147
+#define GL_DEBUG_SEVERITY_LOW_AMD 0x9148
+#define GL_DEBUG_CATEGORY_API_ERROR_AMD 0x9149
+#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A
+#define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B
+#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914C
+#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD 0x914D
+#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD 0x914E
+#define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F
+#define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150
+#define GL_CLAMP_TO_BORDER_ARB 0x812D
+#define GL_TEXTURE0_ARB 0x84C0
+#define GL_TEXTURE1_ARB 0x84C1
+#define GL_TEXTURE2_ARB 0x84C2
+#define GL_TEXTURE3_ARB 0x84C3
+#define GL_TEXTURE4_ARB 0x84C4
+#define GL_TEXTURE5_ARB 0x84C5
+#define GL_TEXTURE6_ARB 0x84C6
+#define GL_TEXTURE7_ARB 0x84C7
+#define GL_TEXTURE8_ARB 0x84C8
+#define GL_TEXTURE9_ARB 0x84C9
+#define GL_TEXTURE10_ARB 0x84CA
+#define GL_TEXTURE11_ARB 0x84CB
+#define GL_TEXTURE12_ARB 0x84CC
+#define GL_TEXTURE13_ARB 0x84CD
+#define GL_TEXTURE14_ARB 0x84CE
+#define GL_TEXTURE15_ARB 0x84CF
+#define GL_TEXTURE16_ARB 0x84D0
+#define GL_TEXTURE17_ARB 0x84D1
+#define GL_TEXTURE18_ARB 0x84D2
+#define GL_TEXTURE19_ARB 0x84D3
+#define GL_TEXTURE20_ARB 0x84D4
+#define GL_TEXTURE21_ARB 0x84D5
+#define GL_TEXTURE22_ARB 0x84D6
+#define GL_TEXTURE23_ARB 0x84D7
+#define GL_TEXTURE24_ARB 0x84D8
+#define GL_TEXTURE25_ARB 0x84D9
+#define GL_TEXTURE26_ARB 0x84DA
+#define GL_TEXTURE27_ARB 0x84DB
+#define GL_TEXTURE28_ARB 0x84DC
+#define GL_TEXTURE29_ARB 0x84DD
+#define GL_TEXTURE30_ARB 0x84DE
+#define GL_TEXTURE31_ARB 0x84DF
+#define GL_ACTIVE_TEXTURE_ARB 0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
+#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
+#define GL_TEXTURE_DEFORMATION_BIT_SGIX 0x00000001
+#define GL_GEOMETRY_DEFORMATION_BIT_SGIX 0x00000002
+#define GL_GEOMETRY_DEFORMATION_SGIX 0x8194
+#define GL_TEXTURE_DEFORMATION_SGIX 0x8195
+#define GL_DEFORMATIONS_MASK_SGIX 0x8196
+#define GL_MAX_DEFORMATION_ORDER_SGIX 0x8197
+#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C
+#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D
+#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E
+#define GL_PROVOKING_VERTEX_EXT 0x8E4F
+#define GL_POINT_SIZE_MIN_ARB 0x8126
+#define GL_POINT_SIZE_MAX_ARB 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
+#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
+#define GL_OCCLUSION_TEST_HP 0x8165
+#define GL_OCCLUSION_TEST_RESULT_HP 0x8166
+#define GL_FRAMEZOOM_SGIX 0x818B
+#define GL_FRAMEZOOM_FACTOR_SGIX 0x818C
+#define GL_MAX_FRAMEZOOM_FACTOR_SGIX 0x818D
+#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F
+#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C
+#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D
+#define GL_PRIMITIVES_GENERATED_EXT 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88
+#define GL_RASTERIZER_DISCARD_EXT 0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80
+#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F
+#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76
+#define GL_MULTISAMPLE_3DFX 0x86B2
+#define GL_SAMPLE_BUFFERS_3DFX 0x86B3
+#define GL_SAMPLES_3DFX 0x86B4
+#define GL_MULTISAMPLE_BIT_3DFX 0x20000000
+#define GL_DOT3_RGB_ARB 0x86AE
+#define GL_DOT3_RGBA_ARB 0x86AF
+#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904
+#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905
+#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906
+#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907
+#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908
+#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909
+#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5
+#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6
+#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A
+#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B
+#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C
+#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5E
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5F
+#define GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV 0x8F44
+#define GL_MAX_PROGRAM_SUBROUTINE_NUM_NV 0x8F45
+#define GL_FLOAT_R_NV 0x8880
+#define GL_FLOAT_RG_NV 0x8881
+#define GL_FLOAT_RGB_NV 0x8882
+#define GL_FLOAT_RGBA_NV 0x8883
+#define GL_FLOAT_R16_NV 0x8884
+#define GL_FLOAT_R32_NV 0x8885
+#define GL_FLOAT_RG16_NV 0x8886
+#define GL_FLOAT_RG32_NV 0x8887
+#define GL_FLOAT_RGB16_NV 0x8888
+#define GL_FLOAT_RGB32_NV 0x8889
+#define GL_FLOAT_RGBA16_NV 0x888A
+#define GL_FLOAT_RGBA32_NV 0x888B
+#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C
+#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D
+#define GL_FLOAT_RGBA_MODE_NV 0x888E
+#define GL_CLAMP_TO_EDGE_SGIS 0x812F
+#define GL_SLICE_ACCUM_SUN 0x85CC
+#define GL_LINES_ADJACENCY_ARB 0x000A
+#define GL_LINE_STRIP_ADJACENCY_ARB 0x000B
+#define GL_TRIANGLES_ADJACENCY_ARB 0x000C
+#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0x000D
+#define GL_PROGRAM_POINT_SIZE_ARB 0x8642
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9
+#define GL_GEOMETRY_SHADER_ARB 0x8DD9
+#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA
+#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB
+#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC
+#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD
+#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1
+#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8
+#define GL_SINGLE_COLOR_EXT 0x81F9
+#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA
+#define GL_DEPTH_CLAMP_NEAR_AMD 0x901E
+#define GL_DEPTH_CLAMP_FAR_AMD 0x901F
+#define GL_WRAP_BORDER_SUN 0x81D4
+#define GL_SPRITE_SGIX 0x8148
+#define GL_SPRITE_MODE_SGIX 0x8149
+#define GL_SPRITE_AXIS_SGIX 0x814A
+#define GL_SPRITE_TRANSLATION_SGIX 0x814B
+#define GL_SPRITE_AXIAL_SGIX 0x814C
+#define GL_SPRITE_OBJECT_ALIGNED_SGIX 0x814D
+#define GL_SPRITE_EYE_ALIGNED_SGIX 0x814E
+#define GL_OCCLUSION_QUERY_EVENT_MASK_AMD 0x874F
+#define GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD 0x00000001
+#define GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD 0x00000002
+#define GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD 0x00000004
+#define GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD 0x00000008
+#define GL_QUERY_ALL_EVENT_BITS_AMD 0xFFFFFFFF
+#define GL_MULTISAMPLE_SGIS 0x809D
+#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F
+#define GL_SAMPLE_MASK_SGIS 0x80A0
+#define GL_1PASS_SGIS 0x80A1
+#define GL_2PASS_0_SGIS 0x80A2
+#define GL_2PASS_1_SGIS 0x80A3
+#define GL_4PASS_0_SGIS 0x80A4
+#define GL_4PASS_1_SGIS 0x80A5
+#define GL_4PASS_2_SGIS 0x80A6
+#define GL_4PASS_3_SGIS 0x80A7
+#define GL_SAMPLE_BUFFERS_SGIS 0x80A8
+#define GL_SAMPLES_SGIS 0x80A9
+#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA
+#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB
+#define GL_SAMPLE_PATTERN_SGIS 0x80AC
+#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
+#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
+#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
+#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
+#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
+#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
+#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
+#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
+#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
+#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
+#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
+#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
+#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
+#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
+#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
+#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
+#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
+#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
+#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
+#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
+#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
+#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
+#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
+#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
+#define GL_DEPTH_ATTACHMENT_EXT 0x8D00
+#define GL_STENCIL_ATTACHMENT_EXT 0x8D20
+#define GL_FRAMEBUFFER_EXT 0x8D40
+#define GL_RENDERBUFFER_EXT 0x8D41
+#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42
+#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43
+#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
+#define GL_STENCIL_INDEX1_EXT 0x8D46
+#define GL_STENCIL_INDEX4_EXT 0x8D47
+#define GL_STENCIL_INDEX8_EXT 0x8D48
+#define GL_STENCIL_INDEX16_EXT 0x8D49
+#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50
+#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51
+#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52
+#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
+#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
+#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55
+#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D
+#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E
+#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F
+#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521
+#define GL_STORAGE_CLIENT_APPLE 0x85B4
+#define GL_QUERY_BUFFER_AMD 0x9192
+#define GL_QUERY_BUFFER_BINDING_AMD 0x9193
+#define GL_QUERY_RESULT_NO_WAIT_AMD 0x9194
+#define GL_REGISTER_COMBINERS_NV 0x8522
+#define GL_VARIABLE_A_NV 0x8523
+#define GL_VARIABLE_B_NV 0x8524
+#define GL_VARIABLE_C_NV 0x8525
+#define GL_VARIABLE_D_NV 0x8526
+#define GL_VARIABLE_E_NV 0x8527
+#define GL_VARIABLE_F_NV 0x8528
+#define GL_VARIABLE_G_NV 0x8529
+#define GL_CONSTANT_COLOR0_NV 0x852A
+#define GL_CONSTANT_COLOR1_NV 0x852B
+#define GL_PRIMARY_COLOR_NV 0x852C
+#define GL_SECONDARY_COLOR_NV 0x852D
+#define GL_SPARE0_NV 0x852E
+#define GL_SPARE1_NV 0x852F
+#define GL_DISCARD_NV 0x8530
+#define GL_E_TIMES_F_NV 0x8531
+#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
+#define GL_UNSIGNED_IDENTITY_NV 0x8536
+#define GL_UNSIGNED_INVERT_NV 0x8537
+#define GL_EXPAND_NORMAL_NV 0x8538
+#define GL_EXPAND_NEGATE_NV 0x8539
+#define GL_HALF_BIAS_NORMAL_NV 0x853A
+#define GL_HALF_BIAS_NEGATE_NV 0x853B
+#define GL_SIGNED_IDENTITY_NV 0x853C
+#define GL_SIGNED_NEGATE_NV 0x853D
+#define GL_SCALE_BY_TWO_NV 0x853E
+#define GL_SCALE_BY_FOUR_NV 0x853F
+#define GL_SCALE_BY_ONE_HALF_NV 0x8540
+#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541
+#define GL_COMBINER_INPUT_NV 0x8542
+#define GL_COMBINER_MAPPING_NV 0x8543
+#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544
+#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545
+#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546
+#define GL_COMBINER_MUX_SUM_NV 0x8547
+#define GL_COMBINER_SCALE_NV 0x8548
+#define GL_COMBINER_BIAS_NV 0x8549
+#define GL_COMBINER_AB_OUTPUT_NV 0x854A
+#define GL_COMBINER_CD_OUTPUT_NV 0x854B
+#define GL_COMBINER_SUM_OUTPUT_NV 0x854C
+#define GL_MAX_GENERAL_COMBINERS_NV 0x854D
+#define GL_NUM_GENERAL_COMBINERS_NV 0x854E
+#define GL_COLOR_SUM_CLAMP_NV 0x854F
+#define GL_COMBINER0_NV 0x8550
+#define GL_COMBINER1_NV 0x8551
+#define GL_COMBINER2_NV 0x8552
+#define GL_COMBINER3_NV 0x8553
+#define GL_COMBINER4_NV 0x8554
+#define GL_COMBINER5_NV 0x8555
+#define GL_COMBINER6_NV 0x8556
+#define GL_COMBINER7_NV 0x8557
+#define GL_FOG 0x0B60
+#define GL_MAX_DRAW_BUFFERS_ARB 0x8824
+#define GL_DRAW_BUFFER0_ARB 0x8825
+#define GL_DRAW_BUFFER1_ARB 0x8826
+#define GL_DRAW_BUFFER2_ARB 0x8827
+#define GL_DRAW_BUFFER3_ARB 0x8828
+#define GL_DRAW_BUFFER4_ARB 0x8829
+#define GL_DRAW_BUFFER5_ARB 0x882A
+#define GL_DRAW_BUFFER6_ARB 0x882B
+#define GL_DRAW_BUFFER7_ARB 0x882C
+#define GL_DRAW_BUFFER8_ARB 0x882D
+#define GL_DRAW_BUFFER9_ARB 0x882E
+#define GL_DRAW_BUFFER10_ARB 0x882F
+#define GL_DRAW_BUFFER11_ARB 0x8830
+#define GL_DRAW_BUFFER12_ARB 0x8831
+#define GL_DRAW_BUFFER13_ARB 0x8832
+#define GL_DRAW_BUFFER14_ARB 0x8833
+#define GL_DRAW_BUFFER15_ARB 0x8834
+#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242
+#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243
+#define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244
+#define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245
+#define GL_DEBUG_SOURCE_API_ARB 0x8246
+#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247
+#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248
+#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249
+#define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A
+#define GL_DEBUG_SOURCE_OTHER_ARB 0x824B
+#define GL_DEBUG_TYPE_ERROR_ARB 0x824C
+#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D
+#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E
+#define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F
+#define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250
+#define GL_DEBUG_TYPE_OTHER_ARB 0x8251
+#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143
+#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144
+#define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145
+#define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146
+#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147
+#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148
+#define GL_COLOR_MATRIX_SGI 0x80B1
+#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2
+#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3
+#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4
+#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5
+#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6
+#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7
+#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8
+#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9
+#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA
+#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB
+#define GL_CULL_VERTEX_EXT 0x81AA
+#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB
+#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC
+#define GL_SRGB_EXT 0x8C40
+#define GL_SRGB8_EXT 0x8C41
+#define GL_SRGB_ALPHA_EXT 0x8C42
+#define GL_SRGB8_ALPHA8_EXT 0x8C43
+#define GL_SLUMINANCE_ALPHA_EXT 0x8C44
+#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45
+#define GL_SLUMINANCE_EXT 0x8C46
+#define GL_SLUMINANCE8_EXT 0x8C47
+#define GL_COMPRESSED_SRGB_EXT 0x8C48
+#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49
+#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A
+#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B
+#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
+#define GL_PACK_ROW_BYTES_APPLE 0x8A15
+#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16
+#define GL_NORMAL_MAP_NV 0x8511
+#define GL_REFLECTION_MAP_NV 0x8512
+#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5
+#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0
+#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1
+#define GL_YCRCB_422_SGIX 0x81BB
+#define GL_YCRCB_444_SGIX 0x81BC
+#define GL_TEXTURE_RED_TYPE_ARB 0x8C10
+#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11
+#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12
+#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13
+#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14
+#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15
+#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16
+#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17
+#define GL_RGBA32F_ARB 0x8814
+#define GL_RGB32F_ARB 0x8815
+#define GL_ALPHA32F_ARB 0x8816
+#define GL_INTENSITY32F_ARB 0x8817
+#define GL_LUMINANCE32F_ARB 0x8818
+#define GL_LUMINANCE_ALPHA32F_ARB 0x8819
+#define GL_RGBA16F_ARB 0x881A
+#define GL_RGB16F_ARB 0x881B
+#define GL_ALPHA16F_ARB 0x881C
+#define GL_INTENSITY16F_ARB 0x881D
+#define GL_LUMINANCE16F_ARB 0x881E
+#define GL_LUMINANCE_ALPHA16F_ARB 0x881F
+#define GL_DETAIL_TEXTURE_2D_SGIS 0x8095
+#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS 0x8096
+#define GL_LINEAR_DETAIL_SGIS 0x8097
+#define GL_LINEAR_DETAIL_ALPHA_SGIS 0x8098
+#define GL_LINEAR_DETAIL_COLOR_SGIS 0x8099
+#define GL_DETAIL_TEXTURE_LEVEL_SGIS 0x809A
+#define GL_DETAIL_TEXTURE_MODE_SGIS 0x809B
+#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809C
+#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A
+#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B
+#define GL_RGBA_FLOAT32_ATI 0x8814
+#define GL_RGB_FLOAT32_ATI 0x8815
+#define GL_ALPHA_FLOAT32_ATI 0x8816
+#define GL_INTENSITY_FLOAT32_ATI 0x8817
+#define GL_LUMINANCE_FLOAT32_ATI 0x8818
+#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819
+#define GL_RGBA_FLOAT16_ATI 0x881A
+#define GL_RGB_FLOAT16_ATI 0x881B
+#define GL_ALPHA_FLOAT16_ATI 0x881C
+#define GL_INTENSITY_FLOAT16_ATI 0x881D
+#define GL_LUMINANCE_FLOAT16_ATI 0x881E
+#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F
+#define GL_SHADER_INCLUDE_ARB 0x8DAE
+#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9
+#define GL_NAMED_STRING_TYPE_ARB 0x8DEA
+#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
+#define GL_PHONG_WIN 0x80EA
+#define GL_PHONG_HINT_WIN 0x80EB
+#define GL_PATH_FORMAT_SVG_NV 0x9070
+#define GL_PATH_FORMAT_PS_NV 0x9071
+#define GL_STANDARD_FONT_NAME_NV 0x9072
+#define GL_SYSTEM_FONT_NAME_NV 0x9073
+#define GL_FILE_NAME_NV 0x9074
+#define GL_PATH_STROKE_WIDTH_NV 0x9075
+#define GL_PATH_END_CAPS_NV 0x9076
+#define GL_PATH_INITIAL_END_CAP_NV 0x9077
+#define GL_PATH_TERMINAL_END_CAP_NV 0x9078
+#define GL_PATH_JOIN_STYLE_NV 0x9079
+#define GL_PATH_MITER_LIMIT_NV 0x907A
+#define GL_PATH_DASH_CAPS_NV 0x907B
+#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C
+#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D
+#define GL_PATH_DASH_OFFSET_NV 0x907E
+#define GL_PATH_CLIENT_LENGTH_NV 0x907F
+#define GL_PATH_FILL_MODE_NV 0x9080
+#define GL_PATH_FILL_MASK_NV 0x9081
+#define GL_PATH_FILL_COVER_MODE_NV 0x9082
+#define GL_PATH_STROKE_COVER_MODE_NV 0x9083
+#define GL_PATH_STROKE_MASK_NV 0x9084
+#define GL_COUNT_UP_NV 0x9088
+#define GL_COUNT_DOWN_NV 0x9089
+#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A
+#define GL_CONVEX_HULL_NV 0x908B
+#define GL_BOUNDING_BOX_NV 0x908D
+#define GL_TRANSLATE_X_NV 0x908E
+#define GL_TRANSLATE_Y_NV 0x908F
+#define GL_TRANSLATE_2D_NV 0x9090
+#define GL_TRANSLATE_3D_NV 0x9091
+#define GL_AFFINE_2D_NV 0x9092
+#define GL_AFFINE_3D_NV 0x9094
+#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096
+#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098
+#define GL_UTF8_NV 0x909A
+#define GL_UTF16_NV 0x909B
+#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C
+#define GL_PATH_COMMAND_COUNT_NV 0x909D
+#define GL_PATH_COORD_COUNT_NV 0x909E
+#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F
+#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0
+#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1
+#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2
+#define GL_SQUARE_NV 0x90A3
+#define GL_ROUND_NV 0x90A4
+#define GL_TRIANGULAR_NV 0x90A5
+#define GL_BEVEL_NV 0x90A6
+#define GL_MITER_REVERT_NV 0x90A7
+#define GL_MITER_TRUNCATE_NV 0x90A8
+#define GL_SKIP_MISSING_GLYPH_NV 0x90A9
+#define GL_USE_MISSING_GLYPH_NV 0x90AA
+#define GL_PATH_ERROR_POSITION_NV 0x90AB
+#define GL_PATH_FOG_GEN_MODE_NV 0x90AC
+#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD
+#define GL_ADJACENT_PAIRS_NV 0x90AE
+#define GL_FIRST_TO_REST_NV 0x90AF
+#define GL_PATH_GEN_MODE_NV 0x90B0
+#define GL_PATH_GEN_COEFF_NV 0x90B1
+#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2
+#define GL_PATH_GEN_COMPONENTS_NV 0x90B3
+#define GL_PATH_STENCIL_FUNC_NV 0x90B7
+#define GL_PATH_STENCIL_REF_NV 0x90B8
+#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9
+#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD
+#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE
+#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF
+#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4
+#define GL_MOVE_TO_RESETS_NV 0x90B5
+#define GL_MOVE_TO_CONTINUES_NV 0x90B6
+#define GL_CLOSE_PATH_NV 0x00
+#define GL_MOVE_TO_NV 0x02
+#define GL_RELATIVE_MOVE_TO_NV 0x03
+#define GL_LINE_TO_NV 0x04
+#define GL_RELATIVE_LINE_TO_NV 0x05
+#define GL_HORIZONTAL_LINE_TO_NV 0x06
+#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07
+#define GL_VERTICAL_LINE_TO_NV 0x08
+#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09
+#define GL_QUADRATIC_CURVE_TO_NV 0x0A
+#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B
+#define GL_CUBIC_CURVE_TO_NV 0x0C
+#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D
+#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E
+#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F
+#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10
+#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11
+#define GL_SMALL_CCW_ARC_TO_NV 0x12
+#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13
+#define GL_SMALL_CW_ARC_TO_NV 0x14
+#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15
+#define GL_LARGE_CCW_ARC_TO_NV 0x16
+#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17
+#define GL_LARGE_CW_ARC_TO_NV 0x18
+#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19
+#define GL_RESTART_PATH_NV 0xF0
+#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2
+#define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4
+#define GL_RECT_NV 0xF6
+#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8
+#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA
+#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC
+#define GL_ARC_TO_NV 0xFE
+#define GL_RELATIVE_ARC_TO_NV 0xFF
+#define GL_BOLD_BIT_NV 0x01
+#define GL_ITALIC_BIT_NV 0x02
+#define GL_GLYPH_WIDTH_BIT_NV 0x01
+#define GL_GLYPH_HEIGHT_BIT_NV 0x02
+#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04
+#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08
+#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10
+#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20
+#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40
+#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80
+#define GL_GLYPH_HAS_KERNING_BIT_NV 0x100
+#define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000
+#define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000
+#define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000
+#define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000
+#define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000
+#define GL_FONT_ASCENDER_BIT_NV 0x00200000
+#define GL_FONT_DESCENDER_BIT_NV 0x00400000
+#define GL_FONT_HEIGHT_BIT_NV 0x00800000
+#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000
+#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000
+#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000
+#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000
+#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000
+#define GL_PRIMARY_COLOR 0x8577
+#define GL_MAX_VERTEX_STREAMS_ATI 0x876B
+#define GL_VERTEX_STREAM0_ATI 0x876C
+#define GL_VERTEX_STREAM1_ATI 0x876D
+#define GL_VERTEX_STREAM2_ATI 0x876E
+#define GL_VERTEX_STREAM3_ATI 0x876F
+#define GL_VERTEX_STREAM4_ATI 0x8770
+#define GL_VERTEX_STREAM5_ATI 0x8771
+#define GL_VERTEX_STREAM6_ATI 0x8772
+#define GL_VERTEX_STREAM7_ATI 0x8773
+#define GL_VERTEX_SOURCE_ATI 0x8774
+#define GL_RGB_422_APPLE 0x8A1F
+#define GL_RGB_RAW_422_APPLE 0x8A51
+#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
+#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
+#define GL_TEXTURE_LOD_BIAS_EXT 0x8501
+#define GL_SURFACE_STATE_NV 0x86EB
+#define GL_SURFACE_REGISTERED_NV 0x86FD
+#define GL_SURFACE_MAPPED_NV 0x8700
+#define GL_WRITE_DISCARD_NV 0x88BE
+#define GL_SRGB_DECODE_ARB 0x8299
+#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
+#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
+#define GL_TEXTURE_MIN_LOD_SGIS 0x813A
+#define GL_TEXTURE_MAX_LOD_SGIS 0x813B
+#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C
+#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD
+#define GL_FOG_FUNC_SGIS 0x812A
+#define GL_FOG_FUNC_POINTS_SGIS 0x812B
+#define GL_MAX_FOG_FUNC_POINTS_SGIS 0x812C
+#define GL_SYNC_X11_FENCE_EXT 0x90E1
+#define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB 0x9344
+#define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB 0x90EB
+#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB 0x9345
+#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB 0x91BF
+#define GL_FIXED_OES 0x140C
+#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
+#define GL_MAX_SAMPLES_EXT 0x8D57
+#define GL_PACK_SKIP_VOLUMES_SGIS 0x8130
+#define GL_PACK_IMAGE_DEPTH_SGIS 0x8131
+#define GL_UNPACK_SKIP_VOLUMES_SGIS 0x8132
+#define GL_UNPACK_IMAGE_DEPTH_SGIS 0x8133
+#define GL_TEXTURE_4D_SGIS 0x8134
+#define GL_PROXY_TEXTURE_4D_SGIS 0x8135
+#define GL_TEXTURE_4DSIZE_SGIS 0x8136
+#define GL_TEXTURE_WRAP_Q_SGIS 0x8137
+#define GL_MAX_4D_TEXTURE_SIZE_SGIS 0x8138
+#define GL_TEXTURE_4D_BINDING_SGIS 0x814F
+#define GL_PACK_SKIP_IMAGES_EXT 0x806B
+#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
+#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
+#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
+#define GL_TEXTURE_3D_EXT 0x806F
+#define GL_PROXY_TEXTURE_3D_EXT 0x8070
+#define GL_TEXTURE_DEPTH_EXT 0x8071
+#define GL_TEXTURE_WRAP_R_EXT 0x8072
+#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
+#define GL_MULTISAMPLE_EXT 0x809D
+#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F
+#define GL_SAMPLE_MASK_EXT 0x80A0
+#define GL_1PASS_EXT 0x80A1
+#define GL_2PASS_0_EXT 0x80A2
+#define GL_2PASS_1_EXT 0x80A3
+#define GL_4PASS_0_EXT 0x80A4
+#define GL_4PASS_1_EXT 0x80A5
+#define GL_4PASS_2_EXT 0x80A6
+#define GL_4PASS_3_EXT 0x80A7
+#define GL_SAMPLE_BUFFERS_EXT 0x80A8
+#define GL_SAMPLES_EXT 0x80A9
+#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA
+#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB
+#define GL_SAMPLE_PATTERN_EXT 0x80AC
+#define GL_MULTISAMPLE_BIT_EXT 0x20000000
+#define GL_COLOR_SUM_EXT 0x8458
+#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
+#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
+#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
+#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
+#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
+#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E
+#define GL_STATIC_ATI 0x8760
+#define GL_DYNAMIC_ATI 0x8761
+#define GL_PRESERVE_ATI 0x8762
+#define GL_DISCARD_ATI 0x8763
+#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764
+#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765
+#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766
+#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767
+#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047
+#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048
+#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049
+#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A
+#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B
+#define GL_TEXTURE_SPARSE_ARB 0x91A6
+#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB 0x91A7
+#define GL_MIN_SPARSE_LEVEL_ARB 0x919B
+#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB 0x91A8
+#define GL_VIRTUAL_PAGE_SIZE_X_ARB 0x9195
+#define GL_VIRTUAL_PAGE_SIZE_Y_ARB 0x9196
+#define GL_VIRTUAL_PAGE_SIZE_Z_ARB 0x9197
+#define GL_MAX_SPARSE_TEXTURE_SIZE_ARB 0x9198
+#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB 0x9199
+#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB 0x919A
+#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91A9
+#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0
+#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1
+#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2
+#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3
+#define GL_EYE_POINT_SGIS 0x81F4
+#define GL_OBJECT_POINT_SGIS 0x81F5
+#define GL_EYE_LINE_SGIS 0x81F6
+#define GL_OBJECT_LINE_SGIS 0x81F7
+#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8
+#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9
+#define GL_ALPHA_MIN_SGIX 0x8320
+#define GL_ALPHA_MAX_SGIX 0x8321
+#ifndef GL_SGIX_pixel_tiles
+#define GL_SGIX_pixel_tiles 1
+GLAPI int GLAD_GL_SGIX_pixel_tiles;
+#endif
+#ifndef GL_NV_point_sprite
+#define GL_NV_point_sprite 1
+GLAPI int GLAD_GL_NV_point_sprite;
+typedef void (APIENTRYP PFNGLPOINTPARAMETERINVPROC)(GLenum, GLint);
+GLAPI PFNGLPOINTPARAMETERINVPROC glad_glPointParameteriNV;
+#define glPointParameteriNV glad_glPointParameteriNV
+typedef void (APIENTRYP PFNGLPOINTPARAMETERIVNVPROC)(GLenum, const GLint*);
+GLAPI PFNGLPOINTPARAMETERIVNVPROC glad_glPointParameterivNV;
+#define glPointParameterivNV glad_glPointParameterivNV
+#endif
+#ifndef GL_APPLE_element_array
+#define GL_APPLE_element_array 1
+GLAPI int GLAD_GL_APPLE_element_array;
+typedef void (APIENTRYP PFNGLELEMENTPOINTERAPPLEPROC)(GLenum, const void*);
+GLAPI PFNGLELEMENTPOINTERAPPLEPROC glad_glElementPointerAPPLE;
+#define glElementPointerAPPLE glad_glElementPointerAPPLE
+typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYAPPLEPROC)(GLenum, GLint, GLsizei);
+GLAPI PFNGLDRAWELEMENTARRAYAPPLEPROC glad_glDrawElementArrayAPPLE;
+#define glDrawElementArrayAPPLE glad_glDrawElementArrayAPPLE
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC)(GLenum, GLuint, GLuint, GLint, GLsizei);
+GLAPI PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC glad_glDrawRangeElementArrayAPPLE;
+#define glDrawRangeElementArrayAPPLE glad_glDrawRangeElementArrayAPPLE
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC)(GLenum, const GLint*, const GLsizei*, GLsizei);
+GLAPI PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC glad_glMultiDrawElementArrayAPPLE;
+#define glMultiDrawElementArrayAPPLE glad_glMultiDrawElementArrayAPPLE
+typedef void (APIENTRYP PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC)(GLenum, GLuint, GLuint, const GLint*, const GLsizei*, GLsizei);
+GLAPI PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC glad_glMultiDrawRangeElementArrayAPPLE;
+#define glMultiDrawRangeElementArrayAPPLE glad_glMultiDrawRangeElementArrayAPPLE
+#endif
+#ifndef GL_AMD_multi_draw_indirect
+#define GL_AMD_multi_draw_indirect 1
+GLAPI int GLAD_GL_AMD_multi_draw_indirect;
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC)(GLenum, const void*, GLsizei, GLsizei);
+GLAPI PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC glad_glMultiDrawArraysIndirectAMD;
+#define glMultiDrawArraysIndirectAMD glad_glMultiDrawArraysIndirectAMD
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC)(GLenum, GLenum, const void*, GLsizei, GLsizei);
+GLAPI PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC glad_glMultiDrawElementsIndirectAMD;
+#define glMultiDrawElementsIndirectAMD glad_glMultiDrawElementsIndirectAMD
+#endif
+#ifndef GL_EXT_blend_subtract
+#define GL_EXT_blend_subtract 1
+GLAPI int GLAD_GL_EXT_blend_subtract;
+#endif
+#ifndef GL_SGIX_tag_sample_buffer
+#define GL_SGIX_tag_sample_buffer 1
+GLAPI int GLAD_GL_SGIX_tag_sample_buffer;
+typedef void (APIENTRYP PFNGLTAGSAMPLEBUFFERSGIXPROC)();
+GLAPI PFNGLTAGSAMPLEBUFFERSGIXPROC glad_glTagSampleBufferSGIX;
+#define glTagSampleBufferSGIX glad_glTagSampleBufferSGIX
+#endif
+#ifndef GL_IBM_texture_mirrored_repeat
+#define GL_IBM_texture_mirrored_repeat 1
+GLAPI int GLAD_GL_IBM_texture_mirrored_repeat;
+#endif
+#ifndef GL_APPLE_transform_hint
+#define GL_APPLE_transform_hint 1
+GLAPI int GLAD_GL_APPLE_transform_hint;
+#endif
+#ifndef GL_ATI_separate_stencil
+#define GL_ATI_separate_stencil 1
+GLAPI int GLAD_GL_ATI_separate_stencil;
+typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEATIPROC)(GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLSTENCILOPSEPARATEATIPROC glad_glStencilOpSeparateATI;
+#define glStencilOpSeparateATI glad_glStencilOpSeparateATI
+typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEATIPROC)(GLenum, GLenum, GLint, GLuint);
+GLAPI PFNGLSTENCILFUNCSEPARATEATIPROC glad_glStencilFuncSeparateATI;
+#define glStencilFuncSeparateATI glad_glStencilFuncSeparateATI
+#endif
+#ifndef GL_NV_vertex_program2_option
+#define GL_NV_vertex_program2_option 1
+GLAPI int GLAD_GL_NV_vertex_program2_option;
+#endif
+#ifndef GL_EXT_texture_buffer_object
+#define GL_EXT_texture_buffer_object 1
+GLAPI int GLAD_GL_EXT_texture_buffer_object;
+typedef void (APIENTRYP PFNGLTEXBUFFEREXTPROC)(GLenum, GLenum, GLuint);
+GLAPI PFNGLTEXBUFFEREXTPROC glad_glTexBufferEXT;
+#define glTexBufferEXT glad_glTexBufferEXT
+#endif
+#ifndef GL_ARB_vertex_blend
+#define GL_ARB_vertex_blend 1
+GLAPI int GLAD_GL_ARB_vertex_blend;
+typedef void (APIENTRYP PFNGLWEIGHTBVARBPROC)(GLint, const GLbyte*);
+GLAPI PFNGLWEIGHTBVARBPROC glad_glWeightbvARB;
+#define glWeightbvARB glad_glWeightbvARB
+typedef void (APIENTRYP PFNGLWEIGHTSVARBPROC)(GLint, const GLshort*);
+GLAPI PFNGLWEIGHTSVARBPROC glad_glWeightsvARB;
+#define glWeightsvARB glad_glWeightsvARB
+typedef void (APIENTRYP PFNGLWEIGHTIVARBPROC)(GLint, const GLint*);
+GLAPI PFNGLWEIGHTIVARBPROC glad_glWeightivARB;
+#define glWeightivARB glad_glWeightivARB
+typedef void (APIENTRYP PFNGLWEIGHTFVARBPROC)(GLint, const GLfloat*);
+GLAPI PFNGLWEIGHTFVARBPROC glad_glWeightfvARB;
+#define glWeightfvARB glad_glWeightfvARB
+typedef void (APIENTRYP PFNGLWEIGHTDVARBPROC)(GLint, const GLdouble*);
+GLAPI PFNGLWEIGHTDVARBPROC glad_glWeightdvARB;
+#define glWeightdvARB glad_glWeightdvARB
+typedef void (APIENTRYP PFNGLWEIGHTUBVARBPROC)(GLint, const GLubyte*);
+GLAPI PFNGLWEIGHTUBVARBPROC glad_glWeightubvARB;
+#define glWeightubvARB glad_glWeightubvARB
+typedef void (APIENTRYP PFNGLWEIGHTUSVARBPROC)(GLint, const GLushort*);
+GLAPI PFNGLWEIGHTUSVARBPROC glad_glWeightusvARB;
+#define glWeightusvARB glad_glWeightusvARB
+typedef void (APIENTRYP PFNGLWEIGHTUIVARBPROC)(GLint, const GLuint*);
+GLAPI PFNGLWEIGHTUIVARBPROC glad_glWeightuivARB;
+#define glWeightuivARB glad_glWeightuivARB
+typedef void (APIENTRYP PFNGLWEIGHTPOINTERARBPROC)(GLint, GLenum, GLsizei, const void*);
+GLAPI PFNGLWEIGHTPOINTERARBPROC glad_glWeightPointerARB;
+#define glWeightPointerARB glad_glWeightPointerARB
+typedef void (APIENTRYP PFNGLVERTEXBLENDARBPROC)(GLint);
+GLAPI PFNGLVERTEXBLENDARBPROC glad_glVertexBlendARB;
+#define glVertexBlendARB glad_glVertexBlendARB
+#endif
+#ifndef GL_NV_vertex_program2
+#define GL_NV_vertex_program2 1
+GLAPI int GLAD_GL_NV_vertex_program2;
+#endif
+#ifndef GL_ARB_program_interface_query
+#define GL_ARB_program_interface_query 1
+GLAPI int GLAD_GL_ARB_program_interface_query;
+#endif
+#ifndef GL_EXT_misc_attribute
+#define GL_EXT_misc_attribute 1
+GLAPI int GLAD_GL_EXT_misc_attribute;
+#endif
+#ifndef GL_NV_multisample_coverage
+#define GL_NV_multisample_coverage 1
+GLAPI int GLAD_GL_NV_multisample_coverage;
+#endif
+#ifndef GL_ARB_shading_language_packing
+#define GL_ARB_shading_language_packing 1
+GLAPI int GLAD_GL_ARB_shading_language_packing;
+#endif
+#ifndef GL_EXT_texture_cube_map
+#define GL_EXT_texture_cube_map 1
+GLAPI int GLAD_GL_EXT_texture_cube_map;
+#endif
+#ifndef GL_ARB_texture_stencil8
+#define GL_ARB_texture_stencil8 1
+GLAPI int GLAD_GL_ARB_texture_stencil8;
+#endif
+#ifndef GL_EXT_index_func
+#define GL_EXT_index_func 1
+GLAPI int GLAD_GL_EXT_index_func;
+typedef void (APIENTRYP PFNGLINDEXFUNCEXTPROC)(GLenum, GLclampf);
+GLAPI PFNGLINDEXFUNCEXTPROC glad_glIndexFuncEXT;
+#define glIndexFuncEXT glad_glIndexFuncEXT
+#endif
+#ifndef GL_OES_compressed_paletted_texture
+#define GL_OES_compressed_paletted_texture 1
+GLAPI int GLAD_GL_OES_compressed_paletted_texture;
+#endif
+#ifndef GL_NV_depth_clamp
+#define GL_NV_depth_clamp 1
+GLAPI int GLAD_GL_NV_depth_clamp;
+#endif
+#ifndef GL_NV_shader_buffer_load
+#define GL_NV_shader_buffer_load 1
+GLAPI int GLAD_GL_NV_shader_buffer_load;
+typedef void (APIENTRYP PFNGLMAKEBUFFERRESIDENTNVPROC)(GLenum, GLenum);
+GLAPI PFNGLMAKEBUFFERRESIDENTNVPROC glad_glMakeBufferResidentNV;
+#define glMakeBufferResidentNV glad_glMakeBufferResidentNV
+typedef void (APIENTRYP PFNGLMAKEBUFFERNONRESIDENTNVPROC)(GLenum);
+GLAPI PFNGLMAKEBUFFERNONRESIDENTNVPROC glad_glMakeBufferNonResidentNV;
+#define glMakeBufferNonResidentNV glad_glMakeBufferNonResidentNV
+typedef GLboolean (APIENTRYP PFNGLISBUFFERRESIDENTNVPROC)(GLenum);
+GLAPI PFNGLISBUFFERRESIDENTNVPROC glad_glIsBufferResidentNV;
+#define glIsBufferResidentNV glad_glIsBufferResidentNV
+typedef void (APIENTRYP PFNGLMAKENAMEDBUFFERRESIDENTNVPROC)(GLuint, GLenum);
+GLAPI PFNGLMAKENAMEDBUFFERRESIDENTNVPROC glad_glMakeNamedBufferResidentNV;
+#define glMakeNamedBufferResidentNV glad_glMakeNamedBufferResidentNV
+typedef void (APIENTRYP PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC)(GLuint);
+GLAPI PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC glad_glMakeNamedBufferNonResidentNV;
+#define glMakeNamedBufferNonResidentNV glad_glMakeNamedBufferNonResidentNV
+typedef GLboolean (APIENTRYP PFNGLISNAMEDBUFFERRESIDENTNVPROC)(GLuint);
+GLAPI PFNGLISNAMEDBUFFERRESIDENTNVPROC glad_glIsNamedBufferResidentNV;
+#define glIsNamedBufferResidentNV glad_glIsNamedBufferResidentNV
+typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERUI64VNVPROC)(GLenum, GLenum, GLuint64EXT*);
+GLAPI PFNGLGETBUFFERPARAMETERUI64VNVPROC glad_glGetBufferParameterui64vNV;
+#define glGetBufferParameterui64vNV glad_glGetBufferParameterui64vNV
+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC)(GLuint, GLenum, GLuint64EXT*);
+GLAPI PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC glad_glGetNamedBufferParameterui64vNV;
+#define glGetNamedBufferParameterui64vNV glad_glGetNamedBufferParameterui64vNV
+typedef void (APIENTRYP PFNGLGETINTEGERUI64VNVPROC)(GLenum, GLuint64EXT*);
+GLAPI PFNGLGETINTEGERUI64VNVPROC glad_glGetIntegerui64vNV;
+#define glGetIntegerui64vNV glad_glGetIntegerui64vNV
+typedef void (APIENTRYP PFNGLUNIFORMUI64NVPROC)(GLint, GLuint64EXT);
+GLAPI PFNGLUNIFORMUI64NVPROC glad_glUniformui64NV;
+#define glUniformui64NV glad_glUniformui64NV
+typedef void (APIENTRYP PFNGLUNIFORMUI64VNVPROC)(GLint, GLsizei, const GLuint64EXT*);
+GLAPI PFNGLUNIFORMUI64VNVPROC glad_glUniformui64vNV;
+#define glUniformui64vNV glad_glUniformui64vNV
+typedef void (APIENTRYP PFNGLGETUNIFORMUI64VNVPROC)(GLuint, GLint, GLuint64EXT*);
+GLAPI PFNGLGETUNIFORMUI64VNVPROC glad_glGetUniformui64vNV;
+#define glGetUniformui64vNV glad_glGetUniformui64vNV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64NVPROC)(GLuint, GLint, GLuint64EXT);
+GLAPI PFNGLPROGRAMUNIFORMUI64NVPROC glad_glProgramUniformui64NV;
+#define glProgramUniformui64NV glad_glProgramUniformui64NV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64VNVPROC)(GLuint, GLint, GLsizei, const GLuint64EXT*);
+GLAPI PFNGLPROGRAMUNIFORMUI64VNVPROC glad_glProgramUniformui64vNV;
+#define glProgramUniformui64vNV glad_glProgramUniformui64vNV
+#endif
+#ifndef GL_EXT_color_subtable
+#define GL_EXT_color_subtable 1
+GLAPI int GLAD_GL_EXT_color_subtable;
+typedef void (APIENTRYP PFNGLCOLORSUBTABLEEXTPROC)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLCOLORSUBTABLEEXTPROC glad_glColorSubTableEXT;
+#define glColorSubTableEXT glad_glColorSubTableEXT
+typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEEXTPROC)(GLenum, GLsizei, GLint, GLint, GLsizei);
+GLAPI PFNGLCOPYCOLORSUBTABLEEXTPROC glad_glCopyColorSubTableEXT;
+#define glCopyColorSubTableEXT glad_glCopyColorSubTableEXT
+#endif
+#ifndef GL_SUNX_constant_data
+#define GL_SUNX_constant_data 1
+GLAPI int GLAD_GL_SUNX_constant_data;
+typedef void (APIENTRYP PFNGLFINISHTEXTURESUNXPROC)();
+GLAPI PFNGLFINISHTEXTURESUNXPROC glad_glFinishTextureSUNX;
+#define glFinishTextureSUNX glad_glFinishTextureSUNX
+#endif
+#ifndef GL_EXT_multi_draw_arrays
+#define GL_EXT_multi_draw_arrays 1
+GLAPI int GLAD_GL_EXT_multi_draw_arrays;
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC)(GLenum, const GLint*, const GLsizei*, GLsizei);
+GLAPI PFNGLMULTIDRAWARRAYSEXTPROC glad_glMultiDrawArraysEXT;
+#define glMultiDrawArraysEXT glad_glMultiDrawArraysEXT
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC)(GLenum, const GLsizei*, GLenum, const void**, GLsizei);
+GLAPI PFNGLMULTIDRAWELEMENTSEXTPROC glad_glMultiDrawElementsEXT;
+#define glMultiDrawElementsEXT glad_glMultiDrawElementsEXT
+#endif
+#ifndef GL_ARB_shader_atomic_counters
+#define GL_ARB_shader_atomic_counters 1
+GLAPI int GLAD_GL_ARB_shader_atomic_counters;
+#endif
+#ifndef GL_ARB_arrays_of_arrays
+#define GL_ARB_arrays_of_arrays 1
+GLAPI int GLAD_GL_ARB_arrays_of_arrays;
+#endif
+#ifndef GL_NV_conditional_render
+#define GL_NV_conditional_render 1
+GLAPI int GLAD_GL_NV_conditional_render;
+typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC)(GLuint, GLenum);
+GLAPI PFNGLBEGINCONDITIONALRENDERNVPROC glad_glBeginConditionalRenderNV;
+#define glBeginConditionalRenderNV glad_glBeginConditionalRenderNV
+typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC)();
+GLAPI PFNGLENDCONDITIONALRENDERNVPROC glad_glEndConditionalRenderNV;
+#define glEndConditionalRenderNV glad_glEndConditionalRenderNV
+#endif
+#ifndef GL_EXT_texture_env_combine
+#define GL_EXT_texture_env_combine 1
+GLAPI int GLAD_GL_EXT_texture_env_combine;
+#endif
+#ifndef GL_NV_fog_distance
+#define GL_NV_fog_distance 1
+GLAPI int GLAD_GL_NV_fog_distance;
+#endif
+#ifndef GL_SGIX_async_histogram
+#define GL_SGIX_async_histogram 1
+GLAPI int GLAD_GL_SGIX_async_histogram;
+#endif
+#ifndef GL_MESA_resize_buffers
+#define GL_MESA_resize_buffers 1
+GLAPI int GLAD_GL_MESA_resize_buffers;
+typedef void (APIENTRYP PFNGLRESIZEBUFFERSMESAPROC)();
+GLAPI PFNGLRESIZEBUFFERSMESAPROC glad_glResizeBuffersMESA;
+#define glResizeBuffersMESA glad_glResizeBuffersMESA
+#endif
+#ifndef GL_NV_light_max_exponent
+#define GL_NV_light_max_exponent 1
+GLAPI int GLAD_GL_NV_light_max_exponent;
+#endif
+#ifndef GL_NV_texture_env_combine4
+#define GL_NV_texture_env_combine4 1
+GLAPI int GLAD_GL_NV_texture_env_combine4;
+#endif
+#ifndef GL_ARB_texture_view
+#define GL_ARB_texture_view 1
+GLAPI int GLAD_GL_ARB_texture_view;
+#endif
+#ifndef GL_ARB_texture_env_combine
+#define GL_ARB_texture_env_combine 1
+GLAPI int GLAD_GL_ARB_texture_env_combine;
+#endif
+#ifndef GL_ARB_map_buffer_range
+#define GL_ARB_map_buffer_range 1
+GLAPI int GLAD_GL_ARB_map_buffer_range;
+#endif
+#ifndef GL_EXT_convolution
+#define GL_EXT_convolution 1
+GLAPI int GLAD_GL_EXT_convolution;
+typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DEXTPROC)(GLenum, GLenum, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLCONVOLUTIONFILTER1DEXTPROC glad_glConvolutionFilter1DEXT;
+#define glConvolutionFilter1DEXT glad_glConvolutionFilter1DEXT
+typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DEXTPROC)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLCONVOLUTIONFILTER2DEXTPROC glad_glConvolutionFilter2DEXT;
+#define glConvolutionFilter2DEXT glad_glConvolutionFilter2DEXT
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFEXTPROC)(GLenum, GLenum, GLfloat);
+GLAPI PFNGLCONVOLUTIONPARAMETERFEXTPROC glad_glConvolutionParameterfEXT;
+#define glConvolutionParameterfEXT glad_glConvolutionParameterfEXT
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVEXTPROC)(GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLCONVOLUTIONPARAMETERFVEXTPROC glad_glConvolutionParameterfvEXT;
+#define glConvolutionParameterfvEXT glad_glConvolutionParameterfvEXT
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIEXTPROC)(GLenum, GLenum, GLint);
+GLAPI PFNGLCONVOLUTIONPARAMETERIEXTPROC glad_glConvolutionParameteriEXT;
+#define glConvolutionParameteriEXT glad_glConvolutionParameteriEXT
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVEXTPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLCONVOLUTIONPARAMETERIVEXTPROC glad_glConvolutionParameterivEXT;
+#define glConvolutionParameterivEXT glad_glConvolutionParameterivEXT
+typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC)(GLenum, GLenum, GLint, GLint, GLsizei);
+GLAPI PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC glad_glCopyConvolutionFilter1DEXT;
+#define glCopyConvolutionFilter1DEXT glad_glCopyConvolutionFilter1DEXT
+typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC glad_glCopyConvolutionFilter2DEXT;
+#define glCopyConvolutionFilter2DEXT glad_glCopyConvolutionFilter2DEXT
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTEREXTPROC)(GLenum, GLenum, GLenum, void*);
+GLAPI PFNGLGETCONVOLUTIONFILTEREXTPROC glad_glGetConvolutionFilterEXT;
+#define glGetConvolutionFilterEXT glad_glGetConvolutionFilterEXT
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC glad_glGetConvolutionParameterfvEXT;
+#define glGetConvolutionParameterfvEXT glad_glGetConvolutionParameterfvEXT
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC glad_glGetConvolutionParameterivEXT;
+#define glGetConvolutionParameterivEXT glad_glGetConvolutionParameterivEXT
+typedef void (APIENTRYP PFNGLGETSEPARABLEFILTEREXTPROC)(GLenum, GLenum, GLenum, void*, void*, void*);
+GLAPI PFNGLGETSEPARABLEFILTEREXTPROC glad_glGetSeparableFilterEXT;
+#define glGetSeparableFilterEXT glad_glGetSeparableFilterEXT
+typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DEXTPROC)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const void*, const void*);
+GLAPI PFNGLSEPARABLEFILTER2DEXTPROC glad_glSeparableFilter2DEXT;
+#define glSeparableFilter2DEXT glad_glSeparableFilter2DEXT
+#endif
+#ifndef GL_NV_compute_program5
+#define GL_NV_compute_program5 1
+GLAPI int GLAD_GL_NV_compute_program5;
+#endif
+#ifndef GL_NV_vertex_attrib_integer_64bit
+#define GL_NV_vertex_attrib_integer_64bit 1
+GLAPI int GLAD_GL_NV_vertex_attrib_integer_64bit;
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64NVPROC)(GLuint, GLint64EXT);
+GLAPI PFNGLVERTEXATTRIBL1I64NVPROC glad_glVertexAttribL1i64NV;
+#define glVertexAttribL1i64NV glad_glVertexAttribL1i64NV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64NVPROC)(GLuint, GLint64EXT, GLint64EXT);
+GLAPI PFNGLVERTEXATTRIBL2I64NVPROC glad_glVertexAttribL2i64NV;
+#define glVertexAttribL2i64NV glad_glVertexAttribL2i64NV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64NVPROC)(GLuint, GLint64EXT, GLint64EXT, GLint64EXT);
+GLAPI PFNGLVERTEXATTRIBL3I64NVPROC glad_glVertexAttribL3i64NV;
+#define glVertexAttribL3i64NV glad_glVertexAttribL3i64NV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64NVPROC)(GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
+GLAPI PFNGLVERTEXATTRIBL4I64NVPROC glad_glVertexAttribL4i64NV;
+#define glVertexAttribL4i64NV glad_glVertexAttribL4i64NV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1I64VNVPROC)(GLuint, const GLint64EXT*);
+GLAPI PFNGLVERTEXATTRIBL1I64VNVPROC glad_glVertexAttribL1i64vNV;
+#define glVertexAttribL1i64vNV glad_glVertexAttribL1i64vNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2I64VNVPROC)(GLuint, const GLint64EXT*);
+GLAPI PFNGLVERTEXATTRIBL2I64VNVPROC glad_glVertexAttribL2i64vNV;
+#define glVertexAttribL2i64vNV glad_glVertexAttribL2i64vNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3I64VNVPROC)(GLuint, const GLint64EXT*);
+GLAPI PFNGLVERTEXATTRIBL3I64VNVPROC glad_glVertexAttribL3i64vNV;
+#define glVertexAttribL3i64vNV glad_glVertexAttribL3i64vNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4I64VNVPROC)(GLuint, const GLint64EXT*);
+GLAPI PFNGLVERTEXATTRIBL4I64VNVPROC glad_glVertexAttribL4i64vNV;
+#define glVertexAttribL4i64vNV glad_glVertexAttribL4i64vNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64NVPROC)(GLuint, GLuint64EXT);
+GLAPI PFNGLVERTEXATTRIBL1UI64NVPROC glad_glVertexAttribL1ui64NV;
+#define glVertexAttribL1ui64NV glad_glVertexAttribL1ui64NV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64NVPROC)(GLuint, GLuint64EXT, GLuint64EXT);
+GLAPI PFNGLVERTEXATTRIBL2UI64NVPROC glad_glVertexAttribL2ui64NV;
+#define glVertexAttribL2ui64NV glad_glVertexAttribL2ui64NV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64NVPROC)(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
+GLAPI PFNGLVERTEXATTRIBL3UI64NVPROC glad_glVertexAttribL3ui64NV;
+#define glVertexAttribL3ui64NV glad_glVertexAttribL3ui64NV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64NVPROC)(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
+GLAPI PFNGLVERTEXATTRIBL4UI64NVPROC glad_glVertexAttribL4ui64NV;
+#define glVertexAttribL4ui64NV glad_glVertexAttribL4ui64NV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VNVPROC)(GLuint, const GLuint64EXT*);
+GLAPI PFNGLVERTEXATTRIBL1UI64VNVPROC glad_glVertexAttribL1ui64vNV;
+#define glVertexAttribL1ui64vNV glad_glVertexAttribL1ui64vNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2UI64VNVPROC)(GLuint, const GLuint64EXT*);
+GLAPI PFNGLVERTEXATTRIBL2UI64VNVPROC glad_glVertexAttribL2ui64vNV;
+#define glVertexAttribL2ui64vNV glad_glVertexAttribL2ui64vNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3UI64VNVPROC)(GLuint, const GLuint64EXT*);
+GLAPI PFNGLVERTEXATTRIBL3UI64VNVPROC glad_glVertexAttribL3ui64vNV;
+#define glVertexAttribL3ui64vNV glad_glVertexAttribL3ui64vNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4UI64VNVPROC)(GLuint, const GLuint64EXT*);
+GLAPI PFNGLVERTEXATTRIBL4UI64VNVPROC glad_glVertexAttribL4ui64vNV;
+#define glVertexAttribL4ui64vNV glad_glVertexAttribL4ui64vNV
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLI64VNVPROC)(GLuint, GLenum, GLint64EXT*);
+GLAPI PFNGLGETVERTEXATTRIBLI64VNVPROC glad_glGetVertexAttribLi64vNV;
+#define glGetVertexAttribLi64vNV glad_glGetVertexAttribLi64vNV
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VNVPROC)(GLuint, GLenum, GLuint64EXT*);
+GLAPI PFNGLGETVERTEXATTRIBLUI64VNVPROC glad_glGetVertexAttribLui64vNV;
+#define glGetVertexAttribLui64vNV glad_glGetVertexAttribLui64vNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATNVPROC)(GLuint, GLint, GLenum, GLsizei);
+GLAPI PFNGLVERTEXATTRIBLFORMATNVPROC glad_glVertexAttribLFormatNV;
+#define glVertexAttribLFormatNV glad_glVertexAttribLFormatNV
+#endif
+#ifndef GL_EXT_paletted_texture
+#define GL_EXT_paletted_texture 1
+GLAPI int GLAD_GL_EXT_paletted_texture;
+typedef void (APIENTRYP PFNGLCOLORTABLEEXTPROC)(GLenum, GLenum, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLCOLORTABLEEXTPROC glad_glColorTableEXT;
+#define glColorTableEXT glad_glColorTableEXT
+typedef void (APIENTRYP PFNGLGETCOLORTABLEEXTPROC)(GLenum, GLenum, GLenum, void*);
+GLAPI PFNGLGETCOLORTABLEEXTPROC glad_glGetColorTableEXT;
+#define glGetColorTableEXT glad_glGetColorTableEXT
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETCOLORTABLEPARAMETERIVEXTPROC glad_glGetColorTableParameterivEXT;
+#define glGetColorTableParameterivEXT glad_glGetColorTableParameterivEXT
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETCOLORTABLEPARAMETERFVEXTPROC glad_glGetColorTableParameterfvEXT;
+#define glGetColorTableParameterfvEXT glad_glGetColorTableParameterfvEXT
+#endif
+#ifndef GL_ARB_texture_buffer_object
+#define GL_ARB_texture_buffer_object 1
+GLAPI int GLAD_GL_ARB_texture_buffer_object;
+typedef void (APIENTRYP PFNGLTEXBUFFERARBPROC)(GLenum, GLenum, GLuint);
+GLAPI PFNGLTEXBUFFERARBPROC glad_glTexBufferARB;
+#define glTexBufferARB glad_glTexBufferARB
+#endif
+#ifndef GL_ATI_pn_triangles
+#define GL_ATI_pn_triangles 1
+GLAPI int GLAD_GL_ATI_pn_triangles;
+typedef void (APIENTRYP PFNGLPNTRIANGLESIATIPROC)(GLenum, GLint);
+GLAPI PFNGLPNTRIANGLESIATIPROC glad_glPNTrianglesiATI;
+#define glPNTrianglesiATI glad_glPNTrianglesiATI
+typedef void (APIENTRYP PFNGLPNTRIANGLESFATIPROC)(GLenum, GLfloat);
+GLAPI PFNGLPNTRIANGLESFATIPROC glad_glPNTrianglesfATI;
+#define glPNTrianglesfATI glad_glPNTrianglesfATI
+#endif
+#ifndef GL_SGIX_resample
+#define GL_SGIX_resample 1
+GLAPI int GLAD_GL_SGIX_resample;
+#endif
+#ifndef GL_SGIX_flush_raster
+#define GL_SGIX_flush_raster 1
+GLAPI int GLAD_GL_SGIX_flush_raster;
+typedef void (APIENTRYP PFNGLFLUSHRASTERSGIXPROC)();
+GLAPI PFNGLFLUSHRASTERSGIXPROC glad_glFlushRasterSGIX;
+#define glFlushRasterSGIX glad_glFlushRasterSGIX
+#endif
+#ifndef GL_EXT_light_texture
+#define GL_EXT_light_texture 1
+GLAPI int GLAD_GL_EXT_light_texture;
+typedef void (APIENTRYP PFNGLAPPLYTEXTUREEXTPROC)(GLenum);
+GLAPI PFNGLAPPLYTEXTUREEXTPROC glad_glApplyTextureEXT;
+#define glApplyTextureEXT glad_glApplyTextureEXT
+typedef void (APIENTRYP PFNGLTEXTURELIGHTEXTPROC)(GLenum);
+GLAPI PFNGLTEXTURELIGHTEXTPROC glad_glTextureLightEXT;
+#define glTextureLightEXT glad_glTextureLightEXT
+typedef void (APIENTRYP PFNGLTEXTUREMATERIALEXTPROC)(GLenum, GLenum);
+GLAPI PFNGLTEXTUREMATERIALEXTPROC glad_glTextureMaterialEXT;
+#define glTextureMaterialEXT glad_glTextureMaterialEXT
+#endif
+#ifndef GL_ARB_point_sprite
+#define GL_ARB_point_sprite 1
+GLAPI int GLAD_GL_ARB_point_sprite;
+#endif
+#ifndef GL_ARB_half_float_pixel
+#define GL_ARB_half_float_pixel 1
+GLAPI int GLAD_GL_ARB_half_float_pixel;
+#endif
+#ifndef GL_NV_tessellation_program5
+#define GL_NV_tessellation_program5 1
+GLAPI int GLAD_GL_NV_tessellation_program5;
+#endif
+#ifndef GL_REND_screen_coordinates
+#define GL_REND_screen_coordinates 1
+GLAPI int GLAD_GL_REND_screen_coordinates;
+#endif
+#ifndef GL_EXT_shared_texture_palette
+#define GL_EXT_shared_texture_palette 1
+GLAPI int GLAD_GL_EXT_shared_texture_palette;
+#endif
+#ifndef GL_EXT_packed_float
+#define GL_EXT_packed_float 1
+GLAPI int GLAD_GL_EXT_packed_float;
+#endif
+#ifndef GL_OML_subsample
+#define GL_OML_subsample 1
+GLAPI int GLAD_GL_OML_subsample;
+#endif
+#ifndef GL_SGIX_vertex_preclip
+#define GL_SGIX_vertex_preclip 1
+GLAPI int GLAD_GL_SGIX_vertex_preclip;
+#endif
+#ifndef GL_SGIX_texture_scale_bias
+#define GL_SGIX_texture_scale_bias 1
+GLAPI int GLAD_GL_SGIX_texture_scale_bias;
+#endif
+#ifndef GL_AMD_draw_buffers_blend
+#define GL_AMD_draw_buffers_blend 1
+GLAPI int GLAD_GL_AMD_draw_buffers_blend;
+typedef void (APIENTRYP PFNGLBLENDFUNCINDEXEDAMDPROC)(GLuint, GLenum, GLenum);
+GLAPI PFNGLBLENDFUNCINDEXEDAMDPROC glad_glBlendFuncIndexedAMD;
+#define glBlendFuncIndexedAMD glad_glBlendFuncIndexedAMD
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC)(GLuint, GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC glad_glBlendFuncSeparateIndexedAMD;
+#define glBlendFuncSeparateIndexedAMD glad_glBlendFuncSeparateIndexedAMD
+typedef void (APIENTRYP PFNGLBLENDEQUATIONINDEXEDAMDPROC)(GLuint, GLenum);
+GLAPI PFNGLBLENDEQUATIONINDEXEDAMDPROC glad_glBlendEquationIndexedAMD;
+#define glBlendEquationIndexedAMD glad_glBlendEquationIndexedAMD
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC)(GLuint, GLenum, GLenum);
+GLAPI PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC glad_glBlendEquationSeparateIndexedAMD;
+#define glBlendEquationSeparateIndexedAMD glad_glBlendEquationSeparateIndexedAMD
+#endif
+#ifndef GL_MESA_window_pos
+#define GL_MESA_window_pos 1
+GLAPI int GLAD_GL_MESA_window_pos;
+typedef void (APIENTRYP PFNGLWINDOWPOS2DMESAPROC)(GLdouble, GLdouble);
+GLAPI PFNGLWINDOWPOS2DMESAPROC glad_glWindowPos2dMESA;
+#define glWindowPos2dMESA glad_glWindowPos2dMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS2DVMESAPROC)(const GLdouble*);
+GLAPI PFNGLWINDOWPOS2DVMESAPROC glad_glWindowPos2dvMESA;
+#define glWindowPos2dvMESA glad_glWindowPos2dvMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS2FMESAPROC)(GLfloat, GLfloat);
+GLAPI PFNGLWINDOWPOS2FMESAPROC glad_glWindowPos2fMESA;
+#define glWindowPos2fMESA glad_glWindowPos2fMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS2FVMESAPROC)(const GLfloat*);
+GLAPI PFNGLWINDOWPOS2FVMESAPROC glad_glWindowPos2fvMESA;
+#define glWindowPos2fvMESA glad_glWindowPos2fvMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS2IMESAPROC)(GLint, GLint);
+GLAPI PFNGLWINDOWPOS2IMESAPROC glad_glWindowPos2iMESA;
+#define glWindowPos2iMESA glad_glWindowPos2iMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS2IVMESAPROC)(const GLint*);
+GLAPI PFNGLWINDOWPOS2IVMESAPROC glad_glWindowPos2ivMESA;
+#define glWindowPos2ivMESA glad_glWindowPos2ivMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS2SMESAPROC)(GLshort, GLshort);
+GLAPI PFNGLWINDOWPOS2SMESAPROC glad_glWindowPos2sMESA;
+#define glWindowPos2sMESA glad_glWindowPos2sMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS2SVMESAPROC)(const GLshort*);
+GLAPI PFNGLWINDOWPOS2SVMESAPROC glad_glWindowPos2svMESA;
+#define glWindowPos2svMESA glad_glWindowPos2svMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS3DMESAPROC)(GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLWINDOWPOS3DMESAPROC glad_glWindowPos3dMESA;
+#define glWindowPos3dMESA glad_glWindowPos3dMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS3DVMESAPROC)(const GLdouble*);
+GLAPI PFNGLWINDOWPOS3DVMESAPROC glad_glWindowPos3dvMESA;
+#define glWindowPos3dvMESA glad_glWindowPos3dvMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS3FMESAPROC)(GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLWINDOWPOS3FMESAPROC glad_glWindowPos3fMESA;
+#define glWindowPos3fMESA glad_glWindowPos3fMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS3FVMESAPROC)(const GLfloat*);
+GLAPI PFNGLWINDOWPOS3FVMESAPROC glad_glWindowPos3fvMESA;
+#define glWindowPos3fvMESA glad_glWindowPos3fvMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS3IMESAPROC)(GLint, GLint, GLint);
+GLAPI PFNGLWINDOWPOS3IMESAPROC glad_glWindowPos3iMESA;
+#define glWindowPos3iMESA glad_glWindowPos3iMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS3IVMESAPROC)(const GLint*);
+GLAPI PFNGLWINDOWPOS3IVMESAPROC glad_glWindowPos3ivMESA;
+#define glWindowPos3ivMESA glad_glWindowPos3ivMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS3SMESAPROC)(GLshort, GLshort, GLshort);
+GLAPI PFNGLWINDOWPOS3SMESAPROC glad_glWindowPos3sMESA;
+#define glWindowPos3sMESA glad_glWindowPos3sMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS3SVMESAPROC)(const GLshort*);
+GLAPI PFNGLWINDOWPOS3SVMESAPROC glad_glWindowPos3svMESA;
+#define glWindowPos3svMESA glad_glWindowPos3svMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS4DMESAPROC)(GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLWINDOWPOS4DMESAPROC glad_glWindowPos4dMESA;
+#define glWindowPos4dMESA glad_glWindowPos4dMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS4DVMESAPROC)(const GLdouble*);
+GLAPI PFNGLWINDOWPOS4DVMESAPROC glad_glWindowPos4dvMESA;
+#define glWindowPos4dvMESA glad_glWindowPos4dvMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS4FMESAPROC)(GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLWINDOWPOS4FMESAPROC glad_glWindowPos4fMESA;
+#define glWindowPos4fMESA glad_glWindowPos4fMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS4FVMESAPROC)(const GLfloat*);
+GLAPI PFNGLWINDOWPOS4FVMESAPROC glad_glWindowPos4fvMESA;
+#define glWindowPos4fvMESA glad_glWindowPos4fvMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS4IMESAPROC)(GLint, GLint, GLint, GLint);
+GLAPI PFNGLWINDOWPOS4IMESAPROC glad_glWindowPos4iMESA;
+#define glWindowPos4iMESA glad_glWindowPos4iMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS4IVMESAPROC)(const GLint*);
+GLAPI PFNGLWINDOWPOS4IVMESAPROC glad_glWindowPos4ivMESA;
+#define glWindowPos4ivMESA glad_glWindowPos4ivMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS4SMESAPROC)(GLshort, GLshort, GLshort, GLshort);
+GLAPI PFNGLWINDOWPOS4SMESAPROC glad_glWindowPos4sMESA;
+#define glWindowPos4sMESA glad_glWindowPos4sMESA
+typedef void (APIENTRYP PFNGLWINDOWPOS4SVMESAPROC)(const GLshort*);
+GLAPI PFNGLWINDOWPOS4SVMESAPROC glad_glWindowPos4svMESA;
+#define glWindowPos4svMESA glad_glWindowPos4svMESA
+#endif
+#ifndef GL_EXT_texture_array
+#define GL_EXT_texture_array 1
+GLAPI int GLAD_GL_EXT_texture_array;
+#endif
+#ifndef GL_NV_texture_barrier
+#define GL_NV_texture_barrier 1
+GLAPI int GLAD_GL_NV_texture_barrier;
+typedef void (APIENTRYP PFNGLTEXTUREBARRIERNVPROC)();
+GLAPI PFNGLTEXTUREBARRIERNVPROC glad_glTextureBarrierNV;
+#define glTextureBarrierNV glad_glTextureBarrierNV
+#endif
+#ifndef GL_ARB_texture_query_levels
+#define GL_ARB_texture_query_levels 1
+GLAPI int GLAD_GL_ARB_texture_query_levels;
+#endif
+#ifndef GL_NV_texgen_emboss
+#define GL_NV_texgen_emboss 1
+GLAPI int GLAD_GL_NV_texgen_emboss;
+#endif
+#ifndef GL_EXT_texture_swizzle
+#define GL_EXT_texture_swizzle 1
+GLAPI int GLAD_GL_EXT_texture_swizzle;
+#endif
+#ifndef GL_ARB_texture_rg
+#define GL_ARB_texture_rg 1
+GLAPI int GLAD_GL_ARB_texture_rg;
+#endif
+#ifndef GL_ARB_vertex_type_2_10_10_10_rev
+#define GL_ARB_vertex_type_2_10_10_10_rev 1
+GLAPI int GLAD_GL_ARB_vertex_type_2_10_10_10_rev;
+#endif
+#ifndef GL_ARB_fragment_shader
+#define GL_ARB_fragment_shader 1
+GLAPI int GLAD_GL_ARB_fragment_shader;
+#endif
+#ifndef GL_3DFX_tbuffer
+#define GL_3DFX_tbuffer 1
+GLAPI int GLAD_GL_3DFX_tbuffer;
+typedef void (APIENTRYP PFNGLTBUFFERMASK3DFXPROC)(GLuint);
+GLAPI PFNGLTBUFFERMASK3DFXPROC glad_glTbufferMask3DFX;
+#define glTbufferMask3DFX glad_glTbufferMask3DFX
+#endif
+#ifndef GL_GREMEDY_frame_terminator
+#define GL_GREMEDY_frame_terminator 1
+GLAPI int GLAD_GL_GREMEDY_frame_terminator;
+typedef void (APIENTRYP PFNGLFRAMETERMINATORGREMEDYPROC)();
+GLAPI PFNGLFRAMETERMINATORGREMEDYPROC glad_glFrameTerminatorGREMEDY;
+#define glFrameTerminatorGREMEDY glad_glFrameTerminatorGREMEDY
+#endif
+#ifndef GL_ARB_blend_func_extended
+#define GL_ARB_blend_func_extended 1
+GLAPI int GLAD_GL_ARB_blend_func_extended;
+#endif
+#ifndef GL_EXT_separate_shader_objects
+#define GL_EXT_separate_shader_objects 1
+GLAPI int GLAD_GL_EXT_separate_shader_objects;
+typedef void (APIENTRYP PFNGLUSESHADERPROGRAMEXTPROC)(GLenum, GLuint);
+GLAPI PFNGLUSESHADERPROGRAMEXTPROC glad_glUseShaderProgramEXT;
+#define glUseShaderProgramEXT glad_glUseShaderProgramEXT
+typedef void (APIENTRYP PFNGLACTIVEPROGRAMEXTPROC)(GLuint);
+GLAPI PFNGLACTIVEPROGRAMEXTPROC glad_glActiveProgramEXT;
+#define glActiveProgramEXT glad_glActiveProgramEXT
+typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMEXTPROC)(GLenum, const GLchar*);
+GLAPI PFNGLCREATESHADERPROGRAMEXTPROC glad_glCreateShaderProgramEXT;
+#define glCreateShaderProgramEXT glad_glCreateShaderProgramEXT
+typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC)(GLuint, GLuint);
+GLAPI PFNGLACTIVESHADERPROGRAMEXTPROC glad_glActiveShaderProgramEXT;
+#define glActiveShaderProgramEXT glad_glActiveShaderProgramEXT
+typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC)(GLuint);
+GLAPI PFNGLBINDPROGRAMPIPELINEEXTPROC glad_glBindProgramPipelineEXT;
+#define glBindProgramPipelineEXT glad_glBindProgramPipelineEXT
+typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC)(GLenum, GLsizei, const GLchar**);
+GLAPI PFNGLCREATESHADERPROGRAMVEXTPROC glad_glCreateShaderProgramvEXT;
+#define glCreateShaderProgramvEXT glad_glCreateShaderProgramvEXT
+typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEPROGRAMPIPELINESEXTPROC glad_glDeleteProgramPipelinesEXT;
+#define glDeleteProgramPipelinesEXT glad_glDeleteProgramPipelinesEXT
+typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENPROGRAMPIPELINESEXTPROC glad_glGenProgramPipelinesEXT;
+#define glGenProgramPipelinesEXT glad_glGenProgramPipelinesEXT
+typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC)(GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC glad_glGetProgramPipelineInfoLogEXT;
+#define glGetProgramPipelineInfoLogEXT glad_glGetProgramPipelineInfoLogEXT
+typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETPROGRAMPIPELINEIVEXTPROC glad_glGetProgramPipelineivEXT;
+#define glGetProgramPipelineivEXT glad_glGetProgramPipelineivEXT
+typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC)(GLuint);
+GLAPI PFNGLISPROGRAMPIPELINEEXTPROC glad_glIsProgramPipelineEXT;
+#define glIsProgramPipelineEXT glad_glIsProgramPipelineEXT
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC)(GLuint, GLenum, GLint);
+GLAPI PFNGLPROGRAMPARAMETERIEXTPROC glad_glProgramParameteriEXT;
+#define glProgramParameteriEXT glad_glProgramParameteriEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC)(GLuint, GLint, GLfloat);
+GLAPI PFNGLPROGRAMUNIFORM1FEXTPROC glad_glProgramUniform1fEXT;
+#define glProgramUniform1fEXT glad_glProgramUniform1fEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC)(GLuint, GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORM1FVEXTPROC glad_glProgramUniform1fvEXT;
+#define glProgramUniform1fvEXT glad_glProgramUniform1fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC)(GLuint, GLint, GLint);
+GLAPI PFNGLPROGRAMUNIFORM1IEXTPROC glad_glProgramUniform1iEXT;
+#define glProgramUniform1iEXT glad_glProgramUniform1iEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC)(GLuint, GLint, GLsizei, const GLint*);
+GLAPI PFNGLPROGRAMUNIFORM1IVEXTPROC glad_glProgramUniform1ivEXT;
+#define glProgramUniform1ivEXT glad_glProgramUniform1ivEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC)(GLuint, GLint, GLfloat, GLfloat);
+GLAPI PFNGLPROGRAMUNIFORM2FEXTPROC glad_glProgramUniform2fEXT;
+#define glProgramUniform2fEXT glad_glProgramUniform2fEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC)(GLuint, GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORM2FVEXTPROC glad_glProgramUniform2fvEXT;
+#define glProgramUniform2fvEXT glad_glProgramUniform2fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC)(GLuint, GLint, GLint, GLint);
+GLAPI PFNGLPROGRAMUNIFORM2IEXTPROC glad_glProgramUniform2iEXT;
+#define glProgramUniform2iEXT glad_glProgramUniform2iEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC)(GLuint, GLint, GLsizei, const GLint*);
+GLAPI PFNGLPROGRAMUNIFORM2IVEXTPROC glad_glProgramUniform2ivEXT;
+#define glProgramUniform2ivEXT glad_glProgramUniform2ivEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC)(GLuint, GLint, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLPROGRAMUNIFORM3FEXTPROC glad_glProgramUniform3fEXT;
+#define glProgramUniform3fEXT glad_glProgramUniform3fEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC)(GLuint, GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORM3FVEXTPROC glad_glProgramUniform3fvEXT;
+#define glProgramUniform3fvEXT glad_glProgramUniform3fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC)(GLuint, GLint, GLint, GLint, GLint);
+GLAPI PFNGLPROGRAMUNIFORM3IEXTPROC glad_glProgramUniform3iEXT;
+#define glProgramUniform3iEXT glad_glProgramUniform3iEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC)(GLuint, GLint, GLsizei, const GLint*);
+GLAPI PFNGLPROGRAMUNIFORM3IVEXTPROC glad_glProgramUniform3ivEXT;
+#define glProgramUniform3ivEXT glad_glProgramUniform3ivEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLPROGRAMUNIFORM4FEXTPROC glad_glProgramUniform4fEXT;
+#define glProgramUniform4fEXT glad_glProgramUniform4fEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC)(GLuint, GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORM4FVEXTPROC glad_glProgramUniform4fvEXT;
+#define glProgramUniform4fvEXT glad_glProgramUniform4fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC)(GLuint, GLint, GLint, GLint, GLint, GLint);
+GLAPI PFNGLPROGRAMUNIFORM4IEXTPROC glad_glProgramUniform4iEXT;
+#define glProgramUniform4iEXT glad_glProgramUniform4iEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC)(GLuint, GLint, GLsizei, const GLint*);
+GLAPI PFNGLPROGRAMUNIFORM4IVEXTPROC glad_glProgramUniform4ivEXT;
+#define glProgramUniform4ivEXT glad_glProgramUniform4ivEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC glad_glProgramUniformMatrix2fvEXT;
+#define glProgramUniformMatrix2fvEXT glad_glProgramUniformMatrix2fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC glad_glProgramUniformMatrix3fvEXT;
+#define glProgramUniformMatrix3fvEXT glad_glProgramUniformMatrix3fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC glad_glProgramUniformMatrix4fvEXT;
+#define glProgramUniformMatrix4fvEXT glad_glProgramUniformMatrix4fvEXT
+typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC)(GLuint, GLbitfield, GLuint);
+GLAPI PFNGLUSEPROGRAMSTAGESEXTPROC glad_glUseProgramStagesEXT;
+#define glUseProgramStagesEXT glad_glUseProgramStagesEXT
+typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC)(GLuint);
+GLAPI PFNGLVALIDATEPROGRAMPIPELINEEXTPROC glad_glValidateProgramPipelineEXT;
+#define glValidateProgramPipelineEXT glad_glValidateProgramPipelineEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC)(GLuint, GLint, GLuint);
+GLAPI PFNGLPROGRAMUNIFORM1UIEXTPROC glad_glProgramUniform1uiEXT;
+#define glProgramUniform1uiEXT glad_glProgramUniform1uiEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC)(GLuint, GLint, GLuint, GLuint);
+GLAPI PFNGLPROGRAMUNIFORM2UIEXTPROC glad_glProgramUniform2uiEXT;
+#define glProgramUniform2uiEXT glad_glProgramUniform2uiEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC)(GLuint, GLint, GLuint, GLuint, GLuint);
+GLAPI PFNGLPROGRAMUNIFORM3UIEXTPROC glad_glProgramUniform3uiEXT;
+#define glProgramUniform3uiEXT glad_glProgramUniform3uiEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLPROGRAMUNIFORM4UIEXTPROC glad_glProgramUniform4uiEXT;
+#define glProgramUniform4uiEXT glad_glProgramUniform4uiEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC)(GLuint, GLint, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMUNIFORM1UIVEXTPROC glad_glProgramUniform1uivEXT;
+#define glProgramUniform1uivEXT glad_glProgramUniform1uivEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC)(GLuint, GLint, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMUNIFORM2UIVEXTPROC glad_glProgramUniform2uivEXT;
+#define glProgramUniform2uivEXT glad_glProgramUniform2uivEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC)(GLuint, GLint, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMUNIFORM3UIVEXTPROC glad_glProgramUniform3uivEXT;
+#define glProgramUniform3uivEXT glad_glProgramUniform3uivEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC)(GLuint, GLint, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMUNIFORM4UIVEXTPROC glad_glProgramUniform4uivEXT;
+#define glProgramUniform4uivEXT glad_glProgramUniform4uivEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC glad_glProgramUniformMatrix2x3fvEXT;
+#define glProgramUniformMatrix2x3fvEXT glad_glProgramUniformMatrix2x3fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC glad_glProgramUniformMatrix3x2fvEXT;
+#define glProgramUniformMatrix3x2fvEXT glad_glProgramUniformMatrix3x2fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC glad_glProgramUniformMatrix2x4fvEXT;
+#define glProgramUniformMatrix2x4fvEXT glad_glProgramUniformMatrix2x4fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC glad_glProgramUniformMatrix4x2fvEXT;
+#define glProgramUniformMatrix4x2fvEXT glad_glProgramUniformMatrix4x2fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC glad_glProgramUniformMatrix3x4fvEXT;
+#define glProgramUniformMatrix3x4fvEXT glad_glProgramUniformMatrix3x4fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC glad_glProgramUniformMatrix4x3fvEXT;
+#define glProgramUniformMatrix4x3fvEXT glad_glProgramUniformMatrix4x3fvEXT
+#endif
+#ifndef GL_NV_texture_multisample
+#define GL_NV_texture_multisample 1
+GLAPI int GLAD_GL_NV_texture_multisample;
+typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC)(GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC glad_glTexImage2DMultisampleCoverageNV;
+#define glTexImage2DMultisampleCoverageNV glad_glTexImage2DMultisampleCoverageNV
+typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC)(GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC glad_glTexImage3DMultisampleCoverageNV;
+#define glTexImage3DMultisampleCoverageNV glad_glTexImage3DMultisampleCoverageNV
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC)(GLuint, GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC glad_glTextureImage2DMultisampleNV;
+#define glTextureImage2DMultisampleNV glad_glTextureImage2DMultisampleNV
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC)(GLuint, GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC glad_glTextureImage3DMultisampleNV;
+#define glTextureImage3DMultisampleNV glad_glTextureImage3DMultisampleNV
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC)(GLuint, GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC glad_glTextureImage2DMultisampleCoverageNV;
+#define glTextureImage2DMultisampleCoverageNV glad_glTextureImage2DMultisampleCoverageNV
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC)(GLuint, GLenum, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC glad_glTextureImage3DMultisampleCoverageNV;
+#define glTextureImage3DMultisampleCoverageNV glad_glTextureImage3DMultisampleCoverageNV
+#endif
+#ifndef GL_ARB_shader_objects
+#define GL_ARB_shader_objects 1
+GLAPI int GLAD_GL_ARB_shader_objects;
+typedef void (APIENTRYP PFNGLDELETEOBJECTARBPROC)(GLhandleARB);
+GLAPI PFNGLDELETEOBJECTARBPROC glad_glDeleteObjectARB;
+#define glDeleteObjectARB glad_glDeleteObjectARB
+typedef GLhandleARB (APIENTRYP PFNGLGETHANDLEARBPROC)(GLenum);
+GLAPI PFNGLGETHANDLEARBPROC glad_glGetHandleARB;
+#define glGetHandleARB glad_glGetHandleARB
+typedef void (APIENTRYP PFNGLDETACHOBJECTARBPROC)(GLhandleARB, GLhandleARB);
+GLAPI PFNGLDETACHOBJECTARBPROC glad_glDetachObjectARB;
+#define glDetachObjectARB glad_glDetachObjectARB
+typedef GLhandleARB (APIENTRYP PFNGLCREATESHADEROBJECTARBPROC)(GLenum);
+GLAPI PFNGLCREATESHADEROBJECTARBPROC glad_glCreateShaderObjectARB;
+#define glCreateShaderObjectARB glad_glCreateShaderObjectARB
+typedef void (APIENTRYP PFNGLSHADERSOURCEARBPROC)(GLhandleARB, GLsizei, const GLcharARB**, const GLint*);
+GLAPI PFNGLSHADERSOURCEARBPROC glad_glShaderSourceARB;
+#define glShaderSourceARB glad_glShaderSourceARB
+typedef void (APIENTRYP PFNGLCOMPILESHADERARBPROC)(GLhandleARB);
+GLAPI PFNGLCOMPILESHADERARBPROC glad_glCompileShaderARB;
+#define glCompileShaderARB glad_glCompileShaderARB
+typedef GLhandleARB (APIENTRYP PFNGLCREATEPROGRAMOBJECTARBPROC)();
+GLAPI PFNGLCREATEPROGRAMOBJECTARBPROC glad_glCreateProgramObjectARB;
+#define glCreateProgramObjectARB glad_glCreateProgramObjectARB
+typedef void (APIENTRYP PFNGLATTACHOBJECTARBPROC)(GLhandleARB, GLhandleARB);
+GLAPI PFNGLATTACHOBJECTARBPROC glad_glAttachObjectARB;
+#define glAttachObjectARB glad_glAttachObjectARB
+typedef void (APIENTRYP PFNGLLINKPROGRAMARBPROC)(GLhandleARB);
+GLAPI PFNGLLINKPROGRAMARBPROC glad_glLinkProgramARB;
+#define glLinkProgramARB glad_glLinkProgramARB
+typedef void (APIENTRYP PFNGLUSEPROGRAMOBJECTARBPROC)(GLhandleARB);
+GLAPI PFNGLUSEPROGRAMOBJECTARBPROC glad_glUseProgramObjectARB;
+#define glUseProgramObjectARB glad_glUseProgramObjectARB
+typedef void (APIENTRYP PFNGLVALIDATEPROGRAMARBPROC)(GLhandleARB);
+GLAPI PFNGLVALIDATEPROGRAMARBPROC glad_glValidateProgramARB;
+#define glValidateProgramARB glad_glValidateProgramARB
+typedef void (APIENTRYP PFNGLUNIFORM1FARBPROC)(GLint, GLfloat);
+GLAPI PFNGLUNIFORM1FARBPROC glad_glUniform1fARB;
+#define glUniform1fARB glad_glUniform1fARB
+typedef void (APIENTRYP PFNGLUNIFORM2FARBPROC)(GLint, GLfloat, GLfloat);
+GLAPI PFNGLUNIFORM2FARBPROC glad_glUniform2fARB;
+#define glUniform2fARB glad_glUniform2fARB
+typedef void (APIENTRYP PFNGLUNIFORM3FARBPROC)(GLint, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLUNIFORM3FARBPROC glad_glUniform3fARB;
+#define glUniform3fARB glad_glUniform3fARB
+typedef void (APIENTRYP PFNGLUNIFORM4FARBPROC)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLUNIFORM4FARBPROC glad_glUniform4fARB;
+#define glUniform4fARB glad_glUniform4fARB
+typedef void (APIENTRYP PFNGLUNIFORM1IARBPROC)(GLint, GLint);
+GLAPI PFNGLUNIFORM1IARBPROC glad_glUniform1iARB;
+#define glUniform1iARB glad_glUniform1iARB
+typedef void (APIENTRYP PFNGLUNIFORM2IARBPROC)(GLint, GLint, GLint);
+GLAPI PFNGLUNIFORM2IARBPROC glad_glUniform2iARB;
+#define glUniform2iARB glad_glUniform2iARB
+typedef void (APIENTRYP PFNGLUNIFORM3IARBPROC)(GLint, GLint, GLint, GLint);
+GLAPI PFNGLUNIFORM3IARBPROC glad_glUniform3iARB;
+#define glUniform3iARB glad_glUniform3iARB
+typedef void (APIENTRYP PFNGLUNIFORM4IARBPROC)(GLint, GLint, GLint, GLint, GLint);
+GLAPI PFNGLUNIFORM4IARBPROC glad_glUniform4iARB;
+#define glUniform4iARB glad_glUniform4iARB
+typedef void (APIENTRYP PFNGLUNIFORM1FVARBPROC)(GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLUNIFORM1FVARBPROC glad_glUniform1fvARB;
+#define glUniform1fvARB glad_glUniform1fvARB
+typedef void (APIENTRYP PFNGLUNIFORM2FVARBPROC)(GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLUNIFORM2FVARBPROC glad_glUniform2fvARB;
+#define glUniform2fvARB glad_glUniform2fvARB
+typedef void (APIENTRYP PFNGLUNIFORM3FVARBPROC)(GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLUNIFORM3FVARBPROC glad_glUniform3fvARB;
+#define glUniform3fvARB glad_glUniform3fvARB
+typedef void (APIENTRYP PFNGLUNIFORM4FVARBPROC)(GLint, GLsizei, const GLfloat*);
+GLAPI PFNGLUNIFORM4FVARBPROC glad_glUniform4fvARB;
+#define glUniform4fvARB glad_glUniform4fvARB
+typedef void (APIENTRYP PFNGLUNIFORM1IVARBPROC)(GLint, GLsizei, const GLint*);
+GLAPI PFNGLUNIFORM1IVARBPROC glad_glUniform1ivARB;
+#define glUniform1ivARB glad_glUniform1ivARB
+typedef void (APIENTRYP PFNGLUNIFORM2IVARBPROC)(GLint, GLsizei, const GLint*);
+GLAPI PFNGLUNIFORM2IVARBPROC glad_glUniform2ivARB;
+#define glUniform2ivARB glad_glUniform2ivARB
+typedef void (APIENTRYP PFNGLUNIFORM3IVARBPROC)(GLint, GLsizei, const GLint*);
+GLAPI PFNGLUNIFORM3IVARBPROC glad_glUniform3ivARB;
+#define glUniform3ivARB glad_glUniform3ivARB
+typedef void (APIENTRYP PFNGLUNIFORM4IVARBPROC)(GLint, GLsizei, const GLint*);
+GLAPI PFNGLUNIFORM4IVARBPROC glad_glUniform4ivARB;
+#define glUniform4ivARB glad_glUniform4ivARB
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVARBPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX2FVARBPROC glad_glUniformMatrix2fvARB;
+#define glUniformMatrix2fvARB glad_glUniformMatrix2fvARB
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVARBPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX3FVARBPROC glad_glUniformMatrix3fvARB;
+#define glUniformMatrix3fvARB glad_glUniformMatrix3fvARB
+typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVARBPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
+GLAPI PFNGLUNIFORMMATRIX4FVARBPROC glad_glUniformMatrix4fvARB;
+#define glUniformMatrix4fvARB glad_glUniformMatrix4fvARB
+typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERFVARBPROC)(GLhandleARB, GLenum, GLfloat*);
+GLAPI PFNGLGETOBJECTPARAMETERFVARBPROC glad_glGetObjectParameterfvARB;
+#define glGetObjectParameterfvARB glad_glGetObjectParameterfvARB
+typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVARBPROC)(GLhandleARB, GLenum, GLint*);
+GLAPI PFNGLGETOBJECTPARAMETERIVARBPROC glad_glGetObjectParameterivARB;
+#define glGetObjectParameterivARB glad_glGetObjectParameterivARB
+typedef void (APIENTRYP PFNGLGETINFOLOGARBPROC)(GLhandleARB, GLsizei, GLsizei*, GLcharARB*);
+GLAPI PFNGLGETINFOLOGARBPROC glad_glGetInfoLogARB;
+#define glGetInfoLogARB glad_glGetInfoLogARB
+typedef void (APIENTRYP PFNGLGETATTACHEDOBJECTSARBPROC)(GLhandleARB, GLsizei, GLsizei*, GLhandleARB*);
+GLAPI PFNGLGETATTACHEDOBJECTSARBPROC glad_glGetAttachedObjectsARB;
+#define glGetAttachedObjectsARB glad_glGetAttachedObjectsARB
+typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONARBPROC)(GLhandleARB, const GLcharARB*);
+GLAPI PFNGLGETUNIFORMLOCATIONARBPROC glad_glGetUniformLocationARB;
+#define glGetUniformLocationARB glad_glGetUniformLocationARB
+typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMARBPROC)(GLhandleARB, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLcharARB*);
+GLAPI PFNGLGETACTIVEUNIFORMARBPROC glad_glGetActiveUniformARB;
+#define glGetActiveUniformARB glad_glGetActiveUniformARB
+typedef void (APIENTRYP PFNGLGETUNIFORMFVARBPROC)(GLhandleARB, GLint, GLfloat*);
+GLAPI PFNGLGETUNIFORMFVARBPROC glad_glGetUniformfvARB;
+#define glGetUniformfvARB glad_glGetUniformfvARB
+typedef void (APIENTRYP PFNGLGETUNIFORMIVARBPROC)(GLhandleARB, GLint, GLint*);
+GLAPI PFNGLGETUNIFORMIVARBPROC glad_glGetUniformivARB;
+#define glGetUniformivARB glad_glGetUniformivARB
+typedef void (APIENTRYP PFNGLGETSHADERSOURCEARBPROC)(GLhandleARB, GLsizei, GLsizei*, GLcharARB*);
+GLAPI PFNGLGETSHADERSOURCEARBPROC glad_glGetShaderSourceARB;
+#define glGetShaderSourceARB glad_glGetShaderSourceARB
+#endif
+#ifndef GL_ARB_framebuffer_object
+#define GL_ARB_framebuffer_object 1
+GLAPI int GLAD_GL_ARB_framebuffer_object;
+#endif
+#ifndef GL_ATI_envmap_bumpmap
+#define GL_ATI_envmap_bumpmap 1
+GLAPI int GLAD_GL_ATI_envmap_bumpmap;
+typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERIVATIPROC)(GLenum, const GLint*);
+GLAPI PFNGLTEXBUMPPARAMETERIVATIPROC glad_glTexBumpParameterivATI;
+#define glTexBumpParameterivATI glad_glTexBumpParameterivATI
+typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERFVATIPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLTEXBUMPPARAMETERFVATIPROC glad_glTexBumpParameterfvATI;
+#define glTexBumpParameterfvATI glad_glTexBumpParameterfvATI
+typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERIVATIPROC)(GLenum, GLint*);
+GLAPI PFNGLGETTEXBUMPPARAMETERIVATIPROC glad_glGetTexBumpParameterivATI;
+#define glGetTexBumpParameterivATI glad_glGetTexBumpParameterivATI
+typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERFVATIPROC)(GLenum, GLfloat*);
+GLAPI PFNGLGETTEXBUMPPARAMETERFVATIPROC glad_glGetTexBumpParameterfvATI;
+#define glGetTexBumpParameterfvATI glad_glGetTexBumpParameterfvATI
+#endif
+#ifndef GL_ARB_robust_buffer_access_behavior
+#define GL_ARB_robust_buffer_access_behavior 1
+GLAPI int GLAD_GL_ARB_robust_buffer_access_behavior;
+#endif
+#ifndef GL_ARB_shader_stencil_export
+#define GL_ARB_shader_stencil_export 1
+GLAPI int GLAD_GL_ARB_shader_stencil_export;
+#endif
+#ifndef GL_NV_texture_rectangle
+#define GL_NV_texture_rectangle 1
+GLAPI int GLAD_GL_NV_texture_rectangle;
+#endif
+#ifndef GL_ARB_enhanced_layouts
+#define GL_ARB_enhanced_layouts 1
+GLAPI int GLAD_GL_ARB_enhanced_layouts;
+#endif
+#ifndef GL_ARB_texture_rectangle
+#define GL_ARB_texture_rectangle 1
+GLAPI int GLAD_GL_ARB_texture_rectangle;
+#endif
+#ifndef GL_SGI_texture_color_table
+#define GL_SGI_texture_color_table 1
+GLAPI int GLAD_GL_SGI_texture_color_table;
+#endif
+#ifndef GL_ATI_map_object_buffer
+#define GL_ATI_map_object_buffer 1
+GLAPI int GLAD_GL_ATI_map_object_buffer;
+typedef void* (APIENTRYP PFNGLMAPOBJECTBUFFERATIPROC)(GLuint);
+GLAPI PFNGLMAPOBJECTBUFFERATIPROC glad_glMapObjectBufferATI;
+#define glMapObjectBufferATI glad_glMapObjectBufferATI
+typedef void (APIENTRYP PFNGLUNMAPOBJECTBUFFERATIPROC)(GLuint);
+GLAPI PFNGLUNMAPOBJECTBUFFERATIPROC glad_glUnmapObjectBufferATI;
+#define glUnmapObjectBufferATI glad_glUnmapObjectBufferATI
+#endif
+#ifndef GL_ARB_robustness
+#define GL_ARB_robustness 1
+GLAPI int GLAD_GL_ARB_robustness;
+typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSARBPROC)();
+GLAPI PFNGLGETGRAPHICSRESETSTATUSARBPROC glad_glGetGraphicsResetStatusARB;
+#define glGetGraphicsResetStatusARB glad_glGetGraphicsResetStatusARB
+typedef void (APIENTRYP PFNGLGETNTEXIMAGEARBPROC)(GLenum, GLint, GLenum, GLenum, GLsizei, void*);
+GLAPI PFNGLGETNTEXIMAGEARBPROC glad_glGetnTexImageARB;
+#define glGetnTexImageARB glad_glGetnTexImageARB
+typedef void (APIENTRYP PFNGLREADNPIXELSARBPROC)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*);
+GLAPI PFNGLREADNPIXELSARBPROC glad_glReadnPixelsARB;
+#define glReadnPixelsARB glad_glReadnPixelsARB
+typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC)(GLenum, GLint, GLsizei, void*);
+GLAPI PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC glad_glGetnCompressedTexImageARB;
+#define glGetnCompressedTexImageARB glad_glGetnCompressedTexImageARB
+typedef void (APIENTRYP PFNGLGETNUNIFORMFVARBPROC)(GLuint, GLint, GLsizei, GLfloat*);
+GLAPI PFNGLGETNUNIFORMFVARBPROC glad_glGetnUniformfvARB;
+#define glGetnUniformfvARB glad_glGetnUniformfvARB
+typedef void (APIENTRYP PFNGLGETNUNIFORMIVARBPROC)(GLuint, GLint, GLsizei, GLint*);
+GLAPI PFNGLGETNUNIFORMIVARBPROC glad_glGetnUniformivARB;
+#define glGetnUniformivARB glad_glGetnUniformivARB
+typedef void (APIENTRYP PFNGLGETNUNIFORMUIVARBPROC)(GLuint, GLint, GLsizei, GLuint*);
+GLAPI PFNGLGETNUNIFORMUIVARBPROC glad_glGetnUniformuivARB;
+#define glGetnUniformuivARB glad_glGetnUniformuivARB
+typedef void (APIENTRYP PFNGLGETNUNIFORMDVARBPROC)(GLuint, GLint, GLsizei, GLdouble*);
+GLAPI PFNGLGETNUNIFORMDVARBPROC glad_glGetnUniformdvARB;
+#define glGetnUniformdvARB glad_glGetnUniformdvARB
+typedef void (APIENTRYP PFNGLGETNMAPDVARBPROC)(GLenum, GLenum, GLsizei, GLdouble*);
+GLAPI PFNGLGETNMAPDVARBPROC glad_glGetnMapdvARB;
+#define glGetnMapdvARB glad_glGetnMapdvARB
+typedef void (APIENTRYP PFNGLGETNMAPFVARBPROC)(GLenum, GLenum, GLsizei, GLfloat*);
+GLAPI PFNGLGETNMAPFVARBPROC glad_glGetnMapfvARB;
+#define glGetnMapfvARB glad_glGetnMapfvARB
+typedef void (APIENTRYP PFNGLGETNMAPIVARBPROC)(GLenum, GLenum, GLsizei, GLint*);
+GLAPI PFNGLGETNMAPIVARBPROC glad_glGetnMapivARB;
+#define glGetnMapivARB glad_glGetnMapivARB
+typedef void (APIENTRYP PFNGLGETNPIXELMAPFVARBPROC)(GLenum, GLsizei, GLfloat*);
+GLAPI PFNGLGETNPIXELMAPFVARBPROC glad_glGetnPixelMapfvARB;
+#define glGetnPixelMapfvARB glad_glGetnPixelMapfvARB
+typedef void (APIENTRYP PFNGLGETNPIXELMAPUIVARBPROC)(GLenum, GLsizei, GLuint*);
+GLAPI PFNGLGETNPIXELMAPUIVARBPROC glad_glGetnPixelMapuivARB;
+#define glGetnPixelMapuivARB glad_glGetnPixelMapuivARB
+typedef void (APIENTRYP PFNGLGETNPIXELMAPUSVARBPROC)(GLenum, GLsizei, GLushort*);
+GLAPI PFNGLGETNPIXELMAPUSVARBPROC glad_glGetnPixelMapusvARB;
+#define glGetnPixelMapusvARB glad_glGetnPixelMapusvARB
+typedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEARBPROC)(GLsizei, GLubyte*);
+GLAPI PFNGLGETNPOLYGONSTIPPLEARBPROC glad_glGetnPolygonStippleARB;
+#define glGetnPolygonStippleARB glad_glGetnPolygonStippleARB
+typedef void (APIENTRYP PFNGLGETNCOLORTABLEARBPROC)(GLenum, GLenum, GLenum, GLsizei, void*);
+GLAPI PFNGLGETNCOLORTABLEARBPROC glad_glGetnColorTableARB;
+#define glGetnColorTableARB glad_glGetnColorTableARB
+typedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERARBPROC)(GLenum, GLenum, GLenum, GLsizei, void*);
+GLAPI PFNGLGETNCONVOLUTIONFILTERARBPROC glad_glGetnConvolutionFilterARB;
+#define glGetnConvolutionFilterARB glad_glGetnConvolutionFilterARB
+typedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERARBPROC)(GLenum, GLenum, GLenum, GLsizei, void*, GLsizei, void*, void*);
+GLAPI PFNGLGETNSEPARABLEFILTERARBPROC glad_glGetnSeparableFilterARB;
+#define glGetnSeparableFilterARB glad_glGetnSeparableFilterARB
+typedef void (APIENTRYP PFNGLGETNHISTOGRAMARBPROC)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void*);
+GLAPI PFNGLGETNHISTOGRAMARBPROC glad_glGetnHistogramARB;
+#define glGetnHistogramARB glad_glGetnHistogramARB
+typedef void (APIENTRYP PFNGLGETNMINMAXARBPROC)(GLenum, GLboolean, GLenum, GLenum, GLsizei, void*);
+GLAPI PFNGLGETNMINMAXARBPROC glad_glGetnMinmaxARB;
+#define glGetnMinmaxARB glad_glGetnMinmaxARB
+#endif
+#ifndef GL_NV_pixel_data_range
+#define GL_NV_pixel_data_range 1
+GLAPI int GLAD_GL_NV_pixel_data_range;
+typedef void (APIENTRYP PFNGLPIXELDATARANGENVPROC)(GLenum, GLsizei, const void*);
+GLAPI PFNGLPIXELDATARANGENVPROC glad_glPixelDataRangeNV;
+#define glPixelDataRangeNV glad_glPixelDataRangeNV
+typedef void (APIENTRYP PFNGLFLUSHPIXELDATARANGENVPROC)(GLenum);
+GLAPI PFNGLFLUSHPIXELDATARANGENVPROC glad_glFlushPixelDataRangeNV;
+#define glFlushPixelDataRangeNV glad_glFlushPixelDataRangeNV
+#endif
+#ifndef GL_EXT_framebuffer_blit
+#define GL_EXT_framebuffer_blit 1
+GLAPI int GLAD_GL_EXT_framebuffer_blit;
+typedef void (APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
+GLAPI PFNGLBLITFRAMEBUFFEREXTPROC glad_glBlitFramebufferEXT;
+#define glBlitFramebufferEXT glad_glBlitFramebufferEXT
+#endif
+#ifndef GL_ARB_gpu_shader_fp64
+#define GL_ARB_gpu_shader_fp64 1
+GLAPI int GLAD_GL_ARB_gpu_shader_fp64;
+#endif
+#ifndef GL_SGIX_depth_texture
+#define GL_SGIX_depth_texture 1
+GLAPI int GLAD_GL_SGIX_depth_texture;
+#endif
+#ifndef GL_EXT_vertex_weighting
+#define GL_EXT_vertex_weighting 1
+GLAPI int GLAD_GL_EXT_vertex_weighting;
+typedef void (APIENTRYP PFNGLVERTEXWEIGHTFEXTPROC)(GLfloat);
+GLAPI PFNGLVERTEXWEIGHTFEXTPROC glad_glVertexWeightfEXT;
+#define glVertexWeightfEXT glad_glVertexWeightfEXT
+typedef void (APIENTRYP PFNGLVERTEXWEIGHTFVEXTPROC)(const GLfloat*);
+GLAPI PFNGLVERTEXWEIGHTFVEXTPROC glad_glVertexWeightfvEXT;
+#define glVertexWeightfvEXT glad_glVertexWeightfvEXT
+typedef void (APIENTRYP PFNGLVERTEXWEIGHTPOINTEREXTPROC)(GLint, GLenum, GLsizei, const void*);
+GLAPI PFNGLVERTEXWEIGHTPOINTEREXTPROC glad_glVertexWeightPointerEXT;
+#define glVertexWeightPointerEXT glad_glVertexWeightPointerEXT
+#endif
+#ifndef GL_GREMEDY_string_marker
+#define GL_GREMEDY_string_marker 1
+GLAPI int GLAD_GL_GREMEDY_string_marker;
+typedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC)(GLsizei, const void*);
+GLAPI PFNGLSTRINGMARKERGREMEDYPROC glad_glStringMarkerGREMEDY;
+#define glStringMarkerGREMEDY glad_glStringMarkerGREMEDY
+#endif
+#ifndef GL_ARB_texture_compression_bptc
+#define GL_ARB_texture_compression_bptc 1
+GLAPI int GLAD_GL_ARB_texture_compression_bptc;
+#endif
+#ifndef GL_EXT_subtexture
+#define GL_EXT_subtexture 1
+GLAPI int GLAD_GL_EXT_subtexture;
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DEXTPROC)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXSUBIMAGE1DEXTPROC glad_glTexSubImage1DEXT;
+#define glTexSubImage1DEXT glad_glTexSubImage1DEXT
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DEXTPROC)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXSUBIMAGE2DEXTPROC glad_glTexSubImage2DEXT;
+#define glTexSubImage2DEXT glad_glTexSubImage2DEXT
+#endif
+#ifndef GL_EXT_pixel_transform_color_table
+#define GL_EXT_pixel_transform_color_table 1
+GLAPI int GLAD_GL_EXT_pixel_transform_color_table;
+#endif
+#ifndef GL_EXT_texture_compression_rgtc
+#define GL_EXT_texture_compression_rgtc 1
+GLAPI int GLAD_GL_EXT_texture_compression_rgtc;
+#endif
+#ifndef GL_SGIX_depth_pass_instrument
+#define GL_SGIX_depth_pass_instrument 1
+GLAPI int GLAD_GL_SGIX_depth_pass_instrument;
+#endif
+#ifndef GL_ARB_shader_precision
+#define GL_ARB_shader_precision 1
+GLAPI int GLAD_GL_ARB_shader_precision;
+#endif
+#ifndef GL_NV_evaluators
+#define GL_NV_evaluators 1
+GLAPI int GLAD_GL_NV_evaluators;
+typedef void (APIENTRYP PFNGLMAPCONTROLPOINTSNVPROC)(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLint, GLint, GLboolean, const void*);
+GLAPI PFNGLMAPCONTROLPOINTSNVPROC glad_glMapControlPointsNV;
+#define glMapControlPointsNV glad_glMapControlPointsNV
+typedef void (APIENTRYP PFNGLMAPPARAMETERIVNVPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLMAPPARAMETERIVNVPROC glad_glMapParameterivNV;
+#define glMapParameterivNV glad_glMapParameterivNV
+typedef void (APIENTRYP PFNGLMAPPARAMETERFVNVPROC)(GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLMAPPARAMETERFVNVPROC glad_glMapParameterfvNV;
+#define glMapParameterfvNV glad_glMapParameterfvNV
+typedef void (APIENTRYP PFNGLGETMAPCONTROLPOINTSNVPROC)(GLenum, GLuint, GLenum, GLsizei, GLsizei, GLboolean, void*);
+GLAPI PFNGLGETMAPCONTROLPOINTSNVPROC glad_glGetMapControlPointsNV;
+#define glGetMapControlPointsNV glad_glGetMapControlPointsNV
+typedef void (APIENTRYP PFNGLGETMAPPARAMETERIVNVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETMAPPARAMETERIVNVPROC glad_glGetMapParameterivNV;
+#define glGetMapParameterivNV glad_glGetMapParameterivNV
+typedef void (APIENTRYP PFNGLGETMAPPARAMETERFVNVPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETMAPPARAMETERFVNVPROC glad_glGetMapParameterfvNV;
+#define glGetMapParameterfvNV glad_glGetMapParameterfvNV
+typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERIVNVPROC)(GLenum, GLuint, GLenum, GLint*);
+GLAPI PFNGLGETMAPATTRIBPARAMETERIVNVPROC glad_glGetMapAttribParameterivNV;
+#define glGetMapAttribParameterivNV glad_glGetMapAttribParameterivNV
+typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERFVNVPROC)(GLenum, GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETMAPATTRIBPARAMETERFVNVPROC glad_glGetMapAttribParameterfvNV;
+#define glGetMapAttribParameterfvNV glad_glGetMapAttribParameterfvNV
+typedef void (APIENTRYP PFNGLEVALMAPSNVPROC)(GLenum, GLenum);
+GLAPI PFNGLEVALMAPSNVPROC glad_glEvalMapsNV;
+#define glEvalMapsNV glad_glEvalMapsNV
+#endif
+#ifndef GL_SGIS_texture_filter4
+#define GL_SGIS_texture_filter4 1
+GLAPI int GLAD_GL_SGIS_texture_filter4;
+typedef void (APIENTRYP PFNGLGETTEXFILTERFUNCSGISPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETTEXFILTERFUNCSGISPROC glad_glGetTexFilterFuncSGIS;
+#define glGetTexFilterFuncSGIS glad_glGetTexFilterFuncSGIS
+typedef void (APIENTRYP PFNGLTEXFILTERFUNCSGISPROC)(GLenum, GLenum, GLsizei, const GLfloat*);
+GLAPI PFNGLTEXFILTERFUNCSGISPROC glad_glTexFilterFuncSGIS;
+#define glTexFilterFuncSGIS glad_glTexFilterFuncSGIS
+#endif
+#ifndef GL_AMD_performance_monitor
+#define GL_AMD_performance_monitor 1
+GLAPI int GLAD_GL_AMD_performance_monitor;
+typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC)(GLint*, GLsizei, GLuint*);
+GLAPI PFNGLGETPERFMONITORGROUPSAMDPROC glad_glGetPerfMonitorGroupsAMD;
+#define glGetPerfMonitorGroupsAMD glad_glGetPerfMonitorGroupsAMD
+typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC)(GLuint, GLint*, GLint*, GLsizei, GLuint*);
+GLAPI PFNGLGETPERFMONITORCOUNTERSAMDPROC glad_glGetPerfMonitorCountersAMD;
+#define glGetPerfMonitorCountersAMD glad_glGetPerfMonitorCountersAMD
+typedef void (APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC)(GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETPERFMONITORGROUPSTRINGAMDPROC glad_glGetPerfMonitorGroupStringAMD;
+#define glGetPerfMonitorGroupStringAMD glad_glGetPerfMonitorGroupStringAMD
+typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC glad_glGetPerfMonitorCounterStringAMD;
+#define glGetPerfMonitorCounterStringAMD glad_glGetPerfMonitorCounterStringAMD
+typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC)(GLuint, GLuint, GLenum, void*);
+GLAPI PFNGLGETPERFMONITORCOUNTERINFOAMDPROC glad_glGetPerfMonitorCounterInfoAMD;
+#define glGetPerfMonitorCounterInfoAMD glad_glGetPerfMonitorCounterInfoAMD
+typedef void (APIENTRYP PFNGLGENPERFMONITORSAMDPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENPERFMONITORSAMDPROC glad_glGenPerfMonitorsAMD;
+#define glGenPerfMonitorsAMD glad_glGenPerfMonitorsAMD
+typedef void (APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC)(GLsizei, GLuint*);
+GLAPI PFNGLDELETEPERFMONITORSAMDPROC glad_glDeletePerfMonitorsAMD;
+#define glDeletePerfMonitorsAMD glad_glDeletePerfMonitorsAMD
+typedef void (APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC)(GLuint, GLboolean, GLuint, GLint, GLuint*);
+GLAPI PFNGLSELECTPERFMONITORCOUNTERSAMDPROC glad_glSelectPerfMonitorCountersAMD;
+#define glSelectPerfMonitorCountersAMD glad_glSelectPerfMonitorCountersAMD
+typedef void (APIENTRYP PFNGLBEGINPERFMONITORAMDPROC)(GLuint);
+GLAPI PFNGLBEGINPERFMONITORAMDPROC glad_glBeginPerfMonitorAMD;
+#define glBeginPerfMonitorAMD glad_glBeginPerfMonitorAMD
+typedef void (APIENTRYP PFNGLENDPERFMONITORAMDPROC)(GLuint);
+GLAPI PFNGLENDPERFMONITORAMDPROC glad_glEndPerfMonitorAMD;
+#define glEndPerfMonitorAMD glad_glEndPerfMonitorAMD
+typedef void (APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC)(GLuint, GLenum, GLsizei, GLuint*, GLint*);
+GLAPI PFNGLGETPERFMONITORCOUNTERDATAAMDPROC glad_glGetPerfMonitorCounterDataAMD;
+#define glGetPerfMonitorCounterDataAMD glad_glGetPerfMonitorCounterDataAMD
+#endif
+#ifndef GL_NV_geometry_shader4
+#define GL_NV_geometry_shader4 1
+GLAPI int GLAD_GL_NV_geometry_shader4;
+#endif
+#ifndef GL_EXT_stencil_clear_tag
+#define GL_EXT_stencil_clear_tag 1
+GLAPI int GLAD_GL_EXT_stencil_clear_tag;
+typedef void (APIENTRYP PFNGLSTENCILCLEARTAGEXTPROC)(GLsizei, GLuint);
+GLAPI PFNGLSTENCILCLEARTAGEXTPROC glad_glStencilClearTagEXT;
+#define glStencilClearTagEXT glad_glStencilClearTagEXT
+#endif
+#ifndef GL_NV_vertex_program1_1
+#define GL_NV_vertex_program1_1 1
+GLAPI int GLAD_GL_NV_vertex_program1_1;
+#endif
+#ifndef GL_NV_present_video
+#define GL_NV_present_video 1
+GLAPI int GLAD_GL_NV_present_video;
+typedef void (APIENTRYP PFNGLPRESENTFRAMEKEYEDNVPROC)(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLuint, GLenum, GLuint, GLuint);
+GLAPI PFNGLPRESENTFRAMEKEYEDNVPROC glad_glPresentFrameKeyedNV;
+#define glPresentFrameKeyedNV glad_glPresentFrameKeyedNV
+typedef void (APIENTRYP PFNGLPRESENTFRAMEDUALFILLNVPROC)(GLuint, GLuint64EXT, GLuint, GLuint, GLenum, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint, GLenum, GLuint);
+GLAPI PFNGLPRESENTFRAMEDUALFILLNVPROC glad_glPresentFrameDualFillNV;
+#define glPresentFrameDualFillNV glad_glPresentFrameDualFillNV
+typedef void (APIENTRYP PFNGLGETVIDEOIVNVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVIDEOIVNVPROC glad_glGetVideoivNV;
+#define glGetVideoivNV glad_glGetVideoivNV
+typedef void (APIENTRYP PFNGLGETVIDEOUIVNVPROC)(GLuint, GLenum, GLuint*);
+GLAPI PFNGLGETVIDEOUIVNVPROC glad_glGetVideouivNV;
+#define glGetVideouivNV glad_glGetVideouivNV
+typedef void (APIENTRYP PFNGLGETVIDEOI64VNVPROC)(GLuint, GLenum, GLint64EXT*);
+GLAPI PFNGLGETVIDEOI64VNVPROC glad_glGetVideoi64vNV;
+#define glGetVideoi64vNV glad_glGetVideoi64vNV
+typedef void (APIENTRYP PFNGLGETVIDEOUI64VNVPROC)(GLuint, GLenum, GLuint64EXT*);
+GLAPI PFNGLGETVIDEOUI64VNVPROC glad_glGetVideoui64vNV;
+#define glGetVideoui64vNV glad_glGetVideoui64vNV
+#endif
+#ifndef GL_ARB_texture_compression_rgtc
+#define GL_ARB_texture_compression_rgtc 1
+GLAPI int GLAD_GL_ARB_texture_compression_rgtc;
+#endif
+#ifndef GL_HP_convolution_border_modes
+#define GL_HP_convolution_border_modes 1
+GLAPI int GLAD_GL_HP_convolution_border_modes;
+#endif
+#ifndef GL_EXT_gpu_program_parameters
+#define GL_EXT_gpu_program_parameters 1
+GLAPI int GLAD_GL_EXT_gpu_program_parameters;
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERS4FVEXTPROC)(GLenum, GLuint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMENVPARAMETERS4FVEXTPROC glad_glProgramEnvParameters4fvEXT;
+#define glProgramEnvParameters4fvEXT glad_glProgramEnvParameters4fvEXT
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC)(GLenum, GLuint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC glad_glProgramLocalParameters4fvEXT;
+#define glProgramLocalParameters4fvEXT glad_glProgramLocalParameters4fvEXT
+#endif
+#ifndef GL_EXT_shader_integer_mix
+#define GL_EXT_shader_integer_mix 1
+GLAPI int GLAD_GL_EXT_shader_integer_mix;
+#endif
+#ifndef GL_ARB_stencil_texturing
+#define GL_ARB_stencil_texturing 1
+GLAPI int GLAD_GL_ARB_stencil_texturing;
+#endif
+#ifndef GL_SGIX_fog_offset
+#define GL_SGIX_fog_offset 1
+GLAPI int GLAD_GL_SGIX_fog_offset;
+#endif
+#ifndef GL_ARB_draw_elements_base_vertex
+#define GL_ARB_draw_elements_base_vertex 1
+GLAPI int GLAD_GL_ARB_draw_elements_base_vertex;
+#endif
+#ifndef GL_INGR_interlace_read
+#define GL_INGR_interlace_read 1
+GLAPI int GLAD_GL_INGR_interlace_read;
+#endif
+#ifndef GL_NV_transform_feedback
+#define GL_NV_transform_feedback 1
+GLAPI int GLAD_GL_NV_transform_feedback;
+typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKNVPROC)(GLenum);
+GLAPI PFNGLBEGINTRANSFORMFEEDBACKNVPROC glad_glBeginTransformFeedbackNV;
+#define glBeginTransformFeedbackNV glad_glBeginTransformFeedbackNV
+typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKNVPROC)();
+GLAPI PFNGLENDTRANSFORMFEEDBACKNVPROC glad_glEndTransformFeedbackNV;
+#define glEndTransformFeedbackNV glad_glEndTransformFeedbackNV
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC)(GLuint, const GLint*, GLenum);
+GLAPI PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC glad_glTransformFeedbackAttribsNV;
+#define glTransformFeedbackAttribsNV glad_glTransformFeedbackAttribsNV
+typedef void (APIENTRYP PFNGLBINDBUFFERRANGENVPROC)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
+GLAPI PFNGLBINDBUFFERRANGENVPROC glad_glBindBufferRangeNV;
+#define glBindBufferRangeNV glad_glBindBufferRangeNV
+typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETNVPROC)(GLenum, GLuint, GLuint, GLintptr);
+GLAPI PFNGLBINDBUFFEROFFSETNVPROC glad_glBindBufferOffsetNV;
+#define glBindBufferOffsetNV glad_glBindBufferOffsetNV
+typedef void (APIENTRYP PFNGLBINDBUFFERBASENVPROC)(GLenum, GLuint, GLuint);
+GLAPI PFNGLBINDBUFFERBASENVPROC glad_glBindBufferBaseNV;
+#define glBindBufferBaseNV glad_glBindBufferBaseNV
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC)(GLuint, GLsizei, const GLint*, GLenum);
+GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC glad_glTransformFeedbackVaryingsNV;
+#define glTransformFeedbackVaryingsNV glad_glTransformFeedbackVaryingsNV
+typedef void (APIENTRYP PFNGLACTIVEVARYINGNVPROC)(GLuint, const GLchar*);
+GLAPI PFNGLACTIVEVARYINGNVPROC glad_glActiveVaryingNV;
+#define glActiveVaryingNV glad_glActiveVaryingNV
+typedef GLint (APIENTRYP PFNGLGETVARYINGLOCATIONNVPROC)(GLuint, const GLchar*);
+GLAPI PFNGLGETVARYINGLOCATIONNVPROC glad_glGetVaryingLocationNV;
+#define glGetVaryingLocationNV glad_glGetVaryingLocationNV
+typedef void (APIENTRYP PFNGLGETACTIVEVARYINGNVPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*);
+GLAPI PFNGLGETACTIVEVARYINGNVPROC glad_glGetActiveVaryingNV;
+#define glGetActiveVaryingNV glad_glGetActiveVaryingNV
+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC)(GLuint, GLuint, GLint*);
+GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC glad_glGetTransformFeedbackVaryingNV;
+#define glGetTransformFeedbackVaryingNV glad_glGetTransformFeedbackVaryingNV
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC)(GLsizei, const GLint*, GLsizei, const GLint*, GLenum);
+GLAPI PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC glad_glTransformFeedbackStreamAttribsNV;
+#define glTransformFeedbackStreamAttribsNV glad_glTransformFeedbackStreamAttribsNV
+#endif
+#ifndef GL_NV_fragment_program
+#define GL_NV_fragment_program 1
+GLAPI int GLAD_GL_NV_fragment_program;
+typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FNVPROC)(GLuint, GLsizei, const GLubyte*, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLPROGRAMNAMEDPARAMETER4FNVPROC glad_glProgramNamedParameter4fNV;
+#define glProgramNamedParameter4fNV glad_glProgramNamedParameter4fNV
+typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC)(GLuint, GLsizei, const GLubyte*, const GLfloat*);
+GLAPI PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC glad_glProgramNamedParameter4fvNV;
+#define glProgramNamedParameter4fvNV glad_glProgramNamedParameter4fvNV
+typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DNVPROC)(GLuint, GLsizei, const GLubyte*, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLPROGRAMNAMEDPARAMETER4DNVPROC glad_glProgramNamedParameter4dNV;
+#define glProgramNamedParameter4dNV glad_glProgramNamedParameter4dNV
+typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC)(GLuint, GLsizei, const GLubyte*, const GLdouble*);
+GLAPI PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC glad_glProgramNamedParameter4dvNV;
+#define glProgramNamedParameter4dvNV glad_glProgramNamedParameter4dvNV
+typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC)(GLuint, GLsizei, const GLubyte*, GLfloat*);
+GLAPI PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC glad_glGetProgramNamedParameterfvNV;
+#define glGetProgramNamedParameterfvNV glad_glGetProgramNamedParameterfvNV
+typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC)(GLuint, GLsizei, const GLubyte*, GLdouble*);
+GLAPI PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC glad_glGetProgramNamedParameterdvNV;
+#define glGetProgramNamedParameterdvNV glad_glGetProgramNamedParameterdvNV
+#endif
+#ifndef GL_AMD_stencil_operation_extended
+#define GL_AMD_stencil_operation_extended 1
+GLAPI int GLAD_GL_AMD_stencil_operation_extended;
+typedef void (APIENTRYP PFNGLSTENCILOPVALUEAMDPROC)(GLenum, GLuint);
+GLAPI PFNGLSTENCILOPVALUEAMDPROC glad_glStencilOpValueAMD;
+#define glStencilOpValueAMD glad_glStencilOpValueAMD
+#endif
+#ifndef GL_ARB_seamless_cubemap_per_texture
+#define GL_ARB_seamless_cubemap_per_texture 1
+GLAPI int GLAD_GL_ARB_seamless_cubemap_per_texture;
+#endif
+#ifndef GL_ARB_instanced_arrays
+#define GL_ARB_instanced_arrays 1
+GLAPI int GLAD_GL_ARB_instanced_arrays;
+typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORARBPROC)(GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBDIVISORARBPROC glad_glVertexAttribDivisorARB;
+#define glVertexAttribDivisorARB glad_glVertexAttribDivisorARB
+#endif
+#ifndef GL_EXT_polygon_offset
+#define GL_EXT_polygon_offset 1
+GLAPI int GLAD_GL_EXT_polygon_offset;
+typedef void (APIENTRYP PFNGLPOLYGONOFFSETEXTPROC)(GLfloat, GLfloat);
+GLAPI PFNGLPOLYGONOFFSETEXTPROC glad_glPolygonOffsetEXT;
+#define glPolygonOffsetEXT glad_glPolygonOffsetEXT
+#endif
+#ifndef GL_NV_vertex_array_range2
+#define GL_NV_vertex_array_range2 1
+GLAPI int GLAD_GL_NV_vertex_array_range2;
+#endif
+#ifndef GL_AMD_sparse_texture
+#define GL_AMD_sparse_texture 1
+GLAPI int GLAD_GL_AMD_sparse_texture;
+typedef void (APIENTRYP PFNGLTEXSTORAGESPARSEAMDPROC)(GLenum, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLbitfield);
+GLAPI PFNGLTEXSTORAGESPARSEAMDPROC glad_glTexStorageSparseAMD;
+#define glTexStorageSparseAMD glad_glTexStorageSparseAMD
+typedef void (APIENTRYP PFNGLTEXTURESTORAGESPARSEAMDPROC)(GLuint, GLenum, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLbitfield);
+GLAPI PFNGLTEXTURESTORAGESPARSEAMDPROC glad_glTextureStorageSparseAMD;
+#define glTextureStorageSparseAMD glad_glTextureStorageSparseAMD
+#endif
+#ifndef GL_NV_fence
+#define GL_NV_fence 1
+GLAPI int GLAD_GL_NV_fence;
+typedef void (APIENTRYP PFNGLDELETEFENCESNVPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEFENCESNVPROC glad_glDeleteFencesNV;
+#define glDeleteFencesNV glad_glDeleteFencesNV
+typedef void (APIENTRYP PFNGLGENFENCESNVPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENFENCESNVPROC glad_glGenFencesNV;
+#define glGenFencesNV glad_glGenFencesNV
+typedef GLboolean (APIENTRYP PFNGLISFENCENVPROC)(GLuint);
+GLAPI PFNGLISFENCENVPROC glad_glIsFenceNV;
+#define glIsFenceNV glad_glIsFenceNV
+typedef GLboolean (APIENTRYP PFNGLTESTFENCENVPROC)(GLuint);
+GLAPI PFNGLTESTFENCENVPROC glad_glTestFenceNV;
+#define glTestFenceNV glad_glTestFenceNV
+typedef void (APIENTRYP PFNGLGETFENCEIVNVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETFENCEIVNVPROC glad_glGetFenceivNV;
+#define glGetFenceivNV glad_glGetFenceivNV
+typedef void (APIENTRYP PFNGLFINISHFENCENVPROC)(GLuint);
+GLAPI PFNGLFINISHFENCENVPROC glad_glFinishFenceNV;
+#define glFinishFenceNV glad_glFinishFenceNV
+typedef void (APIENTRYP PFNGLSETFENCENVPROC)(GLuint, GLenum);
+GLAPI PFNGLSETFENCENVPROC glad_glSetFenceNV;
+#define glSetFenceNV glad_glSetFenceNV
+#endif
+#ifndef GL_ARB_texture_buffer_range
+#define GL_ARB_texture_buffer_range 1
+GLAPI int GLAD_GL_ARB_texture_buffer_range;
+#endif
+#ifndef GL_SUN_mesh_array
+#define GL_SUN_mesh_array 1
+GLAPI int GLAD_GL_SUN_mesh_array;
+typedef void (APIENTRYP PFNGLDRAWMESHARRAYSSUNPROC)(GLenum, GLint, GLsizei, GLsizei);
+GLAPI PFNGLDRAWMESHARRAYSSUNPROC glad_glDrawMeshArraysSUN;
+#define glDrawMeshArraysSUN glad_glDrawMeshArraysSUN
+#endif
+#ifndef GL_ARB_vertex_attrib_binding
+#define GL_ARB_vertex_attrib_binding 1
+GLAPI int GLAD_GL_ARB_vertex_attrib_binding;
+#endif
+#ifndef GL_ARB_framebuffer_no_attachments
+#define GL_ARB_framebuffer_no_attachments 1
+GLAPI int GLAD_GL_ARB_framebuffer_no_attachments;
+#endif
+#ifndef GL_ARB_cl_event
+#define GL_ARB_cl_event 1
+GLAPI int GLAD_GL_ARB_cl_event;
+typedef GLsync (APIENTRYP PFNGLCREATESYNCFROMCLEVENTARBPROC)(struct _cl_context*, struct _cl_event*, GLbitfield);
+GLAPI PFNGLCREATESYNCFROMCLEVENTARBPROC glad_glCreateSyncFromCLeventARB;
+#define glCreateSyncFromCLeventARB glad_glCreateSyncFromCLeventARB
+#endif
+#ifndef GL_NV_packed_depth_stencil
+#define GL_NV_packed_depth_stencil 1
+GLAPI int GLAD_GL_NV_packed_depth_stencil;
+#endif
+#ifndef GL_OES_single_precision
+#define GL_OES_single_precision 1
+GLAPI int GLAD_GL_OES_single_precision;
+typedef void (APIENTRYP PFNGLCLEARDEPTHFOESPROC)(GLclampf);
+GLAPI PFNGLCLEARDEPTHFOESPROC glad_glClearDepthfOES;
+#define glClearDepthfOES glad_glClearDepthfOES
+typedef void (APIENTRYP PFNGLCLIPPLANEFOESPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLCLIPPLANEFOESPROC glad_glClipPlanefOES;
+#define glClipPlanefOES glad_glClipPlanefOES
+typedef void (APIENTRYP PFNGLDEPTHRANGEFOESPROC)(GLclampf, GLclampf);
+GLAPI PFNGLDEPTHRANGEFOESPROC glad_glDepthRangefOES;
+#define glDepthRangefOES glad_glDepthRangefOES
+typedef void (APIENTRYP PFNGLFRUSTUMFOESPROC)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLFRUSTUMFOESPROC glad_glFrustumfOES;
+#define glFrustumfOES glad_glFrustumfOES
+typedef void (APIENTRYP PFNGLGETCLIPPLANEFOESPROC)(GLenum, GLfloat*);
+GLAPI PFNGLGETCLIPPLANEFOESPROC glad_glGetClipPlanefOES;
+#define glGetClipPlanefOES glad_glGetClipPlanefOES
+typedef void (APIENTRYP PFNGLORTHOFOESPROC)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLORTHOFOESPROC glad_glOrthofOES;
+#define glOrthofOES glad_glOrthofOES
+#endif
+#ifndef GL_NV_primitive_restart
+#define GL_NV_primitive_restart 1
+GLAPI int GLAD_GL_NV_primitive_restart;
+typedef void (APIENTRYP PFNGLPRIMITIVERESTARTNVPROC)();
+GLAPI PFNGLPRIMITIVERESTARTNVPROC glad_glPrimitiveRestartNV;
+#define glPrimitiveRestartNV glad_glPrimitiveRestartNV
+typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXNVPROC)(GLuint);
+GLAPI PFNGLPRIMITIVERESTARTINDEXNVPROC glad_glPrimitiveRestartIndexNV;
+#define glPrimitiveRestartIndexNV glad_glPrimitiveRestartIndexNV
+#endif
+#ifndef GL_SUN_global_alpha
+#define GL_SUN_global_alpha 1
+GLAPI int GLAD_GL_SUN_global_alpha;
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORBSUNPROC)(GLbyte);
+GLAPI PFNGLGLOBALALPHAFACTORBSUNPROC glad_glGlobalAlphaFactorbSUN;
+#define glGlobalAlphaFactorbSUN glad_glGlobalAlphaFactorbSUN
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORSSUNPROC)(GLshort);
+GLAPI PFNGLGLOBALALPHAFACTORSSUNPROC glad_glGlobalAlphaFactorsSUN;
+#define glGlobalAlphaFactorsSUN glad_glGlobalAlphaFactorsSUN
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORISUNPROC)(GLint);
+GLAPI PFNGLGLOBALALPHAFACTORISUNPROC glad_glGlobalAlphaFactoriSUN;
+#define glGlobalAlphaFactoriSUN glad_glGlobalAlphaFactoriSUN
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORFSUNPROC)(GLfloat);
+GLAPI PFNGLGLOBALALPHAFACTORFSUNPROC glad_glGlobalAlphaFactorfSUN;
+#define glGlobalAlphaFactorfSUN glad_glGlobalAlphaFactorfSUN
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORDSUNPROC)(GLdouble);
+GLAPI PFNGLGLOBALALPHAFACTORDSUNPROC glad_glGlobalAlphaFactordSUN;
+#define glGlobalAlphaFactordSUN glad_glGlobalAlphaFactordSUN
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUBSUNPROC)(GLubyte);
+GLAPI PFNGLGLOBALALPHAFACTORUBSUNPROC glad_glGlobalAlphaFactorubSUN;
+#define glGlobalAlphaFactorubSUN glad_glGlobalAlphaFactorubSUN
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUSSUNPROC)(GLushort);
+GLAPI PFNGLGLOBALALPHAFACTORUSSUNPROC glad_glGlobalAlphaFactorusSUN;
+#define glGlobalAlphaFactorusSUN glad_glGlobalAlphaFactorusSUN
+typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUISUNPROC)(GLuint);
+GLAPI PFNGLGLOBALALPHAFACTORUISUNPROC glad_glGlobalAlphaFactoruiSUN;
+#define glGlobalAlphaFactoruiSUN glad_glGlobalAlphaFactoruiSUN
+#endif
+#ifndef GL_EXT_texture_object
+#define GL_EXT_texture_object 1
+GLAPI int GLAD_GL_EXT_texture_object;
+typedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTEXTPROC)(GLsizei, const GLuint*, GLboolean*);
+GLAPI PFNGLARETEXTURESRESIDENTEXTPROC glad_glAreTexturesResidentEXT;
+#define glAreTexturesResidentEXT glad_glAreTexturesResidentEXT
+typedef void (APIENTRYP PFNGLBINDTEXTUREEXTPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDTEXTUREEXTPROC glad_glBindTextureEXT;
+#define glBindTextureEXT glad_glBindTextureEXT
+typedef void (APIENTRYP PFNGLDELETETEXTURESEXTPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETETEXTURESEXTPROC glad_glDeleteTexturesEXT;
+#define glDeleteTexturesEXT glad_glDeleteTexturesEXT
+typedef void (APIENTRYP PFNGLGENTEXTURESEXTPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENTEXTURESEXTPROC glad_glGenTexturesEXT;
+#define glGenTexturesEXT glad_glGenTexturesEXT
+typedef GLboolean (APIENTRYP PFNGLISTEXTUREEXTPROC)(GLuint);
+GLAPI PFNGLISTEXTUREEXTPROC glad_glIsTextureEXT;
+#define glIsTextureEXT glad_glIsTextureEXT
+typedef void (APIENTRYP PFNGLPRIORITIZETEXTURESEXTPROC)(GLsizei, const GLuint*, const GLclampf*);
+GLAPI PFNGLPRIORITIZETEXTURESEXTPROC glad_glPrioritizeTexturesEXT;
+#define glPrioritizeTexturesEXT glad_glPrioritizeTexturesEXT
+#endif
+#ifndef GL_AMD_name_gen_delete
+#define GL_AMD_name_gen_delete 1
+GLAPI int GLAD_GL_AMD_name_gen_delete;
+typedef void (APIENTRYP PFNGLGENNAMESAMDPROC)(GLenum, GLuint, GLuint*);
+GLAPI PFNGLGENNAMESAMDPROC glad_glGenNamesAMD;
+#define glGenNamesAMD glad_glGenNamesAMD
+typedef void (APIENTRYP PFNGLDELETENAMESAMDPROC)(GLenum, GLuint, const GLuint*);
+GLAPI PFNGLDELETENAMESAMDPROC glad_glDeleteNamesAMD;
+#define glDeleteNamesAMD glad_glDeleteNamesAMD
+typedef GLboolean (APIENTRYP PFNGLISNAMEAMDPROC)(GLenum, GLuint);
+GLAPI PFNGLISNAMEAMDPROC glad_glIsNameAMD;
+#define glIsNameAMD glad_glIsNameAMD
+#endif
+#ifndef GL_NV_texture_compression_vtc
+#define GL_NV_texture_compression_vtc 1
+GLAPI int GLAD_GL_NV_texture_compression_vtc;
+#endif
+#ifndef GL_SGIX_ycrcb_subsample
+#define GL_SGIX_ycrcb_subsample 1
+GLAPI int GLAD_GL_SGIX_ycrcb_subsample;
+#endif
+#ifndef GL_NV_texture_shader3
+#define GL_NV_texture_shader3 1
+GLAPI int GLAD_GL_NV_texture_shader3;
+#endif
+#ifndef GL_NV_texture_shader2
+#define GL_NV_texture_shader2 1
+GLAPI int GLAD_GL_NV_texture_shader2;
+#endif
+#ifndef GL_EXT_texture
+#define GL_EXT_texture 1
+GLAPI int GLAD_GL_EXT_texture;
+#endif
+#ifndef GL_ARB_buffer_storage
+#define GL_ARB_buffer_storage 1
+GLAPI int GLAD_GL_ARB_buffer_storage;
+#endif
+#ifndef GL_AMD_shader_atomic_counter_ops
+#define GL_AMD_shader_atomic_counter_ops 1
+GLAPI int GLAD_GL_AMD_shader_atomic_counter_ops;
+#endif
+#ifndef GL_APPLE_vertex_program_evaluators
+#define GL_APPLE_vertex_program_evaluators 1
+GLAPI int GLAD_GL_APPLE_vertex_program_evaluators;
+typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBAPPLEPROC)(GLuint, GLenum);
+GLAPI PFNGLENABLEVERTEXATTRIBAPPLEPROC glad_glEnableVertexAttribAPPLE;
+#define glEnableVertexAttribAPPLE glad_glEnableVertexAttribAPPLE
+typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBAPPLEPROC)(GLuint, GLenum);
+GLAPI PFNGLDISABLEVERTEXATTRIBAPPLEPROC glad_glDisableVertexAttribAPPLE;
+#define glDisableVertexAttribAPPLE glad_glDisableVertexAttribAPPLE
+typedef GLboolean (APIENTRYP PFNGLISVERTEXATTRIBENABLEDAPPLEPROC)(GLuint, GLenum);
+GLAPI PFNGLISVERTEXATTRIBENABLEDAPPLEPROC glad_glIsVertexAttribEnabledAPPLE;
+#define glIsVertexAttribEnabledAPPLE glad_glIsVertexAttribEnabledAPPLE
+typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1DAPPLEPROC)(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, const GLdouble*);
+GLAPI PFNGLMAPVERTEXATTRIB1DAPPLEPROC glad_glMapVertexAttrib1dAPPLE;
+#define glMapVertexAttrib1dAPPLE glad_glMapVertexAttrib1dAPPLE
+typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB1FAPPLEPROC)(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, const GLfloat*);
+GLAPI PFNGLMAPVERTEXATTRIB1FAPPLEPROC glad_glMapVertexAttrib1fAPPLE;
+#define glMapVertexAttrib1fAPPLE glad_glMapVertexAttrib1fAPPLE
+typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2DAPPLEPROC)(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble*);
+GLAPI PFNGLMAPVERTEXATTRIB2DAPPLEPROC glad_glMapVertexAttrib2dAPPLE;
+#define glMapVertexAttrib2dAPPLE glad_glMapVertexAttrib2dAPPLE
+typedef void (APIENTRYP PFNGLMAPVERTEXATTRIB2FAPPLEPROC)(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat*);
+GLAPI PFNGLMAPVERTEXATTRIB2FAPPLEPROC glad_glMapVertexAttrib2fAPPLE;
+#define glMapVertexAttrib2fAPPLE glad_glMapVertexAttrib2fAPPLE
+#endif
+#ifndef GL_ARB_multi_bind
+#define GL_ARB_multi_bind 1
+GLAPI int GLAD_GL_ARB_multi_bind;
+#endif
+#ifndef GL_ARB_explicit_uniform_location
+#define GL_ARB_explicit_uniform_location 1
+GLAPI int GLAD_GL_ARB_explicit_uniform_location;
+#endif
+#ifndef GL_ARB_depth_buffer_float
+#define GL_ARB_depth_buffer_float 1
+GLAPI int GLAD_GL_ARB_depth_buffer_float;
+#endif
+#ifndef GL_SGIX_shadow_ambient
+#define GL_SGIX_shadow_ambient 1
+GLAPI int GLAD_GL_SGIX_shadow_ambient;
+#endif
+#ifndef GL_ARB_texture_cube_map
+#define GL_ARB_texture_cube_map 1
+GLAPI int GLAD_GL_ARB_texture_cube_map;
+#endif
+#ifndef GL_AMD_vertex_shader_viewport_index
+#define GL_AMD_vertex_shader_viewport_index 1
+GLAPI int GLAD_GL_AMD_vertex_shader_viewport_index;
+#endif
+#ifndef GL_SGIX_list_priority
+#define GL_SGIX_list_priority 1
+GLAPI int GLAD_GL_SGIX_list_priority;
+typedef void (APIENTRYP PFNGLGETLISTPARAMETERFVSGIXPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETLISTPARAMETERFVSGIXPROC glad_glGetListParameterfvSGIX;
+#define glGetListParameterfvSGIX glad_glGetListParameterfvSGIX
+typedef void (APIENTRYP PFNGLGETLISTPARAMETERIVSGIXPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETLISTPARAMETERIVSGIXPROC glad_glGetListParameterivSGIX;
+#define glGetListParameterivSGIX glad_glGetListParameterivSGIX
+typedef void (APIENTRYP PFNGLLISTPARAMETERFSGIXPROC)(GLuint, GLenum, GLfloat);
+GLAPI PFNGLLISTPARAMETERFSGIXPROC glad_glListParameterfSGIX;
+#define glListParameterfSGIX glad_glListParameterfSGIX
+typedef void (APIENTRYP PFNGLLISTPARAMETERFVSGIXPROC)(GLuint, GLenum, const GLfloat*);
+GLAPI PFNGLLISTPARAMETERFVSGIXPROC glad_glListParameterfvSGIX;
+#define glListParameterfvSGIX glad_glListParameterfvSGIX
+typedef void (APIENTRYP PFNGLLISTPARAMETERISGIXPROC)(GLuint, GLenum, GLint);
+GLAPI PFNGLLISTPARAMETERISGIXPROC glad_glListParameteriSGIX;
+#define glListParameteriSGIX glad_glListParameteriSGIX
+typedef void (APIENTRYP PFNGLLISTPARAMETERIVSGIXPROC)(GLuint, GLenum, const GLint*);
+GLAPI PFNGLLISTPARAMETERIVSGIXPROC glad_glListParameterivSGIX;
+#define glListParameterivSGIX glad_glListParameterivSGIX
+#endif
+#ifndef GL_NV_vertex_buffer_unified_memory
+#define GL_NV_vertex_buffer_unified_memory 1
+GLAPI int GLAD_GL_NV_vertex_buffer_unified_memory;
+typedef void (APIENTRYP PFNGLBUFFERADDRESSRANGENVPROC)(GLenum, GLuint, GLuint64EXT, GLsizeiptr);
+GLAPI PFNGLBUFFERADDRESSRANGENVPROC glad_glBufferAddressRangeNV;
+#define glBufferAddressRangeNV glad_glBufferAddressRangeNV
+typedef void (APIENTRYP PFNGLVERTEXFORMATNVPROC)(GLint, GLenum, GLsizei);
+GLAPI PFNGLVERTEXFORMATNVPROC glad_glVertexFormatNV;
+#define glVertexFormatNV glad_glVertexFormatNV
+typedef void (APIENTRYP PFNGLNORMALFORMATNVPROC)(GLenum, GLsizei);
+GLAPI PFNGLNORMALFORMATNVPROC glad_glNormalFormatNV;
+#define glNormalFormatNV glad_glNormalFormatNV
+typedef void (APIENTRYP PFNGLCOLORFORMATNVPROC)(GLint, GLenum, GLsizei);
+GLAPI PFNGLCOLORFORMATNVPROC glad_glColorFormatNV;
+#define glColorFormatNV glad_glColorFormatNV
+typedef void (APIENTRYP PFNGLINDEXFORMATNVPROC)(GLenum, GLsizei);
+GLAPI PFNGLINDEXFORMATNVPROC glad_glIndexFormatNV;
+#define glIndexFormatNV glad_glIndexFormatNV
+typedef void (APIENTRYP PFNGLTEXCOORDFORMATNVPROC)(GLint, GLenum, GLsizei);
+GLAPI PFNGLTEXCOORDFORMATNVPROC glad_glTexCoordFormatNV;
+#define glTexCoordFormatNV glad_glTexCoordFormatNV
+typedef void (APIENTRYP PFNGLEDGEFLAGFORMATNVPROC)(GLsizei);
+GLAPI PFNGLEDGEFLAGFORMATNVPROC glad_glEdgeFlagFormatNV;
+#define glEdgeFlagFormatNV glad_glEdgeFlagFormatNV
+typedef void (APIENTRYP PFNGLSECONDARYCOLORFORMATNVPROC)(GLint, GLenum, GLsizei);
+GLAPI PFNGLSECONDARYCOLORFORMATNVPROC glad_glSecondaryColorFormatNV;
+#define glSecondaryColorFormatNV glad_glSecondaryColorFormatNV
+typedef void (APIENTRYP PFNGLFOGCOORDFORMATNVPROC)(GLenum, GLsizei);
+GLAPI PFNGLFOGCOORDFORMATNVPROC glad_glFogCoordFormatNV;
+#define glFogCoordFormatNV glad_glFogCoordFormatNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATNVPROC)(GLuint, GLint, GLenum, GLboolean, GLsizei);
+GLAPI PFNGLVERTEXATTRIBFORMATNVPROC glad_glVertexAttribFormatNV;
+#define glVertexAttribFormatNV glad_glVertexAttribFormatNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATNVPROC)(GLuint, GLint, GLenum, GLsizei);
+GLAPI PFNGLVERTEXATTRIBIFORMATNVPROC glad_glVertexAttribIFormatNV;
+#define glVertexAttribIFormatNV glad_glVertexAttribIFormatNV
+typedef void (APIENTRYP PFNGLGETINTEGERUI64I_VNVPROC)(GLenum, GLuint, GLuint64EXT*);
+GLAPI PFNGLGETINTEGERUI64I_VNVPROC glad_glGetIntegerui64i_vNV;
+#define glGetIntegerui64i_vNV glad_glGetIntegerui64i_vNV
+#endif
+#ifndef GL_EXT_texture_env_dot3
+#define GL_EXT_texture_env_dot3 1
+GLAPI int GLAD_GL_EXT_texture_env_dot3;
+#endif
+#ifndef GL_ATI_texture_env_combine3
+#define GL_ATI_texture_env_combine3 1
+GLAPI int GLAD_GL_ATI_texture_env_combine3;
+#endif
+#ifndef GL_ARB_map_buffer_alignment
+#define GL_ARB_map_buffer_alignment 1
+GLAPI int GLAD_GL_ARB_map_buffer_alignment;
+#endif
+#ifndef GL_NV_blend_equation_advanced
+#define GL_NV_blend_equation_advanced 1
+GLAPI int GLAD_GL_NV_blend_equation_advanced;
+typedef void (APIENTRYP PFNGLBLENDPARAMETERINVPROC)(GLenum, GLint);
+GLAPI PFNGLBLENDPARAMETERINVPROC glad_glBlendParameteriNV;
+#define glBlendParameteriNV glad_glBlendParameteriNV
+typedef void (APIENTRYP PFNGLBLENDBARRIERNVPROC)();
+GLAPI PFNGLBLENDBARRIERNVPROC glad_glBlendBarrierNV;
+#define glBlendBarrierNV glad_glBlendBarrierNV
+#endif
+#ifndef GL_SGIS_sharpen_texture
+#define GL_SGIS_sharpen_texture 1
+GLAPI int GLAD_GL_SGIS_sharpen_texture;
+typedef void (APIENTRYP PFNGLSHARPENTEXFUNCSGISPROC)(GLenum, GLsizei, const GLfloat*);
+GLAPI PFNGLSHARPENTEXFUNCSGISPROC glad_glSharpenTexFuncSGIS;
+#define glSharpenTexFuncSGIS glad_glSharpenTexFuncSGIS
+typedef void (APIENTRYP PFNGLGETSHARPENTEXFUNCSGISPROC)(GLenum, GLfloat*);
+GLAPI PFNGLGETSHARPENTEXFUNCSGISPROC glad_glGetSharpenTexFuncSGIS;
+#define glGetSharpenTexFuncSGIS glad_glGetSharpenTexFuncSGIS
+#endif
+#ifndef GL_ARB_vertex_program
+#define GL_ARB_vertex_program 1
+GLAPI int GLAD_GL_ARB_vertex_program;
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DARBPROC)(GLuint, GLdouble);
+GLAPI PFNGLVERTEXATTRIB1DARBPROC glad_glVertexAttrib1dARB;
+#define glVertexAttrib1dARB glad_glVertexAttrib1dARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVARBPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB1DVARBPROC glad_glVertexAttrib1dvARB;
+#define glVertexAttrib1dvARB glad_glVertexAttrib1dvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FARBPROC)(GLuint, GLfloat);
+GLAPI PFNGLVERTEXATTRIB1FARBPROC glad_glVertexAttrib1fARB;
+#define glVertexAttrib1fARB glad_glVertexAttrib1fARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVARBPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB1FVARBPROC glad_glVertexAttrib1fvARB;
+#define glVertexAttrib1fvARB glad_glVertexAttrib1fvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SARBPROC)(GLuint, GLshort);
+GLAPI PFNGLVERTEXATTRIB1SARBPROC glad_glVertexAttrib1sARB;
+#define glVertexAttrib1sARB glad_glVertexAttrib1sARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVARBPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB1SVARBPROC glad_glVertexAttrib1svARB;
+#define glVertexAttrib1svARB glad_glVertexAttrib1svARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DARBPROC)(GLuint, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIB2DARBPROC glad_glVertexAttrib2dARB;
+#define glVertexAttrib2dARB glad_glVertexAttrib2dARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVARBPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB2DVARBPROC glad_glVertexAttrib2dvARB;
+#define glVertexAttrib2dvARB glad_glVertexAttrib2dvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FARBPROC)(GLuint, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXATTRIB2FARBPROC glad_glVertexAttrib2fARB;
+#define glVertexAttrib2fARB glad_glVertexAttrib2fARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVARBPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB2FVARBPROC glad_glVertexAttrib2fvARB;
+#define glVertexAttrib2fvARB glad_glVertexAttrib2fvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SARBPROC)(GLuint, GLshort, GLshort);
+GLAPI PFNGLVERTEXATTRIB2SARBPROC glad_glVertexAttrib2sARB;
+#define glVertexAttrib2sARB glad_glVertexAttrib2sARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVARBPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB2SVARBPROC glad_glVertexAttrib2svARB;
+#define glVertexAttrib2svARB glad_glVertexAttrib2svARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DARBPROC)(GLuint, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIB3DARBPROC glad_glVertexAttrib3dARB;
+#define glVertexAttrib3dARB glad_glVertexAttrib3dARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVARBPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB3DVARBPROC glad_glVertexAttrib3dvARB;
+#define glVertexAttrib3dvARB glad_glVertexAttrib3dvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FARBPROC)(GLuint, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXATTRIB3FARBPROC glad_glVertexAttrib3fARB;
+#define glVertexAttrib3fARB glad_glVertexAttrib3fARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVARBPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB3FVARBPROC glad_glVertexAttrib3fvARB;
+#define glVertexAttrib3fvARB glad_glVertexAttrib3fvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SARBPROC)(GLuint, GLshort, GLshort, GLshort);
+GLAPI PFNGLVERTEXATTRIB3SARBPROC glad_glVertexAttrib3sARB;
+#define glVertexAttrib3sARB glad_glVertexAttrib3sARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVARBPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB3SVARBPROC glad_glVertexAttrib3svARB;
+#define glVertexAttrib3svARB glad_glVertexAttrib3svARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVARBPROC)(GLuint, const GLbyte*);
+GLAPI PFNGLVERTEXATTRIB4NBVARBPROC glad_glVertexAttrib4NbvARB;
+#define glVertexAttrib4NbvARB glad_glVertexAttrib4NbvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVARBPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIB4NIVARBPROC glad_glVertexAttrib4NivARB;
+#define glVertexAttrib4NivARB glad_glVertexAttrib4NivARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVARBPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB4NSVARBPROC glad_glVertexAttrib4NsvARB;
+#define glVertexAttrib4NsvARB glad_glVertexAttrib4NsvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBARBPROC)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
+GLAPI PFNGLVERTEXATTRIB4NUBARBPROC glad_glVertexAttrib4NubARB;
+#define glVertexAttrib4NubARB glad_glVertexAttrib4NubARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVARBPROC)(GLuint, const GLubyte*);
+GLAPI PFNGLVERTEXATTRIB4NUBVARBPROC glad_glVertexAttrib4NubvARB;
+#define glVertexAttrib4NubvARB glad_glVertexAttrib4NubvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVARBPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIB4NUIVARBPROC glad_glVertexAttrib4NuivARB;
+#define glVertexAttrib4NuivARB glad_glVertexAttrib4NuivARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVARBPROC)(GLuint, const GLushort*);
+GLAPI PFNGLVERTEXATTRIB4NUSVARBPROC glad_glVertexAttrib4NusvARB;
+#define glVertexAttrib4NusvARB glad_glVertexAttrib4NusvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVARBPROC)(GLuint, const GLbyte*);
+GLAPI PFNGLVERTEXATTRIB4BVARBPROC glad_glVertexAttrib4bvARB;
+#define glVertexAttrib4bvARB glad_glVertexAttrib4bvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DARBPROC)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIB4DARBPROC glad_glVertexAttrib4dARB;
+#define glVertexAttrib4dARB glad_glVertexAttrib4dARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVARBPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB4DVARBPROC glad_glVertexAttrib4dvARB;
+#define glVertexAttrib4dvARB glad_glVertexAttrib4dvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FARBPROC)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXATTRIB4FARBPROC glad_glVertexAttrib4fARB;
+#define glVertexAttrib4fARB glad_glVertexAttrib4fARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVARBPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB4FVARBPROC glad_glVertexAttrib4fvARB;
+#define glVertexAttrib4fvARB glad_glVertexAttrib4fvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVARBPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIB4IVARBPROC glad_glVertexAttrib4ivARB;
+#define glVertexAttrib4ivARB glad_glVertexAttrib4ivARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SARBPROC)(GLuint, GLshort, GLshort, GLshort, GLshort);
+GLAPI PFNGLVERTEXATTRIB4SARBPROC glad_glVertexAttrib4sARB;
+#define glVertexAttrib4sARB glad_glVertexAttrib4sARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVARBPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB4SVARBPROC glad_glVertexAttrib4svARB;
+#define glVertexAttrib4svARB glad_glVertexAttrib4svARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVARBPROC)(GLuint, const GLubyte*);
+GLAPI PFNGLVERTEXATTRIB4UBVARBPROC glad_glVertexAttrib4ubvARB;
+#define glVertexAttrib4ubvARB glad_glVertexAttrib4ubvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVARBPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIB4UIVARBPROC glad_glVertexAttrib4uivARB;
+#define glVertexAttrib4uivARB glad_glVertexAttrib4uivARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVARBPROC)(GLuint, const GLushort*);
+GLAPI PFNGLVERTEXATTRIB4USVARBPROC glad_glVertexAttrib4usvARB;
+#define glVertexAttrib4usvARB glad_glVertexAttrib4usvARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERARBPROC)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void*);
+GLAPI PFNGLVERTEXATTRIBPOINTERARBPROC glad_glVertexAttribPointerARB;
+#define glVertexAttribPointerARB glad_glVertexAttribPointerARB
+typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYARBPROC)(GLuint);
+GLAPI PFNGLENABLEVERTEXATTRIBARRAYARBPROC glad_glEnableVertexAttribArrayARB;
+#define glEnableVertexAttribArrayARB glad_glEnableVertexAttribArrayARB
+typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)(GLuint);
+GLAPI PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glad_glDisableVertexAttribArrayARB;
+#define glDisableVertexAttribArrayARB glad_glDisableVertexAttribArrayARB
+typedef void (APIENTRYP PFNGLPROGRAMSTRINGARBPROC)(GLenum, GLenum, GLsizei, const void*);
+GLAPI PFNGLPROGRAMSTRINGARBPROC glad_glProgramStringARB;
+#define glProgramStringARB glad_glProgramStringARB
+typedef void (APIENTRYP PFNGLBINDPROGRAMARBPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDPROGRAMARBPROC glad_glBindProgramARB;
+#define glBindProgramARB glad_glBindProgramARB
+typedef void (APIENTRYP PFNGLDELETEPROGRAMSARBPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEPROGRAMSARBPROC glad_glDeleteProgramsARB;
+#define glDeleteProgramsARB glad_glDeleteProgramsARB
+typedef void (APIENTRYP PFNGLGENPROGRAMSARBPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENPROGRAMSARBPROC glad_glGenProgramsARB;
+#define glGenProgramsARB glad_glGenProgramsARB
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DARBPROC)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLPROGRAMENVPARAMETER4DARBPROC glad_glProgramEnvParameter4dARB;
+#define glProgramEnvParameter4dARB glad_glProgramEnvParameter4dARB
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DVARBPROC)(GLenum, GLuint, const GLdouble*);
+GLAPI PFNGLPROGRAMENVPARAMETER4DVARBPROC glad_glProgramEnvParameter4dvARB;
+#define glProgramEnvParameter4dvARB glad_glProgramEnvParameter4dvARB
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FARBPROC)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLPROGRAMENVPARAMETER4FARBPROC glad_glProgramEnvParameter4fARB;
+#define glProgramEnvParameter4fARB glad_glProgramEnvParameter4fARB
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FVARBPROC)(GLenum, GLuint, const GLfloat*);
+GLAPI PFNGLPROGRAMENVPARAMETER4FVARBPROC glad_glProgramEnvParameter4fvARB;
+#define glProgramEnvParameter4fvARB glad_glProgramEnvParameter4fvARB
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DARBPROC)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLPROGRAMLOCALPARAMETER4DARBPROC glad_glProgramLocalParameter4dARB;
+#define glProgramLocalParameter4dARB glad_glProgramLocalParameter4dARB
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)(GLenum, GLuint, const GLdouble*);
+GLAPI PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glad_glProgramLocalParameter4dvARB;
+#define glProgramLocalParameter4dvARB glad_glProgramLocalParameter4dvARB
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FARBPROC)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLPROGRAMLOCALPARAMETER4FARBPROC glad_glProgramLocalParameter4fARB;
+#define glProgramLocalParameter4fARB glad_glProgramLocalParameter4fARB
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)(GLenum, GLuint, const GLfloat*);
+GLAPI PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glad_glProgramLocalParameter4fvARB;
+#define glProgramLocalParameter4fvARB glad_glProgramLocalParameter4fvARB
+typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERDVARBPROC)(GLenum, GLuint, GLdouble*);
+GLAPI PFNGLGETPROGRAMENVPARAMETERDVARBPROC glad_glGetProgramEnvParameterdvARB;
+#define glGetProgramEnvParameterdvARB glad_glGetProgramEnvParameterdvARB
+typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERFVARBPROC)(GLenum, GLuint, GLfloat*);
+GLAPI PFNGLGETPROGRAMENVPARAMETERFVARBPROC glad_glGetProgramEnvParameterfvARB;
+#define glGetProgramEnvParameterfvARB glad_glGetProgramEnvParameterfvARB
+typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)(GLenum, GLuint, GLdouble*);
+GLAPI PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glad_glGetProgramLocalParameterdvARB;
+#define glGetProgramLocalParameterdvARB glad_glGetProgramLocalParameterdvARB
+typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)(GLenum, GLuint, GLfloat*);
+GLAPI PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glad_glGetProgramLocalParameterfvARB;
+#define glGetProgramLocalParameterfvARB glad_glGetProgramLocalParameterfvARB
+typedef void (APIENTRYP PFNGLGETPROGRAMIVARBPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETPROGRAMIVARBPROC glad_glGetProgramivARB;
+#define glGetProgramivARB glad_glGetProgramivARB
+typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGARBPROC)(GLenum, GLenum, void*);
+GLAPI PFNGLGETPROGRAMSTRINGARBPROC glad_glGetProgramStringARB;
+#define glGetProgramStringARB glad_glGetProgramStringARB
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVARBPROC)(GLuint, GLenum, GLdouble*);
+GLAPI PFNGLGETVERTEXATTRIBDVARBPROC glad_glGetVertexAttribdvARB;
+#define glGetVertexAttribdvARB glad_glGetVertexAttribdvARB
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVARBPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETVERTEXATTRIBFVARBPROC glad_glGetVertexAttribfvARB;
+#define glGetVertexAttribfvARB glad_glGetVertexAttribfvARB
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVARBPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVERTEXATTRIBIVARBPROC glad_glGetVertexAttribivARB;
+#define glGetVertexAttribivARB glad_glGetVertexAttribivARB
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVARBPROC)(GLuint, GLenum, void**);
+GLAPI PFNGLGETVERTEXATTRIBPOINTERVARBPROC glad_glGetVertexAttribPointervARB;
+#define glGetVertexAttribPointervARB glad_glGetVertexAttribPointervARB
+typedef GLboolean (APIENTRYP PFNGLISPROGRAMARBPROC)(GLuint);
+GLAPI PFNGLISPROGRAMARBPROC glad_glIsProgramARB;
+#define glIsProgramARB glad_glIsProgramARB
+#endif
+#ifndef GL_ARB_texture_rgb10_a2ui
+#define GL_ARB_texture_rgb10_a2ui 1
+GLAPI int GLAD_GL_ARB_texture_rgb10_a2ui;
+#endif
+#ifndef GL_OML_interlace
+#define GL_OML_interlace 1
+GLAPI int GLAD_GL_OML_interlace;
+#endif
+#ifndef GL_ATI_pixel_format_float
+#define GL_ATI_pixel_format_float 1
+GLAPI int GLAD_GL_ATI_pixel_format_float;
+#endif
+#ifndef GL_ARB_vertex_buffer_object
+#define GL_ARB_vertex_buffer_object 1
+GLAPI int GLAD_GL_ARB_vertex_buffer_object;
+typedef void (APIENTRYP PFNGLBINDBUFFERARBPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDBUFFERARBPROC glad_glBindBufferARB;
+#define glBindBufferARB glad_glBindBufferARB
+typedef void (APIENTRYP PFNGLDELETEBUFFERSARBPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEBUFFERSARBPROC glad_glDeleteBuffersARB;
+#define glDeleteBuffersARB glad_glDeleteBuffersARB
+typedef void (APIENTRYP PFNGLGENBUFFERSARBPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENBUFFERSARBPROC glad_glGenBuffersARB;
+#define glGenBuffersARB glad_glGenBuffersARB
+typedef GLboolean (APIENTRYP PFNGLISBUFFERARBPROC)(GLuint);
+GLAPI PFNGLISBUFFERARBPROC glad_glIsBufferARB;
+#define glIsBufferARB glad_glIsBufferARB
+typedef void (APIENTRYP PFNGLBUFFERDATAARBPROC)(GLenum, GLsizeiptrARB, const void*, GLenum);
+GLAPI PFNGLBUFFERDATAARBPROC glad_glBufferDataARB;
+#define glBufferDataARB glad_glBufferDataARB
+typedef void (APIENTRYP PFNGLBUFFERSUBDATAARBPROC)(GLenum, GLintptrARB, GLsizeiptrARB, const void*);
+GLAPI PFNGLBUFFERSUBDATAARBPROC glad_glBufferSubDataARB;
+#define glBufferSubDataARB glad_glBufferSubDataARB
+typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAARBPROC)(GLenum, GLintptrARB, GLsizeiptrARB, void*);
+GLAPI PFNGLGETBUFFERSUBDATAARBPROC glad_glGetBufferSubDataARB;
+#define glGetBufferSubDataARB glad_glGetBufferSubDataARB
+typedef void* (APIENTRYP PFNGLMAPBUFFERARBPROC)(GLenum, GLenum);
+GLAPI PFNGLMAPBUFFERARBPROC glad_glMapBufferARB;
+#define glMapBufferARB glad_glMapBufferARB
+typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERARBPROC)(GLenum);
+GLAPI PFNGLUNMAPBUFFERARBPROC glad_glUnmapBufferARB;
+#define glUnmapBufferARB glad_glUnmapBufferARB
+typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVARBPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETBUFFERPARAMETERIVARBPROC glad_glGetBufferParameterivARB;
+#define glGetBufferParameterivARB glad_glGetBufferParameterivARB
+typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVARBPROC)(GLenum, GLenum, void**);
+GLAPI PFNGLGETBUFFERPOINTERVARBPROC glad_glGetBufferPointervARB;
+#define glGetBufferPointervARB glad_glGetBufferPointervARB
+#endif
+#ifndef GL_EXT_shadow_funcs
+#define GL_EXT_shadow_funcs 1
+GLAPI int GLAD_GL_EXT_shadow_funcs;
+#endif
+#ifndef GL_ATI_text_fragment_shader
+#define GL_ATI_text_fragment_shader 1
+GLAPI int GLAD_GL_ATI_text_fragment_shader;
+#endif
+#ifndef GL_NV_vertex_array_range
+#define GL_NV_vertex_array_range 1
+GLAPI int GLAD_GL_NV_vertex_array_range;
+typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGENVPROC)();
+GLAPI PFNGLFLUSHVERTEXARRAYRANGENVPROC glad_glFlushVertexArrayRangeNV;
+#define glFlushVertexArrayRangeNV glad_glFlushVertexArrayRangeNV
+typedef void (APIENTRYP PFNGLVERTEXARRAYRANGENVPROC)(GLsizei, const void*);
+GLAPI PFNGLVERTEXARRAYRANGENVPROC glad_glVertexArrayRangeNV;
+#define glVertexArrayRangeNV glad_glVertexArrayRangeNV
+#endif
+#ifndef GL_SGIX_fragment_lighting
+#define GL_SGIX_fragment_lighting 1
+GLAPI int GLAD_GL_SGIX_fragment_lighting;
+typedef void (APIENTRYP PFNGLFRAGMENTCOLORMATERIALSGIXPROC)(GLenum, GLenum);
+GLAPI PFNGLFRAGMENTCOLORMATERIALSGIXPROC glad_glFragmentColorMaterialSGIX;
+#define glFragmentColorMaterialSGIX glad_glFragmentColorMaterialSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFSGIXPROC)(GLenum, GLenum, GLfloat);
+GLAPI PFNGLFRAGMENTLIGHTFSGIXPROC glad_glFragmentLightfSGIX;
+#define glFragmentLightfSGIX glad_glFragmentLightfSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLFRAGMENTLIGHTFVSGIXPROC glad_glFragmentLightfvSGIX;
+#define glFragmentLightfvSGIX glad_glFragmentLightfvSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTISGIXPROC)(GLenum, GLenum, GLint);
+GLAPI PFNGLFRAGMENTLIGHTISGIXPROC glad_glFragmentLightiSGIX;
+#define glFragmentLightiSGIX glad_glFragmentLightiSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLFRAGMENTLIGHTIVSGIXPROC glad_glFragmentLightivSGIX;
+#define glFragmentLightivSGIX glad_glFragmentLightivSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFSGIXPROC)(GLenum, GLfloat);
+GLAPI PFNGLFRAGMENTLIGHTMODELFSGIXPROC glad_glFragmentLightModelfSGIX;
+#define glFragmentLightModelfSGIX glad_glFragmentLightModelfSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLFRAGMENTLIGHTMODELFVSGIXPROC glad_glFragmentLightModelfvSGIX;
+#define glFragmentLightModelfvSGIX glad_glFragmentLightModelfvSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELISGIXPROC)(GLenum, GLint);
+GLAPI PFNGLFRAGMENTLIGHTMODELISGIXPROC glad_glFragmentLightModeliSGIX;
+#define glFragmentLightModeliSGIX glad_glFragmentLightModeliSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)(GLenum, const GLint*);
+GLAPI PFNGLFRAGMENTLIGHTMODELIVSGIXPROC glad_glFragmentLightModelivSGIX;
+#define glFragmentLightModelivSGIX glad_glFragmentLightModelivSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFSGIXPROC)(GLenum, GLenum, GLfloat);
+GLAPI PFNGLFRAGMENTMATERIALFSGIXPROC glad_glFragmentMaterialfSGIX;
+#define glFragmentMaterialfSGIX glad_glFragmentMaterialfSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLFRAGMENTMATERIALFVSGIXPROC glad_glFragmentMaterialfvSGIX;
+#define glFragmentMaterialfvSGIX glad_glFragmentMaterialfvSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTMATERIALISGIXPROC)(GLenum, GLenum, GLint);
+GLAPI PFNGLFRAGMENTMATERIALISGIXPROC glad_glFragmentMaterialiSGIX;
+#define glFragmentMaterialiSGIX glad_glFragmentMaterialiSGIX
+typedef void (APIENTRYP PFNGLFRAGMENTMATERIALIVSGIXPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLFRAGMENTMATERIALIVSGIXPROC glad_glFragmentMaterialivSGIX;
+#define glFragmentMaterialivSGIX glad_glFragmentMaterialivSGIX
+typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETFRAGMENTLIGHTFVSGIXPROC glad_glGetFragmentLightfvSGIX;
+#define glGetFragmentLightfvSGIX glad_glGetFragmentLightfvSGIX
+typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTIVSGIXPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETFRAGMENTLIGHTIVSGIXPROC glad_glGetFragmentLightivSGIX;
+#define glGetFragmentLightivSGIX glad_glGetFragmentLightivSGIX
+typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETFRAGMENTMATERIALFVSGIXPROC glad_glGetFragmentMaterialfvSGIX;
+#define glGetFragmentMaterialfvSGIX glad_glGetFragmentMaterialfvSGIX
+typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETFRAGMENTMATERIALIVSGIXPROC glad_glGetFragmentMaterialivSGIX;
+#define glGetFragmentMaterialivSGIX glad_glGetFragmentMaterialivSGIX
+typedef void (APIENTRYP PFNGLLIGHTENVISGIXPROC)(GLenum, GLint);
+GLAPI PFNGLLIGHTENVISGIXPROC glad_glLightEnviSGIX;
+#define glLightEnviSGIX glad_glLightEnviSGIX
+#endif
+#ifndef GL_NV_texture_expand_normal
+#define GL_NV_texture_expand_normal 1
+GLAPI int GLAD_GL_NV_texture_expand_normal;
+#endif
+#ifndef GL_NV_framebuffer_multisample_coverage
+#define GL_NV_framebuffer_multisample_coverage 1
+GLAPI int GLAD_GL_NV_framebuffer_multisample_coverage;
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC)(GLenum, GLsizei, GLsizei, GLenum, GLsizei, GLsizei);
+GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC glad_glRenderbufferStorageMultisampleCoverageNV;
+#define glRenderbufferStorageMultisampleCoverageNV glad_glRenderbufferStorageMultisampleCoverageNV
+#endif
+#ifndef GL_EXT_timer_query
+#define GL_EXT_timer_query 1
+GLAPI int GLAD_GL_EXT_timer_query;
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC)(GLuint, GLenum, GLint64*);
+GLAPI PFNGLGETQUERYOBJECTI64VEXTPROC glad_glGetQueryObjecti64vEXT;
+#define glGetQueryObjecti64vEXT glad_glGetQueryObjecti64vEXT
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC)(GLuint, GLenum, GLuint64*);
+GLAPI PFNGLGETQUERYOBJECTUI64VEXTPROC glad_glGetQueryObjectui64vEXT;
+#define glGetQueryObjectui64vEXT glad_glGetQueryObjectui64vEXT
+#endif
+#ifndef GL_EXT_vertex_array_bgra
+#define GL_EXT_vertex_array_bgra 1
+GLAPI int GLAD_GL_EXT_vertex_array_bgra;
+#endif
+#ifndef GL_NV_bindless_texture
+#define GL_NV_bindless_texture 1
+GLAPI int GLAD_GL_NV_bindless_texture;
+typedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLENVPROC)(GLuint);
+GLAPI PFNGLGETTEXTUREHANDLENVPROC glad_glGetTextureHandleNV;
+#define glGetTextureHandleNV glad_glGetTextureHandleNV
+typedef GLuint64 (APIENTRYP PFNGLGETTEXTURESAMPLERHANDLENVPROC)(GLuint, GLuint);
+GLAPI PFNGLGETTEXTURESAMPLERHANDLENVPROC glad_glGetTextureSamplerHandleNV;
+#define glGetTextureSamplerHandleNV glad_glGetTextureSamplerHandleNV
+typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTNVPROC)(GLuint64);
+GLAPI PFNGLMAKETEXTUREHANDLERESIDENTNVPROC glad_glMakeTextureHandleResidentNV;
+#define glMakeTextureHandleResidentNV glad_glMakeTextureHandleResidentNV
+typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC)(GLuint64);
+GLAPI PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC glad_glMakeTextureHandleNonResidentNV;
+#define glMakeTextureHandleNonResidentNV glad_glMakeTextureHandleNonResidentNV
+typedef GLuint64 (APIENTRYP PFNGLGETIMAGEHANDLENVPROC)(GLuint, GLint, GLboolean, GLint, GLenum);
+GLAPI PFNGLGETIMAGEHANDLENVPROC glad_glGetImageHandleNV;
+#define glGetImageHandleNV glad_glGetImageHandleNV
+typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTNVPROC)(GLuint64, GLenum);
+GLAPI PFNGLMAKEIMAGEHANDLERESIDENTNVPROC glad_glMakeImageHandleResidentNV;
+#define glMakeImageHandleResidentNV glad_glMakeImageHandleResidentNV
+typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC)(GLuint64);
+GLAPI PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC glad_glMakeImageHandleNonResidentNV;
+#define glMakeImageHandleNonResidentNV glad_glMakeImageHandleNonResidentNV
+typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64NVPROC)(GLint, GLuint64);
+GLAPI PFNGLUNIFORMHANDLEUI64NVPROC glad_glUniformHandleui64NV;
+#define glUniformHandleui64NV glad_glUniformHandleui64NV
+typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64VNVPROC)(GLint, GLsizei, const GLuint64*);
+GLAPI PFNGLUNIFORMHANDLEUI64VNVPROC glad_glUniformHandleui64vNV;
+#define glUniformHandleui64vNV glad_glUniformHandleui64vNV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC)(GLuint, GLint, GLuint64);
+GLAPI PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC glad_glProgramUniformHandleui64NV;
+#define glProgramUniformHandleui64NV glad_glProgramUniformHandleui64NV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC)(GLuint, GLint, GLsizei, const GLuint64*);
+GLAPI PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC glad_glProgramUniformHandleui64vNV;
+#define glProgramUniformHandleui64vNV glad_glProgramUniformHandleui64vNV
+typedef GLboolean (APIENTRYP PFNGLISTEXTUREHANDLERESIDENTNVPROC)(GLuint64);
+GLAPI PFNGLISTEXTUREHANDLERESIDENTNVPROC glad_glIsTextureHandleResidentNV;
+#define glIsTextureHandleResidentNV glad_glIsTextureHandleResidentNV
+typedef GLboolean (APIENTRYP PFNGLISIMAGEHANDLERESIDENTNVPROC)(GLuint64);
+GLAPI PFNGLISIMAGEHANDLERESIDENTNVPROC glad_glIsImageHandleResidentNV;
+#define glIsImageHandleResidentNV glad_glIsImageHandleResidentNV
+#endif
+#ifndef GL_KHR_debug
+#define GL_KHR_debug 1
+GLAPI int GLAD_GL_KHR_debug;
+typedef void (APIENTRYP PFNGLGETPOINTERVPROC)(GLenum, void**);
+GLAPI PFNGLGETPOINTERVPROC glad_glGetPointerv;
+#define glGetPointerv glad_glGetPointerv
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC)(GLenum, GLenum, GLenum, GLsizei, const GLuint*, GLboolean);
+GLAPI PFNGLDEBUGMESSAGECONTROLKHRPROC glad_glDebugMessageControlKHR;
+#define glDebugMessageControlKHR glad_glDebugMessageControlKHR
+typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*);
+GLAPI PFNGLDEBUGMESSAGEINSERTKHRPROC glad_glDebugMessageInsertKHR;
+#define glDebugMessageInsertKHR glad_glDebugMessageInsertKHR
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC)(GLDEBUGPROCKHR, const void*);
+GLAPI PFNGLDEBUGMESSAGECALLBACKKHRPROC glad_glDebugMessageCallbackKHR;
+#define glDebugMessageCallbackKHR glad_glDebugMessageCallbackKHR
+typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC)(GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*);
+GLAPI PFNGLGETDEBUGMESSAGELOGKHRPROC glad_glGetDebugMessageLogKHR;
+#define glGetDebugMessageLogKHR glad_glGetDebugMessageLogKHR
+typedef void (APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC)(GLenum, GLuint, GLsizei, const GLchar*);
+GLAPI PFNGLPUSHDEBUGGROUPKHRPROC glad_glPushDebugGroupKHR;
+#define glPushDebugGroupKHR glad_glPushDebugGroupKHR
+typedef void (APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC)();
+GLAPI PFNGLPOPDEBUGGROUPKHRPROC glad_glPopDebugGroupKHR;
+#define glPopDebugGroupKHR glad_glPopDebugGroupKHR
+typedef void (APIENTRYP PFNGLOBJECTLABELKHRPROC)(GLenum, GLuint, GLsizei, const GLchar*);
+GLAPI PFNGLOBJECTLABELKHRPROC glad_glObjectLabelKHR;
+#define glObjectLabelKHR glad_glObjectLabelKHR
+typedef void (APIENTRYP PFNGLGETOBJECTLABELKHRPROC)(GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETOBJECTLABELKHRPROC glad_glGetObjectLabelKHR;
+#define glGetObjectLabelKHR glad_glGetObjectLabelKHR
+typedef void (APIENTRYP PFNGLOBJECTPTRLABELKHRPROC)(const void*, GLsizei, const GLchar*);
+GLAPI PFNGLOBJECTPTRLABELKHRPROC glad_glObjectPtrLabelKHR;
+#define glObjectPtrLabelKHR glad_glObjectPtrLabelKHR
+typedef void (APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC)(const void*, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETOBJECTPTRLABELKHRPROC glad_glGetObjectPtrLabelKHR;
+#define glGetObjectPtrLabelKHR glad_glGetObjectPtrLabelKHR
+typedef void (APIENTRYP PFNGLGETPOINTERVKHRPROC)(GLenum, void**);
+GLAPI PFNGLGETPOINTERVKHRPROC glad_glGetPointervKHR;
+#define glGetPointervKHR glad_glGetPointervKHR
+#endif
+#ifndef GL_SGIS_texture_border_clamp
+#define GL_SGIS_texture_border_clamp 1
+GLAPI int GLAD_GL_SGIS_texture_border_clamp;
+#endif
+#ifndef GL_ATI_vertex_attrib_array_object
+#define GL_ATI_vertex_attrib_array_object 1
+GLAPI int GLAD_GL_ATI_vertex_attrib_array_object;
+typedef void (APIENTRYP PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)(GLuint, GLint, GLenum, GLboolean, GLsizei, GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glad_glVertexAttribArrayObjectATI;
+#define glVertexAttribArrayObjectATI glad_glVertexAttribArrayObjectATI
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC glad_glGetVertexAttribArrayObjectfvATI;
+#define glGetVertexAttribArrayObjectfvATI glad_glGetVertexAttribArrayObjectfvATI
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC glad_glGetVertexAttribArrayObjectivATI;
+#define glGetVertexAttribArrayObjectivATI glad_glGetVertexAttribArrayObjectivATI
+#endif
+#ifndef GL_SGIX_clipmap
+#define GL_SGIX_clipmap 1
+GLAPI int GLAD_GL_SGIX_clipmap;
+#endif
+#ifndef GL_EXT_geometry_shader4
+#define GL_EXT_geometry_shader4 1
+GLAPI int GLAD_GL_EXT_geometry_shader4;
+#endif
+#ifndef GL_MESA_ycbcr_texture
+#define GL_MESA_ycbcr_texture 1
+GLAPI int GLAD_GL_MESA_ycbcr_texture;
+#endif
+#ifndef GL_MESAX_texture_stack
+#define GL_MESAX_texture_stack 1
+GLAPI int GLAD_GL_MESAX_texture_stack;
+#endif
+#ifndef GL_AMD_seamless_cubemap_per_texture
+#define GL_AMD_seamless_cubemap_per_texture 1
+GLAPI int GLAD_GL_AMD_seamless_cubemap_per_texture;
+#endif
+#ifndef GL_EXT_bindable_uniform
+#define GL_EXT_bindable_uniform 1
+GLAPI int GLAD_GL_EXT_bindable_uniform;
+typedef void (APIENTRYP PFNGLUNIFORMBUFFEREXTPROC)(GLuint, GLint, GLuint);
+GLAPI PFNGLUNIFORMBUFFEREXTPROC glad_glUniformBufferEXT;
+#define glUniformBufferEXT glad_glUniformBufferEXT
+typedef GLint (APIENTRYP PFNGLGETUNIFORMBUFFERSIZEEXTPROC)(GLuint, GLint);
+GLAPI PFNGLGETUNIFORMBUFFERSIZEEXTPROC glad_glGetUniformBufferSizeEXT;
+#define glGetUniformBufferSizeEXT glad_glGetUniformBufferSizeEXT
+typedef GLintptr (APIENTRYP PFNGLGETUNIFORMOFFSETEXTPROC)(GLuint, GLint);
+GLAPI PFNGLGETUNIFORMOFFSETEXTPROC glad_glGetUniformOffsetEXT;
+#define glGetUniformOffsetEXT glad_glGetUniformOffsetEXT
+#endif
+#ifndef GL_KHR_texture_compression_astc_hdr
+#define GL_KHR_texture_compression_astc_hdr 1
+GLAPI int GLAD_GL_KHR_texture_compression_astc_hdr;
+#endif
+#ifndef GL_ARB_fragment_program_shadow
+#define GL_ARB_fragment_program_shadow 1
+GLAPI int GLAD_GL_ARB_fragment_program_shadow;
+#endif
+#ifndef GL_ATI_element_array
+#define GL_ATI_element_array 1
+GLAPI int GLAD_GL_ATI_element_array;
+typedef void (APIENTRYP PFNGLELEMENTPOINTERATIPROC)(GLenum, const void*);
+GLAPI PFNGLELEMENTPOINTERATIPROC glad_glElementPointerATI;
+#define glElementPointerATI glad_glElementPointerATI
+typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYATIPROC)(GLenum, GLsizei);
+GLAPI PFNGLDRAWELEMENTARRAYATIPROC glad_glDrawElementArrayATI;
+#define glDrawElementArrayATI glad_glDrawElementArrayATI
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYATIPROC)(GLenum, GLuint, GLuint, GLsizei);
+GLAPI PFNGLDRAWRANGEELEMENTARRAYATIPROC glad_glDrawRangeElementArrayATI;
+#define glDrawRangeElementArrayATI glad_glDrawRangeElementArrayATI
+#endif
+#ifndef GL_AMD_texture_texture4
+#define GL_AMD_texture_texture4 1
+GLAPI int GLAD_GL_AMD_texture_texture4;
+#endif
+#ifndef GL_SGIX_reference_plane
+#define GL_SGIX_reference_plane 1
+GLAPI int GLAD_GL_SGIX_reference_plane;
+typedef void (APIENTRYP PFNGLREFERENCEPLANESGIXPROC)(const GLdouble*);
+GLAPI PFNGLREFERENCEPLANESGIXPROC glad_glReferencePlaneSGIX;
+#define glReferencePlaneSGIX glad_glReferencePlaneSGIX
+#endif
+#ifndef GL_EXT_stencil_two_side
+#define GL_EXT_stencil_two_side 1
+GLAPI int GLAD_GL_EXT_stencil_two_side;
+typedef void (APIENTRYP PFNGLACTIVESTENCILFACEEXTPROC)(GLenum);
+GLAPI PFNGLACTIVESTENCILFACEEXTPROC glad_glActiveStencilFaceEXT;
+#define glActiveStencilFaceEXT glad_glActiveStencilFaceEXT
+#endif
+#ifndef GL_SGIX_texture_lod_bias
+#define GL_SGIX_texture_lod_bias 1
+GLAPI int GLAD_GL_SGIX_texture_lod_bias;
+#endif
+#ifndef GL_NV_explicit_multisample
+#define GL_NV_explicit_multisample 1
+GLAPI int GLAD_GL_NV_explicit_multisample;
+typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVNVPROC)(GLenum, GLuint, GLfloat*);
+GLAPI PFNGLGETMULTISAMPLEFVNVPROC glad_glGetMultisamplefvNV;
+#define glGetMultisamplefvNV glad_glGetMultisamplefvNV
+typedef void (APIENTRYP PFNGLSAMPLEMASKINDEXEDNVPROC)(GLuint, GLbitfield);
+GLAPI PFNGLSAMPLEMASKINDEXEDNVPROC glad_glSampleMaskIndexedNV;
+#define glSampleMaskIndexedNV glad_glSampleMaskIndexedNV
+typedef void (APIENTRYP PFNGLTEXRENDERBUFFERNVPROC)(GLenum, GLuint);
+GLAPI PFNGLTEXRENDERBUFFERNVPROC glad_glTexRenderbufferNV;
+#define glTexRenderbufferNV glad_glTexRenderbufferNV
+#endif
+#ifndef GL_IBM_static_data
+#define GL_IBM_static_data 1
+GLAPI int GLAD_GL_IBM_static_data;
+typedef void (APIENTRYP PFNGLFLUSHSTATICDATAIBMPROC)(GLenum);
+GLAPI PFNGLFLUSHSTATICDATAIBMPROC glad_glFlushStaticDataIBM;
+#define glFlushStaticDataIBM glad_glFlushStaticDataIBM
+#endif
+#ifndef GL_EXT_clip_volume_hint
+#define GL_EXT_clip_volume_hint 1
+GLAPI int GLAD_GL_EXT_clip_volume_hint;
+#endif
+#ifndef GL_EXT_texture_perturb_normal
+#define GL_EXT_texture_perturb_normal 1
+GLAPI int GLAD_GL_EXT_texture_perturb_normal;
+typedef void (APIENTRYP PFNGLTEXTURENORMALEXTPROC)(GLenum);
+GLAPI PFNGLTEXTURENORMALEXTPROC glad_glTextureNormalEXT;
+#define glTextureNormalEXT glad_glTextureNormalEXT
+#endif
+#ifndef GL_NV_fragment_program2
+#define GL_NV_fragment_program2 1
+GLAPI int GLAD_GL_NV_fragment_program2;
+#endif
+#ifndef GL_NV_fragment_program4
+#define GL_NV_fragment_program4 1
+GLAPI int GLAD_GL_NV_fragment_program4;
+#endif
+#ifndef GL_EXT_point_parameters
+#define GL_EXT_point_parameters 1
+GLAPI int GLAD_GL_EXT_point_parameters;
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFEXTPROC)(GLenum, GLfloat);
+GLAPI PFNGLPOINTPARAMETERFEXTPROC glad_glPointParameterfEXT;
+#define glPointParameterfEXT glad_glPointParameterfEXT
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFVEXTPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLPOINTPARAMETERFVEXTPROC glad_glPointParameterfvEXT;
+#define glPointParameterfvEXT glad_glPointParameterfvEXT
+#endif
+#ifndef GL_PGI_misc_hints
+#define GL_PGI_misc_hints 1
+GLAPI int GLAD_GL_PGI_misc_hints;
+typedef void (APIENTRYP PFNGLHINTPGIPROC)(GLenum, GLint);
+GLAPI PFNGLHINTPGIPROC glad_glHintPGI;
+#define glHintPGI glad_glHintPGI
+#endif
+#ifndef GL_SGIX_subsample
+#define GL_SGIX_subsample 1
+GLAPI int GLAD_GL_SGIX_subsample;
+#endif
+#ifndef GL_AMD_shader_stencil_export
+#define GL_AMD_shader_stencil_export 1
+GLAPI int GLAD_GL_AMD_shader_stencil_export;
+#endif
+#ifndef GL_ARB_shader_texture_lod
+#define GL_ARB_shader_texture_lod 1
+GLAPI int GLAD_GL_ARB_shader_texture_lod;
+#endif
+#ifndef GL_ARB_vertex_shader
+#define GL_ARB_vertex_shader 1
+GLAPI int GLAD_GL_ARB_vertex_shader;
+typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONARBPROC)(GLhandleARB, GLuint, const GLcharARB*);
+GLAPI PFNGLBINDATTRIBLOCATIONARBPROC glad_glBindAttribLocationARB;
+#define glBindAttribLocationARB glad_glBindAttribLocationARB
+typedef void (APIENTRYP PFNGLGETACTIVEATTRIBARBPROC)(GLhandleARB, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLcharARB*);
+GLAPI PFNGLGETACTIVEATTRIBARBPROC glad_glGetActiveAttribARB;
+#define glGetActiveAttribARB glad_glGetActiveAttribARB
+typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONARBPROC)(GLhandleARB, const GLcharARB*);
+GLAPI PFNGLGETATTRIBLOCATIONARBPROC glad_glGetAttribLocationARB;
+#define glGetAttribLocationARB glad_glGetAttribLocationARB
+#endif
+#ifndef GL_ARB_depth_clamp
+#define GL_ARB_depth_clamp 1
+GLAPI int GLAD_GL_ARB_depth_clamp;
+#endif
+#ifndef GL_SGIS_texture_select
+#define GL_SGIS_texture_select 1
+GLAPI int GLAD_GL_SGIS_texture_select;
+#endif
+#ifndef GL_NV_texture_shader
+#define GL_NV_texture_shader 1
+GLAPI int GLAD_GL_NV_texture_shader;
+#endif
+#ifndef GL_ARB_tessellation_shader
+#define GL_ARB_tessellation_shader 1
+GLAPI int GLAD_GL_ARB_tessellation_shader;
+#endif
+#ifndef GL_EXT_draw_buffers2
+#define GL_EXT_draw_buffers2 1
+GLAPI int GLAD_GL_EXT_draw_buffers2;
+typedef void (APIENTRYP PFNGLCOLORMASKINDEXEDEXTPROC)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
+GLAPI PFNGLCOLORMASKINDEXEDEXTPROC glad_glColorMaskIndexedEXT;
+#define glColorMaskIndexedEXT glad_glColorMaskIndexedEXT
+typedef void (APIENTRYP PFNGLGETBOOLEANINDEXEDVEXTPROC)(GLenum, GLuint, GLboolean*);
+GLAPI PFNGLGETBOOLEANINDEXEDVEXTPROC glad_glGetBooleanIndexedvEXT;
+#define glGetBooleanIndexedvEXT glad_glGetBooleanIndexedvEXT
+typedef void (APIENTRYP PFNGLGETINTEGERINDEXEDVEXTPROC)(GLenum, GLuint, GLint*);
+GLAPI PFNGLGETINTEGERINDEXEDVEXTPROC glad_glGetIntegerIndexedvEXT;
+#define glGetIntegerIndexedvEXT glad_glGetIntegerIndexedvEXT
+typedef void (APIENTRYP PFNGLENABLEINDEXEDEXTPROC)(GLenum, GLuint);
+GLAPI PFNGLENABLEINDEXEDEXTPROC glad_glEnableIndexedEXT;
+#define glEnableIndexedEXT glad_glEnableIndexedEXT
+typedef void (APIENTRYP PFNGLDISABLEINDEXEDEXTPROC)(GLenum, GLuint);
+GLAPI PFNGLDISABLEINDEXEDEXTPROC glad_glDisableIndexedEXT;
+#define glDisableIndexedEXT glad_glDisableIndexedEXT
+typedef GLboolean (APIENTRYP PFNGLISENABLEDINDEXEDEXTPROC)(GLenum, GLuint);
+GLAPI PFNGLISENABLEDINDEXEDEXTPROC glad_glIsEnabledIndexedEXT;
+#define glIsEnabledIndexedEXT glad_glIsEnabledIndexedEXT
+#endif
+#ifndef GL_ARB_vertex_attrib_64bit
+#define GL_ARB_vertex_attrib_64bit 1
+GLAPI int GLAD_GL_ARB_vertex_attrib_64bit;
+#endif
+#ifndef GL_WIN_specular_fog
+#define GL_WIN_specular_fog 1
+GLAPI int GLAD_GL_WIN_specular_fog;
+#endif
+#ifndef GL_AMD_interleaved_elements
+#define GL_AMD_interleaved_elements 1
+GLAPI int GLAD_GL_AMD_interleaved_elements;
+typedef void (APIENTRYP PFNGLVERTEXATTRIBPARAMETERIAMDPROC)(GLuint, GLenum, GLint);
+GLAPI PFNGLVERTEXATTRIBPARAMETERIAMDPROC glad_glVertexAttribParameteriAMD;
+#define glVertexAttribParameteriAMD glad_glVertexAttribParameteriAMD
+#endif
+#ifndef GL_ARB_fragment_program
+#define GL_ARB_fragment_program 1
+GLAPI int GLAD_GL_ARB_fragment_program;
+#endif
+#ifndef GL_OML_resample
+#define GL_OML_resample 1
+GLAPI int GLAD_GL_OML_resample;
+#endif
+#ifndef GL_APPLE_ycbcr_422
+#define GL_APPLE_ycbcr_422 1
+GLAPI int GLAD_GL_APPLE_ycbcr_422;
+#endif
+#ifndef GL_SGIX_texture_add_env
+#define GL_SGIX_texture_add_env 1
+GLAPI int GLAD_GL_SGIX_texture_add_env;
+#endif
+#ifndef GL_ARB_shadow_ambient
+#define GL_ARB_shadow_ambient 1
+GLAPI int GLAD_GL_ARB_shadow_ambient;
+#endif
+#ifndef GL_ARB_texture_storage
+#define GL_ARB_texture_storage 1
+GLAPI int GLAD_GL_ARB_texture_storage;
+#endif
+#ifndef GL_EXT_pixel_buffer_object
+#define GL_EXT_pixel_buffer_object 1
+GLAPI int GLAD_GL_EXT_pixel_buffer_object;
+#endif
+#ifndef GL_ARB_copy_image
+#define GL_ARB_copy_image 1
+GLAPI int GLAD_GL_ARB_copy_image;
+#endif
+#ifndef GL_SGIS_pixel_texture
+#define GL_SGIS_pixel_texture 1
+GLAPI int GLAD_GL_SGIS_pixel_texture;
+typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERISGISPROC)(GLenum, GLint);
+GLAPI PFNGLPIXELTEXGENPARAMETERISGISPROC glad_glPixelTexGenParameteriSGIS;
+#define glPixelTexGenParameteriSGIS glad_glPixelTexGenParameteriSGIS
+typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERIVSGISPROC)(GLenum, const GLint*);
+GLAPI PFNGLPIXELTEXGENPARAMETERIVSGISPROC glad_glPixelTexGenParameterivSGIS;
+#define glPixelTexGenParameterivSGIS glad_glPixelTexGenParameterivSGIS
+typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFSGISPROC)(GLenum, GLfloat);
+GLAPI PFNGLPIXELTEXGENPARAMETERFSGISPROC glad_glPixelTexGenParameterfSGIS;
+#define glPixelTexGenParameterfSGIS glad_glPixelTexGenParameterfSGIS
+typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFVSGISPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLPIXELTEXGENPARAMETERFVSGISPROC glad_glPixelTexGenParameterfvSGIS;
+#define glPixelTexGenParameterfvSGIS glad_glPixelTexGenParameterfvSGIS
+typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC)(GLenum, GLint*);
+GLAPI PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC glad_glGetPixelTexGenParameterivSGIS;
+#define glGetPixelTexGenParameterivSGIS glad_glGetPixelTexGenParameterivSGIS
+typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC)(GLenum, GLfloat*);
+GLAPI PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC glad_glGetPixelTexGenParameterfvSGIS;
+#define glGetPixelTexGenParameterfvSGIS glad_glGetPixelTexGenParameterfvSGIS
+#endif
+#ifndef GL_SGIS_generate_mipmap
+#define GL_SGIS_generate_mipmap 1
+GLAPI int GLAD_GL_SGIS_generate_mipmap;
+#endif
+#ifndef GL_SGIX_instruments
+#define GL_SGIX_instruments 1
+GLAPI int GLAD_GL_SGIX_instruments;
+typedef GLint (APIENTRYP PFNGLGETINSTRUMENTSSGIXPROC)();
+GLAPI PFNGLGETINSTRUMENTSSGIXPROC glad_glGetInstrumentsSGIX;
+#define glGetInstrumentsSGIX glad_glGetInstrumentsSGIX
+typedef void (APIENTRYP PFNGLINSTRUMENTSBUFFERSGIXPROC)(GLsizei, GLint*);
+GLAPI PFNGLINSTRUMENTSBUFFERSGIXPROC glad_glInstrumentsBufferSGIX;
+#define glInstrumentsBufferSGIX glad_glInstrumentsBufferSGIX
+typedef GLint (APIENTRYP PFNGLPOLLINSTRUMENTSSGIXPROC)(GLint*);
+GLAPI PFNGLPOLLINSTRUMENTSSGIXPROC glad_glPollInstrumentsSGIX;
+#define glPollInstrumentsSGIX glad_glPollInstrumentsSGIX
+typedef void (APIENTRYP PFNGLREADINSTRUMENTSSGIXPROC)(GLint);
+GLAPI PFNGLREADINSTRUMENTSSGIXPROC glad_glReadInstrumentsSGIX;
+#define glReadInstrumentsSGIX glad_glReadInstrumentsSGIX
+typedef void (APIENTRYP PFNGLSTARTINSTRUMENTSSGIXPROC)();
+GLAPI PFNGLSTARTINSTRUMENTSSGIXPROC glad_glStartInstrumentsSGIX;
+#define glStartInstrumentsSGIX glad_glStartInstrumentsSGIX
+typedef void (APIENTRYP PFNGLSTOPINSTRUMENTSSGIXPROC)(GLint);
+GLAPI PFNGLSTOPINSTRUMENTSSGIXPROC glad_glStopInstrumentsSGIX;
+#define glStopInstrumentsSGIX glad_glStopInstrumentsSGIX
+#endif
+#ifndef GL_HP_texture_lighting
+#define GL_HP_texture_lighting 1
+GLAPI int GLAD_GL_HP_texture_lighting;
+#endif
+#ifndef GL_ARB_shader_storage_buffer_object
+#define GL_ARB_shader_storage_buffer_object 1
+GLAPI int GLAD_GL_ARB_shader_storage_buffer_object;
+#endif
+#ifndef GL_EXT_blend_minmax
+#define GL_EXT_blend_minmax 1
+GLAPI int GLAD_GL_EXT_blend_minmax;
+typedef void (APIENTRYP PFNGLBLENDEQUATIONEXTPROC)(GLenum);
+GLAPI PFNGLBLENDEQUATIONEXTPROC glad_glBlendEquationEXT;
+#define glBlendEquationEXT glad_glBlendEquationEXT
+#endif
+#ifndef GL_MESA_pack_invert
+#define GL_MESA_pack_invert 1
+GLAPI int GLAD_GL_MESA_pack_invert;
+#endif
+#ifndef GL_ARB_base_instance
+#define GL_ARB_base_instance 1
+GLAPI int GLAD_GL_ARB_base_instance;
+#endif
+#ifndef GL_SGIX_convolution_accuracy
+#define GL_SGIX_convolution_accuracy 1
+GLAPI int GLAD_GL_SGIX_convolution_accuracy;
+#endif
+#ifndef GL_PGI_vertex_hints
+#define GL_PGI_vertex_hints 1
+GLAPI int GLAD_GL_PGI_vertex_hints;
+#endif
+#ifndef GL_EXT_texture_integer
+#define GL_EXT_texture_integer 1
+GLAPI int GLAD_GL_EXT_texture_integer;
+typedef void (APIENTRYP PFNGLTEXPARAMETERIIVEXTPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLTEXPARAMETERIIVEXTPROC glad_glTexParameterIivEXT;
+#define glTexParameterIivEXT glad_glTexParameterIivEXT
+typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVEXTPROC)(GLenum, GLenum, const GLuint*);
+GLAPI PFNGLTEXPARAMETERIUIVEXTPROC glad_glTexParameterIuivEXT;
+#define glTexParameterIuivEXT glad_glTexParameterIuivEXT
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVEXTPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETTEXPARAMETERIIVEXTPROC glad_glGetTexParameterIivEXT;
+#define glGetTexParameterIivEXT glad_glGetTexParameterIivEXT
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVEXTPROC)(GLenum, GLenum, GLuint*);
+GLAPI PFNGLGETTEXPARAMETERIUIVEXTPROC glad_glGetTexParameterIuivEXT;
+#define glGetTexParameterIuivEXT glad_glGetTexParameterIuivEXT
+typedef void (APIENTRYP PFNGLCLEARCOLORIIEXTPROC)(GLint, GLint, GLint, GLint);
+GLAPI PFNGLCLEARCOLORIIEXTPROC glad_glClearColorIiEXT;
+#define glClearColorIiEXT glad_glClearColorIiEXT
+typedef void (APIENTRYP PFNGLCLEARCOLORIUIEXTPROC)(GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLCLEARCOLORIUIEXTPROC glad_glClearColorIuiEXT;
+#define glClearColorIuiEXT glad_glClearColorIuiEXT
+#endif
+#ifndef GL_ARB_texture_multisample
+#define GL_ARB_texture_multisample 1
+GLAPI int GLAD_GL_ARB_texture_multisample;
+#endif
+#ifndef GL_S3_s3tc
+#define GL_S3_s3tc 1
+GLAPI int GLAD_GL_S3_s3tc;
+#endif
+#ifndef GL_ARB_query_buffer_object
+#define GL_ARB_query_buffer_object 1
+GLAPI int GLAD_GL_ARB_query_buffer_object;
+#endif
+#ifndef GL_AMD_vertex_shader_tessellator
+#define GL_AMD_vertex_shader_tessellator 1
+GLAPI int GLAD_GL_AMD_vertex_shader_tessellator;
+typedef void (APIENTRYP PFNGLTESSELLATIONFACTORAMDPROC)(GLfloat);
+GLAPI PFNGLTESSELLATIONFACTORAMDPROC glad_glTessellationFactorAMD;
+#define glTessellationFactorAMD glad_glTessellationFactorAMD
+typedef void (APIENTRYP PFNGLTESSELLATIONMODEAMDPROC)(GLenum);
+GLAPI PFNGLTESSELLATIONMODEAMDPROC glad_glTessellationModeAMD;
+#define glTessellationModeAMD glad_glTessellationModeAMD
+#endif
+#ifndef GL_ARB_invalidate_subdata
+#define GL_ARB_invalidate_subdata 1
+GLAPI int GLAD_GL_ARB_invalidate_subdata;
+#endif
+#ifndef GL_EXT_index_material
+#define GL_EXT_index_material 1
+GLAPI int GLAD_GL_EXT_index_material;
+typedef void (APIENTRYP PFNGLINDEXMATERIALEXTPROC)(GLenum, GLenum);
+GLAPI PFNGLINDEXMATERIALEXTPROC glad_glIndexMaterialEXT;
+#define glIndexMaterialEXT glad_glIndexMaterialEXT
+#endif
+#ifndef GL_NV_blend_equation_advanced_coherent
+#define GL_NV_blend_equation_advanced_coherent 1
+GLAPI int GLAD_GL_NV_blend_equation_advanced_coherent;
+#endif
+#ifndef GL_INTEL_parallel_arrays
+#define GL_INTEL_parallel_arrays 1
+GLAPI int GLAD_GL_INTEL_parallel_arrays;
+typedef void (APIENTRYP PFNGLVERTEXPOINTERVINTELPROC)(GLint, GLenum, const void**);
+GLAPI PFNGLVERTEXPOINTERVINTELPROC glad_glVertexPointervINTEL;
+#define glVertexPointervINTEL glad_glVertexPointervINTEL
+typedef void (APIENTRYP PFNGLNORMALPOINTERVINTELPROC)(GLenum, const void**);
+GLAPI PFNGLNORMALPOINTERVINTELPROC glad_glNormalPointervINTEL;
+#define glNormalPointervINTEL glad_glNormalPointervINTEL
+typedef void (APIENTRYP PFNGLCOLORPOINTERVINTELPROC)(GLint, GLenum, const void**);
+GLAPI PFNGLCOLORPOINTERVINTELPROC glad_glColorPointervINTEL;
+#define glColorPointervINTEL glad_glColorPointervINTEL
+typedef void (APIENTRYP PFNGLTEXCOORDPOINTERVINTELPROC)(GLint, GLenum, const void**);
+GLAPI PFNGLTEXCOORDPOINTERVINTELPROC glad_glTexCoordPointervINTEL;
+#define glTexCoordPointervINTEL glad_glTexCoordPointervINTEL
+#endif
+#ifndef GL_ATI_draw_buffers
+#define GL_ATI_draw_buffers 1
+GLAPI int GLAD_GL_ATI_draw_buffers;
+typedef void (APIENTRYP PFNGLDRAWBUFFERSATIPROC)(GLsizei, const GLenum*);
+GLAPI PFNGLDRAWBUFFERSATIPROC glad_glDrawBuffersATI;
+#define glDrawBuffersATI glad_glDrawBuffersATI
+#endif
+#ifndef GL_EXT_cmyka
+#define GL_EXT_cmyka 1
+GLAPI int GLAD_GL_EXT_cmyka;
+#endif
+#ifndef GL_SGIX_pixel_texture
+#define GL_SGIX_pixel_texture 1
+GLAPI int GLAD_GL_SGIX_pixel_texture;
+typedef void (APIENTRYP PFNGLPIXELTEXGENSGIXPROC)(GLenum);
+GLAPI PFNGLPIXELTEXGENSGIXPROC glad_glPixelTexGenSGIX;
+#define glPixelTexGenSGIX glad_glPixelTexGenSGIX
+#endif
+#ifndef GL_APPLE_specular_vector
+#define GL_APPLE_specular_vector 1
+GLAPI int GLAD_GL_APPLE_specular_vector;
+#endif
+#ifndef GL_ARB_compatibility
+#define GL_ARB_compatibility 1
+GLAPI int GLAD_GL_ARB_compatibility;
+#endif
+#ifndef GL_ARB_timer_query
+#define GL_ARB_timer_query 1
+GLAPI int GLAD_GL_ARB_timer_query;
+#endif
+#ifndef GL_SGIX_interlace
+#define GL_SGIX_interlace 1
+GLAPI int GLAD_GL_SGIX_interlace;
+#endif
+#ifndef GL_NV_parameter_buffer_object
+#define GL_NV_parameter_buffer_object 1
+GLAPI int GLAD_GL_NV_parameter_buffer_object;
+typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC)(GLenum, GLuint, GLuint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC glad_glProgramBufferParametersfvNV;
+#define glProgramBufferParametersfvNV glad_glProgramBufferParametersfvNV
+typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC)(GLenum, GLuint, GLuint, GLsizei, const GLint*);
+GLAPI PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC glad_glProgramBufferParametersIivNV;
+#define glProgramBufferParametersIivNV glad_glProgramBufferParametersIivNV
+typedef void (APIENTRYP PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC)(GLenum, GLuint, GLuint, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC glad_glProgramBufferParametersIuivNV;
+#define glProgramBufferParametersIuivNV glad_glProgramBufferParametersIuivNV
+#endif
+#ifndef GL_AMD_shader_trinary_minmax
+#define GL_AMD_shader_trinary_minmax 1
+GLAPI int GLAD_GL_AMD_shader_trinary_minmax;
+#endif
+#ifndef GL_EXT_rescale_normal
+#define GL_EXT_rescale_normal 1
+GLAPI int GLAD_GL_EXT_rescale_normal;
+#endif
+#ifndef GL_ARB_pixel_buffer_object
+#define GL_ARB_pixel_buffer_object 1
+GLAPI int GLAD_GL_ARB_pixel_buffer_object;
+#endif
+#ifndef GL_ARB_uniform_buffer_object
+#define GL_ARB_uniform_buffer_object 1
+GLAPI int GLAD_GL_ARB_uniform_buffer_object;
+#endif
+#ifndef GL_ARB_vertex_type_10f_11f_11f_rev
+#define GL_ARB_vertex_type_10f_11f_11f_rev 1
+GLAPI int GLAD_GL_ARB_vertex_type_10f_11f_11f_rev;
+#endif
+#ifndef GL_ARB_texture_swizzle
+#define GL_ARB_texture_swizzle 1
+GLAPI int GLAD_GL_ARB_texture_swizzle;
+#endif
+#ifndef GL_NV_transform_feedback2
+#define GL_NV_transform_feedback2 1
+GLAPI int GLAD_GL_NV_transform_feedback2;
+typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKNVPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDTRANSFORMFEEDBACKNVPROC glad_glBindTransformFeedbackNV;
+#define glBindTransformFeedbackNV glad_glBindTransformFeedbackNV
+typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSNVPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETETRANSFORMFEEDBACKSNVPROC glad_glDeleteTransformFeedbacksNV;
+#define glDeleteTransformFeedbacksNV glad_glDeleteTransformFeedbacksNV
+typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSNVPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENTRANSFORMFEEDBACKSNVPROC glad_glGenTransformFeedbacksNV;
+#define glGenTransformFeedbacksNV glad_glGenTransformFeedbacksNV
+typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKNVPROC)(GLuint);
+GLAPI PFNGLISTRANSFORMFEEDBACKNVPROC glad_glIsTransformFeedbackNV;
+#define glIsTransformFeedbackNV glad_glIsTransformFeedbackNV
+typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKNVPROC)();
+GLAPI PFNGLPAUSETRANSFORMFEEDBACKNVPROC glad_glPauseTransformFeedbackNV;
+#define glPauseTransformFeedbackNV glad_glPauseTransformFeedbackNV
+typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKNVPROC)();
+GLAPI PFNGLRESUMETRANSFORMFEEDBACKNVPROC glad_glResumeTransformFeedbackNV;
+#define glResumeTransformFeedbackNV glad_glResumeTransformFeedbackNV
+typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKNVPROC)(GLenum, GLuint);
+GLAPI PFNGLDRAWTRANSFORMFEEDBACKNVPROC glad_glDrawTransformFeedbackNV;
+#define glDrawTransformFeedbackNV glad_glDrawTransformFeedbackNV
+#endif
+#ifndef GL_SGIX_async_pixel
+#define GL_SGIX_async_pixel 1
+GLAPI int GLAD_GL_SGIX_async_pixel;
+#endif
+#ifndef GL_NV_fragment_program_option
+#define GL_NV_fragment_program_option 1
+GLAPI int GLAD_GL_NV_fragment_program_option;
+#endif
+#ifndef GL_ARB_explicit_attrib_location
+#define GL_ARB_explicit_attrib_location 1
+GLAPI int GLAD_GL_ARB_explicit_attrib_location;
+#endif
+#ifndef GL_EXT_blend_color
+#define GL_EXT_blend_color 1
+GLAPI int GLAD_GL_EXT_blend_color;
+typedef void (APIENTRYP PFNGLBLENDCOLOREXTPROC)(GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLBLENDCOLOREXTPROC glad_glBlendColorEXT;
+#define glBlendColorEXT glad_glBlendColorEXT
+#endif
+#ifndef GL_NV_shader_thread_group
+#define GL_NV_shader_thread_group 1
+GLAPI int GLAD_GL_NV_shader_thread_group;
+#endif
+#ifndef GL_EXT_stencil_wrap
+#define GL_EXT_stencil_wrap 1
+GLAPI int GLAD_GL_EXT_stencil_wrap;
+#endif
+#ifndef GL_EXT_index_array_formats
+#define GL_EXT_index_array_formats 1
+GLAPI int GLAD_GL_EXT_index_array_formats;
+#endif
+#ifndef GL_EXT_histogram
+#define GL_EXT_histogram 1
+GLAPI int GLAD_GL_EXT_histogram;
+typedef void (APIENTRYP PFNGLGETHISTOGRAMEXTPROC)(GLenum, GLboolean, GLenum, GLenum, void*);
+GLAPI PFNGLGETHISTOGRAMEXTPROC glad_glGetHistogramEXT;
+#define glGetHistogramEXT glad_glGetHistogramEXT
+typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVEXTPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETHISTOGRAMPARAMETERFVEXTPROC glad_glGetHistogramParameterfvEXT;
+#define glGetHistogramParameterfvEXT glad_glGetHistogramParameterfvEXT
+typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVEXTPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETHISTOGRAMPARAMETERIVEXTPROC glad_glGetHistogramParameterivEXT;
+#define glGetHistogramParameterivEXT glad_glGetHistogramParameterivEXT
+typedef void (APIENTRYP PFNGLGETMINMAXEXTPROC)(GLenum, GLboolean, GLenum, GLenum, void*);
+GLAPI PFNGLGETMINMAXEXTPROC glad_glGetMinmaxEXT;
+#define glGetMinmaxEXT glad_glGetMinmaxEXT
+typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVEXTPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETMINMAXPARAMETERFVEXTPROC glad_glGetMinmaxParameterfvEXT;
+#define glGetMinmaxParameterfvEXT glad_glGetMinmaxParameterfvEXT
+typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVEXTPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETMINMAXPARAMETERIVEXTPROC glad_glGetMinmaxParameterivEXT;
+#define glGetMinmaxParameterivEXT glad_glGetMinmaxParameterivEXT
+typedef void (APIENTRYP PFNGLHISTOGRAMEXTPROC)(GLenum, GLsizei, GLenum, GLboolean);
+GLAPI PFNGLHISTOGRAMEXTPROC glad_glHistogramEXT;
+#define glHistogramEXT glad_glHistogramEXT
+typedef void (APIENTRYP PFNGLMINMAXEXTPROC)(GLenum, GLenum, GLboolean);
+GLAPI PFNGLMINMAXEXTPROC glad_glMinmaxEXT;
+#define glMinmaxEXT glad_glMinmaxEXT
+typedef void (APIENTRYP PFNGLRESETHISTOGRAMEXTPROC)(GLenum);
+GLAPI PFNGLRESETHISTOGRAMEXTPROC glad_glResetHistogramEXT;
+#define glResetHistogramEXT glad_glResetHistogramEXT
+typedef void (APIENTRYP PFNGLRESETMINMAXEXTPROC)(GLenum);
+GLAPI PFNGLRESETMINMAXEXTPROC glad_glResetMinmaxEXT;
+#define glResetMinmaxEXT glad_glResetMinmaxEXT
+#endif
+#ifndef GL_SGIS_point_parameters
+#define GL_SGIS_point_parameters 1
+GLAPI int GLAD_GL_SGIS_point_parameters;
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFSGISPROC)(GLenum, GLfloat);
+GLAPI PFNGLPOINTPARAMETERFSGISPROC glad_glPointParameterfSGIS;
+#define glPointParameterfSGIS glad_glPointParameterfSGIS
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFVSGISPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLPOINTPARAMETERFVSGISPROC glad_glPointParameterfvSGIS;
+#define glPointParameterfvSGIS glad_glPointParameterfvSGIS
+#endif
+#ifndef GL_EXT_direct_state_access
+#define GL_EXT_direct_state_access 1
+GLAPI int GLAD_GL_EXT_direct_state_access;
+typedef void (APIENTRYP PFNGLMATRIXLOADFEXTPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLMATRIXLOADFEXTPROC glad_glMatrixLoadfEXT;
+#define glMatrixLoadfEXT glad_glMatrixLoadfEXT
+typedef void (APIENTRYP PFNGLMATRIXLOADDEXTPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLMATRIXLOADDEXTPROC glad_glMatrixLoaddEXT;
+#define glMatrixLoaddEXT glad_glMatrixLoaddEXT
+typedef void (APIENTRYP PFNGLMATRIXMULTFEXTPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLMATRIXMULTFEXTPROC glad_glMatrixMultfEXT;
+#define glMatrixMultfEXT glad_glMatrixMultfEXT
+typedef void (APIENTRYP PFNGLMATRIXMULTDEXTPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLMATRIXMULTDEXTPROC glad_glMatrixMultdEXT;
+#define glMatrixMultdEXT glad_glMatrixMultdEXT
+typedef void (APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC)(GLenum);
+GLAPI PFNGLMATRIXLOADIDENTITYEXTPROC glad_glMatrixLoadIdentityEXT;
+#define glMatrixLoadIdentityEXT glad_glMatrixLoadIdentityEXT
+typedef void (APIENTRYP PFNGLMATRIXROTATEFEXTPROC)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLMATRIXROTATEFEXTPROC glad_glMatrixRotatefEXT;
+#define glMatrixRotatefEXT glad_glMatrixRotatefEXT
+typedef void (APIENTRYP PFNGLMATRIXROTATEDEXTPROC)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLMATRIXROTATEDEXTPROC glad_glMatrixRotatedEXT;
+#define glMatrixRotatedEXT glad_glMatrixRotatedEXT
+typedef void (APIENTRYP PFNGLMATRIXSCALEFEXTPROC)(GLenum, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLMATRIXSCALEFEXTPROC glad_glMatrixScalefEXT;
+#define glMatrixScalefEXT glad_glMatrixScalefEXT
+typedef void (APIENTRYP PFNGLMATRIXSCALEDEXTPROC)(GLenum, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLMATRIXSCALEDEXTPROC glad_glMatrixScaledEXT;
+#define glMatrixScaledEXT glad_glMatrixScaledEXT
+typedef void (APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC)(GLenum, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLMATRIXTRANSLATEFEXTPROC glad_glMatrixTranslatefEXT;
+#define glMatrixTranslatefEXT glad_glMatrixTranslatefEXT
+typedef void (APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC)(GLenum, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLMATRIXTRANSLATEDEXTPROC glad_glMatrixTranslatedEXT;
+#define glMatrixTranslatedEXT glad_glMatrixTranslatedEXT
+typedef void (APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLMATRIXFRUSTUMEXTPROC glad_glMatrixFrustumEXT;
+#define glMatrixFrustumEXT glad_glMatrixFrustumEXT
+typedef void (APIENTRYP PFNGLMATRIXORTHOEXTPROC)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLMATRIXORTHOEXTPROC glad_glMatrixOrthoEXT;
+#define glMatrixOrthoEXT glad_glMatrixOrthoEXT
+typedef void (APIENTRYP PFNGLMATRIXPOPEXTPROC)(GLenum);
+GLAPI PFNGLMATRIXPOPEXTPROC glad_glMatrixPopEXT;
+#define glMatrixPopEXT glad_glMatrixPopEXT
+typedef void (APIENTRYP PFNGLMATRIXPUSHEXTPROC)(GLenum);
+GLAPI PFNGLMATRIXPUSHEXTPROC glad_glMatrixPushEXT;
+#define glMatrixPushEXT glad_glMatrixPushEXT
+typedef void (APIENTRYP PFNGLCLIENTATTRIBDEFAULTEXTPROC)(GLbitfield);
+GLAPI PFNGLCLIENTATTRIBDEFAULTEXTPROC glad_glClientAttribDefaultEXT;
+#define glClientAttribDefaultEXT glad_glClientAttribDefaultEXT
+typedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC)(GLbitfield);
+GLAPI PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC glad_glPushClientAttribDefaultEXT;
+#define glPushClientAttribDefaultEXT glad_glPushClientAttribDefaultEXT
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFEXTPROC)(GLuint, GLenum, GLenum, GLfloat);
+GLAPI PFNGLTEXTUREPARAMETERFEXTPROC glad_glTextureParameterfEXT;
+#define glTextureParameterfEXT glad_glTextureParameterfEXT
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVEXTPROC)(GLuint, GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLTEXTUREPARAMETERFVEXTPROC glad_glTextureParameterfvEXT;
+#define glTextureParameterfvEXT glad_glTextureParameterfvEXT
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIEXTPROC)(GLuint, GLenum, GLenum, GLint);
+GLAPI PFNGLTEXTUREPARAMETERIEXTPROC glad_glTextureParameteriEXT;
+#define glTextureParameteriEXT glad_glTextureParameteriEXT
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVEXTPROC)(GLuint, GLenum, GLenum, const GLint*);
+GLAPI PFNGLTEXTUREPARAMETERIVEXTPROC glad_glTextureParameterivEXT;
+#define glTextureParameterivEXT glad_glTextureParameterivEXT
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE1DEXTPROC)(GLuint, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXTUREIMAGE1DEXTPROC glad_glTextureImage1DEXT;
+#define glTextureImage1DEXT glad_glTextureImage1DEXT
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE2DEXTPROC)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXTUREIMAGE2DEXTPROC glad_glTextureImage2DEXT;
+#define glTextureImage2DEXT glad_glTextureImage2DEXT
+typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DEXTPROC)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXTURESUBIMAGE1DEXTPROC glad_glTextureSubImage1DEXT;
+#define glTextureSubImage1DEXT glad_glTextureSubImage1DEXT
+typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DEXTPROC)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXTURESUBIMAGE2DEXTPROC glad_glTextureSubImage2DEXT;
+#define glTextureSubImage2DEXT glad_glTextureSubImage2DEXT
+typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE1DEXTPROC)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
+GLAPI PFNGLCOPYTEXTUREIMAGE1DEXTPROC glad_glCopyTextureImage1DEXT;
+#define glCopyTextureImage1DEXT glad_glCopyTextureImage1DEXT
+typedef void (APIENTRYP PFNGLCOPYTEXTUREIMAGE2DEXTPROC)(GLuint, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
+GLAPI PFNGLCOPYTEXTUREIMAGE2DEXTPROC glad_glCopyTextureImage2DEXT;
+#define glCopyTextureImage2DEXT glad_glCopyTextureImage2DEXT
+typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei);
+GLAPI PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC glad_glCopyTextureSubImage1DEXT;
+#define glCopyTextureSubImage1DEXT glad_glCopyTextureSubImage1DEXT
+typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC glad_glCopyTextureSubImage2DEXT;
+#define glCopyTextureSubImage2DEXT glad_glCopyTextureSubImage2DEXT
+typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEEXTPROC)(GLuint, GLenum, GLint, GLenum, GLenum, void*);
+GLAPI PFNGLGETTEXTUREIMAGEEXTPROC glad_glGetTextureImageEXT;
+#define glGetTextureImageEXT glad_glGetTextureImageEXT
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVEXTPROC)(GLuint, GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETTEXTUREPARAMETERFVEXTPROC glad_glGetTextureParameterfvEXT;
+#define glGetTextureParameterfvEXT glad_glGetTextureParameterfvEXT
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVEXTPROC)(GLuint, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETTEXTUREPARAMETERIVEXTPROC glad_glGetTextureParameterivEXT;
+#define glGetTextureParameterivEXT glad_glGetTextureParameterivEXT
+typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC)(GLuint, GLenum, GLint, GLenum, GLfloat*);
+GLAPI PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC glad_glGetTextureLevelParameterfvEXT;
+#define glGetTextureLevelParameterfvEXT glad_glGetTextureLevelParameterfvEXT
+typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC)(GLuint, GLenum, GLint, GLenum, GLint*);
+GLAPI PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC glad_glGetTextureLevelParameterivEXT;
+#define glGetTextureLevelParameterivEXT glad_glGetTextureLevelParameterivEXT
+typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DEXTPROC)(GLuint, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXTUREIMAGE3DEXTPROC glad_glTextureImage3DEXT;
+#define glTextureImage3DEXT glad_glTextureImage3DEXT
+typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DEXTPROC)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXTURESUBIMAGE3DEXTPROC glad_glTextureSubImage3DEXT;
+#define glTextureSubImage3DEXT glad_glTextureSubImage3DEXT
+typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC glad_glCopyTextureSubImage3DEXT;
+#define glCopyTextureSubImage3DEXT glad_glCopyTextureSubImage3DEXT
+typedef void (APIENTRYP PFNGLBINDMULTITEXTUREEXTPROC)(GLenum, GLenum, GLuint);
+GLAPI PFNGLBINDMULTITEXTUREEXTPROC glad_glBindMultiTextureEXT;
+#define glBindMultiTextureEXT glad_glBindMultiTextureEXT
+typedef void (APIENTRYP PFNGLMULTITEXCOORDPOINTEREXTPROC)(GLenum, GLint, GLenum, GLsizei, const void*);
+GLAPI PFNGLMULTITEXCOORDPOINTEREXTPROC glad_glMultiTexCoordPointerEXT;
+#define glMultiTexCoordPointerEXT glad_glMultiTexCoordPointerEXT
+typedef void (APIENTRYP PFNGLMULTITEXENVFEXTPROC)(GLenum, GLenum, GLenum, GLfloat);
+GLAPI PFNGLMULTITEXENVFEXTPROC glad_glMultiTexEnvfEXT;
+#define glMultiTexEnvfEXT glad_glMultiTexEnvfEXT
+typedef void (APIENTRYP PFNGLMULTITEXENVFVEXTPROC)(GLenum, GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLMULTITEXENVFVEXTPROC glad_glMultiTexEnvfvEXT;
+#define glMultiTexEnvfvEXT glad_glMultiTexEnvfvEXT
+typedef void (APIENTRYP PFNGLMULTITEXENVIEXTPROC)(GLenum, GLenum, GLenum, GLint);
+GLAPI PFNGLMULTITEXENVIEXTPROC glad_glMultiTexEnviEXT;
+#define glMultiTexEnviEXT glad_glMultiTexEnviEXT
+typedef void (APIENTRYP PFNGLMULTITEXENVIVEXTPROC)(GLenum, GLenum, GLenum, const GLint*);
+GLAPI PFNGLMULTITEXENVIVEXTPROC glad_glMultiTexEnvivEXT;
+#define glMultiTexEnvivEXT glad_glMultiTexEnvivEXT
+typedef void (APIENTRYP PFNGLMULTITEXGENDEXTPROC)(GLenum, GLenum, GLenum, GLdouble);
+GLAPI PFNGLMULTITEXGENDEXTPROC glad_glMultiTexGendEXT;
+#define glMultiTexGendEXT glad_glMultiTexGendEXT
+typedef void (APIENTRYP PFNGLMULTITEXGENDVEXTPROC)(GLenum, GLenum, GLenum, const GLdouble*);
+GLAPI PFNGLMULTITEXGENDVEXTPROC glad_glMultiTexGendvEXT;
+#define glMultiTexGendvEXT glad_glMultiTexGendvEXT
+typedef void (APIENTRYP PFNGLMULTITEXGENFEXTPROC)(GLenum, GLenum, GLenum, GLfloat);
+GLAPI PFNGLMULTITEXGENFEXTPROC glad_glMultiTexGenfEXT;
+#define glMultiTexGenfEXT glad_glMultiTexGenfEXT
+typedef void (APIENTRYP PFNGLMULTITEXGENFVEXTPROC)(GLenum, GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLMULTITEXGENFVEXTPROC glad_glMultiTexGenfvEXT;
+#define glMultiTexGenfvEXT glad_glMultiTexGenfvEXT
+typedef void (APIENTRYP PFNGLMULTITEXGENIEXTPROC)(GLenum, GLenum, GLenum, GLint);
+GLAPI PFNGLMULTITEXGENIEXTPROC glad_glMultiTexGeniEXT;
+#define glMultiTexGeniEXT glad_glMultiTexGeniEXT
+typedef void (APIENTRYP PFNGLMULTITEXGENIVEXTPROC)(GLenum, GLenum, GLenum, const GLint*);
+GLAPI PFNGLMULTITEXGENIVEXTPROC glad_glMultiTexGenivEXT;
+#define glMultiTexGenivEXT glad_glMultiTexGenivEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXENVFVEXTPROC)(GLenum, GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETMULTITEXENVFVEXTPROC glad_glGetMultiTexEnvfvEXT;
+#define glGetMultiTexEnvfvEXT glad_glGetMultiTexEnvfvEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXENVIVEXTPROC)(GLenum, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETMULTITEXENVIVEXTPROC glad_glGetMultiTexEnvivEXT;
+#define glGetMultiTexEnvivEXT glad_glGetMultiTexEnvivEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXGENDVEXTPROC)(GLenum, GLenum, GLenum, GLdouble*);
+GLAPI PFNGLGETMULTITEXGENDVEXTPROC glad_glGetMultiTexGendvEXT;
+#define glGetMultiTexGendvEXT glad_glGetMultiTexGendvEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXGENFVEXTPROC)(GLenum, GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETMULTITEXGENFVEXTPROC glad_glGetMultiTexGenfvEXT;
+#define glGetMultiTexGenfvEXT glad_glGetMultiTexGenfvEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXGENIVEXTPROC)(GLenum, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETMULTITEXGENIVEXTPROC glad_glGetMultiTexGenivEXT;
+#define glGetMultiTexGenivEXT glad_glGetMultiTexGenivEXT
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIEXTPROC)(GLenum, GLenum, GLenum, GLint);
+GLAPI PFNGLMULTITEXPARAMETERIEXTPROC glad_glMultiTexParameteriEXT;
+#define glMultiTexParameteriEXT glad_glMultiTexParameteriEXT
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIVEXTPROC)(GLenum, GLenum, GLenum, const GLint*);
+GLAPI PFNGLMULTITEXPARAMETERIVEXTPROC glad_glMultiTexParameterivEXT;
+#define glMultiTexParameterivEXT glad_glMultiTexParameterivEXT
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFEXTPROC)(GLenum, GLenum, GLenum, GLfloat);
+GLAPI PFNGLMULTITEXPARAMETERFEXTPROC glad_glMultiTexParameterfEXT;
+#define glMultiTexParameterfEXT glad_glMultiTexParameterfEXT
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERFVEXTPROC)(GLenum, GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLMULTITEXPARAMETERFVEXTPROC glad_glMultiTexParameterfvEXT;
+#define glMultiTexParameterfvEXT glad_glMultiTexParameterfvEXT
+typedef void (APIENTRYP PFNGLMULTITEXIMAGE1DEXTPROC)(GLenum, GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLMULTITEXIMAGE1DEXTPROC glad_glMultiTexImage1DEXT;
+#define glMultiTexImage1DEXT glad_glMultiTexImage1DEXT
+typedef void (APIENTRYP PFNGLMULTITEXIMAGE2DEXTPROC)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLMULTITEXIMAGE2DEXTPROC glad_glMultiTexImage2DEXT;
+#define glMultiTexImage2DEXT glad_glMultiTexImage2DEXT
+typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE1DEXTPROC)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLMULTITEXSUBIMAGE1DEXTPROC glad_glMultiTexSubImage1DEXT;
+#define glMultiTexSubImage1DEXT glad_glMultiTexSubImage1DEXT
+typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE2DEXTPROC)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLMULTITEXSUBIMAGE2DEXTPROC glad_glMultiTexSubImage2DEXT;
+#define glMultiTexSubImage2DEXT glad_glMultiTexSubImage2DEXT
+typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE1DEXTPROC)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
+GLAPI PFNGLCOPYMULTITEXIMAGE1DEXTPROC glad_glCopyMultiTexImage1DEXT;
+#define glCopyMultiTexImage1DEXT glad_glCopyMultiTexImage1DEXT
+typedef void (APIENTRYP PFNGLCOPYMULTITEXIMAGE2DEXTPROC)(GLenum, GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
+GLAPI PFNGLCOPYMULTITEXIMAGE2DEXTPROC glad_glCopyMultiTexImage2DEXT;
+#define glCopyMultiTexImage2DEXT glad_glCopyMultiTexImage2DEXT
+typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei);
+GLAPI PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC glad_glCopyMultiTexSubImage1DEXT;
+#define glCopyMultiTexSubImage1DEXT glad_glCopyMultiTexSubImage1DEXT
+typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC glad_glCopyMultiTexSubImage2DEXT;
+#define glCopyMultiTexSubImage2DEXT glad_glCopyMultiTexSubImage2DEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXIMAGEEXTPROC)(GLenum, GLenum, GLint, GLenum, GLenum, void*);
+GLAPI PFNGLGETMULTITEXIMAGEEXTPROC glad_glGetMultiTexImageEXT;
+#define glGetMultiTexImageEXT glad_glGetMultiTexImageEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERFVEXTPROC)(GLenum, GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETMULTITEXPARAMETERFVEXTPROC glad_glGetMultiTexParameterfvEXT;
+#define glGetMultiTexParameterfvEXT glad_glGetMultiTexParameterfvEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIVEXTPROC)(GLenum, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETMULTITEXPARAMETERIVEXTPROC glad_glGetMultiTexParameterivEXT;
+#define glGetMultiTexParameterivEXT glad_glGetMultiTexParameterivEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC)(GLenum, GLenum, GLint, GLenum, GLfloat*);
+GLAPI PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC glad_glGetMultiTexLevelParameterfvEXT;
+#define glGetMultiTexLevelParameterfvEXT glad_glGetMultiTexLevelParameterfvEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC)(GLenum, GLenum, GLint, GLenum, GLint*);
+GLAPI PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC glad_glGetMultiTexLevelParameterivEXT;
+#define glGetMultiTexLevelParameterivEXT glad_glGetMultiTexLevelParameterivEXT
+typedef void (APIENTRYP PFNGLMULTITEXIMAGE3DEXTPROC)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLMULTITEXIMAGE3DEXTPROC glad_glMultiTexImage3DEXT;
+#define glMultiTexImage3DEXT glad_glMultiTexImage3DEXT
+typedef void (APIENTRYP PFNGLMULTITEXSUBIMAGE3DEXTPROC)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLMULTITEXSUBIMAGE3DEXTPROC glad_glMultiTexSubImage3DEXT;
+#define glMultiTexSubImage3DEXT glad_glMultiTexSubImage3DEXT
+typedef void (APIENTRYP PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC glad_glCopyMultiTexSubImage3DEXT;
+#define glCopyMultiTexSubImage3DEXT glad_glCopyMultiTexSubImage3DEXT
+typedef void (APIENTRYP PFNGLENABLECLIENTSTATEINDEXEDEXTPROC)(GLenum, GLuint);
+GLAPI PFNGLENABLECLIENTSTATEINDEXEDEXTPROC glad_glEnableClientStateIndexedEXT;
+#define glEnableClientStateIndexedEXT glad_glEnableClientStateIndexedEXT
+typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC)(GLenum, GLuint);
+GLAPI PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC glad_glDisableClientStateIndexedEXT;
+#define glDisableClientStateIndexedEXT glad_glDisableClientStateIndexedEXT
+typedef void (APIENTRYP PFNGLGETFLOATINDEXEDVEXTPROC)(GLenum, GLuint, GLfloat*);
+GLAPI PFNGLGETFLOATINDEXEDVEXTPROC glad_glGetFloatIndexedvEXT;
+#define glGetFloatIndexedvEXT glad_glGetFloatIndexedvEXT
+typedef void (APIENTRYP PFNGLGETDOUBLEINDEXEDVEXTPROC)(GLenum, GLuint, GLdouble*);
+GLAPI PFNGLGETDOUBLEINDEXEDVEXTPROC glad_glGetDoubleIndexedvEXT;
+#define glGetDoubleIndexedvEXT glad_glGetDoubleIndexedvEXT
+typedef void (APIENTRYP PFNGLGETPOINTERINDEXEDVEXTPROC)(GLenum, GLuint, void**);
+GLAPI PFNGLGETPOINTERINDEXEDVEXTPROC glad_glGetPointerIndexedvEXT;
+#define glGetPointerIndexedvEXT glad_glGetPointerIndexedvEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC glad_glCompressedTextureImage3DEXT;
+#define glCompressedTextureImage3DEXT glad_glCompressedTextureImage3DEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC)(GLuint, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC glad_glCompressedTextureImage2DEXT;
+#define glCompressedTextureImage2DEXT glad_glCompressedTextureImage2DEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC)(GLuint, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC glad_glCompressedTextureImage1DEXT;
+#define glCompressedTextureImage1DEXT glad_glCompressedTextureImage1DEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC glad_glCompressedTextureSubImage3DEXT;
+#define glCompressedTextureSubImage3DEXT glad_glCompressedTextureSubImage3DEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC)(GLuint, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC glad_glCompressedTextureSubImage2DEXT;
+#define glCompressedTextureSubImage2DEXT glad_glCompressedTextureSubImage2DEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC)(GLuint, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC glad_glCompressedTextureSubImage1DEXT;
+#define glCompressedTextureSubImage1DEXT glad_glCompressedTextureSubImage1DEXT
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC)(GLuint, GLenum, GLint, void*);
+GLAPI PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC glad_glGetCompressedTextureImageEXT;
+#define glGetCompressedTextureImageEXT glad_glGetCompressedTextureImageEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC glad_glCompressedMultiTexImage3DEXT;
+#define glCompressedMultiTexImage3DEXT glad_glCompressedMultiTexImage3DEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC)(GLenum, GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC glad_glCompressedMultiTexImage2DEXT;
+#define glCompressedMultiTexImage2DEXT glad_glCompressedMultiTexImage2DEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC)(GLenum, GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC glad_glCompressedMultiTexImage1DEXT;
+#define glCompressedMultiTexImage1DEXT glad_glCompressedMultiTexImage1DEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC)(GLenum, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC glad_glCompressedMultiTexSubImage3DEXT;
+#define glCompressedMultiTexSubImage3DEXT glad_glCompressedMultiTexSubImage3DEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC)(GLenum, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC glad_glCompressedMultiTexSubImage2DEXT;
+#define glCompressedMultiTexSubImage2DEXT glad_glCompressedMultiTexSubImage2DEXT
+typedef void (APIENTRYP PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC)(GLenum, GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC glad_glCompressedMultiTexSubImage1DEXT;
+#define glCompressedMultiTexSubImage1DEXT glad_glCompressedMultiTexSubImage1DEXT
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC)(GLenum, GLenum, GLint, void*);
+GLAPI PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC glad_glGetCompressedMultiTexImageEXT;
+#define glGetCompressedMultiTexImageEXT glad_glGetCompressedMultiTexImageEXT
+typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLMATRIXLOADTRANSPOSEFEXTPROC glad_glMatrixLoadTransposefEXT;
+#define glMatrixLoadTransposefEXT glad_glMatrixLoadTransposefEXT
+typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLMATRIXLOADTRANSPOSEDEXTPROC glad_glMatrixLoadTransposedEXT;
+#define glMatrixLoadTransposedEXT glad_glMatrixLoadTransposedEXT
+typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLMATRIXMULTTRANSPOSEFEXTPROC glad_glMatrixMultTransposefEXT;
+#define glMatrixMultTransposefEXT glad_glMatrixMultTransposefEXT
+typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLMATRIXMULTTRANSPOSEDEXTPROC glad_glMatrixMultTransposedEXT;
+#define glMatrixMultTransposedEXT glad_glMatrixMultTransposedEXT
+typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAEXTPROC)(GLuint, GLsizeiptr, const void*, GLenum);
+GLAPI PFNGLNAMEDBUFFERDATAEXTPROC glad_glNamedBufferDataEXT;
+#define glNamedBufferDataEXT glad_glNamedBufferDataEXT
+typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAEXTPROC)(GLuint, GLintptr, GLsizeiptr, const void*);
+GLAPI PFNGLNAMEDBUFFERSUBDATAEXTPROC glad_glNamedBufferSubDataEXT;
+#define glNamedBufferSubDataEXT glad_glNamedBufferSubDataEXT
+typedef void* (APIENTRYP PFNGLMAPNAMEDBUFFEREXTPROC)(GLuint, GLenum);
+GLAPI PFNGLMAPNAMEDBUFFEREXTPROC glad_glMapNamedBufferEXT;
+#define glMapNamedBufferEXT glad_glMapNamedBufferEXT
+typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFEREXTPROC)(GLuint);
+GLAPI PFNGLUNMAPNAMEDBUFFEREXTPROC glad_glUnmapNamedBufferEXT;
+#define glUnmapNamedBufferEXT glad_glUnmapNamedBufferEXT
+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC glad_glGetNamedBufferParameterivEXT;
+#define glGetNamedBufferParameterivEXT glad_glGetNamedBufferParameterivEXT
+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVEXTPROC)(GLuint, GLenum, void**);
+GLAPI PFNGLGETNAMEDBUFFERPOINTERVEXTPROC glad_glGetNamedBufferPointervEXT;
+#define glGetNamedBufferPointervEXT glad_glGetNamedBufferPointervEXT
+typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAEXTPROC)(GLuint, GLintptr, GLsizeiptr, void*);
+GLAPI PFNGLGETNAMEDBUFFERSUBDATAEXTPROC glad_glGetNamedBufferSubDataEXT;
+#define glGetNamedBufferSubDataEXT glad_glGetNamedBufferSubDataEXT
+typedef void (APIENTRYP PFNGLTEXTUREBUFFEREXTPROC)(GLuint, GLenum, GLenum, GLuint);
+GLAPI PFNGLTEXTUREBUFFEREXTPROC glad_glTextureBufferEXT;
+#define glTextureBufferEXT glad_glTextureBufferEXT
+typedef void (APIENTRYP PFNGLMULTITEXBUFFEREXTPROC)(GLenum, GLenum, GLenum, GLuint);
+GLAPI PFNGLMULTITEXBUFFEREXTPROC glad_glMultiTexBufferEXT;
+#define glMultiTexBufferEXT glad_glMultiTexBufferEXT
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVEXTPROC)(GLuint, GLenum, GLenum, const GLint*);
+GLAPI PFNGLTEXTUREPARAMETERIIVEXTPROC glad_glTextureParameterIivEXT;
+#define glTextureParameterIivEXT glad_glTextureParameterIivEXT
+typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVEXTPROC)(GLuint, GLenum, GLenum, const GLuint*);
+GLAPI PFNGLTEXTUREPARAMETERIUIVEXTPROC glad_glTextureParameterIuivEXT;
+#define glTextureParameterIuivEXT glad_glTextureParameterIuivEXT
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVEXTPROC)(GLuint, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETTEXTUREPARAMETERIIVEXTPROC glad_glGetTextureParameterIivEXT;
+#define glGetTextureParameterIivEXT glad_glGetTextureParameterIivEXT
+typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVEXTPROC)(GLuint, GLenum, GLenum, GLuint*);
+GLAPI PFNGLGETTEXTUREPARAMETERIUIVEXTPROC glad_glGetTextureParameterIuivEXT;
+#define glGetTextureParameterIuivEXT glad_glGetTextureParameterIuivEXT
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIIVEXTPROC)(GLenum, GLenum, GLenum, const GLint*);
+GLAPI PFNGLMULTITEXPARAMETERIIVEXTPROC glad_glMultiTexParameterIivEXT;
+#define glMultiTexParameterIivEXT glad_glMultiTexParameterIivEXT
+typedef void (APIENTRYP PFNGLMULTITEXPARAMETERIUIVEXTPROC)(GLenum, GLenum, GLenum, const GLuint*);
+GLAPI PFNGLMULTITEXPARAMETERIUIVEXTPROC glad_glMultiTexParameterIuivEXT;
+#define glMultiTexParameterIuivEXT glad_glMultiTexParameterIuivEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIIVEXTPROC)(GLenum, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETMULTITEXPARAMETERIIVEXTPROC glad_glGetMultiTexParameterIivEXT;
+#define glGetMultiTexParameterIivEXT glad_glGetMultiTexParameterIivEXT
+typedef void (APIENTRYP PFNGLGETMULTITEXPARAMETERIUIVEXTPROC)(GLenum, GLenum, GLenum, GLuint*);
+GLAPI PFNGLGETMULTITEXPARAMETERIUIVEXTPROC glad_glGetMultiTexParameterIuivEXT;
+#define glGetMultiTexParameterIuivEXT glad_glGetMultiTexParameterIuivEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC)(GLuint, GLenum, GLuint, GLsizei, const GLfloat*);
+GLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC glad_glNamedProgramLocalParameters4fvEXT;
+#define glNamedProgramLocalParameters4fvEXT glad_glNamedProgramLocalParameters4fvEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC)(GLuint, GLenum, GLuint, GLint, GLint, GLint, GLint);
+GLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC glad_glNamedProgramLocalParameterI4iEXT;
+#define glNamedProgramLocalParameterI4iEXT glad_glNamedProgramLocalParameterI4iEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC)(GLuint, GLenum, GLuint, const GLint*);
+GLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC glad_glNamedProgramLocalParameterI4ivEXT;
+#define glNamedProgramLocalParameterI4ivEXT glad_glNamedProgramLocalParameterI4ivEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC)(GLuint, GLenum, GLuint, GLsizei, const GLint*);
+GLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC glad_glNamedProgramLocalParametersI4ivEXT;
+#define glNamedProgramLocalParametersI4ivEXT glad_glNamedProgramLocalParametersI4ivEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC)(GLuint, GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC glad_glNamedProgramLocalParameterI4uiEXT;
+#define glNamedProgramLocalParameterI4uiEXT glad_glNamedProgramLocalParameterI4uiEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC)(GLuint, GLenum, GLuint, const GLuint*);
+GLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC glad_glNamedProgramLocalParameterI4uivEXT;
+#define glNamedProgramLocalParameterI4uivEXT glad_glNamedProgramLocalParameterI4uivEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC)(GLuint, GLenum, GLuint, GLsizei, const GLuint*);
+GLAPI PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC glad_glNamedProgramLocalParametersI4uivEXT;
+#define glNamedProgramLocalParametersI4uivEXT glad_glNamedProgramLocalParametersI4uivEXT
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC)(GLuint, GLenum, GLuint, GLint*);
+GLAPI PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC glad_glGetNamedProgramLocalParameterIivEXT;
+#define glGetNamedProgramLocalParameterIivEXT glad_glGetNamedProgramLocalParameterIivEXT
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC)(GLuint, GLenum, GLuint, GLuint*);
+GLAPI PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC glad_glGetNamedProgramLocalParameterIuivEXT;
+#define glGetNamedProgramLocalParameterIuivEXT glad_glGetNamedProgramLocalParameterIuivEXT
+typedef void (APIENTRYP PFNGLENABLECLIENTSTATEIEXTPROC)(GLenum, GLuint);
+GLAPI PFNGLENABLECLIENTSTATEIEXTPROC glad_glEnableClientStateiEXT;
+#define glEnableClientStateiEXT glad_glEnableClientStateiEXT
+typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEIEXTPROC)(GLenum, GLuint);
+GLAPI PFNGLDISABLECLIENTSTATEIEXTPROC glad_glDisableClientStateiEXT;
+#define glDisableClientStateiEXT glad_glDisableClientStateiEXT
+typedef void (APIENTRYP PFNGLGETFLOATI_VEXTPROC)(GLenum, GLuint, GLfloat*);
+GLAPI PFNGLGETFLOATI_VEXTPROC glad_glGetFloati_vEXT;
+#define glGetFloati_vEXT glad_glGetFloati_vEXT
+typedef void (APIENTRYP PFNGLGETDOUBLEI_VEXTPROC)(GLenum, GLuint, GLdouble*);
+GLAPI PFNGLGETDOUBLEI_VEXTPROC glad_glGetDoublei_vEXT;
+#define glGetDoublei_vEXT glad_glGetDoublei_vEXT
+typedef void (APIENTRYP PFNGLGETPOINTERI_VEXTPROC)(GLenum, GLuint, void**);
+GLAPI PFNGLGETPOINTERI_VEXTPROC glad_glGetPointeri_vEXT;
+#define glGetPointeri_vEXT glad_glGetPointeri_vEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMSTRINGEXTPROC)(GLuint, GLenum, GLenum, GLsizei, const void*);
+GLAPI PFNGLNAMEDPROGRAMSTRINGEXTPROC glad_glNamedProgramStringEXT;
+#define glNamedProgramStringEXT glad_glNamedProgramStringEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC)(GLuint, GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC glad_glNamedProgramLocalParameter4dEXT;
+#define glNamedProgramLocalParameter4dEXT glad_glNamedProgramLocalParameter4dEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC)(GLuint, GLenum, GLuint, const GLdouble*);
+GLAPI PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC glad_glNamedProgramLocalParameter4dvEXT;
+#define glNamedProgramLocalParameter4dvEXT glad_glNamedProgramLocalParameter4dvEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC)(GLuint, GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC glad_glNamedProgramLocalParameter4fEXT;
+#define glNamedProgramLocalParameter4fEXT glad_glNamedProgramLocalParameter4fEXT
+typedef void (APIENTRYP PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC)(GLuint, GLenum, GLuint, const GLfloat*);
+GLAPI PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC glad_glNamedProgramLocalParameter4fvEXT;
+#define glNamedProgramLocalParameter4fvEXT glad_glNamedProgramLocalParameter4fvEXT
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC)(GLuint, GLenum, GLuint, GLdouble*);
+GLAPI PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC glad_glGetNamedProgramLocalParameterdvEXT;
+#define glGetNamedProgramLocalParameterdvEXT glad_glGetNamedProgramLocalParameterdvEXT
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC)(GLuint, GLenum, GLuint, GLfloat*);
+GLAPI PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC glad_glGetNamedProgramLocalParameterfvEXT;
+#define glGetNamedProgramLocalParameterfvEXT glad_glGetNamedProgramLocalParameterfvEXT
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMIVEXTPROC)(GLuint, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETNAMEDPROGRAMIVEXTPROC glad_glGetNamedProgramivEXT;
+#define glGetNamedProgramivEXT glad_glGetNamedProgramivEXT
+typedef void (APIENTRYP PFNGLGETNAMEDPROGRAMSTRINGEXTPROC)(GLuint, GLenum, GLenum, void*);
+GLAPI PFNGLGETNAMEDPROGRAMSTRINGEXTPROC glad_glGetNamedProgramStringEXT;
+#define glGetNamedProgramStringEXT glad_glGetNamedProgramStringEXT
+typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC)(GLuint, GLenum, GLsizei, GLsizei);
+GLAPI PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC glad_glNamedRenderbufferStorageEXT;
+#define glNamedRenderbufferStorageEXT glad_glNamedRenderbufferStorageEXT
+typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC glad_glGetNamedRenderbufferParameterivEXT;
+#define glGetNamedRenderbufferParameterivEXT glad_glGetNamedRenderbufferParameterivEXT
+typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLuint, GLsizei, GLenum, GLsizei, GLsizei);
+GLAPI PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glNamedRenderbufferStorageMultisampleEXT;
+#define glNamedRenderbufferStorageMultisampleEXT glad_glNamedRenderbufferStorageMultisampleEXT
+typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC)(GLuint, GLsizei, GLsizei, GLenum, GLsizei, GLsizei);
+GLAPI PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC glad_glNamedRenderbufferStorageMultisampleCoverageEXT;
+#define glNamedRenderbufferStorageMultisampleCoverageEXT glad_glNamedRenderbufferStorageMultisampleCoverageEXT
+typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC)(GLuint, GLenum);
+GLAPI PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC glad_glCheckNamedFramebufferStatusEXT;
+#define glCheckNamedFramebufferStatusEXT glad_glCheckNamedFramebufferStatusEXT
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC)(GLuint, GLenum, GLenum, GLuint, GLint);
+GLAPI PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC glad_glNamedFramebufferTexture1DEXT;
+#define glNamedFramebufferTexture1DEXT glad_glNamedFramebufferTexture1DEXT
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC)(GLuint, GLenum, GLenum, GLuint, GLint);
+GLAPI PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC glad_glNamedFramebufferTexture2DEXT;
+#define glNamedFramebufferTexture2DEXT glad_glNamedFramebufferTexture2DEXT
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC)(GLuint, GLenum, GLenum, GLuint, GLint, GLint);
+GLAPI PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC glad_glNamedFramebufferTexture3DEXT;
+#define glNamedFramebufferTexture3DEXT glad_glNamedFramebufferTexture3DEXT
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC)(GLuint, GLenum, GLenum, GLuint);
+GLAPI PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC glad_glNamedFramebufferRenderbufferEXT;
+#define glNamedFramebufferRenderbufferEXT glad_glNamedFramebufferRenderbufferEXT
+typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLuint, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetNamedFramebufferAttachmentParameterivEXT;
+#define glGetNamedFramebufferAttachmentParameterivEXT glad_glGetNamedFramebufferAttachmentParameterivEXT
+typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPEXTPROC)(GLuint, GLenum);
+GLAPI PFNGLGENERATETEXTUREMIPMAPEXTPROC glad_glGenerateTextureMipmapEXT;
+#define glGenerateTextureMipmapEXT glad_glGenerateTextureMipmapEXT
+typedef void (APIENTRYP PFNGLGENERATEMULTITEXMIPMAPEXTPROC)(GLenum, GLenum);
+GLAPI PFNGLGENERATEMULTITEXMIPMAPEXTPROC glad_glGenerateMultiTexMipmapEXT;
+#define glGenerateMultiTexMipmapEXT glad_glGenerateMultiTexMipmapEXT
+typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC)(GLuint, GLenum);
+GLAPI PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC glad_glFramebufferDrawBufferEXT;
+#define glFramebufferDrawBufferEXT glad_glFramebufferDrawBufferEXT
+typedef void (APIENTRYP PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC)(GLuint, GLsizei, const GLenum*);
+GLAPI PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC glad_glFramebufferDrawBuffersEXT;
+#define glFramebufferDrawBuffersEXT glad_glFramebufferDrawBuffersEXT
+typedef void (APIENTRYP PFNGLFRAMEBUFFERREADBUFFEREXTPROC)(GLuint, GLenum);
+GLAPI PFNGLFRAMEBUFFERREADBUFFEREXTPROC glad_glFramebufferReadBufferEXT;
+#define glFramebufferReadBufferEXT glad_glFramebufferReadBufferEXT
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetFramebufferParameterivEXT;
+#define glGetFramebufferParameterivEXT glad_glGetFramebufferParameterivEXT
+typedef void (APIENTRYP PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr);
+GLAPI PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC glad_glNamedCopyBufferSubDataEXT;
+#define glNamedCopyBufferSubDataEXT glad_glNamedCopyBufferSubDataEXT
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC)(GLuint, GLenum, GLuint, GLint);
+GLAPI PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC glad_glNamedFramebufferTextureEXT;
+#define glNamedFramebufferTextureEXT glad_glNamedFramebufferTextureEXT
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC)(GLuint, GLenum, GLuint, GLint, GLint);
+GLAPI PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC glad_glNamedFramebufferTextureLayerEXT;
+#define glNamedFramebufferTextureLayerEXT glad_glNamedFramebufferTextureLayerEXT
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC)(GLuint, GLenum, GLuint, GLint, GLenum);
+GLAPI PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC glad_glNamedFramebufferTextureFaceEXT;
+#define glNamedFramebufferTextureFaceEXT glad_glNamedFramebufferTextureFaceEXT
+typedef void (APIENTRYP PFNGLTEXTURERENDERBUFFEREXTPROC)(GLuint, GLenum, GLuint);
+GLAPI PFNGLTEXTURERENDERBUFFEREXTPROC glad_glTextureRenderbufferEXT;
+#define glTextureRenderbufferEXT glad_glTextureRenderbufferEXT
+typedef void (APIENTRYP PFNGLMULTITEXRENDERBUFFEREXTPROC)(GLenum, GLenum, GLuint);
+GLAPI PFNGLMULTITEXRENDERBUFFEREXTPROC glad_glMultiTexRenderbufferEXT;
+#define glMultiTexRenderbufferEXT glad_glMultiTexRenderbufferEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC glad_glVertexArrayVertexOffsetEXT;
+#define glVertexArrayVertexOffsetEXT glad_glVertexArrayVertexOffsetEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYCOLOROFFSETEXTPROC)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYCOLOROFFSETEXTPROC glad_glVertexArrayColorOffsetEXT;
+#define glVertexArrayColorOffsetEXT glad_glVertexArrayColorOffsetEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC)(GLuint, GLuint, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC glad_glVertexArrayEdgeFlagOffsetEXT;
+#define glVertexArrayEdgeFlagOffsetEXT glad_glVertexArrayEdgeFlagOffsetEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYINDEXOFFSETEXTPROC)(GLuint, GLuint, GLenum, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYINDEXOFFSETEXTPROC glad_glVertexArrayIndexOffsetEXT;
+#define glVertexArrayIndexOffsetEXT glad_glVertexArrayIndexOffsetEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYNORMALOFFSETEXTPROC)(GLuint, GLuint, GLenum, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYNORMALOFFSETEXTPROC glad_glVertexArrayNormalOffsetEXT;
+#define glVertexArrayNormalOffsetEXT glad_glVertexArrayNormalOffsetEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC glad_glVertexArrayTexCoordOffsetEXT;
+#define glVertexArrayTexCoordOffsetEXT glad_glVertexArrayTexCoordOffsetEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC)(GLuint, GLuint, GLenum, GLint, GLenum, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC glad_glVertexArrayMultiTexCoordOffsetEXT;
+#define glVertexArrayMultiTexCoordOffsetEXT glad_glVertexArrayMultiTexCoordOffsetEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC)(GLuint, GLuint, GLenum, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC glad_glVertexArrayFogCoordOffsetEXT;
+#define glVertexArrayFogCoordOffsetEXT glad_glVertexArrayFogCoordOffsetEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC)(GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC glad_glVertexArraySecondaryColorOffsetEXT;
+#define glVertexArraySecondaryColorOffsetEXT glad_glVertexArraySecondaryColorOffsetEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC)(GLuint, GLuint, GLuint, GLint, GLenum, GLboolean, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC glad_glVertexArrayVertexAttribOffsetEXT;
+#define glVertexArrayVertexAttribOffsetEXT glad_glVertexArrayVertexAttribOffsetEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC glad_glVertexArrayVertexAttribIOffsetEXT;
+#define glVertexArrayVertexAttribIOffsetEXT glad_glVertexArrayVertexAttribIOffsetEXT
+typedef void (APIENTRYP PFNGLENABLEVERTEXARRAYEXTPROC)(GLuint, GLenum);
+GLAPI PFNGLENABLEVERTEXARRAYEXTPROC glad_glEnableVertexArrayEXT;
+#define glEnableVertexArrayEXT glad_glEnableVertexArrayEXT
+typedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYEXTPROC)(GLuint, GLenum);
+GLAPI PFNGLDISABLEVERTEXARRAYEXTPROC glad_glDisableVertexArrayEXT;
+#define glDisableVertexArrayEXT glad_glDisableVertexArrayEXT
+typedef void (APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBEXTPROC)(GLuint, GLuint);
+GLAPI PFNGLENABLEVERTEXARRAYATTRIBEXTPROC glad_glEnableVertexArrayAttribEXT;
+#define glEnableVertexArrayAttribEXT glad_glEnableVertexArrayAttribEXT
+typedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC)(GLuint, GLuint);
+GLAPI PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC glad_glDisableVertexArrayAttribEXT;
+#define glDisableVertexArrayAttribEXT glad_glDisableVertexArrayAttribEXT
+typedef void (APIENTRYP PFNGLGETVERTEXARRAYINTEGERVEXTPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVERTEXARRAYINTEGERVEXTPROC glad_glGetVertexArrayIntegervEXT;
+#define glGetVertexArrayIntegervEXT glad_glGetVertexArrayIntegervEXT
+typedef void (APIENTRYP PFNGLGETVERTEXARRAYPOINTERVEXTPROC)(GLuint, GLenum, void**);
+GLAPI PFNGLGETVERTEXARRAYPOINTERVEXTPROC glad_glGetVertexArrayPointervEXT;
+#define glGetVertexArrayPointervEXT glad_glGetVertexArrayPointervEXT
+typedef void (APIENTRYP PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC)(GLuint, GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC glad_glGetVertexArrayIntegeri_vEXT;
+#define glGetVertexArrayIntegeri_vEXT glad_glGetVertexArrayIntegeri_vEXT
+typedef void (APIENTRYP PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC)(GLuint, GLuint, GLenum, void**);
+GLAPI PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC glad_glGetVertexArrayPointeri_vEXT;
+#define glGetVertexArrayPointeri_vEXT glad_glGetVertexArrayPointeri_vEXT
+typedef void* (APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC)(GLuint, GLintptr, GLsizeiptr, GLbitfield);
+GLAPI PFNGLMAPNAMEDBUFFERRANGEEXTPROC glad_glMapNamedBufferRangeEXT;
+#define glMapNamedBufferRangeEXT glad_glMapNamedBufferRangeEXT
+typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC)(GLuint, GLintptr, GLsizeiptr);
+GLAPI PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC glad_glFlushMappedNamedBufferRangeEXT;
+#define glFlushMappedNamedBufferRangeEXT glad_glFlushMappedNamedBufferRangeEXT
+typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTPROC)(GLuint, GLsizeiptr, const void*, GLbitfield);
+GLAPI PFNGLNAMEDBUFFERSTORAGEEXTPROC glad_glNamedBufferStorageEXT;
+#define glNamedBufferStorageEXT glad_glNamedBufferStorageEXT
+typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAEXTPROC)(GLuint, GLenum, GLenum, GLenum, const void*);
+GLAPI PFNGLCLEARNAMEDBUFFERDATAEXTPROC glad_glClearNamedBufferDataEXT;
+#define glClearNamedBufferDataEXT glad_glClearNamedBufferDataEXT
+typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)(GLuint, GLenum, GLsizeiptr, GLsizeiptr, GLenum, GLenum, const void*);
+GLAPI PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC glad_glClearNamedBufferSubDataEXT;
+#define glClearNamedBufferSubDataEXT glad_glClearNamedBufferSubDataEXT
+typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC)(GLuint, GLenum, GLint);
+GLAPI PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC glad_glNamedFramebufferParameteriEXT;
+#define glNamedFramebufferParameteriEXT glad_glNamedFramebufferParameteriEXT
+typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetNamedFramebufferParameterivEXT;
+#define glGetNamedFramebufferParameterivEXT glad_glGetNamedFramebufferParameterivEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC)(GLuint, GLint, GLdouble);
+GLAPI PFNGLPROGRAMUNIFORM1DEXTPROC glad_glProgramUniform1dEXT;
+#define glProgramUniform1dEXT glad_glProgramUniform1dEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DEXTPROC)(GLuint, GLint, GLdouble, GLdouble);
+GLAPI PFNGLPROGRAMUNIFORM2DEXTPROC glad_glProgramUniform2dEXT;
+#define glProgramUniform2dEXT glad_glProgramUniform2dEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DEXTPROC)(GLuint, GLint, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLPROGRAMUNIFORM3DEXTPROC glad_glProgramUniform3dEXT;
+#define glProgramUniform3dEXT glad_glProgramUniform3dEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DEXTPROC)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLPROGRAMUNIFORM4DEXTPROC glad_glProgramUniform4dEXT;
+#define glProgramUniform4dEXT glad_glProgramUniform4dEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVEXTPROC)(GLuint, GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORM1DVEXTPROC glad_glProgramUniform1dvEXT;
+#define glProgramUniform1dvEXT glad_glProgramUniform1dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVEXTPROC)(GLuint, GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORM2DVEXTPROC glad_glProgramUniform2dvEXT;
+#define glProgramUniform2dvEXT glad_glProgramUniform2dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVEXTPROC)(GLuint, GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORM3DVEXTPROC glad_glProgramUniform3dvEXT;
+#define glProgramUniform3dvEXT glad_glProgramUniform3dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVEXTPROC)(GLuint, GLint, GLsizei, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORM4DVEXTPROC glad_glProgramUniform4dvEXT;
+#define glProgramUniform4dvEXT glad_glProgramUniform4dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC glad_glProgramUniformMatrix2dvEXT;
+#define glProgramUniformMatrix2dvEXT glad_glProgramUniformMatrix2dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC glad_glProgramUniformMatrix3dvEXT;
+#define glProgramUniformMatrix3dvEXT glad_glProgramUniformMatrix3dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC glad_glProgramUniformMatrix4dvEXT;
+#define glProgramUniformMatrix4dvEXT glad_glProgramUniformMatrix4dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC glad_glProgramUniformMatrix2x3dvEXT;
+#define glProgramUniformMatrix2x3dvEXT glad_glProgramUniformMatrix2x3dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC glad_glProgramUniformMatrix2x4dvEXT;
+#define glProgramUniformMatrix2x4dvEXT glad_glProgramUniformMatrix2x4dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC glad_glProgramUniformMatrix3x2dvEXT;
+#define glProgramUniformMatrix3x2dvEXT glad_glProgramUniformMatrix3x2dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC glad_glProgramUniformMatrix3x4dvEXT;
+#define glProgramUniformMatrix3x4dvEXT glad_glProgramUniformMatrix3x4dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC glad_glProgramUniformMatrix4x2dvEXT;
+#define glProgramUniformMatrix4x2dvEXT glad_glProgramUniformMatrix4x2dvEXT
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC)(GLuint, GLint, GLsizei, GLboolean, const GLdouble*);
+GLAPI PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC glad_glProgramUniformMatrix4x3dvEXT;
+#define glProgramUniformMatrix4x3dvEXT glad_glProgramUniformMatrix4x3dvEXT
+typedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEEXTPROC)(GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr);
+GLAPI PFNGLTEXTUREBUFFERRANGEEXTPROC glad_glTextureBufferRangeEXT;
+#define glTextureBufferRangeEXT glad_glTextureBufferRangeEXT
+typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC)(GLuint, GLenum, GLsizei, GLenum, GLsizei);
+GLAPI PFNGLTEXTURESTORAGE1DEXTPROC glad_glTextureStorage1DEXT;
+#define glTextureStorage1DEXT glad_glTextureStorage1DEXT
+typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei);
+GLAPI PFNGLTEXTURESTORAGE2DEXTPROC glad_glTextureStorage2DEXT;
+#define glTextureStorage2DEXT glad_glTextureStorage2DEXT
+typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei);
+GLAPI PFNGLTEXTURESTORAGE3DEXTPROC glad_glTextureStorage3DEXT;
+#define glTextureStorage3DEXT glad_glTextureStorage3DEXT
+typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC glad_glTextureStorage2DMultisampleEXT;
+#define glTextureStorage2DMultisampleEXT glad_glTextureStorage2DMultisampleEXT
+typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC glad_glTextureStorage3DMultisampleEXT;
+#define glTextureStorage3DMultisampleEXT glad_glTextureStorage3DMultisampleEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC)(GLuint, GLuint, GLuint, GLintptr, GLsizei);
+GLAPI PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC glad_glVertexArrayBindVertexBufferEXT;
+#define glVertexArrayBindVertexBufferEXT glad_glVertexArrayBindVertexBufferEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC)(GLuint, GLuint, GLint, GLenum, GLboolean, GLuint);
+GLAPI PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC glad_glVertexArrayVertexAttribFormatEXT;
+#define glVertexArrayVertexAttribFormatEXT glad_glVertexArrayVertexAttribFormatEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC)(GLuint, GLuint, GLint, GLenum, GLuint);
+GLAPI PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC glad_glVertexArrayVertexAttribIFormatEXT;
+#define glVertexArrayVertexAttribIFormatEXT glad_glVertexArrayVertexAttribIFormatEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC)(GLuint, GLuint, GLint, GLenum, GLuint);
+GLAPI PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC glad_glVertexArrayVertexAttribLFormatEXT;
+#define glVertexArrayVertexAttribLFormatEXT glad_glVertexArrayVertexAttribLFormatEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC)(GLuint, GLuint, GLuint);
+GLAPI PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC glad_glVertexArrayVertexAttribBindingEXT;
+#define glVertexArrayVertexAttribBindingEXT glad_glVertexArrayVertexAttribBindingEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC)(GLuint, GLuint, GLuint);
+GLAPI PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC glad_glVertexArrayVertexBindingDivisorEXT;
+#define glVertexArrayVertexBindingDivisorEXT glad_glVertexArrayVertexBindingDivisorEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC)(GLuint, GLuint, GLuint, GLint, GLenum, GLsizei, GLintptr);
+GLAPI PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC glad_glVertexArrayVertexAttribLOffsetEXT;
+#define glVertexArrayVertexAttribLOffsetEXT glad_glVertexArrayVertexAttribLOffsetEXT
+typedef void (APIENTRYP PFNGLTEXTUREPAGECOMMITMENTEXTPROC)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXTUREPAGECOMMITMENTEXTPROC glad_glTexturePageCommitmentEXT;
+#define glTexturePageCommitmentEXT glad_glTexturePageCommitmentEXT
+typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC)(GLuint, GLuint, GLuint);
+GLAPI PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC glad_glVertexArrayVertexAttribDivisorEXT;
+#define glVertexArrayVertexAttribDivisorEXT glad_glVertexArrayVertexAttribDivisorEXT
+#endif
+#ifndef GL_AMD_sample_positions
+#define GL_AMD_sample_positions 1
+GLAPI int GLAD_GL_AMD_sample_positions;
+typedef void (APIENTRYP PFNGLSETMULTISAMPLEFVAMDPROC)(GLenum, GLuint, const GLfloat*);
+GLAPI PFNGLSETMULTISAMPLEFVAMDPROC glad_glSetMultisamplefvAMD;
+#define glSetMultisamplefvAMD glad_glSetMultisamplefvAMD
+#endif
+#ifndef GL_NV_vertex_program
+#define GL_NV_vertex_program 1
+GLAPI int GLAD_GL_NV_vertex_program;
+typedef GLboolean (APIENTRYP PFNGLAREPROGRAMSRESIDENTNVPROC)(GLsizei, const GLuint*, GLboolean*);
+GLAPI PFNGLAREPROGRAMSRESIDENTNVPROC glad_glAreProgramsResidentNV;
+#define glAreProgramsResidentNV glad_glAreProgramsResidentNV
+typedef void (APIENTRYP PFNGLBINDPROGRAMNVPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDPROGRAMNVPROC glad_glBindProgramNV;
+#define glBindProgramNV glad_glBindProgramNV
+typedef void (APIENTRYP PFNGLDELETEPROGRAMSNVPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEPROGRAMSNVPROC glad_glDeleteProgramsNV;
+#define glDeleteProgramsNV glad_glDeleteProgramsNV
+typedef void (APIENTRYP PFNGLEXECUTEPROGRAMNVPROC)(GLenum, GLuint, const GLfloat*);
+GLAPI PFNGLEXECUTEPROGRAMNVPROC glad_glExecuteProgramNV;
+#define glExecuteProgramNV glad_glExecuteProgramNV
+typedef void (APIENTRYP PFNGLGENPROGRAMSNVPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENPROGRAMSNVPROC glad_glGenProgramsNV;
+#define glGenProgramsNV glad_glGenProgramsNV
+typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERDVNVPROC)(GLenum, GLuint, GLenum, GLdouble*);
+GLAPI PFNGLGETPROGRAMPARAMETERDVNVPROC glad_glGetProgramParameterdvNV;
+#define glGetProgramParameterdvNV glad_glGetProgramParameterdvNV
+typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERFVNVPROC)(GLenum, GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETPROGRAMPARAMETERFVNVPROC glad_glGetProgramParameterfvNV;
+#define glGetProgramParameterfvNV glad_glGetProgramParameterfvNV
+typedef void (APIENTRYP PFNGLGETPROGRAMIVNVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETPROGRAMIVNVPROC glad_glGetProgramivNV;
+#define glGetProgramivNV glad_glGetProgramivNV
+typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGNVPROC)(GLuint, GLenum, GLubyte*);
+GLAPI PFNGLGETPROGRAMSTRINGNVPROC glad_glGetProgramStringNV;
+#define glGetProgramStringNV glad_glGetProgramStringNV
+typedef void (APIENTRYP PFNGLGETTRACKMATRIXIVNVPROC)(GLenum, GLuint, GLenum, GLint*);
+GLAPI PFNGLGETTRACKMATRIXIVNVPROC glad_glGetTrackMatrixivNV;
+#define glGetTrackMatrixivNV glad_glGetTrackMatrixivNV
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVNVPROC)(GLuint, GLenum, GLdouble*);
+GLAPI PFNGLGETVERTEXATTRIBDVNVPROC glad_glGetVertexAttribdvNV;
+#define glGetVertexAttribdvNV glad_glGetVertexAttribdvNV
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVNVPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETVERTEXATTRIBFVNVPROC glad_glGetVertexAttribfvNV;
+#define glGetVertexAttribfvNV glad_glGetVertexAttribfvNV
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVNVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVERTEXATTRIBIVNVPROC glad_glGetVertexAttribivNV;
+#define glGetVertexAttribivNV glad_glGetVertexAttribivNV
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVNVPROC)(GLuint, GLenum, void**);
+GLAPI PFNGLGETVERTEXATTRIBPOINTERVNVPROC glad_glGetVertexAttribPointervNV;
+#define glGetVertexAttribPointervNV glad_glGetVertexAttribPointervNV
+typedef GLboolean (APIENTRYP PFNGLISPROGRAMNVPROC)(GLuint);
+GLAPI PFNGLISPROGRAMNVPROC glad_glIsProgramNV;
+#define glIsProgramNV glad_glIsProgramNV
+typedef void (APIENTRYP PFNGLLOADPROGRAMNVPROC)(GLenum, GLuint, GLsizei, const GLubyte*);
+GLAPI PFNGLLOADPROGRAMNVPROC glad_glLoadProgramNV;
+#define glLoadProgramNV glad_glLoadProgramNV
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DNVPROC)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLPROGRAMPARAMETER4DNVPROC glad_glProgramParameter4dNV;
+#define glProgramParameter4dNV glad_glProgramParameter4dNV
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DVNVPROC)(GLenum, GLuint, const GLdouble*);
+GLAPI PFNGLPROGRAMPARAMETER4DVNVPROC glad_glProgramParameter4dvNV;
+#define glProgramParameter4dvNV glad_glProgramParameter4dvNV
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FNVPROC)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLPROGRAMPARAMETER4FNVPROC glad_glProgramParameter4fNV;
+#define glProgramParameter4fNV glad_glProgramParameter4fNV
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FVNVPROC)(GLenum, GLuint, const GLfloat*);
+GLAPI PFNGLPROGRAMPARAMETER4FVNVPROC glad_glProgramParameter4fvNV;
+#define glProgramParameter4fvNV glad_glProgramParameter4fvNV
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4DVNVPROC)(GLenum, GLuint, GLsizei, const GLdouble*);
+GLAPI PFNGLPROGRAMPARAMETERS4DVNVPROC glad_glProgramParameters4dvNV;
+#define glProgramParameters4dvNV glad_glProgramParameters4dvNV
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4FVNVPROC)(GLenum, GLuint, GLsizei, const GLfloat*);
+GLAPI PFNGLPROGRAMPARAMETERS4FVNVPROC glad_glProgramParameters4fvNV;
+#define glProgramParameters4fvNV glad_glProgramParameters4fvNV
+typedef void (APIENTRYP PFNGLREQUESTRESIDENTPROGRAMSNVPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLREQUESTRESIDENTPROGRAMSNVPROC glad_glRequestResidentProgramsNV;
+#define glRequestResidentProgramsNV glad_glRequestResidentProgramsNV
+typedef void (APIENTRYP PFNGLTRACKMATRIXNVPROC)(GLenum, GLuint, GLenum, GLenum);
+GLAPI PFNGLTRACKMATRIXNVPROC glad_glTrackMatrixNV;
+#define glTrackMatrixNV glad_glTrackMatrixNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERNVPROC)(GLuint, GLint, GLenum, GLsizei, const void*);
+GLAPI PFNGLVERTEXATTRIBPOINTERNVPROC glad_glVertexAttribPointerNV;
+#define glVertexAttribPointerNV glad_glVertexAttribPointerNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DNVPROC)(GLuint, GLdouble);
+GLAPI PFNGLVERTEXATTRIB1DNVPROC glad_glVertexAttrib1dNV;
+#define glVertexAttrib1dNV glad_glVertexAttrib1dNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVNVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB1DVNVPROC glad_glVertexAttrib1dvNV;
+#define glVertexAttrib1dvNV glad_glVertexAttrib1dvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FNVPROC)(GLuint, GLfloat);
+GLAPI PFNGLVERTEXATTRIB1FNVPROC glad_glVertexAttrib1fNV;
+#define glVertexAttrib1fNV glad_glVertexAttrib1fNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVNVPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB1FVNVPROC glad_glVertexAttrib1fvNV;
+#define glVertexAttrib1fvNV glad_glVertexAttrib1fvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SNVPROC)(GLuint, GLshort);
+GLAPI PFNGLVERTEXATTRIB1SNVPROC glad_glVertexAttrib1sNV;
+#define glVertexAttrib1sNV glad_glVertexAttrib1sNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVNVPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB1SVNVPROC glad_glVertexAttrib1svNV;
+#define glVertexAttrib1svNV glad_glVertexAttrib1svNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DNVPROC)(GLuint, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIB2DNVPROC glad_glVertexAttrib2dNV;
+#define glVertexAttrib2dNV glad_glVertexAttrib2dNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVNVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB2DVNVPROC glad_glVertexAttrib2dvNV;
+#define glVertexAttrib2dvNV glad_glVertexAttrib2dvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FNVPROC)(GLuint, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXATTRIB2FNVPROC glad_glVertexAttrib2fNV;
+#define glVertexAttrib2fNV glad_glVertexAttrib2fNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVNVPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB2FVNVPROC glad_glVertexAttrib2fvNV;
+#define glVertexAttrib2fvNV glad_glVertexAttrib2fvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SNVPROC)(GLuint, GLshort, GLshort);
+GLAPI PFNGLVERTEXATTRIB2SNVPROC glad_glVertexAttrib2sNV;
+#define glVertexAttrib2sNV glad_glVertexAttrib2sNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVNVPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB2SVNVPROC glad_glVertexAttrib2svNV;
+#define glVertexAttrib2svNV glad_glVertexAttrib2svNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DNVPROC)(GLuint, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIB3DNVPROC glad_glVertexAttrib3dNV;
+#define glVertexAttrib3dNV glad_glVertexAttrib3dNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVNVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB3DVNVPROC glad_glVertexAttrib3dvNV;
+#define glVertexAttrib3dvNV glad_glVertexAttrib3dvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FNVPROC)(GLuint, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXATTRIB3FNVPROC glad_glVertexAttrib3fNV;
+#define glVertexAttrib3fNV glad_glVertexAttrib3fNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVNVPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB3FVNVPROC glad_glVertexAttrib3fvNV;
+#define glVertexAttrib3fvNV glad_glVertexAttrib3fvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SNVPROC)(GLuint, GLshort, GLshort, GLshort);
+GLAPI PFNGLVERTEXATTRIB3SNVPROC glad_glVertexAttrib3sNV;
+#define glVertexAttrib3sNV glad_glVertexAttrib3sNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVNVPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB3SVNVPROC glad_glVertexAttrib3svNV;
+#define glVertexAttrib3svNV glad_glVertexAttrib3svNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DNVPROC)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIB4DNVPROC glad_glVertexAttrib4dNV;
+#define glVertexAttrib4dNV glad_glVertexAttrib4dNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVNVPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIB4DVNVPROC glad_glVertexAttrib4dvNV;
+#define glVertexAttrib4dvNV glad_glVertexAttrib4dvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FNVPROC)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXATTRIB4FNVPROC glad_glVertexAttrib4fNV;
+#define glVertexAttrib4fNV glad_glVertexAttrib4fNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVNVPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIB4FVNVPROC glad_glVertexAttrib4fvNV;
+#define glVertexAttrib4fvNV glad_glVertexAttrib4fvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SNVPROC)(GLuint, GLshort, GLshort, GLshort, GLshort);
+GLAPI PFNGLVERTEXATTRIB4SNVPROC glad_glVertexAttrib4sNV;
+#define glVertexAttrib4sNV glad_glVertexAttrib4sNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVNVPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIB4SVNVPROC glad_glVertexAttrib4svNV;
+#define glVertexAttrib4svNV glad_glVertexAttrib4svNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBNVPROC)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
+GLAPI PFNGLVERTEXATTRIB4UBNVPROC glad_glVertexAttrib4ubNV;
+#define glVertexAttrib4ubNV glad_glVertexAttrib4ubNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVNVPROC)(GLuint, const GLubyte*);
+GLAPI PFNGLVERTEXATTRIB4UBVNVPROC glad_glVertexAttrib4ubvNV;
+#define glVertexAttrib4ubvNV glad_glVertexAttrib4ubvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS1DVNVPROC)(GLuint, GLsizei, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBS1DVNVPROC glad_glVertexAttribs1dvNV;
+#define glVertexAttribs1dvNV glad_glVertexAttribs1dvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS1FVNVPROC)(GLuint, GLsizei, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIBS1FVNVPROC glad_glVertexAttribs1fvNV;
+#define glVertexAttribs1fvNV glad_glVertexAttribs1fvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS1SVNVPROC)(GLuint, GLsizei, const GLshort*);
+GLAPI PFNGLVERTEXATTRIBS1SVNVPROC glad_glVertexAttribs1svNV;
+#define glVertexAttribs1svNV glad_glVertexAttribs1svNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS2DVNVPROC)(GLuint, GLsizei, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBS2DVNVPROC glad_glVertexAttribs2dvNV;
+#define glVertexAttribs2dvNV glad_glVertexAttribs2dvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS2FVNVPROC)(GLuint, GLsizei, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIBS2FVNVPROC glad_glVertexAttribs2fvNV;
+#define glVertexAttribs2fvNV glad_glVertexAttribs2fvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS2SVNVPROC)(GLuint, GLsizei, const GLshort*);
+GLAPI PFNGLVERTEXATTRIBS2SVNVPROC glad_glVertexAttribs2svNV;
+#define glVertexAttribs2svNV glad_glVertexAttribs2svNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS3DVNVPROC)(GLuint, GLsizei, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBS3DVNVPROC glad_glVertexAttribs3dvNV;
+#define glVertexAttribs3dvNV glad_glVertexAttribs3dvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS3FVNVPROC)(GLuint, GLsizei, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIBS3FVNVPROC glad_glVertexAttribs3fvNV;
+#define glVertexAttribs3fvNV glad_glVertexAttribs3fvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS3SVNVPROC)(GLuint, GLsizei, const GLshort*);
+GLAPI PFNGLVERTEXATTRIBS3SVNVPROC glad_glVertexAttribs3svNV;
+#define glVertexAttribs3svNV glad_glVertexAttribs3svNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS4DVNVPROC)(GLuint, GLsizei, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBS4DVNVPROC glad_glVertexAttribs4dvNV;
+#define glVertexAttribs4dvNV glad_glVertexAttribs4dvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS4FVNVPROC)(GLuint, GLsizei, const GLfloat*);
+GLAPI PFNGLVERTEXATTRIBS4FVNVPROC glad_glVertexAttribs4fvNV;
+#define glVertexAttribs4fvNV glad_glVertexAttribs4fvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS4SVNVPROC)(GLuint, GLsizei, const GLshort*);
+GLAPI PFNGLVERTEXATTRIBS4SVNVPROC glad_glVertexAttribs4svNV;
+#define glVertexAttribs4svNV glad_glVertexAttribs4svNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS4UBVNVPROC)(GLuint, GLsizei, const GLubyte*);
+GLAPI PFNGLVERTEXATTRIBS4UBVNVPROC glad_glVertexAttribs4ubvNV;
+#define glVertexAttribs4ubvNV glad_glVertexAttribs4ubvNV
+#endif
+#ifndef GL_NV_shader_thread_shuffle
+#define GL_NV_shader_thread_shuffle 1
+GLAPI int GLAD_GL_NV_shader_thread_shuffle;
+#endif
+#ifndef GL_NVX_conditional_render
+#define GL_NVX_conditional_render 1
+GLAPI int GLAD_GL_NVX_conditional_render;
+typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVXPROC)(GLuint);
+GLAPI PFNGLBEGINCONDITIONALRENDERNVXPROC glad_glBeginConditionalRenderNVX;
+#define glBeginConditionalRenderNVX glad_glBeginConditionalRenderNVX
+typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERNVXPROC)();
+GLAPI PFNGLENDCONDITIONALRENDERNVXPROC glad_glEndConditionalRenderNVX;
+#define glEndConditionalRenderNVX glad_glEndConditionalRenderNVX
+#endif
+#ifndef GL_EXT_vertex_shader
+#define GL_EXT_vertex_shader 1
+GLAPI int GLAD_GL_EXT_vertex_shader;
+typedef void (APIENTRYP PFNGLBEGINVERTEXSHADEREXTPROC)();
+GLAPI PFNGLBEGINVERTEXSHADEREXTPROC glad_glBeginVertexShaderEXT;
+#define glBeginVertexShaderEXT glad_glBeginVertexShaderEXT
+typedef void (APIENTRYP PFNGLENDVERTEXSHADEREXTPROC)();
+GLAPI PFNGLENDVERTEXSHADEREXTPROC glad_glEndVertexShaderEXT;
+#define glEndVertexShaderEXT glad_glEndVertexShaderEXT
+typedef void (APIENTRYP PFNGLBINDVERTEXSHADEREXTPROC)(GLuint);
+GLAPI PFNGLBINDVERTEXSHADEREXTPROC glad_glBindVertexShaderEXT;
+#define glBindVertexShaderEXT glad_glBindVertexShaderEXT
+typedef GLuint (APIENTRYP PFNGLGENVERTEXSHADERSEXTPROC)(GLuint);
+GLAPI PFNGLGENVERTEXSHADERSEXTPROC glad_glGenVertexShadersEXT;
+#define glGenVertexShadersEXT glad_glGenVertexShadersEXT
+typedef void (APIENTRYP PFNGLDELETEVERTEXSHADEREXTPROC)(GLuint);
+GLAPI PFNGLDELETEVERTEXSHADEREXTPROC glad_glDeleteVertexShaderEXT;
+#define glDeleteVertexShaderEXT glad_glDeleteVertexShaderEXT
+typedef void (APIENTRYP PFNGLSHADEROP1EXTPROC)(GLenum, GLuint, GLuint);
+GLAPI PFNGLSHADEROP1EXTPROC glad_glShaderOp1EXT;
+#define glShaderOp1EXT glad_glShaderOp1EXT
+typedef void (APIENTRYP PFNGLSHADEROP2EXTPROC)(GLenum, GLuint, GLuint, GLuint);
+GLAPI PFNGLSHADEROP2EXTPROC glad_glShaderOp2EXT;
+#define glShaderOp2EXT glad_glShaderOp2EXT
+typedef void (APIENTRYP PFNGLSHADEROP3EXTPROC)(GLenum, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLSHADEROP3EXTPROC glad_glShaderOp3EXT;
+#define glShaderOp3EXT glad_glShaderOp3EXT
+typedef void (APIENTRYP PFNGLSWIZZLEEXTPROC)(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLSWIZZLEEXTPROC glad_glSwizzleEXT;
+#define glSwizzleEXT glad_glSwizzleEXT
+typedef void (APIENTRYP PFNGLWRITEMASKEXTPROC)(GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLWRITEMASKEXTPROC glad_glWriteMaskEXT;
+#define glWriteMaskEXT glad_glWriteMaskEXT
+typedef void (APIENTRYP PFNGLINSERTCOMPONENTEXTPROC)(GLuint, GLuint, GLuint);
+GLAPI PFNGLINSERTCOMPONENTEXTPROC glad_glInsertComponentEXT;
+#define glInsertComponentEXT glad_glInsertComponentEXT
+typedef void (APIENTRYP PFNGLEXTRACTCOMPONENTEXTPROC)(GLuint, GLuint, GLuint);
+GLAPI PFNGLEXTRACTCOMPONENTEXTPROC glad_glExtractComponentEXT;
+#define glExtractComponentEXT glad_glExtractComponentEXT
+typedef GLuint (APIENTRYP PFNGLGENSYMBOLSEXTPROC)(GLenum, GLenum, GLenum, GLuint);
+GLAPI PFNGLGENSYMBOLSEXTPROC glad_glGenSymbolsEXT;
+#define glGenSymbolsEXT glad_glGenSymbolsEXT
+typedef void (APIENTRYP PFNGLSETINVARIANTEXTPROC)(GLuint, GLenum, const void*);
+GLAPI PFNGLSETINVARIANTEXTPROC glad_glSetInvariantEXT;
+#define glSetInvariantEXT glad_glSetInvariantEXT
+typedef void (APIENTRYP PFNGLSETLOCALCONSTANTEXTPROC)(GLuint, GLenum, const void*);
+GLAPI PFNGLSETLOCALCONSTANTEXTPROC glad_glSetLocalConstantEXT;
+#define glSetLocalConstantEXT glad_glSetLocalConstantEXT
+typedef void (APIENTRYP PFNGLVARIANTBVEXTPROC)(GLuint, const GLbyte*);
+GLAPI PFNGLVARIANTBVEXTPROC glad_glVariantbvEXT;
+#define glVariantbvEXT glad_glVariantbvEXT
+typedef void (APIENTRYP PFNGLVARIANTSVEXTPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVARIANTSVEXTPROC glad_glVariantsvEXT;
+#define glVariantsvEXT glad_glVariantsvEXT
+typedef void (APIENTRYP PFNGLVARIANTIVEXTPROC)(GLuint, const GLint*);
+GLAPI PFNGLVARIANTIVEXTPROC glad_glVariantivEXT;
+#define glVariantivEXT glad_glVariantivEXT
+typedef void (APIENTRYP PFNGLVARIANTFVEXTPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLVARIANTFVEXTPROC glad_glVariantfvEXT;
+#define glVariantfvEXT glad_glVariantfvEXT
+typedef void (APIENTRYP PFNGLVARIANTDVEXTPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVARIANTDVEXTPROC glad_glVariantdvEXT;
+#define glVariantdvEXT glad_glVariantdvEXT
+typedef void (APIENTRYP PFNGLVARIANTUBVEXTPROC)(GLuint, const GLubyte*);
+GLAPI PFNGLVARIANTUBVEXTPROC glad_glVariantubvEXT;
+#define glVariantubvEXT glad_glVariantubvEXT
+typedef void (APIENTRYP PFNGLVARIANTUSVEXTPROC)(GLuint, const GLushort*);
+GLAPI PFNGLVARIANTUSVEXTPROC glad_glVariantusvEXT;
+#define glVariantusvEXT glad_glVariantusvEXT
+typedef void (APIENTRYP PFNGLVARIANTUIVEXTPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVARIANTUIVEXTPROC glad_glVariantuivEXT;
+#define glVariantuivEXT glad_glVariantuivEXT
+typedef void (APIENTRYP PFNGLVARIANTPOINTEREXTPROC)(GLuint, GLenum, GLuint, const void*);
+GLAPI PFNGLVARIANTPOINTEREXTPROC glad_glVariantPointerEXT;
+#define glVariantPointerEXT glad_glVariantPointerEXT
+typedef void (APIENTRYP PFNGLENABLEVARIANTCLIENTSTATEEXTPROC)(GLuint);
+GLAPI PFNGLENABLEVARIANTCLIENTSTATEEXTPROC glad_glEnableVariantClientStateEXT;
+#define glEnableVariantClientStateEXT glad_glEnableVariantClientStateEXT
+typedef void (APIENTRYP PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC)(GLuint);
+GLAPI PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC glad_glDisableVariantClientStateEXT;
+#define glDisableVariantClientStateEXT glad_glDisableVariantClientStateEXT
+typedef GLuint (APIENTRYP PFNGLBINDLIGHTPARAMETEREXTPROC)(GLenum, GLenum);
+GLAPI PFNGLBINDLIGHTPARAMETEREXTPROC glad_glBindLightParameterEXT;
+#define glBindLightParameterEXT glad_glBindLightParameterEXT
+typedef GLuint (APIENTRYP PFNGLBINDMATERIALPARAMETEREXTPROC)(GLenum, GLenum);
+GLAPI PFNGLBINDMATERIALPARAMETEREXTPROC glad_glBindMaterialParameterEXT;
+#define glBindMaterialParameterEXT glad_glBindMaterialParameterEXT
+typedef GLuint (APIENTRYP PFNGLBINDTEXGENPARAMETEREXTPROC)(GLenum, GLenum, GLenum);
+GLAPI PFNGLBINDTEXGENPARAMETEREXTPROC glad_glBindTexGenParameterEXT;
+#define glBindTexGenParameterEXT glad_glBindTexGenParameterEXT
+typedef GLuint (APIENTRYP PFNGLBINDTEXTUREUNITPARAMETEREXTPROC)(GLenum, GLenum);
+GLAPI PFNGLBINDTEXTUREUNITPARAMETEREXTPROC glad_glBindTextureUnitParameterEXT;
+#define glBindTextureUnitParameterEXT glad_glBindTextureUnitParameterEXT
+typedef GLuint (APIENTRYP PFNGLBINDPARAMETEREXTPROC)(GLenum);
+GLAPI PFNGLBINDPARAMETEREXTPROC glad_glBindParameterEXT;
+#define glBindParameterEXT glad_glBindParameterEXT
+typedef GLboolean (APIENTRYP PFNGLISVARIANTENABLEDEXTPROC)(GLuint, GLenum);
+GLAPI PFNGLISVARIANTENABLEDEXTPROC glad_glIsVariantEnabledEXT;
+#define glIsVariantEnabledEXT glad_glIsVariantEnabledEXT
+typedef void (APIENTRYP PFNGLGETVARIANTBOOLEANVEXTPROC)(GLuint, GLenum, GLboolean*);
+GLAPI PFNGLGETVARIANTBOOLEANVEXTPROC glad_glGetVariantBooleanvEXT;
+#define glGetVariantBooleanvEXT glad_glGetVariantBooleanvEXT
+typedef void (APIENTRYP PFNGLGETVARIANTINTEGERVEXTPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVARIANTINTEGERVEXTPROC glad_glGetVariantIntegervEXT;
+#define glGetVariantIntegervEXT glad_glGetVariantIntegervEXT
+typedef void (APIENTRYP PFNGLGETVARIANTFLOATVEXTPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETVARIANTFLOATVEXTPROC glad_glGetVariantFloatvEXT;
+#define glGetVariantFloatvEXT glad_glGetVariantFloatvEXT
+typedef void (APIENTRYP PFNGLGETVARIANTPOINTERVEXTPROC)(GLuint, GLenum, void**);
+GLAPI PFNGLGETVARIANTPOINTERVEXTPROC glad_glGetVariantPointervEXT;
+#define glGetVariantPointervEXT glad_glGetVariantPointervEXT
+typedef void (APIENTRYP PFNGLGETINVARIANTBOOLEANVEXTPROC)(GLuint, GLenum, GLboolean*);
+GLAPI PFNGLGETINVARIANTBOOLEANVEXTPROC glad_glGetInvariantBooleanvEXT;
+#define glGetInvariantBooleanvEXT glad_glGetInvariantBooleanvEXT
+typedef void (APIENTRYP PFNGLGETINVARIANTINTEGERVEXTPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETINVARIANTINTEGERVEXTPROC glad_glGetInvariantIntegervEXT;
+#define glGetInvariantIntegervEXT glad_glGetInvariantIntegervEXT
+typedef void (APIENTRYP PFNGLGETINVARIANTFLOATVEXTPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETINVARIANTFLOATVEXTPROC glad_glGetInvariantFloatvEXT;
+#define glGetInvariantFloatvEXT glad_glGetInvariantFloatvEXT
+typedef void (APIENTRYP PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC)(GLuint, GLenum, GLboolean*);
+GLAPI PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC glad_glGetLocalConstantBooleanvEXT;
+#define glGetLocalConstantBooleanvEXT glad_glGetLocalConstantBooleanvEXT
+typedef void (APIENTRYP PFNGLGETLOCALCONSTANTINTEGERVEXTPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETLOCALCONSTANTINTEGERVEXTPROC glad_glGetLocalConstantIntegervEXT;
+#define glGetLocalConstantIntegervEXT glad_glGetLocalConstantIntegervEXT
+typedef void (APIENTRYP PFNGLGETLOCALCONSTANTFLOATVEXTPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETLOCALCONSTANTFLOATVEXTPROC glad_glGetLocalConstantFloatvEXT;
+#define glGetLocalConstantFloatvEXT glad_glGetLocalConstantFloatvEXT
+#endif
+#ifndef GL_EXT_blend_func_separate
+#define GL_EXT_blend_func_separate 1
+GLAPI int GLAD_GL_EXT_blend_func_separate;
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEEXTPROC)(GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLBLENDFUNCSEPARATEEXTPROC glad_glBlendFuncSeparateEXT;
+#define glBlendFuncSeparateEXT glad_glBlendFuncSeparateEXT
+#endif
+#ifndef GL_APPLE_fence
+#define GL_APPLE_fence 1
+GLAPI int GLAD_GL_APPLE_fence;
+typedef void (APIENTRYP PFNGLGENFENCESAPPLEPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENFENCESAPPLEPROC glad_glGenFencesAPPLE;
+#define glGenFencesAPPLE glad_glGenFencesAPPLE
+typedef void (APIENTRYP PFNGLDELETEFENCESAPPLEPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEFENCESAPPLEPROC glad_glDeleteFencesAPPLE;
+#define glDeleteFencesAPPLE glad_glDeleteFencesAPPLE
+typedef void (APIENTRYP PFNGLSETFENCEAPPLEPROC)(GLuint);
+GLAPI PFNGLSETFENCEAPPLEPROC glad_glSetFenceAPPLE;
+#define glSetFenceAPPLE glad_glSetFenceAPPLE
+typedef GLboolean (APIENTRYP PFNGLISFENCEAPPLEPROC)(GLuint);
+GLAPI PFNGLISFENCEAPPLEPROC glad_glIsFenceAPPLE;
+#define glIsFenceAPPLE glad_glIsFenceAPPLE
+typedef GLboolean (APIENTRYP PFNGLTESTFENCEAPPLEPROC)(GLuint);
+GLAPI PFNGLTESTFENCEAPPLEPROC glad_glTestFenceAPPLE;
+#define glTestFenceAPPLE glad_glTestFenceAPPLE
+typedef void (APIENTRYP PFNGLFINISHFENCEAPPLEPROC)(GLuint);
+GLAPI PFNGLFINISHFENCEAPPLEPROC glad_glFinishFenceAPPLE;
+#define glFinishFenceAPPLE glad_glFinishFenceAPPLE
+typedef GLboolean (APIENTRYP PFNGLTESTOBJECTAPPLEPROC)(GLenum, GLuint);
+GLAPI PFNGLTESTOBJECTAPPLEPROC glad_glTestObjectAPPLE;
+#define glTestObjectAPPLE glad_glTestObjectAPPLE
+typedef void (APIENTRYP PFNGLFINISHOBJECTAPPLEPROC)(GLenum, GLint);
+GLAPI PFNGLFINISHOBJECTAPPLEPROC glad_glFinishObjectAPPLE;
+#define glFinishObjectAPPLE glad_glFinishObjectAPPLE
+#endif
+#ifndef GL_OES_byte_coordinates
+#define GL_OES_byte_coordinates 1
+GLAPI int GLAD_GL_OES_byte_coordinates;
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1BOESPROC)(GLenum, GLbyte);
+GLAPI PFNGLMULTITEXCOORD1BOESPROC glad_glMultiTexCoord1bOES;
+#define glMultiTexCoord1bOES glad_glMultiTexCoord1bOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1BVOESPROC)(GLenum, const GLbyte*);
+GLAPI PFNGLMULTITEXCOORD1BVOESPROC glad_glMultiTexCoord1bvOES;
+#define glMultiTexCoord1bvOES glad_glMultiTexCoord1bvOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2BOESPROC)(GLenum, GLbyte, GLbyte);
+GLAPI PFNGLMULTITEXCOORD2BOESPROC glad_glMultiTexCoord2bOES;
+#define glMultiTexCoord2bOES glad_glMultiTexCoord2bOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2BVOESPROC)(GLenum, const GLbyte*);
+GLAPI PFNGLMULTITEXCOORD2BVOESPROC glad_glMultiTexCoord2bvOES;
+#define glMultiTexCoord2bvOES glad_glMultiTexCoord2bvOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3BOESPROC)(GLenum, GLbyte, GLbyte, GLbyte);
+GLAPI PFNGLMULTITEXCOORD3BOESPROC glad_glMultiTexCoord3bOES;
+#define glMultiTexCoord3bOES glad_glMultiTexCoord3bOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3BVOESPROC)(GLenum, const GLbyte*);
+GLAPI PFNGLMULTITEXCOORD3BVOESPROC glad_glMultiTexCoord3bvOES;
+#define glMultiTexCoord3bvOES glad_glMultiTexCoord3bvOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4BOESPROC)(GLenum, GLbyte, GLbyte, GLbyte, GLbyte);
+GLAPI PFNGLMULTITEXCOORD4BOESPROC glad_glMultiTexCoord4bOES;
+#define glMultiTexCoord4bOES glad_glMultiTexCoord4bOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4BVOESPROC)(GLenum, const GLbyte*);
+GLAPI PFNGLMULTITEXCOORD4BVOESPROC glad_glMultiTexCoord4bvOES;
+#define glMultiTexCoord4bvOES glad_glMultiTexCoord4bvOES
+typedef void (APIENTRYP PFNGLTEXCOORD1BOESPROC)(GLbyte);
+GLAPI PFNGLTEXCOORD1BOESPROC glad_glTexCoord1bOES;
+#define glTexCoord1bOES glad_glTexCoord1bOES
+typedef void (APIENTRYP PFNGLTEXCOORD1BVOESPROC)(const GLbyte*);
+GLAPI PFNGLTEXCOORD1BVOESPROC glad_glTexCoord1bvOES;
+#define glTexCoord1bvOES glad_glTexCoord1bvOES
+typedef void (APIENTRYP PFNGLTEXCOORD2BOESPROC)(GLbyte, GLbyte);
+GLAPI PFNGLTEXCOORD2BOESPROC glad_glTexCoord2bOES;
+#define glTexCoord2bOES glad_glTexCoord2bOES
+typedef void (APIENTRYP PFNGLTEXCOORD2BVOESPROC)(const GLbyte*);
+GLAPI PFNGLTEXCOORD2BVOESPROC glad_glTexCoord2bvOES;
+#define glTexCoord2bvOES glad_glTexCoord2bvOES
+typedef void (APIENTRYP PFNGLTEXCOORD3BOESPROC)(GLbyte, GLbyte, GLbyte);
+GLAPI PFNGLTEXCOORD3BOESPROC glad_glTexCoord3bOES;
+#define glTexCoord3bOES glad_glTexCoord3bOES
+typedef void (APIENTRYP PFNGLTEXCOORD3BVOESPROC)(const GLbyte*);
+GLAPI PFNGLTEXCOORD3BVOESPROC glad_glTexCoord3bvOES;
+#define glTexCoord3bvOES glad_glTexCoord3bvOES
+typedef void (APIENTRYP PFNGLTEXCOORD4BOESPROC)(GLbyte, GLbyte, GLbyte, GLbyte);
+GLAPI PFNGLTEXCOORD4BOESPROC glad_glTexCoord4bOES;
+#define glTexCoord4bOES glad_glTexCoord4bOES
+typedef void (APIENTRYP PFNGLTEXCOORD4BVOESPROC)(const GLbyte*);
+GLAPI PFNGLTEXCOORD4BVOESPROC glad_glTexCoord4bvOES;
+#define glTexCoord4bvOES glad_glTexCoord4bvOES
+typedef void (APIENTRYP PFNGLVERTEX2BOESPROC)(GLbyte);
+GLAPI PFNGLVERTEX2BOESPROC glad_glVertex2bOES;
+#define glVertex2bOES glad_glVertex2bOES
+typedef void (APIENTRYP PFNGLVERTEX2BVOESPROC)(const GLbyte*);
+GLAPI PFNGLVERTEX2BVOESPROC glad_glVertex2bvOES;
+#define glVertex2bvOES glad_glVertex2bvOES
+typedef void (APIENTRYP PFNGLVERTEX3BOESPROC)(GLbyte, GLbyte);
+GLAPI PFNGLVERTEX3BOESPROC glad_glVertex3bOES;
+#define glVertex3bOES glad_glVertex3bOES
+typedef void (APIENTRYP PFNGLVERTEX3BVOESPROC)(const GLbyte*);
+GLAPI PFNGLVERTEX3BVOESPROC glad_glVertex3bvOES;
+#define glVertex3bvOES glad_glVertex3bvOES
+typedef void (APIENTRYP PFNGLVERTEX4BOESPROC)(GLbyte, GLbyte, GLbyte);
+GLAPI PFNGLVERTEX4BOESPROC glad_glVertex4bOES;
+#define glVertex4bOES glad_glVertex4bOES
+typedef void (APIENTRYP PFNGLVERTEX4BVOESPROC)(const GLbyte*);
+GLAPI PFNGLVERTEX4BVOESPROC glad_glVertex4bvOES;
+#define glVertex4bvOES glad_glVertex4bvOES
+#endif
+#ifndef GL_ARB_transpose_matrix
+#define GL_ARB_transpose_matrix 1
+GLAPI int GLAD_GL_ARB_transpose_matrix;
+typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFARBPROC)(const GLfloat*);
+GLAPI PFNGLLOADTRANSPOSEMATRIXFARBPROC glad_glLoadTransposeMatrixfARB;
+#define glLoadTransposeMatrixfARB glad_glLoadTransposeMatrixfARB
+typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDARBPROC)(const GLdouble*);
+GLAPI PFNGLLOADTRANSPOSEMATRIXDARBPROC glad_glLoadTransposeMatrixdARB;
+#define glLoadTransposeMatrixdARB glad_glLoadTransposeMatrixdARB
+typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFARBPROC)(const GLfloat*);
+GLAPI PFNGLMULTTRANSPOSEMATRIXFARBPROC glad_glMultTransposeMatrixfARB;
+#define glMultTransposeMatrixfARB glad_glMultTransposeMatrixfARB
+typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDARBPROC)(const GLdouble*);
+GLAPI PFNGLMULTTRANSPOSEMATRIXDARBPROC glad_glMultTransposeMatrixdARB;
+#define glMultTransposeMatrixdARB glad_glMultTransposeMatrixdARB
+#endif
+#ifndef GL_ARB_provoking_vertex
+#define GL_ARB_provoking_vertex 1
+GLAPI int GLAD_GL_ARB_provoking_vertex;
+#endif
+#ifndef GL_EXT_fog_coord
+#define GL_EXT_fog_coord 1
+GLAPI int GLAD_GL_EXT_fog_coord;
+typedef void (APIENTRYP PFNGLFOGCOORDFEXTPROC)(GLfloat);
+GLAPI PFNGLFOGCOORDFEXTPROC glad_glFogCoordfEXT;
+#define glFogCoordfEXT glad_glFogCoordfEXT
+typedef void (APIENTRYP PFNGLFOGCOORDFVEXTPROC)(const GLfloat*);
+GLAPI PFNGLFOGCOORDFVEXTPROC glad_glFogCoordfvEXT;
+#define glFogCoordfvEXT glad_glFogCoordfvEXT
+typedef void (APIENTRYP PFNGLFOGCOORDDEXTPROC)(GLdouble);
+GLAPI PFNGLFOGCOORDDEXTPROC glad_glFogCoorddEXT;
+#define glFogCoorddEXT glad_glFogCoorddEXT
+typedef void (APIENTRYP PFNGLFOGCOORDDVEXTPROC)(const GLdouble*);
+GLAPI PFNGLFOGCOORDDVEXTPROC glad_glFogCoorddvEXT;
+#define glFogCoorddvEXT glad_glFogCoorddvEXT
+typedef void (APIENTRYP PFNGLFOGCOORDPOINTEREXTPROC)(GLenum, GLsizei, const void*);
+GLAPI PFNGLFOGCOORDPOINTEREXTPROC glad_glFogCoordPointerEXT;
+#define glFogCoordPointerEXT glad_glFogCoordPointerEXT
+#endif
+#ifndef GL_EXT_vertex_array
+#define GL_EXT_vertex_array 1
+GLAPI int GLAD_GL_EXT_vertex_array;
+typedef void (APIENTRYP PFNGLARRAYELEMENTEXTPROC)(GLint);
+GLAPI PFNGLARRAYELEMENTEXTPROC glad_glArrayElementEXT;
+#define glArrayElementEXT glad_glArrayElementEXT
+typedef void (APIENTRYP PFNGLCOLORPOINTEREXTPROC)(GLint, GLenum, GLsizei, GLsizei, const void*);
+GLAPI PFNGLCOLORPOINTEREXTPROC glad_glColorPointerEXT;
+#define glColorPointerEXT glad_glColorPointerEXT
+typedef void (APIENTRYP PFNGLDRAWARRAYSEXTPROC)(GLenum, GLint, GLsizei);
+GLAPI PFNGLDRAWARRAYSEXTPROC glad_glDrawArraysEXT;
+#define glDrawArraysEXT glad_glDrawArraysEXT
+typedef void (APIENTRYP PFNGLEDGEFLAGPOINTEREXTPROC)(GLsizei, GLsizei, const GLboolean*);
+GLAPI PFNGLEDGEFLAGPOINTEREXTPROC glad_glEdgeFlagPointerEXT;
+#define glEdgeFlagPointerEXT glad_glEdgeFlagPointerEXT
+typedef void (APIENTRYP PFNGLGETPOINTERVEXTPROC)(GLenum, void**);
+GLAPI PFNGLGETPOINTERVEXTPROC glad_glGetPointervEXT;
+#define glGetPointervEXT glad_glGetPointervEXT
+typedef void (APIENTRYP PFNGLINDEXPOINTEREXTPROC)(GLenum, GLsizei, GLsizei, const void*);
+GLAPI PFNGLINDEXPOINTEREXTPROC glad_glIndexPointerEXT;
+#define glIndexPointerEXT glad_glIndexPointerEXT
+typedef void (APIENTRYP PFNGLNORMALPOINTEREXTPROC)(GLenum, GLsizei, GLsizei, const void*);
+GLAPI PFNGLNORMALPOINTEREXTPROC glad_glNormalPointerEXT;
+#define glNormalPointerEXT glad_glNormalPointerEXT
+typedef void (APIENTRYP PFNGLTEXCOORDPOINTEREXTPROC)(GLint, GLenum, GLsizei, GLsizei, const void*);
+GLAPI PFNGLTEXCOORDPOINTEREXTPROC glad_glTexCoordPointerEXT;
+#define glTexCoordPointerEXT glad_glTexCoordPointerEXT
+typedef void (APIENTRYP PFNGLVERTEXPOINTEREXTPROC)(GLint, GLenum, GLsizei, GLsizei, const void*);
+GLAPI PFNGLVERTEXPOINTEREXTPROC glad_glVertexPointerEXT;
+#define glVertexPointerEXT glad_glVertexPointerEXT
+#endif
+#ifndef GL_ARB_half_float_vertex
+#define GL_ARB_half_float_vertex 1
+GLAPI int GLAD_GL_ARB_half_float_vertex;
+#endif
+#ifndef GL_EXT_blend_equation_separate
+#define GL_EXT_blend_equation_separate 1
+GLAPI int GLAD_GL_EXT_blend_equation_separate;
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEEXTPROC)(GLenum, GLenum);
+GLAPI PFNGLBLENDEQUATIONSEPARATEEXTPROC glad_glBlendEquationSeparateEXT;
+#define glBlendEquationSeparateEXT glad_glBlendEquationSeparateEXT
+#endif
+#ifndef GL_ARB_multi_draw_indirect
+#define GL_ARB_multi_draw_indirect 1
+GLAPI int GLAD_GL_ARB_multi_draw_indirect;
+#endif
+#ifndef GL_NV_copy_image
+#define GL_NV_copy_image 1
+GLAPI int GLAD_GL_NV_copy_image;
+typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATANVPROC)(GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
+GLAPI PFNGLCOPYIMAGESUBDATANVPROC glad_glCopyImageSubDataNV;
+#define glCopyImageSubDataNV glad_glCopyImageSubDataNV
+#endif
+#ifndef GL_ARB_fragment_layer_viewport
+#define GL_ARB_fragment_layer_viewport 1
+GLAPI int GLAD_GL_ARB_fragment_layer_viewport;
+#endif
+#ifndef GL_ARB_transform_feedback2
+#define GL_ARB_transform_feedback2 1
+GLAPI int GLAD_GL_ARB_transform_feedback2;
+#endif
+#ifndef GL_ARB_transform_feedback3
+#define GL_ARB_transform_feedback3 1
+GLAPI int GLAD_GL_ARB_transform_feedback3;
+#endif
+#ifndef GL_SGIX_ycrcba
+#define GL_SGIX_ycrcba 1
+GLAPI int GLAD_GL_SGIX_ycrcba;
+#endif
+#ifndef GL_EXT_debug_marker
+#define GL_EXT_debug_marker 1
+GLAPI int GLAD_GL_EXT_debug_marker;
+typedef void (APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC)(GLsizei, const GLchar*);
+GLAPI PFNGLINSERTEVENTMARKEREXTPROC glad_glInsertEventMarkerEXT;
+#define glInsertEventMarkerEXT glad_glInsertEventMarkerEXT
+typedef void (APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC)(GLsizei, const GLchar*);
+GLAPI PFNGLPUSHGROUPMARKEREXTPROC glad_glPushGroupMarkerEXT;
+#define glPushGroupMarkerEXT glad_glPushGroupMarkerEXT
+typedef void (APIENTRYP PFNGLPOPGROUPMARKEREXTPROC)();
+GLAPI PFNGLPOPGROUPMARKEREXTPROC glad_glPopGroupMarkerEXT;
+#define glPopGroupMarkerEXT glad_glPopGroupMarkerEXT
+#endif
+#ifndef GL_EXT_bgra
+#define GL_EXT_bgra 1
+GLAPI int GLAD_GL_EXT_bgra;
+#endif
+#ifndef GL_EXT_texture_compression_s3tc
+#define GL_EXT_texture_compression_s3tc 1
+GLAPI int GLAD_GL_EXT_texture_compression_s3tc;
+#endif
+#ifndef GL_EXT_pixel_transform
+#define GL_EXT_pixel_transform 1
+GLAPI int GLAD_GL_EXT_pixel_transform;
+typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIEXTPROC)(GLenum, GLenum, GLint);
+GLAPI PFNGLPIXELTRANSFORMPARAMETERIEXTPROC glad_glPixelTransformParameteriEXT;
+#define glPixelTransformParameteriEXT glad_glPixelTransformParameteriEXT
+typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFEXTPROC)(GLenum, GLenum, GLfloat);
+GLAPI PFNGLPIXELTRANSFORMPARAMETERFEXTPROC glad_glPixelTransformParameterfEXT;
+#define glPixelTransformParameterfEXT glad_glPixelTransformParameterfEXT
+typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC glad_glPixelTransformParameterivEXT;
+#define glPixelTransformParameterivEXT glad_glPixelTransformParameterivEXT
+typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC)(GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC glad_glPixelTransformParameterfvEXT;
+#define glPixelTransformParameterfvEXT glad_glPixelTransformParameterfvEXT
+typedef void (APIENTRYP PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC glad_glGetPixelTransformParameterivEXT;
+#define glGetPixelTransformParameterivEXT glad_glGetPixelTransformParameterivEXT
+typedef void (APIENTRYP PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC glad_glGetPixelTransformParameterfvEXT;
+#define glGetPixelTransformParameterfvEXT glad_glGetPixelTransformParameterfvEXT
+#endif
+#ifndef GL_ARB_conservative_depth
+#define GL_ARB_conservative_depth 1
+GLAPI int GLAD_GL_ARB_conservative_depth;
+#endif
+#ifndef GL_ATI_fragment_shader
+#define GL_ATI_fragment_shader 1
+GLAPI int GLAD_GL_ATI_fragment_shader;
+typedef GLuint (APIENTRYP PFNGLGENFRAGMENTSHADERSATIPROC)(GLuint);
+GLAPI PFNGLGENFRAGMENTSHADERSATIPROC glad_glGenFragmentShadersATI;
+#define glGenFragmentShadersATI glad_glGenFragmentShadersATI
+typedef void (APIENTRYP PFNGLBINDFRAGMENTSHADERATIPROC)(GLuint);
+GLAPI PFNGLBINDFRAGMENTSHADERATIPROC glad_glBindFragmentShaderATI;
+#define glBindFragmentShaderATI glad_glBindFragmentShaderATI
+typedef void (APIENTRYP PFNGLDELETEFRAGMENTSHADERATIPROC)(GLuint);
+GLAPI PFNGLDELETEFRAGMENTSHADERATIPROC glad_glDeleteFragmentShaderATI;
+#define glDeleteFragmentShaderATI glad_glDeleteFragmentShaderATI
+typedef void (APIENTRYP PFNGLBEGINFRAGMENTSHADERATIPROC)();
+GLAPI PFNGLBEGINFRAGMENTSHADERATIPROC glad_glBeginFragmentShaderATI;
+#define glBeginFragmentShaderATI glad_glBeginFragmentShaderATI
+typedef void (APIENTRYP PFNGLENDFRAGMENTSHADERATIPROC)();
+GLAPI PFNGLENDFRAGMENTSHADERATIPROC glad_glEndFragmentShaderATI;
+#define glEndFragmentShaderATI glad_glEndFragmentShaderATI
+typedef void (APIENTRYP PFNGLPASSTEXCOORDATIPROC)(GLuint, GLuint, GLenum);
+GLAPI PFNGLPASSTEXCOORDATIPROC glad_glPassTexCoordATI;
+#define glPassTexCoordATI glad_glPassTexCoordATI
+typedef void (APIENTRYP PFNGLSAMPLEMAPATIPROC)(GLuint, GLuint, GLenum);
+GLAPI PFNGLSAMPLEMAPATIPROC glad_glSampleMapATI;
+#define glSampleMapATI glad_glSampleMapATI
+typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP1ATIPROC)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLCOLORFRAGMENTOP1ATIPROC glad_glColorFragmentOp1ATI;
+#define glColorFragmentOp1ATI glad_glColorFragmentOp1ATI
+typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP2ATIPROC)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLCOLORFRAGMENTOP2ATIPROC glad_glColorFragmentOp2ATI;
+#define glColorFragmentOp2ATI glad_glColorFragmentOp2ATI
+typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP3ATIPROC)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLCOLORFRAGMENTOP3ATIPROC glad_glColorFragmentOp3ATI;
+#define glColorFragmentOp3ATI glad_glColorFragmentOp3ATI
+typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP1ATIPROC)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLALPHAFRAGMENTOP1ATIPROC glad_glAlphaFragmentOp1ATI;
+#define glAlphaFragmentOp1ATI glad_glAlphaFragmentOp1ATI
+typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP2ATIPROC)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLALPHAFRAGMENTOP2ATIPROC glad_glAlphaFragmentOp2ATI;
+#define glAlphaFragmentOp2ATI glad_glAlphaFragmentOp2ATI
+typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP3ATIPROC)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLALPHAFRAGMENTOP3ATIPROC glad_glAlphaFragmentOp3ATI;
+#define glAlphaFragmentOp3ATI glad_glAlphaFragmentOp3ATI
+typedef void (APIENTRYP PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)(GLuint, const GLfloat*);
+GLAPI PFNGLSETFRAGMENTSHADERCONSTANTATIPROC glad_glSetFragmentShaderConstantATI;
+#define glSetFragmentShaderConstantATI glad_glSetFragmentShaderConstantATI
+#endif
+#ifndef GL_ARB_vertex_array_object
+#define GL_ARB_vertex_array_object 1
+GLAPI int GLAD_GL_ARB_vertex_array_object;
+#endif
+#ifndef GL_SUN_triangle_list
+#define GL_SUN_triangle_list 1
+GLAPI int GLAD_GL_SUN_triangle_list;
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUISUNPROC)(GLuint);
+GLAPI PFNGLREPLACEMENTCODEUISUNPROC glad_glReplacementCodeuiSUN;
+#define glReplacementCodeuiSUN glad_glReplacementCodeuiSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSSUNPROC)(GLushort);
+GLAPI PFNGLREPLACEMENTCODEUSSUNPROC glad_glReplacementCodeusSUN;
+#define glReplacementCodeusSUN glad_glReplacementCodeusSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBSUNPROC)(GLubyte);
+GLAPI PFNGLREPLACEMENTCODEUBSUNPROC glad_glReplacementCodeubSUN;
+#define glReplacementCodeubSUN glad_glReplacementCodeubSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVSUNPROC)(const GLuint*);
+GLAPI PFNGLREPLACEMENTCODEUIVSUNPROC glad_glReplacementCodeuivSUN;
+#define glReplacementCodeuivSUN glad_glReplacementCodeuivSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSVSUNPROC)(const GLushort*);
+GLAPI PFNGLREPLACEMENTCODEUSVSUNPROC glad_glReplacementCodeusvSUN;
+#define glReplacementCodeusvSUN glad_glReplacementCodeusvSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBVSUNPROC)(const GLubyte*);
+GLAPI PFNGLREPLACEMENTCODEUBVSUNPROC glad_glReplacementCodeubvSUN;
+#define glReplacementCodeubvSUN glad_glReplacementCodeubvSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEPOINTERSUNPROC)(GLenum, GLsizei, const void**);
+GLAPI PFNGLREPLACEMENTCODEPOINTERSUNPROC glad_glReplacementCodePointerSUN;
+#define glReplacementCodePointerSUN glad_glReplacementCodePointerSUN
+#endif
+#ifndef GL_EXT_texture_env_add
+#define GL_EXT_texture_env_add 1
+GLAPI int GLAD_GL_EXT_texture_env_add;
+#endif
+#ifndef GL_EXT_packed_depth_stencil
+#define GL_EXT_packed_depth_stencil 1
+GLAPI int GLAD_GL_EXT_packed_depth_stencil;
+#endif
+#ifndef GL_EXT_texture_mirror_clamp
+#define GL_EXT_texture_mirror_clamp 1
+GLAPI int GLAD_GL_EXT_texture_mirror_clamp;
+#endif
+#ifndef GL_NV_multisample_filter_hint
+#define GL_NV_multisample_filter_hint 1
+GLAPI int GLAD_GL_NV_multisample_filter_hint;
+#endif
+#ifndef GL_APPLE_float_pixels
+#define GL_APPLE_float_pixels 1
+GLAPI int GLAD_GL_APPLE_float_pixels;
+#endif
+#ifndef GL_ARB_transform_feedback_instanced
+#define GL_ARB_transform_feedback_instanced 1
+GLAPI int GLAD_GL_ARB_transform_feedback_instanced;
+#endif
+#ifndef GL_SGIX_async
+#define GL_SGIX_async 1
+GLAPI int GLAD_GL_SGIX_async;
+typedef void (APIENTRYP PFNGLASYNCMARKERSGIXPROC)(GLuint);
+GLAPI PFNGLASYNCMARKERSGIXPROC glad_glAsyncMarkerSGIX;
+#define glAsyncMarkerSGIX glad_glAsyncMarkerSGIX
+typedef GLint (APIENTRYP PFNGLFINISHASYNCSGIXPROC)(GLuint*);
+GLAPI PFNGLFINISHASYNCSGIXPROC glad_glFinishAsyncSGIX;
+#define glFinishAsyncSGIX glad_glFinishAsyncSGIX
+typedef GLint (APIENTRYP PFNGLPOLLASYNCSGIXPROC)(GLuint*);
+GLAPI PFNGLPOLLASYNCSGIXPROC glad_glPollAsyncSGIX;
+#define glPollAsyncSGIX glad_glPollAsyncSGIX
+typedef GLuint (APIENTRYP PFNGLGENASYNCMARKERSSGIXPROC)(GLsizei);
+GLAPI PFNGLGENASYNCMARKERSSGIXPROC glad_glGenAsyncMarkersSGIX;
+#define glGenAsyncMarkersSGIX glad_glGenAsyncMarkersSGIX
+typedef void (APIENTRYP PFNGLDELETEASYNCMARKERSSGIXPROC)(GLuint, GLsizei);
+GLAPI PFNGLDELETEASYNCMARKERSSGIXPROC glad_glDeleteAsyncMarkersSGIX;
+#define glDeleteAsyncMarkersSGIX glad_glDeleteAsyncMarkersSGIX
+typedef GLboolean (APIENTRYP PFNGLISASYNCMARKERSGIXPROC)(GLuint);
+GLAPI PFNGLISASYNCMARKERSGIXPROC glad_glIsAsyncMarkerSGIX;
+#define glIsAsyncMarkerSGIX glad_glIsAsyncMarkerSGIX
+#endif
+#ifndef GL_EXT_texture_compression_latc
+#define GL_EXT_texture_compression_latc 1
+GLAPI int GLAD_GL_EXT_texture_compression_latc;
+#endif
+#ifndef GL_NV_shader_atomic_float
+#define GL_NV_shader_atomic_float 1
+GLAPI int GLAD_GL_NV_shader_atomic_float;
+#endif
+#ifndef GL_ARB_shading_language_100
+#define GL_ARB_shading_language_100 1
+GLAPI int GLAD_GL_ARB_shading_language_100;
+#endif
+#ifndef GL_INTEL_performance_query
+#define GL_INTEL_performance_query 1
+GLAPI int GLAD_GL_INTEL_performance_query;
+typedef void (APIENTRYP PFNGLBEGINPERFQUERYINTELPROC)(GLuint);
+GLAPI PFNGLBEGINPERFQUERYINTELPROC glad_glBeginPerfQueryINTEL;
+#define glBeginPerfQueryINTEL glad_glBeginPerfQueryINTEL
+typedef void (APIENTRYP PFNGLCREATEPERFQUERYINTELPROC)(GLuint, GLuint*);
+GLAPI PFNGLCREATEPERFQUERYINTELPROC glad_glCreatePerfQueryINTEL;
+#define glCreatePerfQueryINTEL glad_glCreatePerfQueryINTEL
+typedef void (APIENTRYP PFNGLDELETEPERFQUERYINTELPROC)(GLuint);
+GLAPI PFNGLDELETEPERFQUERYINTELPROC glad_glDeletePerfQueryINTEL;
+#define glDeletePerfQueryINTEL glad_glDeletePerfQueryINTEL
+typedef void (APIENTRYP PFNGLENDPERFQUERYINTELPROC)(GLuint);
+GLAPI PFNGLENDPERFQUERYINTELPROC glad_glEndPerfQueryINTEL;
+#define glEndPerfQueryINTEL glad_glEndPerfQueryINTEL
+typedef void (APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC)(GLuint*);
+GLAPI PFNGLGETFIRSTPERFQUERYIDINTELPROC glad_glGetFirstPerfQueryIdINTEL;
+#define glGetFirstPerfQueryIdINTEL glad_glGetFirstPerfQueryIdINTEL
+typedef void (APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC)(GLuint, GLuint*);
+GLAPI PFNGLGETNEXTPERFQUERYIDINTELPROC glad_glGetNextPerfQueryIdINTEL;
+#define glGetNextPerfQueryIdINTEL glad_glGetNextPerfQueryIdINTEL
+typedef void (APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC)(GLuint, GLuint, GLuint, GLchar*, GLuint, GLchar*, GLuint*, GLuint*, GLuint*, GLuint*, GLuint64*);
+GLAPI PFNGLGETPERFCOUNTERINFOINTELPROC glad_glGetPerfCounterInfoINTEL;
+#define glGetPerfCounterInfoINTEL glad_glGetPerfCounterInfoINTEL
+typedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC)(GLuint, GLuint, GLsizei, GLvoid*, GLuint*);
+GLAPI PFNGLGETPERFQUERYDATAINTELPROC glad_glGetPerfQueryDataINTEL;
+#define glGetPerfQueryDataINTEL glad_glGetPerfQueryDataINTEL
+typedef void (APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC)(GLchar*, GLuint*);
+GLAPI PFNGLGETPERFQUERYIDBYNAMEINTELPROC glad_glGetPerfQueryIdByNameINTEL;
+#define glGetPerfQueryIdByNameINTEL glad_glGetPerfQueryIdByNameINTEL
+typedef void (APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC)(GLuint, GLuint, GLchar*, GLuint*, GLuint*, GLuint*, GLuint*);
+GLAPI PFNGLGETPERFQUERYINFOINTELPROC glad_glGetPerfQueryInfoINTEL;
+#define glGetPerfQueryInfoINTEL glad_glGetPerfQueryInfoINTEL
+#endif
+#ifndef GL_ARB_texture_mirror_clamp_to_edge
+#define GL_ARB_texture_mirror_clamp_to_edge 1
+GLAPI int GLAD_GL_ARB_texture_mirror_clamp_to_edge;
+#endif
+#ifndef GL_NV_gpu_shader5
+#define GL_NV_gpu_shader5 1
+GLAPI int GLAD_GL_NV_gpu_shader5;
+typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC)(GLint, GLint64EXT);
+GLAPI PFNGLUNIFORM1I64NVPROC glad_glUniform1i64NV;
+#define glUniform1i64NV glad_glUniform1i64NV
+typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC)(GLint, GLint64EXT, GLint64EXT);
+GLAPI PFNGLUNIFORM2I64NVPROC glad_glUniform2i64NV;
+#define glUniform2i64NV glad_glUniform2i64NV
+typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC)(GLint, GLint64EXT, GLint64EXT, GLint64EXT);
+GLAPI PFNGLUNIFORM3I64NVPROC glad_glUniform3i64NV;
+#define glUniform3i64NV glad_glUniform3i64NV
+typedef void (APIENTRYP PFNGLUNIFORM4I64NVPROC)(GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
+GLAPI PFNGLUNIFORM4I64NVPROC glad_glUniform4i64NV;
+#define glUniform4i64NV glad_glUniform4i64NV
+typedef void (APIENTRYP PFNGLUNIFORM1I64VNVPROC)(GLint, GLsizei, const GLint64EXT*);
+GLAPI PFNGLUNIFORM1I64VNVPROC glad_glUniform1i64vNV;
+#define glUniform1i64vNV glad_glUniform1i64vNV
+typedef void (APIENTRYP PFNGLUNIFORM2I64VNVPROC)(GLint, GLsizei, const GLint64EXT*);
+GLAPI PFNGLUNIFORM2I64VNVPROC glad_glUniform2i64vNV;
+#define glUniform2i64vNV glad_glUniform2i64vNV
+typedef void (APIENTRYP PFNGLUNIFORM3I64VNVPROC)(GLint, GLsizei, const GLint64EXT*);
+GLAPI PFNGLUNIFORM3I64VNVPROC glad_glUniform3i64vNV;
+#define glUniform3i64vNV glad_glUniform3i64vNV
+typedef void (APIENTRYP PFNGLUNIFORM4I64VNVPROC)(GLint, GLsizei, const GLint64EXT*);
+GLAPI PFNGLUNIFORM4I64VNVPROC glad_glUniform4i64vNV;
+#define glUniform4i64vNV glad_glUniform4i64vNV
+typedef void (APIENTRYP PFNGLUNIFORM1UI64NVPROC)(GLint, GLuint64EXT);
+GLAPI PFNGLUNIFORM1UI64NVPROC glad_glUniform1ui64NV;
+#define glUniform1ui64NV glad_glUniform1ui64NV
+typedef void (APIENTRYP PFNGLUNIFORM2UI64NVPROC)(GLint, GLuint64EXT, GLuint64EXT);
+GLAPI PFNGLUNIFORM2UI64NVPROC glad_glUniform2ui64NV;
+#define glUniform2ui64NV glad_glUniform2ui64NV
+typedef void (APIENTRYP PFNGLUNIFORM3UI64NVPROC)(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
+GLAPI PFNGLUNIFORM3UI64NVPROC glad_glUniform3ui64NV;
+#define glUniform3ui64NV glad_glUniform3ui64NV
+typedef void (APIENTRYP PFNGLUNIFORM4UI64NVPROC)(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
+GLAPI PFNGLUNIFORM4UI64NVPROC glad_glUniform4ui64NV;
+#define glUniform4ui64NV glad_glUniform4ui64NV
+typedef void (APIENTRYP PFNGLUNIFORM1UI64VNVPROC)(GLint, GLsizei, const GLuint64EXT*);
+GLAPI PFNGLUNIFORM1UI64VNVPROC glad_glUniform1ui64vNV;
+#define glUniform1ui64vNV glad_glUniform1ui64vNV
+typedef void (APIENTRYP PFNGLUNIFORM2UI64VNVPROC)(GLint, GLsizei, const GLuint64EXT*);
+GLAPI PFNGLUNIFORM2UI64VNVPROC glad_glUniform2ui64vNV;
+#define glUniform2ui64vNV glad_glUniform2ui64vNV
+typedef void (APIENTRYP PFNGLUNIFORM3UI64VNVPROC)(GLint, GLsizei, const GLuint64EXT*);
+GLAPI PFNGLUNIFORM3UI64VNVPROC glad_glUniform3ui64vNV;
+#define glUniform3ui64vNV glad_glUniform3ui64vNV
+typedef void (APIENTRYP PFNGLUNIFORM4UI64VNVPROC)(GLint, GLsizei, const GLuint64EXT*);
+GLAPI PFNGLUNIFORM4UI64VNVPROC glad_glUniform4ui64vNV;
+#define glUniform4ui64vNV glad_glUniform4ui64vNV
+typedef void (APIENTRYP PFNGLGETUNIFORMI64VNVPROC)(GLuint, GLint, GLint64EXT*);
+GLAPI PFNGLGETUNIFORMI64VNVPROC glad_glGetUniformi64vNV;
+#define glGetUniformi64vNV glad_glGetUniformi64vNV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC)(GLuint, GLint, GLint64EXT);
+GLAPI PFNGLPROGRAMUNIFORM1I64NVPROC glad_glProgramUniform1i64NV;
+#define glProgramUniform1i64NV glad_glProgramUniform1i64NV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC)(GLuint, GLint, GLint64EXT, GLint64EXT);
+GLAPI PFNGLPROGRAMUNIFORM2I64NVPROC glad_glProgramUniform2i64NV;
+#define glProgramUniform2i64NV glad_glProgramUniform2i64NV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC)(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT);
+GLAPI PFNGLPROGRAMUNIFORM3I64NVPROC glad_glProgramUniform3i64NV;
+#define glProgramUniform3i64NV glad_glProgramUniform3i64NV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC)(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT);
+GLAPI PFNGLPROGRAMUNIFORM4I64NVPROC glad_glProgramUniform4i64NV;
+#define glProgramUniform4i64NV glad_glProgramUniform4i64NV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC)(GLuint, GLint, GLsizei, const GLint64EXT*);
+GLAPI PFNGLPROGRAMUNIFORM1I64VNVPROC glad_glProgramUniform1i64vNV;
+#define glProgramUniform1i64vNV glad_glProgramUniform1i64vNV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC)(GLuint, GLint, GLsizei, const GLint64EXT*);
+GLAPI PFNGLPROGRAMUNIFORM2I64VNVPROC glad_glProgramUniform2i64vNV;
+#define glProgramUniform2i64vNV glad_glProgramUniform2i64vNV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC)(GLuint, GLint, GLsizei, const GLint64EXT*);
+GLAPI PFNGLPROGRAMUNIFORM3I64VNVPROC glad_glProgramUniform3i64vNV;
+#define glProgramUniform3i64vNV glad_glProgramUniform3i64vNV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC)(GLuint, GLint, GLsizei, const GLint64EXT*);
+GLAPI PFNGLPROGRAMUNIFORM4I64VNVPROC glad_glProgramUniform4i64vNV;
+#define glProgramUniform4i64vNV glad_glProgramUniform4i64vNV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC)(GLuint, GLint, GLuint64EXT);
+GLAPI PFNGLPROGRAMUNIFORM1UI64NVPROC glad_glProgramUniform1ui64NV;
+#define glProgramUniform1ui64NV glad_glProgramUniform1ui64NV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC)(GLuint, GLint, GLuint64EXT, GLuint64EXT);
+GLAPI PFNGLPROGRAMUNIFORM2UI64NVPROC glad_glProgramUniform2ui64NV;
+#define glProgramUniform2ui64NV glad_glProgramUniform2ui64NV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC)(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT);
+GLAPI PFNGLPROGRAMUNIFORM3UI64NVPROC glad_glProgramUniform3ui64NV;
+#define glProgramUniform3ui64NV glad_glProgramUniform3ui64NV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC)(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT);
+GLAPI PFNGLPROGRAMUNIFORM4UI64NVPROC glad_glProgramUniform4ui64NV;
+#define glProgramUniform4ui64NV glad_glProgramUniform4ui64NV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC)(GLuint, GLint, GLsizei, const GLuint64EXT*);
+GLAPI PFNGLPROGRAMUNIFORM1UI64VNVPROC glad_glProgramUniform1ui64vNV;
+#define glProgramUniform1ui64vNV glad_glProgramUniform1ui64vNV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC)(GLuint, GLint, GLsizei, const GLuint64EXT*);
+GLAPI PFNGLPROGRAMUNIFORM2UI64VNVPROC glad_glProgramUniform2ui64vNV;
+#define glProgramUniform2ui64vNV glad_glProgramUniform2ui64vNV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC)(GLuint, GLint, GLsizei, const GLuint64EXT*);
+GLAPI PFNGLPROGRAMUNIFORM3UI64VNVPROC glad_glProgramUniform3ui64vNV;
+#define glProgramUniform3ui64vNV glad_glProgramUniform3ui64vNV
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC)(GLuint, GLint, GLsizei, const GLuint64EXT*);
+GLAPI PFNGLPROGRAMUNIFORM4UI64VNVPROC glad_glProgramUniform4ui64vNV;
+#define glProgramUniform4ui64vNV glad_glProgramUniform4ui64vNV
+#endif
+#ifndef GL_ARB_ES2_compatibility
+#define GL_ARB_ES2_compatibility 1
+GLAPI int GLAD_GL_ARB_ES2_compatibility;
+#endif
+#ifndef GL_ARB_indirect_parameters
+#define GL_ARB_indirect_parameters 1
+GLAPI int GLAD_GL_ARB_indirect_parameters;
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC)(GLenum, GLintptr, GLintptr, GLsizei, GLsizei);
+GLAPI PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC glad_glMultiDrawArraysIndirectCountARB;
+#define glMultiDrawArraysIndirectCountARB glad_glMultiDrawArraysIndirectCountARB
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC)(GLenum, GLenum, GLintptr, GLintptr, GLsizei, GLsizei);
+GLAPI PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC glad_glMultiDrawElementsIndirectCountARB;
+#define glMultiDrawElementsIndirectCountARB glad_glMultiDrawElementsIndirectCountARB
+#endif
+#ifndef GL_NV_half_float
+#define GL_NV_half_float 1
+GLAPI int GLAD_GL_NV_half_float;
+typedef void (APIENTRYP PFNGLVERTEX2HNVPROC)(GLhalfNV, GLhalfNV);
+GLAPI PFNGLVERTEX2HNVPROC glad_glVertex2hNV;
+#define glVertex2hNV glad_glVertex2hNV
+typedef void (APIENTRYP PFNGLVERTEX2HVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLVERTEX2HVNVPROC glad_glVertex2hvNV;
+#define glVertex2hvNV glad_glVertex2hvNV
+typedef void (APIENTRYP PFNGLVERTEX3HNVPROC)(GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLVERTEX3HNVPROC glad_glVertex3hNV;
+#define glVertex3hNV glad_glVertex3hNV
+typedef void (APIENTRYP PFNGLVERTEX3HVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLVERTEX3HVNVPROC glad_glVertex3hvNV;
+#define glVertex3hvNV glad_glVertex3hvNV
+typedef void (APIENTRYP PFNGLVERTEX4HNVPROC)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLVERTEX4HNVPROC glad_glVertex4hNV;
+#define glVertex4hNV glad_glVertex4hNV
+typedef void (APIENTRYP PFNGLVERTEX4HVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLVERTEX4HVNVPROC glad_glVertex4hvNV;
+#define glVertex4hvNV glad_glVertex4hvNV
+typedef void (APIENTRYP PFNGLNORMAL3HNVPROC)(GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLNORMAL3HNVPROC glad_glNormal3hNV;
+#define glNormal3hNV glad_glNormal3hNV
+typedef void (APIENTRYP PFNGLNORMAL3HVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLNORMAL3HVNVPROC glad_glNormal3hvNV;
+#define glNormal3hvNV glad_glNormal3hvNV
+typedef void (APIENTRYP PFNGLCOLOR3HNVPROC)(GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLCOLOR3HNVPROC glad_glColor3hNV;
+#define glColor3hNV glad_glColor3hNV
+typedef void (APIENTRYP PFNGLCOLOR3HVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLCOLOR3HVNVPROC glad_glColor3hvNV;
+#define glColor3hvNV glad_glColor3hvNV
+typedef void (APIENTRYP PFNGLCOLOR4HNVPROC)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLCOLOR4HNVPROC glad_glColor4hNV;
+#define glColor4hNV glad_glColor4hNV
+typedef void (APIENTRYP PFNGLCOLOR4HVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLCOLOR4HVNVPROC glad_glColor4hvNV;
+#define glColor4hvNV glad_glColor4hvNV
+typedef void (APIENTRYP PFNGLTEXCOORD1HNVPROC)(GLhalfNV);
+GLAPI PFNGLTEXCOORD1HNVPROC glad_glTexCoord1hNV;
+#define glTexCoord1hNV glad_glTexCoord1hNV
+typedef void (APIENTRYP PFNGLTEXCOORD1HVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLTEXCOORD1HVNVPROC glad_glTexCoord1hvNV;
+#define glTexCoord1hvNV glad_glTexCoord1hvNV
+typedef void (APIENTRYP PFNGLTEXCOORD2HNVPROC)(GLhalfNV, GLhalfNV);
+GLAPI PFNGLTEXCOORD2HNVPROC glad_glTexCoord2hNV;
+#define glTexCoord2hNV glad_glTexCoord2hNV
+typedef void (APIENTRYP PFNGLTEXCOORD2HVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLTEXCOORD2HVNVPROC glad_glTexCoord2hvNV;
+#define glTexCoord2hvNV glad_glTexCoord2hvNV
+typedef void (APIENTRYP PFNGLTEXCOORD3HNVPROC)(GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLTEXCOORD3HNVPROC glad_glTexCoord3hNV;
+#define glTexCoord3hNV glad_glTexCoord3hNV
+typedef void (APIENTRYP PFNGLTEXCOORD3HVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLTEXCOORD3HVNVPROC glad_glTexCoord3hvNV;
+#define glTexCoord3hvNV glad_glTexCoord3hvNV
+typedef void (APIENTRYP PFNGLTEXCOORD4HNVPROC)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLTEXCOORD4HNVPROC glad_glTexCoord4hNV;
+#define glTexCoord4hNV glad_glTexCoord4hNV
+typedef void (APIENTRYP PFNGLTEXCOORD4HVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLTEXCOORD4HVNVPROC glad_glTexCoord4hvNV;
+#define glTexCoord4hvNV glad_glTexCoord4hvNV
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1HNVPROC)(GLenum, GLhalfNV);
+GLAPI PFNGLMULTITEXCOORD1HNVPROC glad_glMultiTexCoord1hNV;
+#define glMultiTexCoord1hNV glad_glMultiTexCoord1hNV
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1HVNVPROC)(GLenum, const GLhalfNV*);
+GLAPI PFNGLMULTITEXCOORD1HVNVPROC glad_glMultiTexCoord1hvNV;
+#define glMultiTexCoord1hvNV glad_glMultiTexCoord1hvNV
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2HNVPROC)(GLenum, GLhalfNV, GLhalfNV);
+GLAPI PFNGLMULTITEXCOORD2HNVPROC glad_glMultiTexCoord2hNV;
+#define glMultiTexCoord2hNV glad_glMultiTexCoord2hNV
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2HVNVPROC)(GLenum, const GLhalfNV*);
+GLAPI PFNGLMULTITEXCOORD2HVNVPROC glad_glMultiTexCoord2hvNV;
+#define glMultiTexCoord2hvNV glad_glMultiTexCoord2hvNV
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3HNVPROC)(GLenum, GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLMULTITEXCOORD3HNVPROC glad_glMultiTexCoord3hNV;
+#define glMultiTexCoord3hNV glad_glMultiTexCoord3hNV
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3HVNVPROC)(GLenum, const GLhalfNV*);
+GLAPI PFNGLMULTITEXCOORD3HVNVPROC glad_glMultiTexCoord3hvNV;
+#define glMultiTexCoord3hvNV glad_glMultiTexCoord3hvNV
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4HNVPROC)(GLenum, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLMULTITEXCOORD4HNVPROC glad_glMultiTexCoord4hNV;
+#define glMultiTexCoord4hNV glad_glMultiTexCoord4hNV
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4HVNVPROC)(GLenum, const GLhalfNV*);
+GLAPI PFNGLMULTITEXCOORD4HVNVPROC glad_glMultiTexCoord4hvNV;
+#define glMultiTexCoord4hvNV glad_glMultiTexCoord4hvNV
+typedef void (APIENTRYP PFNGLFOGCOORDHNVPROC)(GLhalfNV);
+GLAPI PFNGLFOGCOORDHNVPROC glad_glFogCoordhNV;
+#define glFogCoordhNV glad_glFogCoordhNV
+typedef void (APIENTRYP PFNGLFOGCOORDHVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLFOGCOORDHVNVPROC glad_glFogCoordhvNV;
+#define glFogCoordhvNV glad_glFogCoordhvNV
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HNVPROC)(GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLSECONDARYCOLOR3HNVPROC glad_glSecondaryColor3hNV;
+#define glSecondaryColor3hNV glad_glSecondaryColor3hNV
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLSECONDARYCOLOR3HVNVPROC glad_glSecondaryColor3hvNV;
+#define glSecondaryColor3hvNV glad_glSecondaryColor3hvNV
+typedef void (APIENTRYP PFNGLVERTEXWEIGHTHNVPROC)(GLhalfNV);
+GLAPI PFNGLVERTEXWEIGHTHNVPROC glad_glVertexWeighthNV;
+#define glVertexWeighthNV glad_glVertexWeighthNV
+typedef void (APIENTRYP PFNGLVERTEXWEIGHTHVNVPROC)(const GLhalfNV*);
+GLAPI PFNGLVERTEXWEIGHTHVNVPROC glad_glVertexWeighthvNV;
+#define glVertexWeighthvNV glad_glVertexWeighthvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1HNVPROC)(GLuint, GLhalfNV);
+GLAPI PFNGLVERTEXATTRIB1HNVPROC glad_glVertexAttrib1hNV;
+#define glVertexAttrib1hNV glad_glVertexAttrib1hNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB1HVNVPROC)(GLuint, const GLhalfNV*);
+GLAPI PFNGLVERTEXATTRIB1HVNVPROC glad_glVertexAttrib1hvNV;
+#define glVertexAttrib1hvNV glad_glVertexAttrib1hvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2HNVPROC)(GLuint, GLhalfNV, GLhalfNV);
+GLAPI PFNGLVERTEXATTRIB2HNVPROC glad_glVertexAttrib2hNV;
+#define glVertexAttrib2hNV glad_glVertexAttrib2hNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB2HVNVPROC)(GLuint, const GLhalfNV*);
+GLAPI PFNGLVERTEXATTRIB2HVNVPROC glad_glVertexAttrib2hvNV;
+#define glVertexAttrib2hvNV glad_glVertexAttrib2hvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3HNVPROC)(GLuint, GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLVERTEXATTRIB3HNVPROC glad_glVertexAttrib3hNV;
+#define glVertexAttrib3hNV glad_glVertexAttrib3hNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB3HVNVPROC)(GLuint, const GLhalfNV*);
+GLAPI PFNGLVERTEXATTRIB3HVNVPROC glad_glVertexAttrib3hvNV;
+#define glVertexAttrib3hvNV glad_glVertexAttrib3hvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4HNVPROC)(GLuint, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
+GLAPI PFNGLVERTEXATTRIB4HNVPROC glad_glVertexAttrib4hNV;
+#define glVertexAttrib4hNV glad_glVertexAttrib4hNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIB4HVNVPROC)(GLuint, const GLhalfNV*);
+GLAPI PFNGLVERTEXATTRIB4HVNVPROC glad_glVertexAttrib4hvNV;
+#define glVertexAttrib4hvNV glad_glVertexAttrib4hvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS1HVNVPROC)(GLuint, GLsizei, const GLhalfNV*);
+GLAPI PFNGLVERTEXATTRIBS1HVNVPROC glad_glVertexAttribs1hvNV;
+#define glVertexAttribs1hvNV glad_glVertexAttribs1hvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS2HVNVPROC)(GLuint, GLsizei, const GLhalfNV*);
+GLAPI PFNGLVERTEXATTRIBS2HVNVPROC glad_glVertexAttribs2hvNV;
+#define glVertexAttribs2hvNV glad_glVertexAttribs2hvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS3HVNVPROC)(GLuint, GLsizei, const GLhalfNV*);
+GLAPI PFNGLVERTEXATTRIBS3HVNVPROC glad_glVertexAttribs3hvNV;
+#define glVertexAttribs3hvNV glad_glVertexAttribs3hvNV
+typedef void (APIENTRYP PFNGLVERTEXATTRIBS4HVNVPROC)(GLuint, GLsizei, const GLhalfNV*);
+GLAPI PFNGLVERTEXATTRIBS4HVNVPROC glad_glVertexAttribs4hvNV;
+#define glVertexAttribs4hvNV glad_glVertexAttribs4hvNV
+#endif
+#ifndef GL_EXT_coordinate_frame
+#define GL_EXT_coordinate_frame 1
+GLAPI int GLAD_GL_EXT_coordinate_frame;
+typedef void (APIENTRYP PFNGLTANGENT3BEXTPROC)(GLbyte, GLbyte, GLbyte);
+GLAPI PFNGLTANGENT3BEXTPROC glad_glTangent3bEXT;
+#define glTangent3bEXT glad_glTangent3bEXT
+typedef void (APIENTRYP PFNGLTANGENT3BVEXTPROC)(const GLbyte*);
+GLAPI PFNGLTANGENT3BVEXTPROC glad_glTangent3bvEXT;
+#define glTangent3bvEXT glad_glTangent3bvEXT
+typedef void (APIENTRYP PFNGLTANGENT3DEXTPROC)(GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLTANGENT3DEXTPROC glad_glTangent3dEXT;
+#define glTangent3dEXT glad_glTangent3dEXT
+typedef void (APIENTRYP PFNGLTANGENT3DVEXTPROC)(const GLdouble*);
+GLAPI PFNGLTANGENT3DVEXTPROC glad_glTangent3dvEXT;
+#define glTangent3dvEXT glad_glTangent3dvEXT
+typedef void (APIENTRYP PFNGLTANGENT3FEXTPROC)(GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLTANGENT3FEXTPROC glad_glTangent3fEXT;
+#define glTangent3fEXT glad_glTangent3fEXT
+typedef void (APIENTRYP PFNGLTANGENT3FVEXTPROC)(const GLfloat*);
+GLAPI PFNGLTANGENT3FVEXTPROC glad_glTangent3fvEXT;
+#define glTangent3fvEXT glad_glTangent3fvEXT
+typedef void (APIENTRYP PFNGLTANGENT3IEXTPROC)(GLint, GLint, GLint);
+GLAPI PFNGLTANGENT3IEXTPROC glad_glTangent3iEXT;
+#define glTangent3iEXT glad_glTangent3iEXT
+typedef void (APIENTRYP PFNGLTANGENT3IVEXTPROC)(const GLint*);
+GLAPI PFNGLTANGENT3IVEXTPROC glad_glTangent3ivEXT;
+#define glTangent3ivEXT glad_glTangent3ivEXT
+typedef void (APIENTRYP PFNGLTANGENT3SEXTPROC)(GLshort, GLshort, GLshort);
+GLAPI PFNGLTANGENT3SEXTPROC glad_glTangent3sEXT;
+#define glTangent3sEXT glad_glTangent3sEXT
+typedef void (APIENTRYP PFNGLTANGENT3SVEXTPROC)(const GLshort*);
+GLAPI PFNGLTANGENT3SVEXTPROC glad_glTangent3svEXT;
+#define glTangent3svEXT glad_glTangent3svEXT
+typedef void (APIENTRYP PFNGLBINORMAL3BEXTPROC)(GLbyte, GLbyte, GLbyte);
+GLAPI PFNGLBINORMAL3BEXTPROC glad_glBinormal3bEXT;
+#define glBinormal3bEXT glad_glBinormal3bEXT
+typedef void (APIENTRYP PFNGLBINORMAL3BVEXTPROC)(const GLbyte*);
+GLAPI PFNGLBINORMAL3BVEXTPROC glad_glBinormal3bvEXT;
+#define glBinormal3bvEXT glad_glBinormal3bvEXT
+typedef void (APIENTRYP PFNGLBINORMAL3DEXTPROC)(GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLBINORMAL3DEXTPROC glad_glBinormal3dEXT;
+#define glBinormal3dEXT glad_glBinormal3dEXT
+typedef void (APIENTRYP PFNGLBINORMAL3DVEXTPROC)(const GLdouble*);
+GLAPI PFNGLBINORMAL3DVEXTPROC glad_glBinormal3dvEXT;
+#define glBinormal3dvEXT glad_glBinormal3dvEXT
+typedef void (APIENTRYP PFNGLBINORMAL3FEXTPROC)(GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLBINORMAL3FEXTPROC glad_glBinormal3fEXT;
+#define glBinormal3fEXT glad_glBinormal3fEXT
+typedef void (APIENTRYP PFNGLBINORMAL3FVEXTPROC)(const GLfloat*);
+GLAPI PFNGLBINORMAL3FVEXTPROC glad_glBinormal3fvEXT;
+#define glBinormal3fvEXT glad_glBinormal3fvEXT
+typedef void (APIENTRYP PFNGLBINORMAL3IEXTPROC)(GLint, GLint, GLint);
+GLAPI PFNGLBINORMAL3IEXTPROC glad_glBinormal3iEXT;
+#define glBinormal3iEXT glad_glBinormal3iEXT
+typedef void (APIENTRYP PFNGLBINORMAL3IVEXTPROC)(const GLint*);
+GLAPI PFNGLBINORMAL3IVEXTPROC glad_glBinormal3ivEXT;
+#define glBinormal3ivEXT glad_glBinormal3ivEXT
+typedef void (APIENTRYP PFNGLBINORMAL3SEXTPROC)(GLshort, GLshort, GLshort);
+GLAPI PFNGLBINORMAL3SEXTPROC glad_glBinormal3sEXT;
+#define glBinormal3sEXT glad_glBinormal3sEXT
+typedef void (APIENTRYP PFNGLBINORMAL3SVEXTPROC)(const GLshort*);
+GLAPI PFNGLBINORMAL3SVEXTPROC glad_glBinormal3svEXT;
+#define glBinormal3svEXT glad_glBinormal3svEXT
+typedef void (APIENTRYP PFNGLTANGENTPOINTEREXTPROC)(GLenum, GLsizei, const void*);
+GLAPI PFNGLTANGENTPOINTEREXTPROC glad_glTangentPointerEXT;
+#define glTangentPointerEXT glad_glTangentPointerEXT
+typedef void (APIENTRYP PFNGLBINORMALPOINTEREXTPROC)(GLenum, GLsizei, const void*);
+GLAPI PFNGLBINORMALPOINTEREXTPROC glad_glBinormalPointerEXT;
+#define glBinormalPointerEXT glad_glBinormalPointerEXT
+#endif
+#ifndef GL_ATI_texture_mirror_once
+#define GL_ATI_texture_mirror_once 1
+GLAPI int GLAD_GL_ATI_texture_mirror_once;
+#endif
+#ifndef GL_IBM_rasterpos_clip
+#define GL_IBM_rasterpos_clip 1
+GLAPI int GLAD_GL_IBM_rasterpos_clip;
+#endif
+#ifndef GL_SGIX_shadow
+#define GL_SGIX_shadow 1
+GLAPI int GLAD_GL_SGIX_shadow;
+#endif
+#ifndef GL_NV_deep_texture3D
+#define GL_NV_deep_texture3D 1
+GLAPI int GLAD_GL_NV_deep_texture3D;
+#endif
+#ifndef GL_ARB_shader_draw_parameters
+#define GL_ARB_shader_draw_parameters 1
+GLAPI int GLAD_GL_ARB_shader_draw_parameters;
+#endif
+#ifndef GL_SGIX_calligraphic_fragment
+#define GL_SGIX_calligraphic_fragment 1
+GLAPI int GLAD_GL_SGIX_calligraphic_fragment;
+#endif
+#ifndef GL_ARB_shader_bit_encoding
+#define GL_ARB_shader_bit_encoding 1
+GLAPI int GLAD_GL_ARB_shader_bit_encoding;
+#endif
+#ifndef GL_EXT_compiled_vertex_array
+#define GL_EXT_compiled_vertex_array 1
+GLAPI int GLAD_GL_EXT_compiled_vertex_array;
+typedef void (APIENTRYP PFNGLLOCKARRAYSEXTPROC)(GLint, GLsizei);
+GLAPI PFNGLLOCKARRAYSEXTPROC glad_glLockArraysEXT;
+#define glLockArraysEXT glad_glLockArraysEXT
+typedef void (APIENTRYP PFNGLUNLOCKARRAYSEXTPROC)();
+GLAPI PFNGLUNLOCKARRAYSEXTPROC glad_glUnlockArraysEXT;
+#define glUnlockArraysEXT glad_glUnlockArraysEXT
+#endif
+#ifndef GL_NV_depth_buffer_float
+#define GL_NV_depth_buffer_float 1
+GLAPI int GLAD_GL_NV_depth_buffer_float;
+typedef void (APIENTRYP PFNGLDEPTHRANGEDNVPROC)(GLdouble, GLdouble);
+GLAPI PFNGLDEPTHRANGEDNVPROC glad_glDepthRangedNV;
+#define glDepthRangedNV glad_glDepthRangedNV
+typedef void (APIENTRYP PFNGLCLEARDEPTHDNVPROC)(GLdouble);
+GLAPI PFNGLCLEARDEPTHDNVPROC glad_glClearDepthdNV;
+#define glClearDepthdNV glad_glClearDepthdNV
+typedef void (APIENTRYP PFNGLDEPTHBOUNDSDNVPROC)(GLdouble, GLdouble);
+GLAPI PFNGLDEPTHBOUNDSDNVPROC glad_glDepthBoundsdNV;
+#define glDepthBoundsdNV glad_glDepthBoundsdNV
+#endif
+#ifndef GL_NV_occlusion_query
+#define GL_NV_occlusion_query 1
+GLAPI int GLAD_GL_NV_occlusion_query;
+typedef void (APIENTRYP PFNGLGENOCCLUSIONQUERIESNVPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENOCCLUSIONQUERIESNVPROC glad_glGenOcclusionQueriesNV;
+#define glGenOcclusionQueriesNV glad_glGenOcclusionQueriesNV
+typedef void (APIENTRYP PFNGLDELETEOCCLUSIONQUERIESNVPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEOCCLUSIONQUERIESNVPROC glad_glDeleteOcclusionQueriesNV;
+#define glDeleteOcclusionQueriesNV glad_glDeleteOcclusionQueriesNV
+typedef GLboolean (APIENTRYP PFNGLISOCCLUSIONQUERYNVPROC)(GLuint);
+GLAPI PFNGLISOCCLUSIONQUERYNVPROC glad_glIsOcclusionQueryNV;
+#define glIsOcclusionQueryNV glad_glIsOcclusionQueryNV
+typedef void (APIENTRYP PFNGLBEGINOCCLUSIONQUERYNVPROC)(GLuint);
+GLAPI PFNGLBEGINOCCLUSIONQUERYNVPROC glad_glBeginOcclusionQueryNV;
+#define glBeginOcclusionQueryNV glad_glBeginOcclusionQueryNV
+typedef void (APIENTRYP PFNGLENDOCCLUSIONQUERYNVPROC)();
+GLAPI PFNGLENDOCCLUSIONQUERYNVPROC glad_glEndOcclusionQueryNV;
+#define glEndOcclusionQueryNV glad_glEndOcclusionQueryNV
+typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYIVNVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETOCCLUSIONQUERYIVNVPROC glad_glGetOcclusionQueryivNV;
+#define glGetOcclusionQueryivNV glad_glGetOcclusionQueryivNV
+typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYUIVNVPROC)(GLuint, GLenum, GLuint*);
+GLAPI PFNGLGETOCCLUSIONQUERYUIVNVPROC glad_glGetOcclusionQueryuivNV;
+#define glGetOcclusionQueryuivNV glad_glGetOcclusionQueryuivNV
+#endif
+#ifndef GL_APPLE_flush_buffer_range
+#define GL_APPLE_flush_buffer_range 1
+GLAPI int GLAD_GL_APPLE_flush_buffer_range;
+typedef void (APIENTRYP PFNGLBUFFERPARAMETERIAPPLEPROC)(GLenum, GLenum, GLint);
+GLAPI PFNGLBUFFERPARAMETERIAPPLEPROC glad_glBufferParameteriAPPLE;
+#define glBufferParameteriAPPLE glad_glBufferParameteriAPPLE
+typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC)(GLenum, GLintptr, GLsizeiptr);
+GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glad_glFlushMappedBufferRangeAPPLE;
+#define glFlushMappedBufferRangeAPPLE glad_glFlushMappedBufferRangeAPPLE
+#endif
+#ifndef GL_ARB_imaging
+#define GL_ARB_imaging 1
+GLAPI int GLAD_GL_ARB_imaging;
+typedef void (APIENTRYP PFNGLCOLORTABLEPROC)(GLenum, GLenum, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLCOLORTABLEPROC glad_glColorTable;
+#define glColorTable glad_glColorTable
+typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVPROC)(GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLCOLORTABLEPARAMETERFVPROC glad_glColorTableParameterfv;
+#define glColorTableParameterfv glad_glColorTableParameterfv
+typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLCOLORTABLEPARAMETERIVPROC glad_glColorTableParameteriv;
+#define glColorTableParameteriv glad_glColorTableParameteriv
+typedef void (APIENTRYP PFNGLCOPYCOLORTABLEPROC)(GLenum, GLenum, GLint, GLint, GLsizei);
+GLAPI PFNGLCOPYCOLORTABLEPROC glad_glCopyColorTable;
+#define glCopyColorTable glad_glCopyColorTable
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPROC)(GLenum, GLenum, GLenum, void*);
+GLAPI PFNGLGETCOLORTABLEPROC glad_glGetColorTable;
+#define glGetColorTable glad_glGetColorTable
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETCOLORTABLEPARAMETERFVPROC glad_glGetColorTableParameterfv;
+#define glGetColorTableParameterfv glad_glGetColorTableParameterfv
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETCOLORTABLEPARAMETERIVPROC glad_glGetColorTableParameteriv;
+#define glGetColorTableParameteriv glad_glGetColorTableParameteriv
+typedef void (APIENTRYP PFNGLCOLORSUBTABLEPROC)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLCOLORSUBTABLEPROC glad_glColorSubTable;
+#define glColorSubTable glad_glColorSubTable
+typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEPROC)(GLenum, GLsizei, GLint, GLint, GLsizei);
+GLAPI PFNGLCOPYCOLORSUBTABLEPROC glad_glCopyColorSubTable;
+#define glCopyColorSubTable glad_glCopyColorSubTable
+typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DPROC)(GLenum, GLenum, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLCONVOLUTIONFILTER1DPROC glad_glConvolutionFilter1D;
+#define glConvolutionFilter1D glad_glConvolutionFilter1D
+typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DPROC)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLCONVOLUTIONFILTER2DPROC glad_glConvolutionFilter2D;
+#define glConvolutionFilter2D glad_glConvolutionFilter2D
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFPROC)(GLenum, GLenum, GLfloat);
+GLAPI PFNGLCONVOLUTIONPARAMETERFPROC glad_glConvolutionParameterf;
+#define glConvolutionParameterf glad_glConvolutionParameterf
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVPROC)(GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLCONVOLUTIONPARAMETERFVPROC glad_glConvolutionParameterfv;
+#define glConvolutionParameterfv glad_glConvolutionParameterfv
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIPROC)(GLenum, GLenum, GLint);
+GLAPI PFNGLCONVOLUTIONPARAMETERIPROC glad_glConvolutionParameteri;
+#define glConvolutionParameteri glad_glConvolutionParameteri
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLCONVOLUTIONPARAMETERIVPROC glad_glConvolutionParameteriv;
+#define glConvolutionParameteriv glad_glConvolutionParameteriv
+typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DPROC)(GLenum, GLenum, GLint, GLint, GLsizei);
+GLAPI PFNGLCOPYCONVOLUTIONFILTER1DPROC glad_glCopyConvolutionFilter1D;
+#define glCopyConvolutionFilter1D glad_glCopyConvolutionFilter1D
+typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DPROC)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLCOPYCONVOLUTIONFILTER2DPROC glad_glCopyConvolutionFilter2D;
+#define glCopyConvolutionFilter2D glad_glCopyConvolutionFilter2D
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTERPROC)(GLenum, GLenum, GLenum, void*);
+GLAPI PFNGLGETCONVOLUTIONFILTERPROC glad_glGetConvolutionFilter;
+#define glGetConvolutionFilter glad_glGetConvolutionFilter
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETCONVOLUTIONPARAMETERFVPROC glad_glGetConvolutionParameterfv;
+#define glGetConvolutionParameterfv glad_glGetConvolutionParameterfv
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETCONVOLUTIONPARAMETERIVPROC glad_glGetConvolutionParameteriv;
+#define glGetConvolutionParameteriv glad_glGetConvolutionParameteriv
+typedef void (APIENTRYP PFNGLGETSEPARABLEFILTERPROC)(GLenum, GLenum, GLenum, void*, void*, void*);
+GLAPI PFNGLGETSEPARABLEFILTERPROC glad_glGetSeparableFilter;
+#define glGetSeparableFilter glad_glGetSeparableFilter
+typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DPROC)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const void*, const void*);
+GLAPI PFNGLSEPARABLEFILTER2DPROC glad_glSeparableFilter2D;
+#define glSeparableFilter2D glad_glSeparableFilter2D
+typedef void (APIENTRYP PFNGLGETHISTOGRAMPROC)(GLenum, GLboolean, GLenum, GLenum, void*);
+GLAPI PFNGLGETHISTOGRAMPROC glad_glGetHistogram;
+#define glGetHistogram glad_glGetHistogram
+typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETHISTOGRAMPARAMETERFVPROC glad_glGetHistogramParameterfv;
+#define glGetHistogramParameterfv glad_glGetHistogramParameterfv
+typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETHISTOGRAMPARAMETERIVPROC glad_glGetHistogramParameteriv;
+#define glGetHistogramParameteriv glad_glGetHistogramParameteriv
+typedef void (APIENTRYP PFNGLGETMINMAXPROC)(GLenum, GLboolean, GLenum, GLenum, void*);
+GLAPI PFNGLGETMINMAXPROC glad_glGetMinmax;
+#define glGetMinmax glad_glGetMinmax
+typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETMINMAXPARAMETERFVPROC glad_glGetMinmaxParameterfv;
+#define glGetMinmaxParameterfv glad_glGetMinmaxParameterfv
+typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETMINMAXPARAMETERIVPROC glad_glGetMinmaxParameteriv;
+#define glGetMinmaxParameteriv glad_glGetMinmaxParameteriv
+typedef void (APIENTRYP PFNGLHISTOGRAMPROC)(GLenum, GLsizei, GLenum, GLboolean);
+GLAPI PFNGLHISTOGRAMPROC glad_glHistogram;
+#define glHistogram glad_glHistogram
+typedef void (APIENTRYP PFNGLMINMAXPROC)(GLenum, GLenum, GLboolean);
+GLAPI PFNGLMINMAXPROC glad_glMinmax;
+#define glMinmax glad_glMinmax
+typedef void (APIENTRYP PFNGLRESETHISTOGRAMPROC)(GLenum);
+GLAPI PFNGLRESETHISTOGRAMPROC glad_glResetHistogram;
+#define glResetHistogram glad_glResetHistogram
+typedef void (APIENTRYP PFNGLRESETMINMAXPROC)(GLenum);
+GLAPI PFNGLRESETMINMAXPROC glad_glResetMinmax;
+#define glResetMinmax glad_glResetMinmax
+#endif
+#ifndef GL_ARB_draw_buffers_blend
+#define GL_ARB_draw_buffers_blend 1
+GLAPI int GLAD_GL_ARB_draw_buffers_blend;
+typedef void (APIENTRYP PFNGLBLENDEQUATIONIARBPROC)(GLuint, GLenum);
+GLAPI PFNGLBLENDEQUATIONIARBPROC glad_glBlendEquationiARB;
+#define glBlendEquationiARB glad_glBlendEquationiARB
+typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIARBPROC)(GLuint, GLenum, GLenum);
+GLAPI PFNGLBLENDEQUATIONSEPARATEIARBPROC glad_glBlendEquationSeparateiARB;
+#define glBlendEquationSeparateiARB glad_glBlendEquationSeparateiARB
+typedef void (APIENTRYP PFNGLBLENDFUNCIARBPROC)(GLuint, GLenum, GLenum);
+GLAPI PFNGLBLENDFUNCIARBPROC glad_glBlendFunciARB;
+#define glBlendFunciARB glad_glBlendFunciARB
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIARBPROC)(GLuint, GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLBLENDFUNCSEPARATEIARBPROC glad_glBlendFuncSeparateiARB;
+#define glBlendFuncSeparateiARB glad_glBlendFuncSeparateiARB
+#endif
+#ifndef GL_NV_blend_square
+#define GL_NV_blend_square 1
+GLAPI int GLAD_GL_NV_blend_square;
+#endif
+#ifndef GL_AMD_blend_minmax_factor
+#define GL_AMD_blend_minmax_factor 1
+GLAPI int GLAD_GL_AMD_blend_minmax_factor;
+#endif
+#ifndef GL_EXT_texture_sRGB_decode
+#define GL_EXT_texture_sRGB_decode 1
+GLAPI int GLAD_GL_EXT_texture_sRGB_decode;
+#endif
+#ifndef GL_ARB_shading_language_420pack
+#define GL_ARB_shading_language_420pack 1
+GLAPI int GLAD_GL_ARB_shading_language_420pack;
+#endif
+#ifndef GL_ATI_meminfo
+#define GL_ATI_meminfo 1
+GLAPI int GLAD_GL_ATI_meminfo;
+#endif
+#ifndef GL_EXT_abgr
+#define GL_EXT_abgr 1
+GLAPI int GLAD_GL_EXT_abgr;
+#endif
+#ifndef GL_AMD_pinned_memory
+#define GL_AMD_pinned_memory 1
+GLAPI int GLAD_GL_AMD_pinned_memory;
+#endif
+#ifndef GL_EXT_texture_snorm
+#define GL_EXT_texture_snorm 1
+GLAPI int GLAD_GL_EXT_texture_snorm;
+#endif
+#ifndef GL_SGIX_texture_coordinate_clamp
+#define GL_SGIX_texture_coordinate_clamp 1
+GLAPI int GLAD_GL_SGIX_texture_coordinate_clamp;
+#endif
+#ifndef GL_ARB_clear_buffer_object
+#define GL_ARB_clear_buffer_object 1
+GLAPI int GLAD_GL_ARB_clear_buffer_object;
+#endif
+#ifndef GL_ARB_multisample
+#define GL_ARB_multisample 1
+GLAPI int GLAD_GL_ARB_multisample;
+typedef void (APIENTRYP PFNGLSAMPLECOVERAGEARBPROC)(GLfloat, GLboolean);
+GLAPI PFNGLSAMPLECOVERAGEARBPROC glad_glSampleCoverageARB;
+#define glSampleCoverageARB glad_glSampleCoverageARB
+#endif
+#ifndef GL_EXT_debug_label
+#define GL_EXT_debug_label 1
+GLAPI int GLAD_GL_EXT_debug_label;
+typedef void (APIENTRYP PFNGLLABELOBJECTEXTPROC)(GLenum, GLuint, GLsizei, const GLchar*);
+GLAPI PFNGLLABELOBJECTEXTPROC glad_glLabelObjectEXT;
+#define glLabelObjectEXT glad_glLabelObjectEXT
+typedef void (APIENTRYP PFNGLGETOBJECTLABELEXTPROC)(GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
+GLAPI PFNGLGETOBJECTLABELEXTPROC glad_glGetObjectLabelEXT;
+#define glGetObjectLabelEXT glad_glGetObjectLabelEXT
+#endif
+#ifndef GL_ARB_sample_shading
+#define GL_ARB_sample_shading 1
+GLAPI int GLAD_GL_ARB_sample_shading;
+typedef void (APIENTRYP PFNGLMINSAMPLESHADINGARBPROC)(GLfloat);
+GLAPI PFNGLMINSAMPLESHADINGARBPROC glad_glMinSampleShadingARB;
+#define glMinSampleShadingARB glad_glMinSampleShadingARB
+#endif
+#ifndef GL_INTEL_map_texture
+#define GL_INTEL_map_texture 1
+GLAPI int GLAD_GL_INTEL_map_texture;
+typedef void (APIENTRYP PFNGLSYNCTEXTUREINTELPROC)(GLuint);
+GLAPI PFNGLSYNCTEXTUREINTELPROC glad_glSyncTextureINTEL;
+#define glSyncTextureINTEL glad_glSyncTextureINTEL
+typedef void (APIENTRYP PFNGLUNMAPTEXTURE2DINTELPROC)(GLuint, GLint);
+GLAPI PFNGLUNMAPTEXTURE2DINTELPROC glad_glUnmapTexture2DINTEL;
+#define glUnmapTexture2DINTEL glad_glUnmapTexture2DINTEL
+typedef void* (APIENTRYP PFNGLMAPTEXTURE2DINTELPROC)(GLuint, GLint, GLbitfield, GLint*, GLenum*);
+GLAPI PFNGLMAPTEXTURE2DINTELPROC glad_glMapTexture2DINTEL;
+#define glMapTexture2DINTEL glad_glMapTexture2DINTEL
+#endif
+#ifndef GL_ARB_texture_env_crossbar
+#define GL_ARB_texture_env_crossbar 1
+GLAPI int GLAD_GL_ARB_texture_env_crossbar;
+#endif
+#ifndef GL_EXT_422_pixels
+#define GL_EXT_422_pixels 1
+GLAPI int GLAD_GL_EXT_422_pixels;
+#endif
+#ifndef GL_ARB_compute_shader
+#define GL_ARB_compute_shader 1
+GLAPI int GLAD_GL_ARB_compute_shader;
+#endif
+#ifndef GL_EXT_blend_logic_op
+#define GL_EXT_blend_logic_op 1
+GLAPI int GLAD_GL_EXT_blend_logic_op;
+#endif
+#ifndef GL_IBM_cull_vertex
+#define GL_IBM_cull_vertex 1
+GLAPI int GLAD_GL_IBM_cull_vertex;
+#endif
+#ifndef GL_IBM_vertex_array_lists
+#define GL_IBM_vertex_array_lists 1
+GLAPI int GLAD_GL_IBM_vertex_array_lists;
+typedef void (APIENTRYP PFNGLCOLORPOINTERLISTIBMPROC)(GLint, GLenum, GLint, const void**, GLint);
+GLAPI PFNGLCOLORPOINTERLISTIBMPROC glad_glColorPointerListIBM;
+#define glColorPointerListIBM glad_glColorPointerListIBM
+typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERLISTIBMPROC)(GLint, GLenum, GLint, const void**, GLint);
+GLAPI PFNGLSECONDARYCOLORPOINTERLISTIBMPROC glad_glSecondaryColorPointerListIBM;
+#define glSecondaryColorPointerListIBM glad_glSecondaryColorPointerListIBM
+typedef void (APIENTRYP PFNGLEDGEFLAGPOINTERLISTIBMPROC)(GLint, const GLboolean**, GLint);
+GLAPI PFNGLEDGEFLAGPOINTERLISTIBMPROC glad_glEdgeFlagPointerListIBM;
+#define glEdgeFlagPointerListIBM glad_glEdgeFlagPointerListIBM
+typedef void (APIENTRYP PFNGLFOGCOORDPOINTERLISTIBMPROC)(GLenum, GLint, const void**, GLint);
+GLAPI PFNGLFOGCOORDPOINTERLISTIBMPROC glad_glFogCoordPointerListIBM;
+#define glFogCoordPointerListIBM glad_glFogCoordPointerListIBM
+typedef void (APIENTRYP PFNGLINDEXPOINTERLISTIBMPROC)(GLenum, GLint, const void**, GLint);
+GLAPI PFNGLINDEXPOINTERLISTIBMPROC glad_glIndexPointerListIBM;
+#define glIndexPointerListIBM glad_glIndexPointerListIBM
+typedef void (APIENTRYP PFNGLNORMALPOINTERLISTIBMPROC)(GLenum, GLint, const void**, GLint);
+GLAPI PFNGLNORMALPOINTERLISTIBMPROC glad_glNormalPointerListIBM;
+#define glNormalPointerListIBM glad_glNormalPointerListIBM
+typedef void (APIENTRYP PFNGLTEXCOORDPOINTERLISTIBMPROC)(GLint, GLenum, GLint, const void**, GLint);
+GLAPI PFNGLTEXCOORDPOINTERLISTIBMPROC glad_glTexCoordPointerListIBM;
+#define glTexCoordPointerListIBM glad_glTexCoordPointerListIBM
+typedef void (APIENTRYP PFNGLVERTEXPOINTERLISTIBMPROC)(GLint, GLenum, GLint, const void**, GLint);
+GLAPI PFNGLVERTEXPOINTERLISTIBMPROC glad_glVertexPointerListIBM;
+#define glVertexPointerListIBM glad_glVertexPointerListIBM
+#endif
+#ifndef GL_ARB_color_buffer_float
+#define GL_ARB_color_buffer_float 1
+GLAPI int GLAD_GL_ARB_color_buffer_float;
+typedef void (APIENTRYP PFNGLCLAMPCOLORARBPROC)(GLenum, GLenum);
+GLAPI PFNGLCLAMPCOLORARBPROC glad_glClampColorARB;
+#define glClampColorARB glad_glClampColorARB
+#endif
+#ifndef GL_ARB_bindless_texture
+#define GL_ARB_bindless_texture 1
+GLAPI int GLAD_GL_ARB_bindless_texture;
+typedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLEARBPROC)(GLuint);
+GLAPI PFNGLGETTEXTUREHANDLEARBPROC glad_glGetTextureHandleARB;
+#define glGetTextureHandleARB glad_glGetTextureHandleARB
+typedef GLuint64 (APIENTRYP PFNGLGETTEXTURESAMPLERHANDLEARBPROC)(GLuint, GLuint);
+GLAPI PFNGLGETTEXTURESAMPLERHANDLEARBPROC glad_glGetTextureSamplerHandleARB;
+#define glGetTextureSamplerHandleARB glad_glGetTextureSamplerHandleARB
+typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTARBPROC)(GLuint64);
+GLAPI PFNGLMAKETEXTUREHANDLERESIDENTARBPROC glad_glMakeTextureHandleResidentARB;
+#define glMakeTextureHandleResidentARB glad_glMakeTextureHandleResidentARB
+typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC)(GLuint64);
+GLAPI PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC glad_glMakeTextureHandleNonResidentARB;
+#define glMakeTextureHandleNonResidentARB glad_glMakeTextureHandleNonResidentARB
+typedef GLuint64 (APIENTRYP PFNGLGETIMAGEHANDLEARBPROC)(GLuint, GLint, GLboolean, GLint, GLenum);
+GLAPI PFNGLGETIMAGEHANDLEARBPROC glad_glGetImageHandleARB;
+#define glGetImageHandleARB glad_glGetImageHandleARB
+typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTARBPROC)(GLuint64, GLenum);
+GLAPI PFNGLMAKEIMAGEHANDLERESIDENTARBPROC glad_glMakeImageHandleResidentARB;
+#define glMakeImageHandleResidentARB glad_glMakeImageHandleResidentARB
+typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC)(GLuint64);
+GLAPI PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC glad_glMakeImageHandleNonResidentARB;
+#define glMakeImageHandleNonResidentARB glad_glMakeImageHandleNonResidentARB
+typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64ARBPROC)(GLint, GLuint64);
+GLAPI PFNGLUNIFORMHANDLEUI64ARBPROC glad_glUniformHandleui64ARB;
+#define glUniformHandleui64ARB glad_glUniformHandleui64ARB
+typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64VARBPROC)(GLint, GLsizei, const GLuint64*);
+GLAPI PFNGLUNIFORMHANDLEUI64VARBPROC glad_glUniformHandleui64vARB;
+#define glUniformHandleui64vARB glad_glUniformHandleui64vARB
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC)(GLuint, GLint, GLuint64);
+GLAPI PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC glad_glProgramUniformHandleui64ARB;
+#define glProgramUniformHandleui64ARB glad_glProgramUniformHandleui64ARB
+typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC)(GLuint, GLint, GLsizei, const GLuint64*);
+GLAPI PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC glad_glProgramUniformHandleui64vARB;
+#define glProgramUniformHandleui64vARB glad_glProgramUniformHandleui64vARB
+typedef GLboolean (APIENTRYP PFNGLISTEXTUREHANDLERESIDENTARBPROC)(GLuint64);
+GLAPI PFNGLISTEXTUREHANDLERESIDENTARBPROC glad_glIsTextureHandleResidentARB;
+#define glIsTextureHandleResidentARB glad_glIsTextureHandleResidentARB
+typedef GLboolean (APIENTRYP PFNGLISIMAGEHANDLERESIDENTARBPROC)(GLuint64);
+GLAPI PFNGLISIMAGEHANDLERESIDENTARBPROC glad_glIsImageHandleResidentARB;
+#define glIsImageHandleResidentARB glad_glIsImageHandleResidentARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64ARBPROC)(GLuint, GLuint64EXT);
+GLAPI PFNGLVERTEXATTRIBL1UI64ARBPROC glad_glVertexAttribL1ui64ARB;
+#define glVertexAttribL1ui64ARB glad_glVertexAttribL1ui64ARB
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VARBPROC)(GLuint, const GLuint64EXT*);
+GLAPI PFNGLVERTEXATTRIBL1UI64VARBPROC glad_glVertexAttribL1ui64vARB;
+#define glVertexAttribL1ui64vARB glad_glVertexAttribL1ui64vARB
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VARBPROC)(GLuint, GLenum, GLuint64EXT*);
+GLAPI PFNGLGETVERTEXATTRIBLUI64VARBPROC glad_glGetVertexAttribLui64vARB;
+#define glGetVertexAttribLui64vARB glad_glGetVertexAttribLui64vARB
+#endif
+#ifndef GL_ARB_window_pos
+#define GL_ARB_window_pos 1
+GLAPI int GLAD_GL_ARB_window_pos;
+typedef void (APIENTRYP PFNGLWINDOWPOS2DARBPROC)(GLdouble, GLdouble);
+GLAPI PFNGLWINDOWPOS2DARBPROC glad_glWindowPos2dARB;
+#define glWindowPos2dARB glad_glWindowPos2dARB
+typedef void (APIENTRYP PFNGLWINDOWPOS2DVARBPROC)(const GLdouble*);
+GLAPI PFNGLWINDOWPOS2DVARBPROC glad_glWindowPos2dvARB;
+#define glWindowPos2dvARB glad_glWindowPos2dvARB
+typedef void (APIENTRYP PFNGLWINDOWPOS2FARBPROC)(GLfloat, GLfloat);
+GLAPI PFNGLWINDOWPOS2FARBPROC glad_glWindowPos2fARB;
+#define glWindowPos2fARB glad_glWindowPos2fARB
+typedef void (APIENTRYP PFNGLWINDOWPOS2FVARBPROC)(const GLfloat*);
+GLAPI PFNGLWINDOWPOS2FVARBPROC glad_glWindowPos2fvARB;
+#define glWindowPos2fvARB glad_glWindowPos2fvARB
+typedef void (APIENTRYP PFNGLWINDOWPOS2IARBPROC)(GLint, GLint);
+GLAPI PFNGLWINDOWPOS2IARBPROC glad_glWindowPos2iARB;
+#define glWindowPos2iARB glad_glWindowPos2iARB
+typedef void (APIENTRYP PFNGLWINDOWPOS2IVARBPROC)(const GLint*);
+GLAPI PFNGLWINDOWPOS2IVARBPROC glad_glWindowPos2ivARB;
+#define glWindowPos2ivARB glad_glWindowPos2ivARB
+typedef void (APIENTRYP PFNGLWINDOWPOS2SARBPROC)(GLshort, GLshort);
+GLAPI PFNGLWINDOWPOS2SARBPROC glad_glWindowPos2sARB;
+#define glWindowPos2sARB glad_glWindowPos2sARB
+typedef void (APIENTRYP PFNGLWINDOWPOS2SVARBPROC)(const GLshort*);
+GLAPI PFNGLWINDOWPOS2SVARBPROC glad_glWindowPos2svARB;
+#define glWindowPos2svARB glad_glWindowPos2svARB
+typedef void (APIENTRYP PFNGLWINDOWPOS3DARBPROC)(GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLWINDOWPOS3DARBPROC glad_glWindowPos3dARB;
+#define glWindowPos3dARB glad_glWindowPos3dARB
+typedef void (APIENTRYP PFNGLWINDOWPOS3DVARBPROC)(const GLdouble*);
+GLAPI PFNGLWINDOWPOS3DVARBPROC glad_glWindowPos3dvARB;
+#define glWindowPos3dvARB glad_glWindowPos3dvARB
+typedef void (APIENTRYP PFNGLWINDOWPOS3FARBPROC)(GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLWINDOWPOS3FARBPROC glad_glWindowPos3fARB;
+#define glWindowPos3fARB glad_glWindowPos3fARB
+typedef void (APIENTRYP PFNGLWINDOWPOS3FVARBPROC)(const GLfloat*);
+GLAPI PFNGLWINDOWPOS3FVARBPROC glad_glWindowPos3fvARB;
+#define glWindowPos3fvARB glad_glWindowPos3fvARB
+typedef void (APIENTRYP PFNGLWINDOWPOS3IARBPROC)(GLint, GLint, GLint);
+GLAPI PFNGLWINDOWPOS3IARBPROC glad_glWindowPos3iARB;
+#define glWindowPos3iARB glad_glWindowPos3iARB
+typedef void (APIENTRYP PFNGLWINDOWPOS3IVARBPROC)(const GLint*);
+GLAPI PFNGLWINDOWPOS3IVARBPROC glad_glWindowPos3ivARB;
+#define glWindowPos3ivARB glad_glWindowPos3ivARB
+typedef void (APIENTRYP PFNGLWINDOWPOS3SARBPROC)(GLshort, GLshort, GLshort);
+GLAPI PFNGLWINDOWPOS3SARBPROC glad_glWindowPos3sARB;
+#define glWindowPos3sARB glad_glWindowPos3sARB
+typedef void (APIENTRYP PFNGLWINDOWPOS3SVARBPROC)(const GLshort*);
+GLAPI PFNGLWINDOWPOS3SVARBPROC glad_glWindowPos3svARB;
+#define glWindowPos3svARB glad_glWindowPos3svARB
+#endif
+#ifndef GL_ARB_internalformat_query
+#define GL_ARB_internalformat_query 1
+GLAPI int GLAD_GL_ARB_internalformat_query;
+#endif
+#ifndef GL_ARB_shadow
+#define GL_ARB_shadow 1
+GLAPI int GLAD_GL_ARB_shadow;
+#endif
+#ifndef GL_ARB_texture_mirrored_repeat
+#define GL_ARB_texture_mirrored_repeat 1
+GLAPI int GLAD_GL_ARB_texture_mirrored_repeat;
+#endif
+#ifndef GL_EXT_shader_image_load_store
+#define GL_EXT_shader_image_load_store 1
+GLAPI int GLAD_GL_EXT_shader_image_load_store;
+typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREEXTPROC)(GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLint);
+GLAPI PFNGLBINDIMAGETEXTUREEXTPROC glad_glBindImageTextureEXT;
+#define glBindImageTextureEXT glad_glBindImageTextureEXT
+typedef void (APIENTRYP PFNGLMEMORYBARRIEREXTPROC)(GLbitfield);
+GLAPI PFNGLMEMORYBARRIEREXTPROC glad_glMemoryBarrierEXT;
+#define glMemoryBarrierEXT glad_glMemoryBarrierEXT
+#endif
+#ifndef GL_EXT_copy_texture
+#define GL_EXT_copy_texture 1
+GLAPI int GLAD_GL_EXT_copy_texture;
+typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DEXTPROC)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
+GLAPI PFNGLCOPYTEXIMAGE1DEXTPROC glad_glCopyTexImage1DEXT;
+#define glCopyTexImage1DEXT glad_glCopyTexImage1DEXT
+typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DEXTPROC)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
+GLAPI PFNGLCOPYTEXIMAGE2DEXTPROC glad_glCopyTexImage2DEXT;
+#define glCopyTexImage2DEXT glad_glCopyTexImage2DEXT
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DEXTPROC)(GLenum, GLint, GLint, GLint, GLint, GLsizei);
+GLAPI PFNGLCOPYTEXSUBIMAGE1DEXTPROC glad_glCopyTexSubImage1DEXT;
+#define glCopyTexSubImage1DEXT glad_glCopyTexSubImage1DEXT
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DEXTPROC)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLCOPYTEXSUBIMAGE2DEXTPROC glad_glCopyTexSubImage2DEXT;
+#define glCopyTexSubImage2DEXT glad_glCopyTexSubImage2DEXT
+typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DEXTPROC)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
+GLAPI PFNGLCOPYTEXSUBIMAGE3DEXTPROC glad_glCopyTexSubImage3DEXT;
+#define glCopyTexSubImage3DEXT glad_glCopyTexSubImage3DEXT
+#endif
+#ifndef GL_NV_register_combiners2
+#define GL_NV_register_combiners2 1
+GLAPI int GLAD_GL_NV_register_combiners2;
+typedef void (APIENTRYP PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)(GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLCOMBINERSTAGEPARAMETERFVNVPROC glad_glCombinerStageParameterfvNV;
+#define glCombinerStageParameterfvNV glad_glCombinerStageParameterfvNV
+typedef void (APIENTRYP PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC glad_glGetCombinerStageParameterfvNV;
+#define glGetCombinerStageParameterfvNV glad_glGetCombinerStageParameterfvNV
+#endif
+#ifndef GL_SGIX_ir_instrument1
+#define GL_SGIX_ir_instrument1 1
+GLAPI int GLAD_GL_SGIX_ir_instrument1;
+#endif
+#ifndef GL_NV_draw_texture
+#define GL_NV_draw_texture 1
+GLAPI int GLAD_GL_NV_draw_texture;
+typedef void (APIENTRYP PFNGLDRAWTEXTURENVPROC)(GLuint, GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLDRAWTEXTURENVPROC glad_glDrawTextureNV;
+#define glDrawTextureNV glad_glDrawTextureNV
+#endif
+#ifndef GL_EXT_texture_shared_exponent
+#define GL_EXT_texture_shared_exponent 1
+GLAPI int GLAD_GL_EXT_texture_shared_exponent;
+#endif
+#ifndef GL_EXT_draw_instanced
+#define GL_EXT_draw_instanced 1
+GLAPI int GLAD_GL_EXT_draw_instanced;
+typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC)(GLenum, GLint, GLsizei, GLsizei);
+GLAPI PFNGLDRAWARRAYSINSTANCEDEXTPROC glad_glDrawArraysInstancedEXT;
+#define glDrawArraysInstancedEXT glad_glDrawArraysInstancedEXT
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC)(GLenum, GLsizei, GLenum, const void*, GLsizei);
+GLAPI PFNGLDRAWELEMENTSINSTANCEDEXTPROC glad_glDrawElementsInstancedEXT;
+#define glDrawElementsInstancedEXT glad_glDrawElementsInstancedEXT
+#endif
+#ifndef GL_NV_copy_depth_to_color
+#define GL_NV_copy_depth_to_color 1
+GLAPI int GLAD_GL_NV_copy_depth_to_color;
+#endif
+#ifndef GL_ARB_viewport_array
+#define GL_ARB_viewport_array 1
+GLAPI int GLAD_GL_ARB_viewport_array;
+#endif
+#ifndef GL_ARB_separate_shader_objects
+#define GL_ARB_separate_shader_objects 1
+GLAPI int GLAD_GL_ARB_separate_shader_objects;
+#endif
+#ifndef GL_EXT_depth_bounds_test
+#define GL_EXT_depth_bounds_test 1
+GLAPI int GLAD_GL_EXT_depth_bounds_test;
+typedef void (APIENTRYP PFNGLDEPTHBOUNDSEXTPROC)(GLclampd, GLclampd);
+GLAPI PFNGLDEPTHBOUNDSEXTPROC glad_glDepthBoundsEXT;
+#define glDepthBoundsEXT glad_glDepthBoundsEXT
+#endif
+#ifndef GL_HP_image_transform
+#define GL_HP_image_transform 1
+GLAPI int GLAD_GL_HP_image_transform;
+typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIHPPROC)(GLenum, GLenum, GLint);
+GLAPI PFNGLIMAGETRANSFORMPARAMETERIHPPROC glad_glImageTransformParameteriHP;
+#define glImageTransformParameteriHP glad_glImageTransformParameteriHP
+typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFHPPROC)(GLenum, GLenum, GLfloat);
+GLAPI PFNGLIMAGETRANSFORMPARAMETERFHPPROC glad_glImageTransformParameterfHP;
+#define glImageTransformParameterfHP glad_glImageTransformParameterfHP
+typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIVHPPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLIMAGETRANSFORMPARAMETERIVHPPROC glad_glImageTransformParameterivHP;
+#define glImageTransformParameterivHP glad_glImageTransformParameterivHP
+typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFVHPPROC)(GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLIMAGETRANSFORMPARAMETERFVHPPROC glad_glImageTransformParameterfvHP;
+#define glImageTransformParameterfvHP glad_glImageTransformParameterfvHP
+typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC glad_glGetImageTransformParameterivHP;
+#define glGetImageTransformParameterivHP glad_glGetImageTransformParameterivHP
+typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC glad_glGetImageTransformParameterfvHP;
+#define glGetImageTransformParameterfvHP glad_glGetImageTransformParameterfvHP
+#endif
+#ifndef GL_ARB_texture_env_add
+#define GL_ARB_texture_env_add 1
+GLAPI int GLAD_GL_ARB_texture_env_add;
+#endif
+#ifndef GL_NV_video_capture
+#define GL_NV_video_capture 1
+GLAPI int GLAD_GL_NV_video_capture;
+typedef void (APIENTRYP PFNGLBEGINVIDEOCAPTURENVPROC)(GLuint);
+GLAPI PFNGLBEGINVIDEOCAPTURENVPROC glad_glBeginVideoCaptureNV;
+#define glBeginVideoCaptureNV glad_glBeginVideoCaptureNV
+typedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC)(GLuint, GLuint, GLenum, GLintptrARB);
+GLAPI PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC glad_glBindVideoCaptureStreamBufferNV;
+#define glBindVideoCaptureStreamBufferNV glad_glBindVideoCaptureStreamBufferNV
+typedef void (APIENTRYP PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC)(GLuint, GLuint, GLenum, GLenum, GLuint);
+GLAPI PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC glad_glBindVideoCaptureStreamTextureNV;
+#define glBindVideoCaptureStreamTextureNV glad_glBindVideoCaptureStreamTextureNV
+typedef void (APIENTRYP PFNGLENDVIDEOCAPTURENVPROC)(GLuint);
+GLAPI PFNGLENDVIDEOCAPTURENVPROC glad_glEndVideoCaptureNV;
+#define glEndVideoCaptureNV glad_glEndVideoCaptureNV
+typedef void (APIENTRYP PFNGLGETVIDEOCAPTUREIVNVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVIDEOCAPTUREIVNVPROC glad_glGetVideoCaptureivNV;
+#define glGetVideoCaptureivNV glad_glGetVideoCaptureivNV
+typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMIVNVPROC)(GLuint, GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVIDEOCAPTURESTREAMIVNVPROC glad_glGetVideoCaptureStreamivNV;
+#define glGetVideoCaptureStreamivNV glad_glGetVideoCaptureStreamivNV
+typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMFVNVPROC)(GLuint, GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETVIDEOCAPTURESTREAMFVNVPROC glad_glGetVideoCaptureStreamfvNV;
+#define glGetVideoCaptureStreamfvNV glad_glGetVideoCaptureStreamfvNV
+typedef void (APIENTRYP PFNGLGETVIDEOCAPTURESTREAMDVNVPROC)(GLuint, GLuint, GLenum, GLdouble*);
+GLAPI PFNGLGETVIDEOCAPTURESTREAMDVNVPROC glad_glGetVideoCaptureStreamdvNV;
+#define glGetVideoCaptureStreamdvNV glad_glGetVideoCaptureStreamdvNV
+typedef GLenum (APIENTRYP PFNGLVIDEOCAPTURENVPROC)(GLuint, GLuint*, GLuint64EXT*);
+GLAPI PFNGLVIDEOCAPTURENVPROC glad_glVideoCaptureNV;
+#define glVideoCaptureNV glad_glVideoCaptureNV
+typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC)(GLuint, GLuint, GLenum, const GLint*);
+GLAPI PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC glad_glVideoCaptureStreamParameterivNV;
+#define glVideoCaptureStreamParameterivNV glad_glVideoCaptureStreamParameterivNV
+typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC)(GLuint, GLuint, GLenum, const GLfloat*);
+GLAPI PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC glad_glVideoCaptureStreamParameterfvNV;
+#define glVideoCaptureStreamParameterfvNV glad_glVideoCaptureStreamParameterfvNV
+typedef void (APIENTRYP PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC)(GLuint, GLuint, GLenum, const GLdouble*);
+GLAPI PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC glad_glVideoCaptureStreamParameterdvNV;
+#define glVideoCaptureStreamParameterdvNV glad_glVideoCaptureStreamParameterdvNV
+#endif
+#ifndef GL_ARB_sampler_objects
+#define GL_ARB_sampler_objects 1
+GLAPI int GLAD_GL_ARB_sampler_objects;
+#endif
+#ifndef GL_ARB_matrix_palette
+#define GL_ARB_matrix_palette 1
+GLAPI int GLAD_GL_ARB_matrix_palette;
+typedef void (APIENTRYP PFNGLCURRENTPALETTEMATRIXARBPROC)(GLint);
+GLAPI PFNGLCURRENTPALETTEMATRIXARBPROC glad_glCurrentPaletteMatrixARB;
+#define glCurrentPaletteMatrixARB glad_glCurrentPaletteMatrixARB
+typedef void (APIENTRYP PFNGLMATRIXINDEXUBVARBPROC)(GLint, const GLubyte*);
+GLAPI PFNGLMATRIXINDEXUBVARBPROC glad_glMatrixIndexubvARB;
+#define glMatrixIndexubvARB glad_glMatrixIndexubvARB
+typedef void (APIENTRYP PFNGLMATRIXINDEXUSVARBPROC)(GLint, const GLushort*);
+GLAPI PFNGLMATRIXINDEXUSVARBPROC glad_glMatrixIndexusvARB;
+#define glMatrixIndexusvARB glad_glMatrixIndexusvARB
+typedef void (APIENTRYP PFNGLMATRIXINDEXUIVARBPROC)(GLint, const GLuint*);
+GLAPI PFNGLMATRIXINDEXUIVARBPROC glad_glMatrixIndexuivARB;
+#define glMatrixIndexuivARB glad_glMatrixIndexuivARB
+typedef void (APIENTRYP PFNGLMATRIXINDEXPOINTERARBPROC)(GLint, GLenum, GLsizei, const void*);
+GLAPI PFNGLMATRIXINDEXPOINTERARBPROC glad_glMatrixIndexPointerARB;
+#define glMatrixIndexPointerARB glad_glMatrixIndexPointerARB
+#endif
+#ifndef GL_SGIS_texture_color_mask
+#define GL_SGIS_texture_color_mask 1
+GLAPI int GLAD_GL_SGIS_texture_color_mask;
+typedef void (APIENTRYP PFNGLTEXTURECOLORMASKSGISPROC)(GLboolean, GLboolean, GLboolean, GLboolean);
+GLAPI PFNGLTEXTURECOLORMASKSGISPROC glad_glTextureColorMaskSGIS;
+#define glTextureColorMaskSGIS glad_glTextureColorMaskSGIS
+#endif
+#ifndef GL_EXT_packed_pixels
+#define GL_EXT_packed_pixels 1
+GLAPI int GLAD_GL_EXT_packed_pixels;
+#endif
+#ifndef GL_ARB_texture_compression
+#define GL_ARB_texture_compression 1
+GLAPI int GLAD_GL_ARB_texture_compression;
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXIMAGE3DARBPROC glad_glCompressedTexImage3DARB;
+#define glCompressedTexImage3DARB glad_glCompressedTexImage3DARB
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glad_glCompressedTexImage2DARB;
+#define glCompressedTexImage2DARB glad_glCompressedTexImage2DARB
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXIMAGE1DARBPROC glad_glCompressedTexImage1DARB;
+#define glCompressedTexImage1DARB glad_glCompressedTexImage1DARB
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC glad_glCompressedTexSubImage3DARB;
+#define glCompressedTexSubImage3DARB glad_glCompressedTexSubImage3DARB
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC glad_glCompressedTexSubImage2DARB;
+#define glCompressedTexSubImage2DARB glad_glCompressedTexSubImage2DARB
+typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void*);
+GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC glad_glCompressedTexSubImage1DARB;
+#define glCompressedTexSubImage1DARB glad_glCompressedTexSubImage1DARB
+typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)(GLenum, GLint, void*);
+GLAPI PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glad_glGetCompressedTexImageARB;
+#define glGetCompressedTexImageARB glad_glGetCompressedTexImageARB
+#endif
+#ifndef GL_APPLE_aux_depth_stencil
+#define GL_APPLE_aux_depth_stencil 1
+GLAPI int GLAD_GL_APPLE_aux_depth_stencil;
+#endif
+#ifndef GL_ARB_shader_subroutine
+#define GL_ARB_shader_subroutine 1
+GLAPI int GLAD_GL_ARB_shader_subroutine;
+#endif
+#ifndef GL_EXT_framebuffer_sRGB
+#define GL_EXT_framebuffer_sRGB 1
+GLAPI int GLAD_GL_EXT_framebuffer_sRGB;
+#endif
+#ifndef GL_ARB_texture_storage_multisample
+#define GL_ARB_texture_storage_multisample 1
+GLAPI int GLAD_GL_ARB_texture_storage_multisample;
+#endif
+#ifndef GL_EXT_vertex_attrib_64bit
+#define GL_EXT_vertex_attrib_64bit 1
+GLAPI int GLAD_GL_EXT_vertex_attrib_64bit;
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DEXTPROC)(GLuint, GLdouble);
+GLAPI PFNGLVERTEXATTRIBL1DEXTPROC glad_glVertexAttribL1dEXT;
+#define glVertexAttribL1dEXT glad_glVertexAttribL1dEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DEXTPROC)(GLuint, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIBL2DEXTPROC glad_glVertexAttribL2dEXT;
+#define glVertexAttribL2dEXT glad_glVertexAttribL2dEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DEXTPROC)(GLuint, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIBL3DEXTPROC glad_glVertexAttribL3dEXT;
+#define glVertexAttribL3dEXT glad_glVertexAttribL3dEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DEXTPROC)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXATTRIBL4DEXTPROC glad_glVertexAttribL4dEXT;
+#define glVertexAttribL4dEXT glad_glVertexAttribL4dEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVEXTPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBL1DVEXTPROC glad_glVertexAttribL1dvEXT;
+#define glVertexAttribL1dvEXT glad_glVertexAttribL1dvEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVEXTPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBL2DVEXTPROC glad_glVertexAttribL2dvEXT;
+#define glVertexAttribL2dvEXT glad_glVertexAttribL2dvEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVEXTPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBL3DVEXTPROC glad_glVertexAttribL3dvEXT;
+#define glVertexAttribL3dvEXT glad_glVertexAttribL3dvEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVEXTPROC)(GLuint, const GLdouble*);
+GLAPI PFNGLVERTEXATTRIBL4DVEXTPROC glad_glVertexAttribL4dvEXT;
+#define glVertexAttribL4dvEXT glad_glVertexAttribL4dvEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTEREXTPROC)(GLuint, GLint, GLenum, GLsizei, const void*);
+GLAPI PFNGLVERTEXATTRIBLPOINTEREXTPROC glad_glVertexAttribLPointerEXT;
+#define glVertexAttribLPointerEXT glad_glVertexAttribLPointerEXT
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVEXTPROC)(GLuint, GLenum, GLdouble*);
+GLAPI PFNGLGETVERTEXATTRIBLDVEXTPROC glad_glGetVertexAttribLdvEXT;
+#define glGetVertexAttribLdvEXT glad_glGetVertexAttribLdvEXT
+#endif
+#ifndef GL_ARB_depth_texture
+#define GL_ARB_depth_texture 1
+GLAPI int GLAD_GL_ARB_depth_texture;
+#endif
+#ifndef GL_NV_shader_buffer_store
+#define GL_NV_shader_buffer_store 1
+GLAPI int GLAD_GL_NV_shader_buffer_store;
+#endif
+#ifndef GL_OES_query_matrix
+#define GL_OES_query_matrix 1
+GLAPI int GLAD_GL_OES_query_matrix;
+typedef GLbitfield (APIENTRYP PFNGLQUERYMATRIXXOESPROC)(GLfixed*, GLint*);
+GLAPI PFNGLQUERYMATRIXXOESPROC glad_glQueryMatrixxOES;
+#define glQueryMatrixxOES glad_glQueryMatrixxOES
+#endif
+#ifndef GL_APPLE_texture_range
+#define GL_APPLE_texture_range 1
+GLAPI int GLAD_GL_APPLE_texture_range;
+typedef void (APIENTRYP PFNGLTEXTURERANGEAPPLEPROC)(GLenum, GLsizei, const void*);
+GLAPI PFNGLTEXTURERANGEAPPLEPROC glad_glTextureRangeAPPLE;
+#define glTextureRangeAPPLE glad_glTextureRangeAPPLE
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC)(GLenum, GLenum, void**);
+GLAPI PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC glad_glGetTexParameterPointervAPPLE;
+#define glGetTexParameterPointervAPPLE glad_glGetTexParameterPointervAPPLE
+#endif
+#ifndef GL_NV_shader_storage_buffer_object
+#define GL_NV_shader_storage_buffer_object 1
+GLAPI int GLAD_GL_NV_shader_storage_buffer_object;
+#endif
+#ifndef GL_ARB_texture_query_lod
+#define GL_ARB_texture_query_lod 1
+GLAPI int GLAD_GL_ARB_texture_query_lod;
+#endif
+#ifndef GL_ARB_copy_buffer
+#define GL_ARB_copy_buffer 1
+GLAPI int GLAD_GL_ARB_copy_buffer;
+#endif
+#ifndef GL_ARB_shader_image_size
+#define GL_ARB_shader_image_size 1
+GLAPI int GLAD_GL_ARB_shader_image_size;
+#endif
+#ifndef GL_NV_shader_atomic_counters
+#define GL_NV_shader_atomic_counters 1
+GLAPI int GLAD_GL_NV_shader_atomic_counters;
+#endif
+#ifndef GL_APPLE_object_purgeable
+#define GL_APPLE_object_purgeable 1
+GLAPI int GLAD_GL_APPLE_object_purgeable;
+typedef GLenum (APIENTRYP PFNGLOBJECTPURGEABLEAPPLEPROC)(GLenum, GLuint, GLenum);
+GLAPI PFNGLOBJECTPURGEABLEAPPLEPROC glad_glObjectPurgeableAPPLE;
+#define glObjectPurgeableAPPLE glad_glObjectPurgeableAPPLE
+typedef GLenum (APIENTRYP PFNGLOBJECTUNPURGEABLEAPPLEPROC)(GLenum, GLuint, GLenum);
+GLAPI PFNGLOBJECTUNPURGEABLEAPPLEPROC glad_glObjectUnpurgeableAPPLE;
+#define glObjectUnpurgeableAPPLE glad_glObjectUnpurgeableAPPLE
+typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVAPPLEPROC)(GLenum, GLuint, GLenum, GLint*);
+GLAPI PFNGLGETOBJECTPARAMETERIVAPPLEPROC glad_glGetObjectParameterivAPPLE;
+#define glGetObjectParameterivAPPLE glad_glGetObjectParameterivAPPLE
+#endif
+#ifndef GL_ARB_occlusion_query
+#define GL_ARB_occlusion_query 1
+GLAPI int GLAD_GL_ARB_occlusion_query;
+typedef void (APIENTRYP PFNGLGENQUERIESARBPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENQUERIESARBPROC glad_glGenQueriesARB;
+#define glGenQueriesARB glad_glGenQueriesARB
+typedef void (APIENTRYP PFNGLDELETEQUERIESARBPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEQUERIESARBPROC glad_glDeleteQueriesARB;
+#define glDeleteQueriesARB glad_glDeleteQueriesARB
+typedef GLboolean (APIENTRYP PFNGLISQUERYARBPROC)(GLuint);
+GLAPI PFNGLISQUERYARBPROC glad_glIsQueryARB;
+#define glIsQueryARB glad_glIsQueryARB
+typedef void (APIENTRYP PFNGLBEGINQUERYARBPROC)(GLenum, GLuint);
+GLAPI PFNGLBEGINQUERYARBPROC glad_glBeginQueryARB;
+#define glBeginQueryARB glad_glBeginQueryARB
+typedef void (APIENTRYP PFNGLENDQUERYARBPROC)(GLenum);
+GLAPI PFNGLENDQUERYARBPROC glad_glEndQueryARB;
+#define glEndQueryARB glad_glEndQueryARB
+typedef void (APIENTRYP PFNGLGETQUERYIVARBPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETQUERYIVARBPROC glad_glGetQueryivARB;
+#define glGetQueryivARB glad_glGetQueryivARB
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVARBPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETQUERYOBJECTIVARBPROC glad_glGetQueryObjectivARB;
+#define glGetQueryObjectivARB glad_glGetQueryObjectivARB
+typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVARBPROC)(GLuint, GLenum, GLuint*);
+GLAPI PFNGLGETQUERYOBJECTUIVARBPROC glad_glGetQueryObjectuivARB;
+#define glGetQueryObjectuivARB glad_glGetQueryObjectuivARB
+#endif
+#ifndef GL_INGR_color_clamp
+#define GL_INGR_color_clamp 1
+GLAPI int GLAD_GL_INGR_color_clamp;
+#endif
+#ifndef GL_SGI_color_table
+#define GL_SGI_color_table 1
+GLAPI int GLAD_GL_SGI_color_table;
+typedef void (APIENTRYP PFNGLCOLORTABLESGIPROC)(GLenum, GLenum, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLCOLORTABLESGIPROC glad_glColorTableSGI;
+#define glColorTableSGI glad_glColorTableSGI
+typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVSGIPROC)(GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLCOLORTABLEPARAMETERFVSGIPROC glad_glColorTableParameterfvSGI;
+#define glColorTableParameterfvSGI glad_glColorTableParameterfvSGI
+typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVSGIPROC)(GLenum, GLenum, const GLint*);
+GLAPI PFNGLCOLORTABLEPARAMETERIVSGIPROC glad_glColorTableParameterivSGI;
+#define glColorTableParameterivSGI glad_glColorTableParameterivSGI
+typedef void (APIENTRYP PFNGLCOPYCOLORTABLESGIPROC)(GLenum, GLenum, GLint, GLint, GLsizei);
+GLAPI PFNGLCOPYCOLORTABLESGIPROC glad_glCopyColorTableSGI;
+#define glCopyColorTableSGI glad_glCopyColorTableSGI
+typedef void (APIENTRYP PFNGLGETCOLORTABLESGIPROC)(GLenum, GLenum, GLenum, void*);
+GLAPI PFNGLGETCOLORTABLESGIPROC glad_glGetColorTableSGI;
+#define glGetColorTableSGI glad_glGetColorTableSGI
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVSGIPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETCOLORTABLEPARAMETERFVSGIPROC glad_glGetColorTableParameterfvSGI;
+#define glGetColorTableParameterfvSGI glad_glGetColorTableParameterfvSGI
+typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVSGIPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETCOLORTABLEPARAMETERIVSGIPROC glad_glGetColorTableParameterivSGI;
+#define glGetColorTableParameterivSGI glad_glGetColorTableParameterivSGI
+#endif
+#ifndef GL_NV_gpu_program5_mem_extended
+#define GL_NV_gpu_program5_mem_extended 1
+GLAPI int GLAD_GL_NV_gpu_program5_mem_extended;
+#endif
+#ifndef GL_ARB_texture_cube_map_array
+#define GL_ARB_texture_cube_map_array 1
+GLAPI int GLAD_GL_ARB_texture_cube_map_array;
+#endif
+#ifndef GL_SGIX_scalebias_hint
+#define GL_SGIX_scalebias_hint 1
+GLAPI int GLAD_GL_SGIX_scalebias_hint;
+#endif
+#ifndef GL_EXT_gpu_shader4
+#define GL_EXT_gpu_shader4 1
+GLAPI int GLAD_GL_EXT_gpu_shader4;
+typedef void (APIENTRYP PFNGLGETUNIFORMUIVEXTPROC)(GLuint, GLint, GLuint*);
+GLAPI PFNGLGETUNIFORMUIVEXTPROC glad_glGetUniformuivEXT;
+#define glGetUniformuivEXT glad_glGetUniformuivEXT
+typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONEXTPROC)(GLuint, GLuint, const GLchar*);
+GLAPI PFNGLBINDFRAGDATALOCATIONEXTPROC glad_glBindFragDataLocationEXT;
+#define glBindFragDataLocationEXT glad_glBindFragDataLocationEXT
+typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONEXTPROC)(GLuint, const GLchar*);
+GLAPI PFNGLGETFRAGDATALOCATIONEXTPROC glad_glGetFragDataLocationEXT;
+#define glGetFragDataLocationEXT glad_glGetFragDataLocationEXT
+typedef void (APIENTRYP PFNGLUNIFORM1UIEXTPROC)(GLint, GLuint);
+GLAPI PFNGLUNIFORM1UIEXTPROC glad_glUniform1uiEXT;
+#define glUniform1uiEXT glad_glUniform1uiEXT
+typedef void (APIENTRYP PFNGLUNIFORM2UIEXTPROC)(GLint, GLuint, GLuint);
+GLAPI PFNGLUNIFORM2UIEXTPROC glad_glUniform2uiEXT;
+#define glUniform2uiEXT glad_glUniform2uiEXT
+typedef void (APIENTRYP PFNGLUNIFORM3UIEXTPROC)(GLint, GLuint, GLuint, GLuint);
+GLAPI PFNGLUNIFORM3UIEXTPROC glad_glUniform3uiEXT;
+#define glUniform3uiEXT glad_glUniform3uiEXT
+typedef void (APIENTRYP PFNGLUNIFORM4UIEXTPROC)(GLint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLUNIFORM4UIEXTPROC glad_glUniform4uiEXT;
+#define glUniform4uiEXT glad_glUniform4uiEXT
+typedef void (APIENTRYP PFNGLUNIFORM1UIVEXTPROC)(GLint, GLsizei, const GLuint*);
+GLAPI PFNGLUNIFORM1UIVEXTPROC glad_glUniform1uivEXT;
+#define glUniform1uivEXT glad_glUniform1uivEXT
+typedef void (APIENTRYP PFNGLUNIFORM2UIVEXTPROC)(GLint, GLsizei, const GLuint*);
+GLAPI PFNGLUNIFORM2UIVEXTPROC glad_glUniform2uivEXT;
+#define glUniform2uivEXT glad_glUniform2uivEXT
+typedef void (APIENTRYP PFNGLUNIFORM3UIVEXTPROC)(GLint, GLsizei, const GLuint*);
+GLAPI PFNGLUNIFORM3UIVEXTPROC glad_glUniform3uivEXT;
+#define glUniform3uivEXT glad_glUniform3uivEXT
+typedef void (APIENTRYP PFNGLUNIFORM4UIVEXTPROC)(GLint, GLsizei, const GLuint*);
+GLAPI PFNGLUNIFORM4UIVEXTPROC glad_glUniform4uivEXT;
+#define glUniform4uivEXT glad_glUniform4uivEXT
+#endif
+#ifndef GL_NV_geometry_program4
+#define GL_NV_geometry_program4 1
+GLAPI int GLAD_GL_NV_geometry_program4;
+typedef void (APIENTRYP PFNGLPROGRAMVERTEXLIMITNVPROC)(GLenum, GLint);
+GLAPI PFNGLPROGRAMVERTEXLIMITNVPROC glad_glProgramVertexLimitNV;
+#define glProgramVertexLimitNV glad_glProgramVertexLimitNV
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC)(GLenum, GLenum, GLuint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTUREEXTPROC glad_glFramebufferTextureEXT;
+#define glFramebufferTextureEXT glad_glFramebufferTextureEXT
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)(GLenum, GLenum, GLuint, GLint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC glad_glFramebufferTextureLayerEXT;
+#define glFramebufferTextureLayerEXT glad_glFramebufferTextureLayerEXT
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)(GLenum, GLenum, GLuint, GLint, GLenum);
+GLAPI PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC glad_glFramebufferTextureFaceEXT;
+#define glFramebufferTextureFaceEXT glad_glFramebufferTextureFaceEXT
+#endif
+#ifndef GL_EXT_framebuffer_multisample_blit_scaled
+#define GL_EXT_framebuffer_multisample_blit_scaled 1
+GLAPI int GLAD_GL_EXT_framebuffer_multisample_blit_scaled;
+#endif
+#ifndef GL_AMD_debug_output
+#define GL_AMD_debug_output 1
+GLAPI int GLAD_GL_AMD_debug_output;
+typedef void (APIENTRYP PFNGLDEBUGMESSAGEENABLEAMDPROC)(GLenum, GLenum, GLsizei, const GLuint*, GLboolean);
+GLAPI PFNGLDEBUGMESSAGEENABLEAMDPROC glad_glDebugMessageEnableAMD;
+#define glDebugMessageEnableAMD glad_glDebugMessageEnableAMD
+typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTAMDPROC)(GLenum, GLenum, GLuint, GLsizei, const GLchar*);
+GLAPI PFNGLDEBUGMESSAGEINSERTAMDPROC glad_glDebugMessageInsertAMD;
+#define glDebugMessageInsertAMD glad_glDebugMessageInsertAMD
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKAMDPROC)(GLDEBUGPROCAMD, void*);
+GLAPI PFNGLDEBUGMESSAGECALLBACKAMDPROC glad_glDebugMessageCallbackAMD;
+#define glDebugMessageCallbackAMD glad_glDebugMessageCallbackAMD
+typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGAMDPROC)(GLuint, GLsizei, GLenum*, GLuint*, GLuint*, GLsizei*, GLchar*);
+GLAPI PFNGLGETDEBUGMESSAGELOGAMDPROC glad_glGetDebugMessageLogAMD;
+#define glGetDebugMessageLogAMD glad_glGetDebugMessageLogAMD
+#endif
+#ifndef GL_ARB_texture_border_clamp
+#define GL_ARB_texture_border_clamp 1
+GLAPI int GLAD_GL_ARB_texture_border_clamp;
+#endif
+#ifndef GL_ARB_fragment_coord_conventions
+#define GL_ARB_fragment_coord_conventions 1
+GLAPI int GLAD_GL_ARB_fragment_coord_conventions;
+#endif
+#ifndef GL_ARB_multitexture
+#define GL_ARB_multitexture 1
+GLAPI int GLAD_GL_ARB_multitexture;
+typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC)(GLenum);
+GLAPI PFNGLACTIVETEXTUREARBPROC glad_glActiveTextureARB;
+#define glActiveTextureARB glad_glActiveTextureARB
+typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC)(GLenum);
+GLAPI PFNGLCLIENTACTIVETEXTUREARBPROC glad_glClientActiveTextureARB;
+#define glClientActiveTextureARB glad_glClientActiveTextureARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC)(GLenum, GLdouble);
+GLAPI PFNGLMULTITEXCOORD1DARBPROC glad_glMultiTexCoord1dARB;
+#define glMultiTexCoord1dARB glad_glMultiTexCoord1dARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLMULTITEXCOORD1DVARBPROC glad_glMultiTexCoord1dvARB;
+#define glMultiTexCoord1dvARB glad_glMultiTexCoord1dvARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC)(GLenum, GLfloat);
+GLAPI PFNGLMULTITEXCOORD1FARBPROC glad_glMultiTexCoord1fARB;
+#define glMultiTexCoord1fARB glad_glMultiTexCoord1fARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLMULTITEXCOORD1FVARBPROC glad_glMultiTexCoord1fvARB;
+#define glMultiTexCoord1fvARB glad_glMultiTexCoord1fvARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC)(GLenum, GLint);
+GLAPI PFNGLMULTITEXCOORD1IARBPROC glad_glMultiTexCoord1iARB;
+#define glMultiTexCoord1iARB glad_glMultiTexCoord1iARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC)(GLenum, const GLint*);
+GLAPI PFNGLMULTITEXCOORD1IVARBPROC glad_glMultiTexCoord1ivARB;
+#define glMultiTexCoord1ivARB glad_glMultiTexCoord1ivARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC)(GLenum, GLshort);
+GLAPI PFNGLMULTITEXCOORD1SARBPROC glad_glMultiTexCoord1sARB;
+#define glMultiTexCoord1sARB glad_glMultiTexCoord1sARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC)(GLenum, const GLshort*);
+GLAPI PFNGLMULTITEXCOORD1SVARBPROC glad_glMultiTexCoord1svARB;
+#define glMultiTexCoord1svARB glad_glMultiTexCoord1svARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC)(GLenum, GLdouble, GLdouble);
+GLAPI PFNGLMULTITEXCOORD2DARBPROC glad_glMultiTexCoord2dARB;
+#define glMultiTexCoord2dARB glad_glMultiTexCoord2dARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLMULTITEXCOORD2DVARBPROC glad_glMultiTexCoord2dvARB;
+#define glMultiTexCoord2dvARB glad_glMultiTexCoord2dvARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC)(GLenum, GLfloat, GLfloat);
+GLAPI PFNGLMULTITEXCOORD2FARBPROC glad_glMultiTexCoord2fARB;
+#define glMultiTexCoord2fARB glad_glMultiTexCoord2fARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLMULTITEXCOORD2FVARBPROC glad_glMultiTexCoord2fvARB;
+#define glMultiTexCoord2fvARB glad_glMultiTexCoord2fvARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC)(GLenum, GLint, GLint);
+GLAPI PFNGLMULTITEXCOORD2IARBPROC glad_glMultiTexCoord2iARB;
+#define glMultiTexCoord2iARB glad_glMultiTexCoord2iARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC)(GLenum, const GLint*);
+GLAPI PFNGLMULTITEXCOORD2IVARBPROC glad_glMultiTexCoord2ivARB;
+#define glMultiTexCoord2ivARB glad_glMultiTexCoord2ivARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC)(GLenum, GLshort, GLshort);
+GLAPI PFNGLMULTITEXCOORD2SARBPROC glad_glMultiTexCoord2sARB;
+#define glMultiTexCoord2sARB glad_glMultiTexCoord2sARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC)(GLenum, const GLshort*);
+GLAPI PFNGLMULTITEXCOORD2SVARBPROC glad_glMultiTexCoord2svARB;
+#define glMultiTexCoord2svARB glad_glMultiTexCoord2svARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC)(GLenum, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLMULTITEXCOORD3DARBPROC glad_glMultiTexCoord3dARB;
+#define glMultiTexCoord3dARB glad_glMultiTexCoord3dARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLMULTITEXCOORD3DVARBPROC glad_glMultiTexCoord3dvARB;
+#define glMultiTexCoord3dvARB glad_glMultiTexCoord3dvARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC)(GLenum, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLMULTITEXCOORD3FARBPROC glad_glMultiTexCoord3fARB;
+#define glMultiTexCoord3fARB glad_glMultiTexCoord3fARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLMULTITEXCOORD3FVARBPROC glad_glMultiTexCoord3fvARB;
+#define glMultiTexCoord3fvARB glad_glMultiTexCoord3fvARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC)(GLenum, GLint, GLint, GLint);
+GLAPI PFNGLMULTITEXCOORD3IARBPROC glad_glMultiTexCoord3iARB;
+#define glMultiTexCoord3iARB glad_glMultiTexCoord3iARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC)(GLenum, const GLint*);
+GLAPI PFNGLMULTITEXCOORD3IVARBPROC glad_glMultiTexCoord3ivARB;
+#define glMultiTexCoord3ivARB glad_glMultiTexCoord3ivARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC)(GLenum, GLshort, GLshort, GLshort);
+GLAPI PFNGLMULTITEXCOORD3SARBPROC glad_glMultiTexCoord3sARB;
+#define glMultiTexCoord3sARB glad_glMultiTexCoord3sARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC)(GLenum, const GLshort*);
+GLAPI PFNGLMULTITEXCOORD3SVARBPROC glad_glMultiTexCoord3svARB;
+#define glMultiTexCoord3svARB glad_glMultiTexCoord3svARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLMULTITEXCOORD4DARBPROC glad_glMultiTexCoord4dARB;
+#define glMultiTexCoord4dARB glad_glMultiTexCoord4dARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLMULTITEXCOORD4DVARBPROC glad_glMultiTexCoord4dvARB;
+#define glMultiTexCoord4dvARB glad_glMultiTexCoord4dvARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLMULTITEXCOORD4FARBPROC glad_glMultiTexCoord4fARB;
+#define glMultiTexCoord4fARB glad_glMultiTexCoord4fARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLMULTITEXCOORD4FVARBPROC glad_glMultiTexCoord4fvARB;
+#define glMultiTexCoord4fvARB glad_glMultiTexCoord4fvARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC)(GLenum, GLint, GLint, GLint, GLint);
+GLAPI PFNGLMULTITEXCOORD4IARBPROC glad_glMultiTexCoord4iARB;
+#define glMultiTexCoord4iARB glad_glMultiTexCoord4iARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC)(GLenum, const GLint*);
+GLAPI PFNGLMULTITEXCOORD4IVARBPROC glad_glMultiTexCoord4ivARB;
+#define glMultiTexCoord4ivARB glad_glMultiTexCoord4ivARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC)(GLenum, GLshort, GLshort, GLshort, GLshort);
+GLAPI PFNGLMULTITEXCOORD4SARBPROC glad_glMultiTexCoord4sARB;
+#define glMultiTexCoord4sARB glad_glMultiTexCoord4sARB
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC)(GLenum, const GLshort*);
+GLAPI PFNGLMULTITEXCOORD4SVARBPROC glad_glMultiTexCoord4svARB;
+#define glMultiTexCoord4svARB glad_glMultiTexCoord4svARB
+#endif
+#ifndef GL_SGIX_polynomial_ffd
+#define GL_SGIX_polynomial_ffd 1
+GLAPI int GLAD_GL_SGIX_polynomial_ffd;
+typedef void (APIENTRYP PFNGLDEFORMATIONMAP3DSGIXPROC)(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble*);
+GLAPI PFNGLDEFORMATIONMAP3DSGIXPROC glad_glDeformationMap3dSGIX;
+#define glDeformationMap3dSGIX glad_glDeformationMap3dSGIX
+typedef void (APIENTRYP PFNGLDEFORMATIONMAP3FSGIXPROC)(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat*);
+GLAPI PFNGLDEFORMATIONMAP3FSGIXPROC glad_glDeformationMap3fSGIX;
+#define glDeformationMap3fSGIX glad_glDeformationMap3fSGIX
+typedef void (APIENTRYP PFNGLDEFORMSGIXPROC)(GLbitfield);
+GLAPI PFNGLDEFORMSGIXPROC glad_glDeformSGIX;
+#define glDeformSGIX glad_glDeformSGIX
+typedef void (APIENTRYP PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC)(GLbitfield);
+GLAPI PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC glad_glLoadIdentityDeformationMapSGIX;
+#define glLoadIdentityDeformationMapSGIX glad_glLoadIdentityDeformationMapSGIX
+#endif
+#ifndef GL_EXT_provoking_vertex
+#define GL_EXT_provoking_vertex 1
+GLAPI int GLAD_GL_EXT_provoking_vertex;
+typedef void (APIENTRYP PFNGLPROVOKINGVERTEXEXTPROC)(GLenum);
+GLAPI PFNGLPROVOKINGVERTEXEXTPROC glad_glProvokingVertexEXT;
+#define glProvokingVertexEXT glad_glProvokingVertexEXT
+#endif
+#ifndef GL_ARB_point_parameters
+#define GL_ARB_point_parameters 1
+GLAPI int GLAD_GL_ARB_point_parameters;
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFARBPROC)(GLenum, GLfloat);
+GLAPI PFNGLPOINTPARAMETERFARBPROC glad_glPointParameterfARB;
+#define glPointParameterfARB glad_glPointParameterfARB
+typedef void (APIENTRYP PFNGLPOINTPARAMETERFVARBPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLPOINTPARAMETERFVARBPROC glad_glPointParameterfvARB;
+#define glPointParameterfvARB glad_glPointParameterfvARB
+#endif
+#ifndef GL_ARB_shader_image_load_store
+#define GL_ARB_shader_image_load_store 1
+GLAPI int GLAD_GL_ARB_shader_image_load_store;
+#endif
+#ifndef GL_HP_occlusion_test
+#define GL_HP_occlusion_test 1
+GLAPI int GLAD_GL_HP_occlusion_test;
+#endif
+#ifndef GL_ARB_ES3_compatibility
+#define GL_ARB_ES3_compatibility 1
+GLAPI int GLAD_GL_ARB_ES3_compatibility;
+#endif
+#ifndef GL_SGIX_framezoom
+#define GL_SGIX_framezoom 1
+GLAPI int GLAD_GL_SGIX_framezoom;
+typedef void (APIENTRYP PFNGLFRAMEZOOMSGIXPROC)(GLint);
+GLAPI PFNGLFRAMEZOOMSGIXPROC glad_glFrameZoomSGIX;
+#define glFrameZoomSGIX glad_glFrameZoomSGIX
+#endif
+#ifndef GL_ARB_texture_buffer_object_rgb32
+#define GL_ARB_texture_buffer_object_rgb32 1
+GLAPI int GLAD_GL_ARB_texture_buffer_object_rgb32;
+#endif
+#ifndef GL_NV_bindless_multi_draw_indirect
+#define GL_NV_bindless_multi_draw_indirect 1
+GLAPI int GLAD_GL_NV_bindless_multi_draw_indirect;
+typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC)(GLenum, const void*, GLsizei, GLsizei, GLint);
+GLAPI PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC glad_glMultiDrawArraysIndirectBindlessNV;
+#define glMultiDrawArraysIndirectBindlessNV glad_glMultiDrawArraysIndirectBindlessNV
+typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC)(GLenum, GLenum, const void*, GLsizei, GLsizei, GLint);
+GLAPI PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC glad_glMultiDrawElementsIndirectBindlessNV;
+#define glMultiDrawElementsIndirectBindlessNV glad_glMultiDrawElementsIndirectBindlessNV
+#endif
+#ifndef GL_SGIX_texture_multi_buffer
+#define GL_SGIX_texture_multi_buffer 1
+GLAPI int GLAD_GL_SGIX_texture_multi_buffer;
+#endif
+#ifndef GL_EXT_transform_feedback
+#define GL_EXT_transform_feedback 1
+GLAPI int GLAD_GL_EXT_transform_feedback;
+typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)(GLenum);
+GLAPI PFNGLBEGINTRANSFORMFEEDBACKEXTPROC glad_glBeginTransformFeedbackEXT;
+#define glBeginTransformFeedbackEXT glad_glBeginTransformFeedbackEXT
+typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKEXTPROC)();
+GLAPI PFNGLENDTRANSFORMFEEDBACKEXTPROC glad_glEndTransformFeedbackEXT;
+#define glEndTransformFeedbackEXT glad_glEndTransformFeedbackEXT
+typedef void (APIENTRYP PFNGLBINDBUFFERRANGEEXTPROC)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
+GLAPI PFNGLBINDBUFFERRANGEEXTPROC glad_glBindBufferRangeEXT;
+#define glBindBufferRangeEXT glad_glBindBufferRangeEXT
+typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETEXTPROC)(GLenum, GLuint, GLuint, GLintptr);
+GLAPI PFNGLBINDBUFFEROFFSETEXTPROC glad_glBindBufferOffsetEXT;
+#define glBindBufferOffsetEXT glad_glBindBufferOffsetEXT
+typedef void (APIENTRYP PFNGLBINDBUFFERBASEEXTPROC)(GLenum, GLuint, GLuint);
+GLAPI PFNGLBINDBUFFERBASEEXTPROC glad_glBindBufferBaseEXT;
+#define glBindBufferBaseEXT glad_glBindBufferBaseEXT
+typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC)(GLuint, GLsizei, const GLchar**, GLenum);
+GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC glad_glTransformFeedbackVaryingsEXT;
+#define glTransformFeedbackVaryingsEXT glad_glTransformFeedbackVaryingsEXT
+typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*);
+GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC glad_glGetTransformFeedbackVaryingEXT;
+#define glGetTransformFeedbackVaryingEXT glad_glGetTransformFeedbackVaryingEXT
+#endif
+#ifndef GL_KHR_texture_compression_astc_ldr
+#define GL_KHR_texture_compression_astc_ldr 1
+GLAPI int GLAD_GL_KHR_texture_compression_astc_ldr;
+#endif
+#ifndef GL_3DFX_multisample
+#define GL_3DFX_multisample 1
+GLAPI int GLAD_GL_3DFX_multisample;
+#endif
+#ifndef GL_INTEL_fragment_shader_ordering
+#define GL_INTEL_fragment_shader_ordering 1
+GLAPI int GLAD_GL_INTEL_fragment_shader_ordering;
+#endif
+#ifndef GL_ARB_texture_env_dot3
+#define GL_ARB_texture_env_dot3 1
+GLAPI int GLAD_GL_ARB_texture_env_dot3;
+#endif
+#ifndef GL_NV_gpu_program4
+#define GL_NV_gpu_program4 1
+GLAPI int GLAD_GL_NV_gpu_program4;
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4INVPROC)(GLenum, GLuint, GLint, GLint, GLint, GLint);
+GLAPI PFNGLPROGRAMLOCALPARAMETERI4INVPROC glad_glProgramLocalParameterI4iNV;
+#define glProgramLocalParameterI4iNV glad_glProgramLocalParameterI4iNV
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC)(GLenum, GLuint, const GLint*);
+GLAPI PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC glad_glProgramLocalParameterI4ivNV;
+#define glProgramLocalParameterI4ivNV glad_glProgramLocalParameterI4ivNV
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC)(GLenum, GLuint, GLsizei, const GLint*);
+GLAPI PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC glad_glProgramLocalParametersI4ivNV;
+#define glProgramLocalParametersI4ivNV glad_glProgramLocalParametersI4ivNV
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UINVPROC)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLPROGRAMLOCALPARAMETERI4UINVPROC glad_glProgramLocalParameterI4uiNV;
+#define glProgramLocalParameterI4uiNV glad_glProgramLocalParameterI4uiNV
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC)(GLenum, GLuint, const GLuint*);
+GLAPI PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC glad_glProgramLocalParameterI4uivNV;
+#define glProgramLocalParameterI4uivNV glad_glProgramLocalParameterI4uivNV
+typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC)(GLenum, GLuint, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC glad_glProgramLocalParametersI4uivNV;
+#define glProgramLocalParametersI4uivNV glad_glProgramLocalParametersI4uivNV
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4INVPROC)(GLenum, GLuint, GLint, GLint, GLint, GLint);
+GLAPI PFNGLPROGRAMENVPARAMETERI4INVPROC glad_glProgramEnvParameterI4iNV;
+#define glProgramEnvParameterI4iNV glad_glProgramEnvParameterI4iNV
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4IVNVPROC)(GLenum, GLuint, const GLint*);
+GLAPI PFNGLPROGRAMENVPARAMETERI4IVNVPROC glad_glProgramEnvParameterI4ivNV;
+#define glProgramEnvParameterI4ivNV glad_glProgramEnvParameterI4ivNV
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4IVNVPROC)(GLenum, GLuint, GLsizei, const GLint*);
+GLAPI PFNGLPROGRAMENVPARAMETERSI4IVNVPROC glad_glProgramEnvParametersI4ivNV;
+#define glProgramEnvParametersI4ivNV glad_glProgramEnvParametersI4ivNV
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UINVPROC)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLPROGRAMENVPARAMETERI4UINVPROC glad_glProgramEnvParameterI4uiNV;
+#define glProgramEnvParameterI4uiNV glad_glProgramEnvParameterI4uiNV
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERI4UIVNVPROC)(GLenum, GLuint, const GLuint*);
+GLAPI PFNGLPROGRAMENVPARAMETERI4UIVNVPROC glad_glProgramEnvParameterI4uivNV;
+#define glProgramEnvParameterI4uivNV glad_glProgramEnvParameterI4uivNV
+typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC)(GLenum, GLuint, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC glad_glProgramEnvParametersI4uivNV;
+#define glProgramEnvParametersI4uivNV glad_glProgramEnvParametersI4uivNV
+typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC)(GLenum, GLuint, GLint*);
+GLAPI PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC glad_glGetProgramLocalParameterIivNV;
+#define glGetProgramLocalParameterIivNV glad_glGetProgramLocalParameterIivNV
+typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC)(GLenum, GLuint, GLuint*);
+GLAPI PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC glad_glGetProgramLocalParameterIuivNV;
+#define glGetProgramLocalParameterIuivNV glad_glGetProgramLocalParameterIuivNV
+typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIIVNVPROC)(GLenum, GLuint, GLint*);
+GLAPI PFNGLGETPROGRAMENVPARAMETERIIVNVPROC glad_glGetProgramEnvParameterIivNV;
+#define glGetProgramEnvParameterIivNV glad_glGetProgramEnvParameterIivNV
+typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC)(GLenum, GLuint, GLuint*);
+GLAPI PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC glad_glGetProgramEnvParameterIuivNV;
+#define glGetProgramEnvParameterIuivNV glad_glGetProgramEnvParameterIuivNV
+#endif
+#ifndef GL_NV_gpu_program5
+#define GL_NV_gpu_program5 1
+GLAPI int GLAD_GL_NV_gpu_program5;
+typedef void (APIENTRYP PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC)(GLenum, GLsizei, const GLuint*);
+GLAPI PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC glad_glProgramSubroutineParametersuivNV;
+#define glProgramSubroutineParametersuivNV glad_glProgramSubroutineParametersuivNV
+typedef void (APIENTRYP PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC)(GLenum, GLuint, GLuint*);
+GLAPI PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC glad_glGetProgramSubroutineParameteruivNV;
+#define glGetProgramSubroutineParameteruivNV glad_glGetProgramSubroutineParameteruivNV
+#endif
+#ifndef GL_NV_float_buffer
+#define GL_NV_float_buffer 1
+GLAPI int GLAD_GL_NV_float_buffer;
+#endif
+#ifndef GL_SGIS_texture_edge_clamp
+#define GL_SGIS_texture_edge_clamp 1
+GLAPI int GLAD_GL_SGIS_texture_edge_clamp;
+#endif
+#ifndef GL_ARB_framebuffer_sRGB
+#define GL_ARB_framebuffer_sRGB 1
+GLAPI int GLAD_GL_ARB_framebuffer_sRGB;
+#endif
+#ifndef GL_SUN_slice_accum
+#define GL_SUN_slice_accum 1
+GLAPI int GLAD_GL_SUN_slice_accum;
+#endif
+#ifndef GL_EXT_index_texture
+#define GL_EXT_index_texture 1
+GLAPI int GLAD_GL_EXT_index_texture;
+#endif
+#ifndef GL_EXT_shader_image_load_formatted
+#define GL_EXT_shader_image_load_formatted 1
+GLAPI int GLAD_GL_EXT_shader_image_load_formatted;
+#endif
+#ifndef GL_ARB_geometry_shader4
+#define GL_ARB_geometry_shader4 1
+GLAPI int GLAD_GL_ARB_geometry_shader4;
+typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIARBPROC)(GLuint, GLenum, GLint);
+GLAPI PFNGLPROGRAMPARAMETERIARBPROC glad_glProgramParameteriARB;
+#define glProgramParameteriARB glad_glProgramParameteriARB
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREARBPROC)(GLenum, GLenum, GLuint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTUREARBPROC glad_glFramebufferTextureARB;
+#define glFramebufferTextureARB glad_glFramebufferTextureARB
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)(GLenum, GLenum, GLuint, GLint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTURELAYERARBPROC glad_glFramebufferTextureLayerARB;
+#define glFramebufferTextureLayerARB glad_glFramebufferTextureLayerARB
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEARBPROC)(GLenum, GLenum, GLuint, GLint, GLenum);
+GLAPI PFNGLFRAMEBUFFERTEXTUREFACEARBPROC glad_glFramebufferTextureFaceARB;
+#define glFramebufferTextureFaceARB glad_glFramebufferTextureFaceARB
+#endif
+#ifndef GL_EXT_separate_specular_color
+#define GL_EXT_separate_specular_color 1
+GLAPI int GLAD_GL_EXT_separate_specular_color;
+#endif
+#ifndef GL_AMD_depth_clamp_separate
+#define GL_AMD_depth_clamp_separate 1
+GLAPI int GLAD_GL_AMD_depth_clamp_separate;
+#endif
+#ifndef GL_SUN_convolution_border_modes
+#define GL_SUN_convolution_border_modes 1
+GLAPI int GLAD_GL_SUN_convolution_border_modes;
+#endif
+#ifndef GL_SGIX_sprite
+#define GL_SGIX_sprite 1
+GLAPI int GLAD_GL_SGIX_sprite;
+typedef void (APIENTRYP PFNGLSPRITEPARAMETERFSGIXPROC)(GLenum, GLfloat);
+GLAPI PFNGLSPRITEPARAMETERFSGIXPROC glad_glSpriteParameterfSGIX;
+#define glSpriteParameterfSGIX glad_glSpriteParameterfSGIX
+typedef void (APIENTRYP PFNGLSPRITEPARAMETERFVSGIXPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLSPRITEPARAMETERFVSGIXPROC glad_glSpriteParameterfvSGIX;
+#define glSpriteParameterfvSGIX glad_glSpriteParameterfvSGIX
+typedef void (APIENTRYP PFNGLSPRITEPARAMETERISGIXPROC)(GLenum, GLint);
+GLAPI PFNGLSPRITEPARAMETERISGIXPROC glad_glSpriteParameteriSGIX;
+#define glSpriteParameteriSGIX glad_glSpriteParameteriSGIX
+typedef void (APIENTRYP PFNGLSPRITEPARAMETERIVSGIXPROC)(GLenum, const GLint*);
+GLAPI PFNGLSPRITEPARAMETERIVSGIXPROC glad_glSpriteParameterivSGIX;
+#define glSpriteParameterivSGIX glad_glSpriteParameterivSGIX
+#endif
+#ifndef GL_ARB_get_program_binary
+#define GL_ARB_get_program_binary 1
+GLAPI int GLAD_GL_ARB_get_program_binary;
+#endif
+#ifndef GL_AMD_occlusion_query_event
+#define GL_AMD_occlusion_query_event 1
+GLAPI int GLAD_GL_AMD_occlusion_query_event;
+typedef void (APIENTRYP PFNGLQUERYOBJECTPARAMETERUIAMDPROC)(GLenum, GLuint, GLenum, GLuint);
+GLAPI PFNGLQUERYOBJECTPARAMETERUIAMDPROC glad_glQueryObjectParameteruiAMD;
+#define glQueryObjectParameteruiAMD glad_glQueryObjectParameteruiAMD
+#endif
+#ifndef GL_SGIS_multisample
+#define GL_SGIS_multisample 1
+GLAPI int GLAD_GL_SGIS_multisample;
+typedef void (APIENTRYP PFNGLSAMPLEMASKSGISPROC)(GLclampf, GLboolean);
+GLAPI PFNGLSAMPLEMASKSGISPROC glad_glSampleMaskSGIS;
+#define glSampleMaskSGIS glad_glSampleMaskSGIS
+typedef void (APIENTRYP PFNGLSAMPLEPATTERNSGISPROC)(GLenum);
+GLAPI PFNGLSAMPLEPATTERNSGISPROC glad_glSamplePatternSGIS;
+#define glSamplePatternSGIS glad_glSamplePatternSGIS
+#endif
+#ifndef GL_EXT_framebuffer_object
+#define GL_EXT_framebuffer_object 1
+GLAPI int GLAD_GL_EXT_framebuffer_object;
+typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFEREXTPROC)(GLuint);
+GLAPI PFNGLISRENDERBUFFEREXTPROC glad_glIsRenderbufferEXT;
+#define glIsRenderbufferEXT glad_glIsRenderbufferEXT
+typedef void (APIENTRYP PFNGLBINDRENDERBUFFEREXTPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDRENDERBUFFEREXTPROC glad_glBindRenderbufferEXT;
+#define glBindRenderbufferEXT glad_glBindRenderbufferEXT
+typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETERENDERBUFFERSEXTPROC glad_glDeleteRenderbuffersEXT;
+#define glDeleteRenderbuffersEXT glad_glDeleteRenderbuffersEXT
+typedef void (APIENTRYP PFNGLGENRENDERBUFFERSEXTPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENRENDERBUFFERSEXTPROC glad_glGenRenderbuffersEXT;
+#define glGenRenderbuffersEXT glad_glGenRenderbuffersEXT
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEEXTPROC)(GLenum, GLenum, GLsizei, GLsizei);
+GLAPI PFNGLRENDERBUFFERSTORAGEEXTPROC glad_glRenderbufferStorageEXT;
+#define glRenderbufferStorageEXT glad_glRenderbufferStorageEXT
+typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glad_glGetRenderbufferParameterivEXT;
+#define glGetRenderbufferParameterivEXT glad_glGetRenderbufferParameterivEXT
+typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFEREXTPROC)(GLuint);
+GLAPI PFNGLISFRAMEBUFFEREXTPROC glad_glIsFramebufferEXT;
+#define glIsFramebufferEXT glad_glIsFramebufferEXT
+typedef void (APIENTRYP PFNGLBINDFRAMEBUFFEREXTPROC)(GLenum, GLuint);
+GLAPI PFNGLBINDFRAMEBUFFEREXTPROC glad_glBindFramebufferEXT;
+#define glBindFramebufferEXT glad_glBindFramebufferEXT
+typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSEXTPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEFRAMEBUFFERSEXTPROC glad_glDeleteFramebuffersEXT;
+#define glDeleteFramebuffersEXT glad_glDeleteFramebuffersEXT
+typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSEXTPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENFRAMEBUFFERSEXTPROC glad_glGenFramebuffersEXT;
+#define glGenFramebuffersEXT glad_glGenFramebuffersEXT
+typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)(GLenum);
+GLAPI PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glad_glCheckFramebufferStatusEXT;
+#define glCheckFramebufferStatusEXT glad_glCheckFramebufferStatusEXT
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)(GLenum, GLenum, GLenum, GLuint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glad_glFramebufferTexture1DEXT;
+#define glFramebufferTexture1DEXT glad_glFramebufferTexture1DEXT
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)(GLenum, GLenum, GLenum, GLuint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glad_glFramebufferTexture2DEXT;
+#define glFramebufferTexture2DEXT glad_glFramebufferTexture2DEXT
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
+GLAPI PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glad_glFramebufferTexture3DEXT;
+#define glFramebufferTexture3DEXT glad_glFramebufferTexture3DEXT
+typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)(GLenum, GLenum, GLenum, GLuint);
+GLAPI PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glad_glFramebufferRenderbufferEXT;
+#define glFramebufferRenderbufferEXT glad_glFramebufferRenderbufferEXT
+typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)(GLenum, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetFramebufferAttachmentParameterivEXT;
+#define glGetFramebufferAttachmentParameterivEXT glad_glGetFramebufferAttachmentParameterivEXT
+typedef void (APIENTRYP PFNGLGENERATEMIPMAPEXTPROC)(GLenum);
+GLAPI PFNGLGENERATEMIPMAPEXTPROC glad_glGenerateMipmapEXT;
+#define glGenerateMipmapEXT glad_glGenerateMipmapEXT
+#endif
+#ifndef GL_ARB_robustness_isolation
+#define GL_ARB_robustness_isolation 1
+GLAPI int GLAD_GL_ARB_robustness_isolation;
+#endif
+#ifndef GL_ARB_vertex_array_bgra
+#define GL_ARB_vertex_array_bgra 1
+GLAPI int GLAD_GL_ARB_vertex_array_bgra;
+#endif
+#ifndef GL_APPLE_vertex_array_range
+#define GL_APPLE_vertex_array_range 1
+GLAPI int GLAD_GL_APPLE_vertex_array_range;
+typedef void (APIENTRYP PFNGLVERTEXARRAYRANGEAPPLEPROC)(GLsizei, void*);
+GLAPI PFNGLVERTEXARRAYRANGEAPPLEPROC glad_glVertexArrayRangeAPPLE;
+#define glVertexArrayRangeAPPLE glad_glVertexArrayRangeAPPLE
+typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC)(GLsizei, void*);
+GLAPI PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC glad_glFlushVertexArrayRangeAPPLE;
+#define glFlushVertexArrayRangeAPPLE glad_glFlushVertexArrayRangeAPPLE
+typedef void (APIENTRYP PFNGLVERTEXARRAYPARAMETERIAPPLEPROC)(GLenum, GLint);
+GLAPI PFNGLVERTEXARRAYPARAMETERIAPPLEPROC glad_glVertexArrayParameteriAPPLE;
+#define glVertexArrayParameteriAPPLE glad_glVertexArrayParameteriAPPLE
+#endif
+#ifndef GL_AMD_query_buffer_object
+#define GL_AMD_query_buffer_object 1
+GLAPI int GLAD_GL_AMD_query_buffer_object;
+#endif
+#ifndef GL_NV_register_combiners
+#define GL_NV_register_combiners 1
+GLAPI int GLAD_GL_NV_register_combiners;
+typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFVNVPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLCOMBINERPARAMETERFVNVPROC glad_glCombinerParameterfvNV;
+#define glCombinerParameterfvNV glad_glCombinerParameterfvNV
+typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFNVPROC)(GLenum, GLfloat);
+GLAPI PFNGLCOMBINERPARAMETERFNVPROC glad_glCombinerParameterfNV;
+#define glCombinerParameterfNV glad_glCombinerParameterfNV
+typedef void (APIENTRYP PFNGLCOMBINERPARAMETERIVNVPROC)(GLenum, const GLint*);
+GLAPI PFNGLCOMBINERPARAMETERIVNVPROC glad_glCombinerParameterivNV;
+#define glCombinerParameterivNV glad_glCombinerParameterivNV
+typedef void (APIENTRYP PFNGLCOMBINERPARAMETERINVPROC)(GLenum, GLint);
+GLAPI PFNGLCOMBINERPARAMETERINVPROC glad_glCombinerParameteriNV;
+#define glCombinerParameteriNV glad_glCombinerParameteriNV
+typedef void (APIENTRYP PFNGLCOMBINERINPUTNVPROC)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLCOMBINERINPUTNVPROC glad_glCombinerInputNV;
+#define glCombinerInputNV glad_glCombinerInputNV
+typedef void (APIENTRYP PFNGLCOMBINEROUTPUTNVPROC)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean);
+GLAPI PFNGLCOMBINEROUTPUTNVPROC glad_glCombinerOutputNV;
+#define glCombinerOutputNV glad_glCombinerOutputNV
+typedef void (APIENTRYP PFNGLFINALCOMBINERINPUTNVPROC)(GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLFINALCOMBINERINPUTNVPROC glad_glFinalCombinerInputNV;
+#define glFinalCombinerInputNV glad_glFinalCombinerInputNV
+typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)(GLenum, GLenum, GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC glad_glGetCombinerInputParameterfvNV;
+#define glGetCombinerInputParameterfvNV glad_glGetCombinerInputParameterfvNV
+typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)(GLenum, GLenum, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC glad_glGetCombinerInputParameterivNV;
+#define glGetCombinerInputParameterivNV glad_glGetCombinerInputParameterivNV
+typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)(GLenum, GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC glad_glGetCombinerOutputParameterfvNV;
+#define glGetCombinerOutputParameterfvNV glad_glGetCombinerOutputParameterfvNV
+typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)(GLenum, GLenum, GLenum, GLint*);
+GLAPI PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC glad_glGetCombinerOutputParameterivNV;
+#define glGetCombinerOutputParameterivNV glad_glGetCombinerOutputParameterivNV
+typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glad_glGetFinalCombinerInputParameterfvNV;
+#define glGetFinalCombinerInputParameterfvNV glad_glGetFinalCombinerInputParameterfvNV
+typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glad_glGetFinalCombinerInputParameterivNV;
+#define glGetFinalCombinerInputParameterivNV glad_glGetFinalCombinerInputParameterivNV
+#endif
+#ifndef GL_ARB_draw_buffers
+#define GL_ARB_draw_buffers 1
+GLAPI int GLAD_GL_ARB_draw_buffers;
+typedef void (APIENTRYP PFNGLDRAWBUFFERSARBPROC)(GLsizei, const GLenum*);
+GLAPI PFNGLDRAWBUFFERSARBPROC glad_glDrawBuffersARB;
+#define glDrawBuffersARB glad_glDrawBuffersARB
+#endif
+#ifndef GL_ARB_clear_texture
+#define GL_ARB_clear_texture 1
+GLAPI int GLAD_GL_ARB_clear_texture;
+#endif
+#ifndef GL_ARB_debug_output
+#define GL_ARB_debug_output 1
+GLAPI int GLAD_GL_ARB_debug_output;
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLARBPROC)(GLenum, GLenum, GLenum, GLsizei, const GLuint*, GLboolean);
+GLAPI PFNGLDEBUGMESSAGECONTROLARBPROC glad_glDebugMessageControlARB;
+#define glDebugMessageControlARB glad_glDebugMessageControlARB
+typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTARBPROC)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*);
+GLAPI PFNGLDEBUGMESSAGEINSERTARBPROC glad_glDebugMessageInsertARB;
+#define glDebugMessageInsertARB glad_glDebugMessageInsertARB
+typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKARBPROC)(GLDEBUGPROCARB, const void*);
+GLAPI PFNGLDEBUGMESSAGECALLBACKARBPROC glad_glDebugMessageCallbackARB;
+#define glDebugMessageCallbackARB glad_glDebugMessageCallbackARB
+typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGARBPROC)(GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*);
+GLAPI PFNGLGETDEBUGMESSAGELOGARBPROC glad_glGetDebugMessageLogARB;
+#define glGetDebugMessageLogARB glad_glGetDebugMessageLogARB
+#endif
+#ifndef GL_SGI_color_matrix
+#define GL_SGI_color_matrix 1
+GLAPI int GLAD_GL_SGI_color_matrix;
+#endif
+#ifndef GL_EXT_cull_vertex
+#define GL_EXT_cull_vertex 1
+GLAPI int GLAD_GL_EXT_cull_vertex;
+typedef void (APIENTRYP PFNGLCULLPARAMETERDVEXTPROC)(GLenum, GLdouble*);
+GLAPI PFNGLCULLPARAMETERDVEXTPROC glad_glCullParameterdvEXT;
+#define glCullParameterdvEXT glad_glCullParameterdvEXT
+typedef void (APIENTRYP PFNGLCULLPARAMETERFVEXTPROC)(GLenum, GLfloat*);
+GLAPI PFNGLCULLPARAMETERFVEXTPROC glad_glCullParameterfvEXT;
+#define glCullParameterfvEXT glad_glCullParameterfvEXT
+#endif
+#ifndef GL_EXT_texture_sRGB
+#define GL_EXT_texture_sRGB 1
+GLAPI int GLAD_GL_EXT_texture_sRGB;
+#endif
+#ifndef GL_APPLE_row_bytes
+#define GL_APPLE_row_bytes 1
+GLAPI int GLAD_GL_APPLE_row_bytes;
+#endif
+#ifndef GL_NV_texgen_reflection
+#define GL_NV_texgen_reflection 1
+GLAPI int GLAD_GL_NV_texgen_reflection;
+#endif
+#ifndef GL_IBM_multimode_draw_arrays
+#define GL_IBM_multimode_draw_arrays 1
+GLAPI int GLAD_GL_IBM_multimode_draw_arrays;
+typedef void (APIENTRYP PFNGLMULTIMODEDRAWARRAYSIBMPROC)(const GLenum*, const GLint*, const GLsizei*, GLsizei, GLint);
+GLAPI PFNGLMULTIMODEDRAWARRAYSIBMPROC glad_glMultiModeDrawArraysIBM;
+#define glMultiModeDrawArraysIBM glad_glMultiModeDrawArraysIBM
+typedef void (APIENTRYP PFNGLMULTIMODEDRAWELEMENTSIBMPROC)(const GLenum*, const GLsizei*, GLenum, const void**, GLsizei, GLint);
+GLAPI PFNGLMULTIMODEDRAWELEMENTSIBMPROC glad_glMultiModeDrawElementsIBM;
+#define glMultiModeDrawElementsIBM glad_glMultiModeDrawElementsIBM
+#endif
+#ifndef GL_APPLE_vertex_array_object
+#define GL_APPLE_vertex_array_object 1
+GLAPI int GLAD_GL_APPLE_vertex_array_object;
+typedef void (APIENTRYP PFNGLBINDVERTEXARRAYAPPLEPROC)(GLuint);
+GLAPI PFNGLBINDVERTEXARRAYAPPLEPROC glad_glBindVertexArrayAPPLE;
+#define glBindVertexArrayAPPLE glad_glBindVertexArrayAPPLE
+typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSAPPLEPROC)(GLsizei, const GLuint*);
+GLAPI PFNGLDELETEVERTEXARRAYSAPPLEPROC glad_glDeleteVertexArraysAPPLE;
+#define glDeleteVertexArraysAPPLE glad_glDeleteVertexArraysAPPLE
+typedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC)(GLsizei, GLuint*);
+GLAPI PFNGLGENVERTEXARRAYSAPPLEPROC glad_glGenVertexArraysAPPLE;
+#define glGenVertexArraysAPPLE glad_glGenVertexArraysAPPLE
+typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYAPPLEPROC)(GLuint);
+GLAPI PFNGLISVERTEXARRAYAPPLEPROC glad_glIsVertexArrayAPPLE;
+#define glIsVertexArrayAPPLE glad_glIsVertexArrayAPPLE
+#endif
+#ifndef GL_3DFX_texture_compression_FXT1
+#define GL_3DFX_texture_compression_FXT1 1
+GLAPI int GLAD_GL_3DFX_texture_compression_FXT1;
+#endif
+#ifndef GL_SGIX_ycrcb
+#define GL_SGIX_ycrcb 1
+GLAPI int GLAD_GL_SGIX_ycrcb;
+#endif
+#ifndef GL_AMD_conservative_depth
+#define GL_AMD_conservative_depth 1
+GLAPI int GLAD_GL_AMD_conservative_depth;
+#endif
+#ifndef GL_ARB_texture_float
+#define GL_ARB_texture_float 1
+GLAPI int GLAD_GL_ARB_texture_float;
+#endif
+#ifndef GL_ARB_compressed_texture_pixel_storage
+#define GL_ARB_compressed_texture_pixel_storage 1
+GLAPI int GLAD_GL_ARB_compressed_texture_pixel_storage;
+#endif
+#ifndef GL_SGIS_detail_texture
+#define GL_SGIS_detail_texture 1
+GLAPI int GLAD_GL_SGIS_detail_texture;
+typedef void (APIENTRYP PFNGLDETAILTEXFUNCSGISPROC)(GLenum, GLsizei, const GLfloat*);
+GLAPI PFNGLDETAILTEXFUNCSGISPROC glad_glDetailTexFuncSGIS;
+#define glDetailTexFuncSGIS glad_glDetailTexFuncSGIS
+typedef void (APIENTRYP PFNGLGETDETAILTEXFUNCSGISPROC)(GLenum, GLfloat*);
+GLAPI PFNGLGETDETAILTEXFUNCSGISPROC glad_glGetDetailTexFuncSGIS;
+#define glGetDetailTexFuncSGIS glad_glGetDetailTexFuncSGIS
+#endif
+#ifndef GL_ARB_draw_instanced
+#define GL_ARB_draw_instanced 1
+GLAPI int GLAD_GL_ARB_draw_instanced;
+typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDARBPROC)(GLenum, GLint, GLsizei, GLsizei);
+GLAPI PFNGLDRAWARRAYSINSTANCEDARBPROC glad_glDrawArraysInstancedARB;
+#define glDrawArraysInstancedARB glad_glDrawArraysInstancedARB
+typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDARBPROC)(GLenum, GLsizei, GLenum, const void*, GLsizei);
+GLAPI PFNGLDRAWELEMENTSINSTANCEDARBPROC glad_glDrawElementsInstancedARB;
+#define glDrawElementsInstancedARB glad_glDrawElementsInstancedARB
+#endif
+#ifndef GL_OES_read_format
+#define GL_OES_read_format 1
+GLAPI int GLAD_GL_OES_read_format;
+#endif
+#ifndef GL_ATI_texture_float
+#define GL_ATI_texture_float 1
+GLAPI int GLAD_GL_ATI_texture_float;
+#endif
+#ifndef GL_ARB_texture_gather
+#define GL_ARB_texture_gather 1
+GLAPI int GLAD_GL_ARB_texture_gather;
+#endif
+#ifndef GL_AMD_vertex_shader_layer
+#define GL_AMD_vertex_shader_layer 1
+GLAPI int GLAD_GL_AMD_vertex_shader_layer;
+#endif
+#ifndef GL_ARB_shading_language_include
+#define GL_ARB_shading_language_include 1
+GLAPI int GLAD_GL_ARB_shading_language_include;
+typedef void (APIENTRYP PFNGLNAMEDSTRINGARBPROC)(GLenum, GLint, const GLchar*, GLint, const GLchar*);
+GLAPI PFNGLNAMEDSTRINGARBPROC glad_glNamedStringARB;
+#define glNamedStringARB glad_glNamedStringARB
+typedef void (APIENTRYP PFNGLDELETENAMEDSTRINGARBPROC)(GLint, const GLchar*);
+GLAPI PFNGLDELETENAMEDSTRINGARBPROC glad_glDeleteNamedStringARB;
+#define glDeleteNamedStringARB glad_glDeleteNamedStringARB
+typedef void (APIENTRYP PFNGLCOMPILESHADERINCLUDEARBPROC)(GLuint, GLsizei, const GLchar**, const GLint*);
+GLAPI PFNGLCOMPILESHADERINCLUDEARBPROC glad_glCompileShaderIncludeARB;
+#define glCompileShaderIncludeARB glad_glCompileShaderIncludeARB
+typedef GLboolean (APIENTRYP PFNGLISNAMEDSTRINGARBPROC)(GLint, const GLchar*);
+GLAPI PFNGLISNAMEDSTRINGARBPROC glad_glIsNamedStringARB;
+#define glIsNamedStringARB glad_glIsNamedStringARB
+typedef void (APIENTRYP PFNGLGETNAMEDSTRINGARBPROC)(GLint, const GLchar*, GLsizei, GLint*, GLchar*);
+GLAPI PFNGLGETNAMEDSTRINGARBPROC glad_glGetNamedStringARB;
+#define glGetNamedStringARB glad_glGetNamedStringARB
+typedef void (APIENTRYP PFNGLGETNAMEDSTRINGIVARBPROC)(GLint, const GLchar*, GLenum, GLint*);
+GLAPI PFNGLGETNAMEDSTRINGIVARBPROC glad_glGetNamedStringivARB;
+#define glGetNamedStringivARB glad_glGetNamedStringivARB
+#endif
+#ifndef GL_APPLE_client_storage
+#define GL_APPLE_client_storage 1
+GLAPI int GLAD_GL_APPLE_client_storage;
+#endif
+#ifndef GL_WIN_phong_shading
+#define GL_WIN_phong_shading 1
+GLAPI int GLAD_GL_WIN_phong_shading;
+#endif
+#ifndef GL_INGR_blend_func_separate
+#define GL_INGR_blend_func_separate 1
+GLAPI int GLAD_GL_INGR_blend_func_separate;
+typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINGRPROC)(GLenum, GLenum, GLenum, GLenum);
+GLAPI PFNGLBLENDFUNCSEPARATEINGRPROC glad_glBlendFuncSeparateINGR;
+#define glBlendFuncSeparateINGR glad_glBlendFuncSeparateINGR
+#endif
+#ifndef GL_NV_path_rendering
+#define GL_NV_path_rendering 1
+GLAPI int GLAD_GL_NV_path_rendering;
+typedef GLuint (APIENTRYP PFNGLGENPATHSNVPROC)(GLsizei);
+GLAPI PFNGLGENPATHSNVPROC glad_glGenPathsNV;
+#define glGenPathsNV glad_glGenPathsNV
+typedef void (APIENTRYP PFNGLDELETEPATHSNVPROC)(GLuint, GLsizei);
+GLAPI PFNGLDELETEPATHSNVPROC glad_glDeletePathsNV;
+#define glDeletePathsNV glad_glDeletePathsNV
+typedef GLboolean (APIENTRYP PFNGLISPATHNVPROC)(GLuint);
+GLAPI PFNGLISPATHNVPROC glad_glIsPathNV;
+#define glIsPathNV glad_glIsPathNV
+typedef void (APIENTRYP PFNGLPATHCOMMANDSNVPROC)(GLuint, GLsizei, const GLubyte*, GLsizei, GLenum, const void*);
+GLAPI PFNGLPATHCOMMANDSNVPROC glad_glPathCommandsNV;
+#define glPathCommandsNV glad_glPathCommandsNV
+typedef void (APIENTRYP PFNGLPATHCOORDSNVPROC)(GLuint, GLsizei, GLenum, const void*);
+GLAPI PFNGLPATHCOORDSNVPROC glad_glPathCoordsNV;
+#define glPathCoordsNV glad_glPathCoordsNV
+typedef void (APIENTRYP PFNGLPATHSUBCOMMANDSNVPROC)(GLuint, GLsizei, GLsizei, GLsizei, const GLubyte*, GLsizei, GLenum, const void*);
+GLAPI PFNGLPATHSUBCOMMANDSNVPROC glad_glPathSubCommandsNV;
+#define glPathSubCommandsNV glad_glPathSubCommandsNV
+typedef void (APIENTRYP PFNGLPATHSUBCOORDSNVPROC)(GLuint, GLsizei, GLsizei, GLenum, const void*);
+GLAPI PFNGLPATHSUBCOORDSNVPROC glad_glPathSubCoordsNV;
+#define glPathSubCoordsNV glad_glPathSubCoordsNV
+typedef void (APIENTRYP PFNGLPATHSTRINGNVPROC)(GLuint, GLenum, GLsizei, const void*);
+GLAPI PFNGLPATHSTRINGNVPROC glad_glPathStringNV;
+#define glPathStringNV glad_glPathStringNV
+typedef void (APIENTRYP PFNGLPATHGLYPHSNVPROC)(GLuint, GLenum, const void*, GLbitfield, GLsizei, GLenum, const void*, GLenum, GLuint, GLfloat);
+GLAPI PFNGLPATHGLYPHSNVPROC glad_glPathGlyphsNV;
+#define glPathGlyphsNV glad_glPathGlyphsNV
+typedef void (APIENTRYP PFNGLPATHGLYPHRANGENVPROC)(GLuint, GLenum, const void*, GLbitfield, GLuint, GLsizei, GLenum, GLuint, GLfloat);
+GLAPI PFNGLPATHGLYPHRANGENVPROC glad_glPathGlyphRangeNV;
+#define glPathGlyphRangeNV glad_glPathGlyphRangeNV
+typedef void (APIENTRYP PFNGLWEIGHTPATHSNVPROC)(GLuint, GLsizei, const GLuint*, const GLfloat*);
+GLAPI PFNGLWEIGHTPATHSNVPROC glad_glWeightPathsNV;
+#define glWeightPathsNV glad_glWeightPathsNV
+typedef void (APIENTRYP PFNGLCOPYPATHNVPROC)(GLuint, GLuint);
+GLAPI PFNGLCOPYPATHNVPROC glad_glCopyPathNV;
+#define glCopyPathNV glad_glCopyPathNV
+typedef void (APIENTRYP PFNGLINTERPOLATEPATHSNVPROC)(GLuint, GLuint, GLuint, GLfloat);
+GLAPI PFNGLINTERPOLATEPATHSNVPROC glad_glInterpolatePathsNV;
+#define glInterpolatePathsNV glad_glInterpolatePathsNV
+typedef void (APIENTRYP PFNGLTRANSFORMPATHNVPROC)(GLuint, GLuint, GLenum, const GLfloat*);
+GLAPI PFNGLTRANSFORMPATHNVPROC glad_glTransformPathNV;
+#define glTransformPathNV glad_glTransformPathNV
+typedef void (APIENTRYP PFNGLPATHPARAMETERIVNVPROC)(GLuint, GLenum, const GLint*);
+GLAPI PFNGLPATHPARAMETERIVNVPROC glad_glPathParameterivNV;
+#define glPathParameterivNV glad_glPathParameterivNV
+typedef void (APIENTRYP PFNGLPATHPARAMETERINVPROC)(GLuint, GLenum, GLint);
+GLAPI PFNGLPATHPARAMETERINVPROC glad_glPathParameteriNV;
+#define glPathParameteriNV glad_glPathParameteriNV
+typedef void (APIENTRYP PFNGLPATHPARAMETERFVNVPROC)(GLuint, GLenum, const GLfloat*);
+GLAPI PFNGLPATHPARAMETERFVNVPROC glad_glPathParameterfvNV;
+#define glPathParameterfvNV glad_glPathParameterfvNV
+typedef void (APIENTRYP PFNGLPATHPARAMETERFNVPROC)(GLuint, GLenum, GLfloat);
+GLAPI PFNGLPATHPARAMETERFNVPROC glad_glPathParameterfNV;
+#define glPathParameterfNV glad_glPathParameterfNV
+typedef void (APIENTRYP PFNGLPATHDASHARRAYNVPROC)(GLuint, GLsizei, const GLfloat*);
+GLAPI PFNGLPATHDASHARRAYNVPROC glad_glPathDashArrayNV;
+#define glPathDashArrayNV glad_glPathDashArrayNV
+typedef void (APIENTRYP PFNGLPATHSTENCILFUNCNVPROC)(GLenum, GLint, GLuint);
+GLAPI PFNGLPATHSTENCILFUNCNVPROC glad_glPathStencilFuncNV;
+#define glPathStencilFuncNV glad_glPathStencilFuncNV
+typedef void (APIENTRYP PFNGLPATHSTENCILDEPTHOFFSETNVPROC)(GLfloat, GLfloat);
+GLAPI PFNGLPATHSTENCILDEPTHOFFSETNVPROC glad_glPathStencilDepthOffsetNV;
+#define glPathStencilDepthOffsetNV glad_glPathStencilDepthOffsetNV
+typedef void (APIENTRYP PFNGLSTENCILFILLPATHNVPROC)(GLuint, GLenum, GLuint);
+GLAPI PFNGLSTENCILFILLPATHNVPROC glad_glStencilFillPathNV;
+#define glStencilFillPathNV glad_glStencilFillPathNV
+typedef void (APIENTRYP PFNGLSTENCILSTROKEPATHNVPROC)(GLuint, GLint, GLuint);
+GLAPI PFNGLSTENCILSTROKEPATHNVPROC glad_glStencilStrokePathNV;
+#define glStencilStrokePathNV glad_glStencilStrokePathNV
+typedef void (APIENTRYP PFNGLSTENCILFILLPATHINSTANCEDNVPROC)(GLsizei, GLenum, const void*, GLuint, GLenum, GLuint, GLenum, const GLfloat*);
+GLAPI PFNGLSTENCILFILLPATHINSTANCEDNVPROC glad_glStencilFillPathInstancedNV;
+#define glStencilFillPathInstancedNV glad_glStencilFillPathInstancedNV
+typedef void (APIENTRYP PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC)(GLsizei, GLenum, const void*, GLuint, GLint, GLuint, GLenum, const GLfloat*);
+GLAPI PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC glad_glStencilStrokePathInstancedNV;
+#define glStencilStrokePathInstancedNV glad_glStencilStrokePathInstancedNV
+typedef void (APIENTRYP PFNGLPATHCOVERDEPTHFUNCNVPROC)(GLenum);
+GLAPI PFNGLPATHCOVERDEPTHFUNCNVPROC glad_glPathCoverDepthFuncNV;
+#define glPathCoverDepthFuncNV glad_glPathCoverDepthFuncNV
+typedef void (APIENTRYP PFNGLPATHCOLORGENNVPROC)(GLenum, GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLPATHCOLORGENNVPROC glad_glPathColorGenNV;
+#define glPathColorGenNV glad_glPathColorGenNV
+typedef void (APIENTRYP PFNGLPATHTEXGENNVPROC)(GLenum, GLenum, GLint, const GLfloat*);
+GLAPI PFNGLPATHTEXGENNVPROC glad_glPathTexGenNV;
+#define glPathTexGenNV glad_glPathTexGenNV
+typedef void (APIENTRYP PFNGLPATHFOGGENNVPROC)(GLenum);
+GLAPI PFNGLPATHFOGGENNVPROC glad_glPathFogGenNV;
+#define glPathFogGenNV glad_glPathFogGenNV
+typedef void (APIENTRYP PFNGLCOVERFILLPATHNVPROC)(GLuint, GLenum);
+GLAPI PFNGLCOVERFILLPATHNVPROC glad_glCoverFillPathNV;
+#define glCoverFillPathNV glad_glCoverFillPathNV
+typedef void (APIENTRYP PFNGLCOVERSTROKEPATHNVPROC)(GLuint, GLenum);
+GLAPI PFNGLCOVERSTROKEPATHNVPROC glad_glCoverStrokePathNV;
+#define glCoverStrokePathNV glad_glCoverStrokePathNV
+typedef void (APIENTRYP PFNGLCOVERFILLPATHINSTANCEDNVPROC)(GLsizei, GLenum, const void*, GLuint, GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLCOVERFILLPATHINSTANCEDNVPROC glad_glCoverFillPathInstancedNV;
+#define glCoverFillPathInstancedNV glad_glCoverFillPathInstancedNV
+typedef void (APIENTRYP PFNGLCOVERSTROKEPATHINSTANCEDNVPROC)(GLsizei, GLenum, const void*, GLuint, GLenum, GLenum, const GLfloat*);
+GLAPI PFNGLCOVERSTROKEPATHINSTANCEDNVPROC glad_glCoverStrokePathInstancedNV;
+#define glCoverStrokePathInstancedNV glad_glCoverStrokePathInstancedNV
+typedef void (APIENTRYP PFNGLGETPATHPARAMETERIVNVPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETPATHPARAMETERIVNVPROC glad_glGetPathParameterivNV;
+#define glGetPathParameterivNV glad_glGetPathParameterivNV
+typedef void (APIENTRYP PFNGLGETPATHPARAMETERFVNVPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETPATHPARAMETERFVNVPROC glad_glGetPathParameterfvNV;
+#define glGetPathParameterfvNV glad_glGetPathParameterfvNV
+typedef void (APIENTRYP PFNGLGETPATHCOMMANDSNVPROC)(GLuint, GLubyte*);
+GLAPI PFNGLGETPATHCOMMANDSNVPROC glad_glGetPathCommandsNV;
+#define glGetPathCommandsNV glad_glGetPathCommandsNV
+typedef void (APIENTRYP PFNGLGETPATHCOORDSNVPROC)(GLuint, GLfloat*);
+GLAPI PFNGLGETPATHCOORDSNVPROC glad_glGetPathCoordsNV;
+#define glGetPathCoordsNV glad_glGetPathCoordsNV
+typedef void (APIENTRYP PFNGLGETPATHDASHARRAYNVPROC)(GLuint, GLfloat*);
+GLAPI PFNGLGETPATHDASHARRAYNVPROC glad_glGetPathDashArrayNV;
+#define glGetPathDashArrayNV glad_glGetPathDashArrayNV
+typedef void (APIENTRYP PFNGLGETPATHMETRICSNVPROC)(GLbitfield, GLsizei, GLenum, const void*, GLuint, GLsizei, GLfloat*);
+GLAPI PFNGLGETPATHMETRICSNVPROC glad_glGetPathMetricsNV;
+#define glGetPathMetricsNV glad_glGetPathMetricsNV
+typedef void (APIENTRYP PFNGLGETPATHMETRICRANGENVPROC)(GLbitfield, GLuint, GLsizei, GLsizei, GLfloat*);
+GLAPI PFNGLGETPATHMETRICRANGENVPROC glad_glGetPathMetricRangeNV;
+#define glGetPathMetricRangeNV glad_glGetPathMetricRangeNV
+typedef void (APIENTRYP PFNGLGETPATHSPACINGNVPROC)(GLenum, GLsizei, GLenum, const void*, GLuint, GLfloat, GLfloat, GLenum, GLfloat*);
+GLAPI PFNGLGETPATHSPACINGNVPROC glad_glGetPathSpacingNV;
+#define glGetPathSpacingNV glad_glGetPathSpacingNV
+typedef void (APIENTRYP PFNGLGETPATHCOLORGENIVNVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETPATHCOLORGENIVNVPROC glad_glGetPathColorGenivNV;
+#define glGetPathColorGenivNV glad_glGetPathColorGenivNV
+typedef void (APIENTRYP PFNGLGETPATHCOLORGENFVNVPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETPATHCOLORGENFVNVPROC glad_glGetPathColorGenfvNV;
+#define glGetPathColorGenfvNV glad_glGetPathColorGenfvNV
+typedef void (APIENTRYP PFNGLGETPATHTEXGENIVNVPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETPATHTEXGENIVNVPROC glad_glGetPathTexGenivNV;
+#define glGetPathTexGenivNV glad_glGetPathTexGenivNV
+typedef void (APIENTRYP PFNGLGETPATHTEXGENFVNVPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETPATHTEXGENFVNVPROC glad_glGetPathTexGenfvNV;
+#define glGetPathTexGenfvNV glad_glGetPathTexGenfvNV
+typedef GLboolean (APIENTRYP PFNGLISPOINTINFILLPATHNVPROC)(GLuint, GLuint, GLfloat, GLfloat);
+GLAPI PFNGLISPOINTINFILLPATHNVPROC glad_glIsPointInFillPathNV;
+#define glIsPointInFillPathNV glad_glIsPointInFillPathNV
+typedef GLboolean (APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC)(GLuint, GLfloat, GLfloat);
+GLAPI PFNGLISPOINTINSTROKEPATHNVPROC glad_glIsPointInStrokePathNV;
+#define glIsPointInStrokePathNV glad_glIsPointInStrokePathNV
+typedef GLfloat (APIENTRYP PFNGLGETPATHLENGTHNVPROC)(GLuint, GLsizei, GLsizei);
+GLAPI PFNGLGETPATHLENGTHNVPROC glad_glGetPathLengthNV;
+#define glGetPathLengthNV glad_glGetPathLengthNV
+typedef GLboolean (APIENTRYP PFNGLPOINTALONGPATHNVPROC)(GLuint, GLsizei, GLsizei, GLfloat, GLfloat*, GLfloat*, GLfloat*, GLfloat*);
+GLAPI PFNGLPOINTALONGPATHNVPROC glad_glPointAlongPathNV;
+#define glPointAlongPathNV glad_glPointAlongPathNV
+#endif
+#ifndef GL_ATI_vertex_streams
+#define GL_ATI_vertex_streams 1
+GLAPI int GLAD_GL_ATI_vertex_streams;
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1SATIPROC)(GLenum, GLshort);
+GLAPI PFNGLVERTEXSTREAM1SATIPROC glad_glVertexStream1sATI;
+#define glVertexStream1sATI glad_glVertexStream1sATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1SVATIPROC)(GLenum, const GLshort*);
+GLAPI PFNGLVERTEXSTREAM1SVATIPROC glad_glVertexStream1svATI;
+#define glVertexStream1svATI glad_glVertexStream1svATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1IATIPROC)(GLenum, GLint);
+GLAPI PFNGLVERTEXSTREAM1IATIPROC glad_glVertexStream1iATI;
+#define glVertexStream1iATI glad_glVertexStream1iATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1IVATIPROC)(GLenum, const GLint*);
+GLAPI PFNGLVERTEXSTREAM1IVATIPROC glad_glVertexStream1ivATI;
+#define glVertexStream1ivATI glad_glVertexStream1ivATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1FATIPROC)(GLenum, GLfloat);
+GLAPI PFNGLVERTEXSTREAM1FATIPROC glad_glVertexStream1fATI;
+#define glVertexStream1fATI glad_glVertexStream1fATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1FVATIPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLVERTEXSTREAM1FVATIPROC glad_glVertexStream1fvATI;
+#define glVertexStream1fvATI glad_glVertexStream1fvATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1DATIPROC)(GLenum, GLdouble);
+GLAPI PFNGLVERTEXSTREAM1DATIPROC glad_glVertexStream1dATI;
+#define glVertexStream1dATI glad_glVertexStream1dATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM1DVATIPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLVERTEXSTREAM1DVATIPROC glad_glVertexStream1dvATI;
+#define glVertexStream1dvATI glad_glVertexStream1dvATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2SATIPROC)(GLenum, GLshort, GLshort);
+GLAPI PFNGLVERTEXSTREAM2SATIPROC glad_glVertexStream2sATI;
+#define glVertexStream2sATI glad_glVertexStream2sATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2SVATIPROC)(GLenum, const GLshort*);
+GLAPI PFNGLVERTEXSTREAM2SVATIPROC glad_glVertexStream2svATI;
+#define glVertexStream2svATI glad_glVertexStream2svATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2IATIPROC)(GLenum, GLint, GLint);
+GLAPI PFNGLVERTEXSTREAM2IATIPROC glad_glVertexStream2iATI;
+#define glVertexStream2iATI glad_glVertexStream2iATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2IVATIPROC)(GLenum, const GLint*);
+GLAPI PFNGLVERTEXSTREAM2IVATIPROC glad_glVertexStream2ivATI;
+#define glVertexStream2ivATI glad_glVertexStream2ivATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2FATIPROC)(GLenum, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXSTREAM2FATIPROC glad_glVertexStream2fATI;
+#define glVertexStream2fATI glad_glVertexStream2fATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2FVATIPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLVERTEXSTREAM2FVATIPROC glad_glVertexStream2fvATI;
+#define glVertexStream2fvATI glad_glVertexStream2fvATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2DATIPROC)(GLenum, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXSTREAM2DATIPROC glad_glVertexStream2dATI;
+#define glVertexStream2dATI glad_glVertexStream2dATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM2DVATIPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLVERTEXSTREAM2DVATIPROC glad_glVertexStream2dvATI;
+#define glVertexStream2dvATI glad_glVertexStream2dvATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3SATIPROC)(GLenum, GLshort, GLshort, GLshort);
+GLAPI PFNGLVERTEXSTREAM3SATIPROC glad_glVertexStream3sATI;
+#define glVertexStream3sATI glad_glVertexStream3sATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3SVATIPROC)(GLenum, const GLshort*);
+GLAPI PFNGLVERTEXSTREAM3SVATIPROC glad_glVertexStream3svATI;
+#define glVertexStream3svATI glad_glVertexStream3svATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3IATIPROC)(GLenum, GLint, GLint, GLint);
+GLAPI PFNGLVERTEXSTREAM3IATIPROC glad_glVertexStream3iATI;
+#define glVertexStream3iATI glad_glVertexStream3iATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3IVATIPROC)(GLenum, const GLint*);
+GLAPI PFNGLVERTEXSTREAM3IVATIPROC glad_glVertexStream3ivATI;
+#define glVertexStream3ivATI glad_glVertexStream3ivATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3FATIPROC)(GLenum, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXSTREAM3FATIPROC glad_glVertexStream3fATI;
+#define glVertexStream3fATI glad_glVertexStream3fATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3FVATIPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLVERTEXSTREAM3FVATIPROC glad_glVertexStream3fvATI;
+#define glVertexStream3fvATI glad_glVertexStream3fvATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3DATIPROC)(GLenum, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXSTREAM3DATIPROC glad_glVertexStream3dATI;
+#define glVertexStream3dATI glad_glVertexStream3dATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM3DVATIPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLVERTEXSTREAM3DVATIPROC glad_glVertexStream3dvATI;
+#define glVertexStream3dvATI glad_glVertexStream3dvATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4SATIPROC)(GLenum, GLshort, GLshort, GLshort, GLshort);
+GLAPI PFNGLVERTEXSTREAM4SATIPROC glad_glVertexStream4sATI;
+#define glVertexStream4sATI glad_glVertexStream4sATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4SVATIPROC)(GLenum, const GLshort*);
+GLAPI PFNGLVERTEXSTREAM4SVATIPROC glad_glVertexStream4svATI;
+#define glVertexStream4svATI glad_glVertexStream4svATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4IATIPROC)(GLenum, GLint, GLint, GLint, GLint);
+GLAPI PFNGLVERTEXSTREAM4IATIPROC glad_glVertexStream4iATI;
+#define glVertexStream4iATI glad_glVertexStream4iATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4IVATIPROC)(GLenum, const GLint*);
+GLAPI PFNGLVERTEXSTREAM4IVATIPROC glad_glVertexStream4ivATI;
+#define glVertexStream4ivATI glad_glVertexStream4ivATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4FATIPROC)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLVERTEXSTREAM4FATIPROC glad_glVertexStream4fATI;
+#define glVertexStream4fATI glad_glVertexStream4fATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4FVATIPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLVERTEXSTREAM4FVATIPROC glad_glVertexStream4fvATI;
+#define glVertexStream4fvATI glad_glVertexStream4fvATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4DATIPROC)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLVERTEXSTREAM4DATIPROC glad_glVertexStream4dATI;
+#define glVertexStream4dATI glad_glVertexStream4dATI
+typedef void (APIENTRYP PFNGLVERTEXSTREAM4DVATIPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLVERTEXSTREAM4DVATIPROC glad_glVertexStream4dvATI;
+#define glVertexStream4dvATI glad_glVertexStream4dvATI
+typedef void (APIENTRYP PFNGLNORMALSTREAM3BATIPROC)(GLenum, GLbyte, GLbyte, GLbyte);
+GLAPI PFNGLNORMALSTREAM3BATIPROC glad_glNormalStream3bATI;
+#define glNormalStream3bATI glad_glNormalStream3bATI
+typedef void (APIENTRYP PFNGLNORMALSTREAM3BVATIPROC)(GLenum, const GLbyte*);
+GLAPI PFNGLNORMALSTREAM3BVATIPROC glad_glNormalStream3bvATI;
+#define glNormalStream3bvATI glad_glNormalStream3bvATI
+typedef void (APIENTRYP PFNGLNORMALSTREAM3SATIPROC)(GLenum, GLshort, GLshort, GLshort);
+GLAPI PFNGLNORMALSTREAM3SATIPROC glad_glNormalStream3sATI;
+#define glNormalStream3sATI glad_glNormalStream3sATI
+typedef void (APIENTRYP PFNGLNORMALSTREAM3SVATIPROC)(GLenum, const GLshort*);
+GLAPI PFNGLNORMALSTREAM3SVATIPROC glad_glNormalStream3svATI;
+#define glNormalStream3svATI glad_glNormalStream3svATI
+typedef void (APIENTRYP PFNGLNORMALSTREAM3IATIPROC)(GLenum, GLint, GLint, GLint);
+GLAPI PFNGLNORMALSTREAM3IATIPROC glad_glNormalStream3iATI;
+#define glNormalStream3iATI glad_glNormalStream3iATI
+typedef void (APIENTRYP PFNGLNORMALSTREAM3IVATIPROC)(GLenum, const GLint*);
+GLAPI PFNGLNORMALSTREAM3IVATIPROC glad_glNormalStream3ivATI;
+#define glNormalStream3ivATI glad_glNormalStream3ivATI
+typedef void (APIENTRYP PFNGLNORMALSTREAM3FATIPROC)(GLenum, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLNORMALSTREAM3FATIPROC glad_glNormalStream3fATI;
+#define glNormalStream3fATI glad_glNormalStream3fATI
+typedef void (APIENTRYP PFNGLNORMALSTREAM3FVATIPROC)(GLenum, const GLfloat*);
+GLAPI PFNGLNORMALSTREAM3FVATIPROC glad_glNormalStream3fvATI;
+#define glNormalStream3fvATI glad_glNormalStream3fvATI
+typedef void (APIENTRYP PFNGLNORMALSTREAM3DATIPROC)(GLenum, GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLNORMALSTREAM3DATIPROC glad_glNormalStream3dATI;
+#define glNormalStream3dATI glad_glNormalStream3dATI
+typedef void (APIENTRYP PFNGLNORMALSTREAM3DVATIPROC)(GLenum, const GLdouble*);
+GLAPI PFNGLNORMALSTREAM3DVATIPROC glad_glNormalStream3dvATI;
+#define glNormalStream3dvATI glad_glNormalStream3dvATI
+typedef void (APIENTRYP PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC)(GLenum);
+GLAPI PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC glad_glClientActiveVertexStreamATI;
+#define glClientActiveVertexStreamATI glad_glClientActiveVertexStreamATI
+typedef void (APIENTRYP PFNGLVERTEXBLENDENVIATIPROC)(GLenum, GLint);
+GLAPI PFNGLVERTEXBLENDENVIATIPROC glad_glVertexBlendEnviATI;
+#define glVertexBlendEnviATI glad_glVertexBlendEnviATI
+typedef void (APIENTRYP PFNGLVERTEXBLENDENVFATIPROC)(GLenum, GLfloat);
+GLAPI PFNGLVERTEXBLENDENVFATIPROC glad_glVertexBlendEnvfATI;
+#define glVertexBlendEnvfATI glad_glVertexBlendEnvfATI
+#endif
+#ifndef GL_ARB_texture_non_power_of_two
+#define GL_ARB_texture_non_power_of_two 1
+GLAPI int GLAD_GL_ARB_texture_non_power_of_two;
+#endif
+#ifndef GL_APPLE_rgb_422
+#define GL_APPLE_rgb_422 1
+GLAPI int GLAD_GL_APPLE_rgb_422;
+#endif
+#ifndef GL_EXT_texture_lod_bias
+#define GL_EXT_texture_lod_bias 1
+GLAPI int GLAD_GL_EXT_texture_lod_bias;
+#endif
+#ifndef GL_ARB_seamless_cube_map
+#define GL_ARB_seamless_cube_map 1
+GLAPI int GLAD_GL_ARB_seamless_cube_map;
+#endif
+#ifndef GL_ARB_shader_group_vote
+#define GL_ARB_shader_group_vote 1
+GLAPI int GLAD_GL_ARB_shader_group_vote;
+#endif
+#ifndef GL_NV_vdpau_interop
+#define GL_NV_vdpau_interop 1
+GLAPI int GLAD_GL_NV_vdpau_interop;
+typedef void (APIENTRYP PFNGLVDPAUINITNVPROC)(const void*, const void*);
+GLAPI PFNGLVDPAUINITNVPROC glad_glVDPAUInitNV;
+#define glVDPAUInitNV glad_glVDPAUInitNV
+typedef void (APIENTRYP PFNGLVDPAUFININVPROC)();
+GLAPI PFNGLVDPAUFININVPROC glad_glVDPAUFiniNV;
+#define glVDPAUFiniNV glad_glVDPAUFiniNV
+typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC)(const void*, GLenum, GLsizei, const GLuint*);
+GLAPI PFNGLVDPAUREGISTERVIDEOSURFACENVPROC glad_glVDPAURegisterVideoSurfaceNV;
+#define glVDPAURegisterVideoSurfaceNV glad_glVDPAURegisterVideoSurfaceNV
+typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC)(const void*, GLenum, GLsizei, const GLuint*);
+GLAPI PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC glad_glVDPAURegisterOutputSurfaceNV;
+#define glVDPAURegisterOutputSurfaceNV glad_glVDPAURegisterOutputSurfaceNV
+typedef GLboolean (APIENTRYP PFNGLVDPAUISSURFACENVPROC)(GLvdpauSurfaceNV);
+GLAPI PFNGLVDPAUISSURFACENVPROC glad_glVDPAUIsSurfaceNV;
+#define glVDPAUIsSurfaceNV glad_glVDPAUIsSurfaceNV
+typedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC)(GLvdpauSurfaceNV);
+GLAPI PFNGLVDPAUUNREGISTERSURFACENVPROC glad_glVDPAUUnregisterSurfaceNV;
+#define glVDPAUUnregisterSurfaceNV glad_glVDPAUUnregisterSurfaceNV
+typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC)(GLvdpauSurfaceNV, GLenum, GLsizei, GLsizei*, GLint*);
+GLAPI PFNGLVDPAUGETSURFACEIVNVPROC glad_glVDPAUGetSurfaceivNV;
+#define glVDPAUGetSurfaceivNV glad_glVDPAUGetSurfaceivNV
+typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC)(GLvdpauSurfaceNV, GLenum);
+GLAPI PFNGLVDPAUSURFACEACCESSNVPROC glad_glVDPAUSurfaceAccessNV;
+#define glVDPAUSurfaceAccessNV glad_glVDPAUSurfaceAccessNV
+typedef void (APIENTRYP PFNGLVDPAUMAPSURFACESNVPROC)(GLsizei, const GLvdpauSurfaceNV*);
+GLAPI PFNGLVDPAUMAPSURFACESNVPROC glad_glVDPAUMapSurfacesNV;
+#define glVDPAUMapSurfacesNV glad_glVDPAUMapSurfacesNV
+typedef void (APIENTRYP PFNGLVDPAUUNMAPSURFACESNVPROC)(GLsizei, const GLvdpauSurfaceNV*);
+GLAPI PFNGLVDPAUUNMAPSURFACESNVPROC glad_glVDPAUUnmapSurfacesNV;
+#define glVDPAUUnmapSurfacesNV glad_glVDPAUUnmapSurfacesNV
+#endif
+#ifndef GL_ARB_occlusion_query2
+#define GL_ARB_occlusion_query2 1
+GLAPI int GLAD_GL_ARB_occlusion_query2;
+#endif
+#ifndef GL_ARB_internalformat_query2
+#define GL_ARB_internalformat_query2 1
+GLAPI int GLAD_GL_ARB_internalformat_query2;
+#endif
+#ifndef GL_EXT_texture_filter_anisotropic
+#define GL_EXT_texture_filter_anisotropic 1
+GLAPI int GLAD_GL_EXT_texture_filter_anisotropic;
+#endif
+#ifndef GL_SUN_vertex
+#define GL_SUN_vertex 1
+GLAPI int GLAD_GL_SUN_vertex;
+typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FSUNPROC)(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat);
+GLAPI PFNGLCOLOR4UBVERTEX2FSUNPROC glad_glColor4ubVertex2fSUN;
+#define glColor4ubVertex2fSUN glad_glColor4ubVertex2fSUN
+typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FVSUNPROC)(const GLubyte*, const GLfloat*);
+GLAPI PFNGLCOLOR4UBVERTEX2FVSUNPROC glad_glColor4ubVertex2fvSUN;
+#define glColor4ubVertex2fvSUN glad_glColor4ubVertex2fvSUN
+typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FSUNPROC)(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLCOLOR4UBVERTEX3FSUNPROC glad_glColor4ubVertex3fSUN;
+#define glColor4ubVertex3fSUN glad_glColor4ubVertex3fSUN
+typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FVSUNPROC)(const GLubyte*, const GLfloat*);
+GLAPI PFNGLCOLOR4UBVERTEX3FVSUNPROC glad_glColor4ubVertex3fvSUN;
+#define glColor4ubVertex3fvSUN glad_glColor4ubVertex3fvSUN
+typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FSUNPROC)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLCOLOR3FVERTEX3FSUNPROC glad_glColor3fVertex3fSUN;
+#define glColor3fVertex3fSUN glad_glColor3fVertex3fSUN
+typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FVSUNPROC)(const GLfloat*, const GLfloat*);
+GLAPI PFNGLCOLOR3FVERTEX3FVSUNPROC glad_glColor3fVertex3fvSUN;
+#define glColor3fVertex3fvSUN glad_glColor3fVertex3fvSUN
+typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FSUNPROC)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLNORMAL3FVERTEX3FSUNPROC glad_glNormal3fVertex3fSUN;
+#define glNormal3fVertex3fSUN glad_glNormal3fVertex3fSUN
+typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FVSUNPROC)(const GLfloat*, const GLfloat*);
+GLAPI PFNGLNORMAL3FVERTEX3FVSUNPROC glad_glNormal3fVertex3fvSUN;
+#define glNormal3fVertex3fvSUN glad_glNormal3fVertex3fvSUN
+typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glColor4fNormal3fVertex3fSUN;
+#define glColor4fNormal3fVertex3fSUN glad_glColor4fNormal3fVertex3fSUN
+typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat*, const GLfloat*, const GLfloat*);
+GLAPI PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glColor4fNormal3fVertex3fvSUN;
+#define glColor4fNormal3fVertex3fvSUN glad_glColor4fNormal3fVertex3fvSUN
+typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FSUNPROC)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLTEXCOORD2FVERTEX3FSUNPROC glad_glTexCoord2fVertex3fSUN;
+#define glTexCoord2fVertex3fSUN glad_glTexCoord2fVertex3fSUN
+typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FVSUNPROC)(const GLfloat*, const GLfloat*);
+GLAPI PFNGLTEXCOORD2FVERTEX3FVSUNPROC glad_glTexCoord2fVertex3fvSUN;
+#define glTexCoord2fVertex3fvSUN glad_glTexCoord2fVertex3fvSUN
+typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FSUNPROC)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLTEXCOORD4FVERTEX4FSUNPROC glad_glTexCoord4fVertex4fSUN;
+#define glTexCoord4fVertex4fSUN glad_glTexCoord4fVertex4fSUN
+typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FVSUNPROC)(const GLfloat*, const GLfloat*);
+GLAPI PFNGLTEXCOORD4FVERTEX4FVSUNPROC glad_glTexCoord4fVertex4fvSUN;
+#define glTexCoord4fVertex4fvSUN glad_glTexCoord4fVertex4fvSUN
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC)(GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC glad_glTexCoord2fColor4ubVertex3fSUN;
+#define glTexCoord2fColor4ubVertex3fSUN glad_glTexCoord2fColor4ubVertex3fSUN
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC)(const GLfloat*, const GLubyte*, const GLfloat*);
+GLAPI PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC glad_glTexCoord2fColor4ubVertex3fvSUN;
+#define glTexCoord2fColor4ubVertex3fvSUN glad_glTexCoord2fColor4ubVertex3fvSUN
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC glad_glTexCoord2fColor3fVertex3fSUN;
+#define glTexCoord2fColor3fVertex3fSUN glad_glTexCoord2fColor3fVertex3fSUN
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC)(const GLfloat*, const GLfloat*, const GLfloat*);
+GLAPI PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC glad_glTexCoord2fColor3fVertex3fvSUN;
+#define glTexCoord2fColor3fVertex3fvSUN glad_glTexCoord2fColor3fVertex3fvSUN
+typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC glad_glTexCoord2fNormal3fVertex3fSUN;
+#define glTexCoord2fNormal3fVertex3fSUN glad_glTexCoord2fNormal3fVertex3fSUN
+typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat*, const GLfloat*, const GLfloat*);
+GLAPI PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC glad_glTexCoord2fNormal3fVertex3fvSUN;
+#define glTexCoord2fNormal3fVertex3fvSUN glad_glTexCoord2fNormal3fVertex3fvSUN
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glTexCoord2fColor4fNormal3fVertex3fSUN;
+#define glTexCoord2fColor4fNormal3fVertex3fSUN glad_glTexCoord2fColor4fNormal3fVertex3fSUN
+typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLfloat*, const GLfloat*, const GLfloat*, const GLfloat*);
+GLAPI PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glTexCoord2fColor4fNormal3fVertex3fvSUN;
+#define glTexCoord2fColor4fNormal3fVertex3fvSUN glad_glTexCoord2fColor4fNormal3fVertex3fvSUN
+typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC glad_glTexCoord4fColor4fNormal3fVertex4fSUN;
+#define glTexCoord4fColor4fNormal3fVertex4fSUN glad_glTexCoord4fColor4fNormal3fVertex4fSUN
+typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC)(const GLfloat*, const GLfloat*, const GLfloat*, const GLfloat*);
+GLAPI PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC glad_glTexCoord4fColor4fNormal3fVertex4fvSUN;
+#define glTexCoord4fColor4fNormal3fVertex4fvSUN glad_glTexCoord4fColor4fNormal3fVertex4fvSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC)(GLuint, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC glad_glReplacementCodeuiVertex3fSUN;
+#define glReplacementCodeuiVertex3fSUN glad_glReplacementCodeuiVertex3fSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC)(const GLuint*, const GLfloat*);
+GLAPI PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC glad_glReplacementCodeuiVertex3fvSUN;
+#define glReplacementCodeuiVertex3fvSUN glad_glReplacementCodeuiVertex3fvSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC glad_glReplacementCodeuiColor4ubVertex3fSUN;
+#define glReplacementCodeuiColor4ubVertex3fSUN glad_glReplacementCodeuiColor4ubVertex3fSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC)(const GLuint*, const GLubyte*, const GLfloat*);
+GLAPI PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC glad_glReplacementCodeuiColor4ubVertex3fvSUN;
+#define glReplacementCodeuiColor4ubVertex3fvSUN glad_glReplacementCodeuiColor4ubVertex3fvSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC glad_glReplacementCodeuiColor3fVertex3fSUN;
+#define glReplacementCodeuiColor3fVertex3fSUN glad_glReplacementCodeuiColor3fVertex3fSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC)(const GLuint*, const GLfloat*, const GLfloat*);
+GLAPI PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC glad_glReplacementCodeuiColor3fVertex3fvSUN;
+#define glReplacementCodeuiColor3fVertex3fvSUN glad_glReplacementCodeuiColor3fVertex3fvSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiNormal3fVertex3fSUN;
+#define glReplacementCodeuiNormal3fVertex3fSUN glad_glReplacementCodeuiNormal3fVertex3fSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC)(const GLuint*, const GLfloat*, const GLfloat*);
+GLAPI PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiNormal3fVertex3fvSUN;
+#define glReplacementCodeuiNormal3fVertex3fvSUN glad_glReplacementCodeuiNormal3fVertex3fvSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiColor4fNormal3fVertex3fSUN;
+#define glReplacementCodeuiColor4fNormal3fVertex3fSUN glad_glReplacementCodeuiColor4fNormal3fVertex3fSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLuint*, const GLfloat*, const GLfloat*, const GLfloat*);
+GLAPI PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiColor4fNormal3fVertex3fvSUN;
+#define glReplacementCodeuiColor4fNormal3fVertex3fvSUN glad_glReplacementCodeuiColor4fNormal3fVertex3fvSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fVertex3fSUN;
+#define glReplacementCodeuiTexCoord2fVertex3fSUN glad_glReplacementCodeuiTexCoord2fVertex3fSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC)(const GLuint*, const GLfloat*, const GLfloat*);
+GLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fVertex3fvSUN;
+#define glReplacementCodeuiTexCoord2fVertex3fvSUN glad_glReplacementCodeuiTexCoord2fVertex3fvSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;
+#define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)(const GLuint*, const GLfloat*, const GLfloat*, const GLfloat*);
+GLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;
+#define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;
+#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN
+typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)(const GLuint*, const GLfloat*, const GLfloat*, const GLfloat*, const GLfloat*);
+GLAPI PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;
+#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN
+#endif
+#ifndef GL_SGIX_igloo_interface
+#define GL_SGIX_igloo_interface 1
+GLAPI int GLAD_GL_SGIX_igloo_interface;
+typedef void (APIENTRYP PFNGLIGLOOINTERFACESGIXPROC)(GLenum, const void*);
+GLAPI PFNGLIGLOOINTERFACESGIXPROC glad_glIglooInterfaceSGIX;
+#define glIglooInterfaceSGIX glad_glIglooInterfaceSGIX
+#endif
+#ifndef GL_SGIS_texture_lod
+#define GL_SGIS_texture_lod 1
+GLAPI int GLAD_GL_SGIS_texture_lod;
+#endif
+#ifndef GL_NV_vertex_program3
+#define GL_NV_vertex_program3 1
+GLAPI int GLAD_GL_NV_vertex_program3;
+#endif
+#ifndef GL_ARB_draw_indirect
+#define GL_ARB_draw_indirect 1
+GLAPI int GLAD_GL_ARB_draw_indirect;
+#endif
+#ifndef GL_NV_vertex_program4
+#define GL_NV_vertex_program4 1
+GLAPI int GLAD_GL_NV_vertex_program4;
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IEXTPROC)(GLuint, GLint);
+GLAPI PFNGLVERTEXATTRIBI1IEXTPROC glad_glVertexAttribI1iEXT;
+#define glVertexAttribI1iEXT glad_glVertexAttribI1iEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IEXTPROC)(GLuint, GLint, GLint);
+GLAPI PFNGLVERTEXATTRIBI2IEXTPROC glad_glVertexAttribI2iEXT;
+#define glVertexAttribI2iEXT glad_glVertexAttribI2iEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IEXTPROC)(GLuint, GLint, GLint, GLint);
+GLAPI PFNGLVERTEXATTRIBI3IEXTPROC glad_glVertexAttribI3iEXT;
+#define glVertexAttribI3iEXT glad_glVertexAttribI3iEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IEXTPROC)(GLuint, GLint, GLint, GLint, GLint);
+GLAPI PFNGLVERTEXATTRIBI4IEXTPROC glad_glVertexAttribI4iEXT;
+#define glVertexAttribI4iEXT glad_glVertexAttribI4iEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIEXTPROC)(GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBI1UIEXTPROC glad_glVertexAttribI1uiEXT;
+#define glVertexAttribI1uiEXT glad_glVertexAttribI1uiEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIEXTPROC)(GLuint, GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBI2UIEXTPROC glad_glVertexAttribI2uiEXT;
+#define glVertexAttribI2uiEXT glad_glVertexAttribI2uiEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIEXTPROC)(GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBI3UIEXTPROC glad_glVertexAttribI3uiEXT;
+#define glVertexAttribI3uiEXT glad_glVertexAttribI3uiEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIEXTPROC)(GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLVERTEXATTRIBI4UIEXTPROC glad_glVertexAttribI4uiEXT;
+#define glVertexAttribI4uiEXT glad_glVertexAttribI4uiEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVEXTPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIBI1IVEXTPROC glad_glVertexAttribI1ivEXT;
+#define glVertexAttribI1ivEXT glad_glVertexAttribI1ivEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVEXTPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIBI2IVEXTPROC glad_glVertexAttribI2ivEXT;
+#define glVertexAttribI2ivEXT glad_glVertexAttribI2ivEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVEXTPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIBI3IVEXTPROC glad_glVertexAttribI3ivEXT;
+#define glVertexAttribI3ivEXT glad_glVertexAttribI3ivEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVEXTPROC)(GLuint, const GLint*);
+GLAPI PFNGLVERTEXATTRIBI4IVEXTPROC glad_glVertexAttribI4ivEXT;
+#define glVertexAttribI4ivEXT glad_glVertexAttribI4ivEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVEXTPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBI1UIVEXTPROC glad_glVertexAttribI1uivEXT;
+#define glVertexAttribI1uivEXT glad_glVertexAttribI1uivEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVEXTPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBI2UIVEXTPROC glad_glVertexAttribI2uivEXT;
+#define glVertexAttribI2uivEXT glad_glVertexAttribI2uivEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVEXTPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBI3UIVEXTPROC glad_glVertexAttribI3uivEXT;
+#define glVertexAttribI3uivEXT glad_glVertexAttribI3uivEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVEXTPROC)(GLuint, const GLuint*);
+GLAPI PFNGLVERTEXATTRIBI4UIVEXTPROC glad_glVertexAttribI4uivEXT;
+#define glVertexAttribI4uivEXT glad_glVertexAttribI4uivEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVEXTPROC)(GLuint, const GLbyte*);
+GLAPI PFNGLVERTEXATTRIBI4BVEXTPROC glad_glVertexAttribI4bvEXT;
+#define glVertexAttribI4bvEXT glad_glVertexAttribI4bvEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVEXTPROC)(GLuint, const GLshort*);
+GLAPI PFNGLVERTEXATTRIBI4SVEXTPROC glad_glVertexAttribI4svEXT;
+#define glVertexAttribI4svEXT glad_glVertexAttribI4svEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVEXTPROC)(GLuint, const GLubyte*);
+GLAPI PFNGLVERTEXATTRIBI4UBVEXTPROC glad_glVertexAttribI4ubvEXT;
+#define glVertexAttribI4ubvEXT glad_glVertexAttribI4ubvEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVEXTPROC)(GLuint, const GLushort*);
+GLAPI PFNGLVERTEXATTRIBI4USVEXTPROC glad_glVertexAttribI4usvEXT;
+#define glVertexAttribI4usvEXT glad_glVertexAttribI4usvEXT
+typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTEREXTPROC)(GLuint, GLint, GLenum, GLsizei, const void*);
+GLAPI PFNGLVERTEXATTRIBIPOINTEREXTPROC glad_glVertexAttribIPointerEXT;
+#define glVertexAttribIPointerEXT glad_glVertexAttribIPointerEXT
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVEXTPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVERTEXATTRIBIIVEXTPROC glad_glGetVertexAttribIivEXT;
+#define glGetVertexAttribIivEXT glad_glGetVertexAttribIivEXT
+typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVEXTPROC)(GLuint, GLenum, GLuint*);
+GLAPI PFNGLGETVERTEXATTRIBIUIVEXTPROC glad_glGetVertexAttribIuivEXT;
+#define glGetVertexAttribIuivEXT glad_glGetVertexAttribIuivEXT
+#endif
+#ifndef GL_AMD_transform_feedback3_lines_triangles
+#define GL_AMD_transform_feedback3_lines_triangles 1
+GLAPI int GLAD_GL_AMD_transform_feedback3_lines_triangles;
+#endif
+#ifndef GL_SGIS_fog_function
+#define GL_SGIS_fog_function 1
+GLAPI int GLAD_GL_SGIS_fog_function;
+typedef void (APIENTRYP PFNGLFOGFUNCSGISPROC)(GLsizei, const GLfloat*);
+GLAPI PFNGLFOGFUNCSGISPROC glad_glFogFuncSGIS;
+#define glFogFuncSGIS glad_glFogFuncSGIS
+typedef void (APIENTRYP PFNGLGETFOGFUNCSGISPROC)(GLfloat*);
+GLAPI PFNGLGETFOGFUNCSGISPROC glad_glGetFogFuncSGIS;
+#define glGetFogFuncSGIS glad_glGetFogFuncSGIS
+#endif
+#ifndef GL_EXT_x11_sync_object
+#define GL_EXT_x11_sync_object 1
+GLAPI int GLAD_GL_EXT_x11_sync_object;
+typedef GLsync (APIENTRYP PFNGLIMPORTSYNCEXTPROC)(GLenum, GLintptr, GLbitfield);
+GLAPI PFNGLIMPORTSYNCEXTPROC glad_glImportSyncEXT;
+#define glImportSyncEXT glad_glImportSyncEXT
+#endif
+#ifndef GL_ARB_sync
+#define GL_ARB_sync 1
+GLAPI int GLAD_GL_ARB_sync;
+#endif
+#ifndef GL_ARB_compute_variable_group_size
+#define GL_ARB_compute_variable_group_size 1
+GLAPI int GLAD_GL_ARB_compute_variable_group_size;
+typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC)(GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
+GLAPI PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC glad_glDispatchComputeGroupSizeARB;
+#define glDispatchComputeGroupSizeARB glad_glDispatchComputeGroupSizeARB
+#endif
+#ifndef GL_OES_fixed_point
+#define GL_OES_fixed_point 1
+GLAPI int GLAD_GL_OES_fixed_point;
+typedef void (APIENTRYP PFNGLALPHAFUNCXOESPROC)(GLenum, GLfixed);
+GLAPI PFNGLALPHAFUNCXOESPROC glad_glAlphaFuncxOES;
+#define glAlphaFuncxOES glad_glAlphaFuncxOES
+typedef void (APIENTRYP PFNGLCLEARCOLORXOESPROC)(GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLCLEARCOLORXOESPROC glad_glClearColorxOES;
+#define glClearColorxOES glad_glClearColorxOES
+typedef void (APIENTRYP PFNGLCLEARDEPTHXOESPROC)(GLfixed);
+GLAPI PFNGLCLEARDEPTHXOESPROC glad_glClearDepthxOES;
+#define glClearDepthxOES glad_glClearDepthxOES
+typedef void (APIENTRYP PFNGLCLIPPLANEXOESPROC)(GLenum, const GLfixed*);
+GLAPI PFNGLCLIPPLANEXOESPROC glad_glClipPlanexOES;
+#define glClipPlanexOES glad_glClipPlanexOES
+typedef void (APIENTRYP PFNGLCOLOR4XOESPROC)(GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLCOLOR4XOESPROC glad_glColor4xOES;
+#define glColor4xOES glad_glColor4xOES
+typedef void (APIENTRYP PFNGLDEPTHRANGEXOESPROC)(GLfixed, GLfixed);
+GLAPI PFNGLDEPTHRANGEXOESPROC glad_glDepthRangexOES;
+#define glDepthRangexOES glad_glDepthRangexOES
+typedef void (APIENTRYP PFNGLFOGXOESPROC)(GLenum, GLfixed);
+GLAPI PFNGLFOGXOESPROC glad_glFogxOES;
+#define glFogxOES glad_glFogxOES
+typedef void (APIENTRYP PFNGLFOGXVOESPROC)(GLenum, const GLfixed*);
+GLAPI PFNGLFOGXVOESPROC glad_glFogxvOES;
+#define glFogxvOES glad_glFogxvOES
+typedef void (APIENTRYP PFNGLFRUSTUMXOESPROC)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLFRUSTUMXOESPROC glad_glFrustumxOES;
+#define glFrustumxOES glad_glFrustumxOES
+typedef void (APIENTRYP PFNGLGETCLIPPLANEXOESPROC)(GLenum, GLfixed*);
+GLAPI PFNGLGETCLIPPLANEXOESPROC glad_glGetClipPlanexOES;
+#define glGetClipPlanexOES glad_glGetClipPlanexOES
+typedef void (APIENTRYP PFNGLGETFIXEDVOESPROC)(GLenum, GLfixed*);
+GLAPI PFNGLGETFIXEDVOESPROC glad_glGetFixedvOES;
+#define glGetFixedvOES glad_glGetFixedvOES
+typedef void (APIENTRYP PFNGLGETTEXENVXVOESPROC)(GLenum, GLenum, GLfixed*);
+GLAPI PFNGLGETTEXENVXVOESPROC glad_glGetTexEnvxvOES;
+#define glGetTexEnvxvOES glad_glGetTexEnvxvOES
+typedef void (APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC)(GLenum, GLenum, GLfixed*);
+GLAPI PFNGLGETTEXPARAMETERXVOESPROC glad_glGetTexParameterxvOES;
+#define glGetTexParameterxvOES glad_glGetTexParameterxvOES
+typedef void (APIENTRYP PFNGLLIGHTMODELXOESPROC)(GLenum, GLfixed);
+GLAPI PFNGLLIGHTMODELXOESPROC glad_glLightModelxOES;
+#define glLightModelxOES glad_glLightModelxOES
+typedef void (APIENTRYP PFNGLLIGHTMODELXVOESPROC)(GLenum, const GLfixed*);
+GLAPI PFNGLLIGHTMODELXVOESPROC glad_glLightModelxvOES;
+#define glLightModelxvOES glad_glLightModelxvOES
+typedef void (APIENTRYP PFNGLLIGHTXOESPROC)(GLenum, GLenum, GLfixed);
+GLAPI PFNGLLIGHTXOESPROC glad_glLightxOES;
+#define glLightxOES glad_glLightxOES
+typedef void (APIENTRYP PFNGLLIGHTXVOESPROC)(GLenum, GLenum, const GLfixed*);
+GLAPI PFNGLLIGHTXVOESPROC glad_glLightxvOES;
+#define glLightxvOES glad_glLightxvOES
+typedef void (APIENTRYP PFNGLLINEWIDTHXOESPROC)(GLfixed);
+GLAPI PFNGLLINEWIDTHXOESPROC glad_glLineWidthxOES;
+#define glLineWidthxOES glad_glLineWidthxOES
+typedef void (APIENTRYP PFNGLLOADMATRIXXOESPROC)(const GLfixed*);
+GLAPI PFNGLLOADMATRIXXOESPROC glad_glLoadMatrixxOES;
+#define glLoadMatrixxOES glad_glLoadMatrixxOES
+typedef void (APIENTRYP PFNGLMATERIALXOESPROC)(GLenum, GLenum, GLfixed);
+GLAPI PFNGLMATERIALXOESPROC glad_glMaterialxOES;
+#define glMaterialxOES glad_glMaterialxOES
+typedef void (APIENTRYP PFNGLMATERIALXVOESPROC)(GLenum, GLenum, const GLfixed*);
+GLAPI PFNGLMATERIALXVOESPROC glad_glMaterialxvOES;
+#define glMaterialxvOES glad_glMaterialxvOES
+typedef void (APIENTRYP PFNGLMULTMATRIXXOESPROC)(const GLfixed*);
+GLAPI PFNGLMULTMATRIXXOESPROC glad_glMultMatrixxOES;
+#define glMultMatrixxOES glad_glMultMatrixxOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4XOESPROC)(GLenum, GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLMULTITEXCOORD4XOESPROC glad_glMultiTexCoord4xOES;
+#define glMultiTexCoord4xOES glad_glMultiTexCoord4xOES
+typedef void (APIENTRYP PFNGLNORMAL3XOESPROC)(GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLNORMAL3XOESPROC glad_glNormal3xOES;
+#define glNormal3xOES glad_glNormal3xOES
+typedef void (APIENTRYP PFNGLORTHOXOESPROC)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLORTHOXOESPROC glad_glOrthoxOES;
+#define glOrthoxOES glad_glOrthoxOES
+typedef void (APIENTRYP PFNGLPOINTPARAMETERXVOESPROC)(GLenum, const GLfixed*);
+GLAPI PFNGLPOINTPARAMETERXVOESPROC glad_glPointParameterxvOES;
+#define glPointParameterxvOES glad_glPointParameterxvOES
+typedef void (APIENTRYP PFNGLPOINTSIZEXOESPROC)(GLfixed);
+GLAPI PFNGLPOINTSIZEXOESPROC glad_glPointSizexOES;
+#define glPointSizexOES glad_glPointSizexOES
+typedef void (APIENTRYP PFNGLPOLYGONOFFSETXOESPROC)(GLfixed, GLfixed);
+GLAPI PFNGLPOLYGONOFFSETXOESPROC glad_glPolygonOffsetxOES;
+#define glPolygonOffsetxOES glad_glPolygonOffsetxOES
+typedef void (APIENTRYP PFNGLROTATEXOESPROC)(GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLROTATEXOESPROC glad_glRotatexOES;
+#define glRotatexOES glad_glRotatexOES
+typedef void (APIENTRYP PFNGLSAMPLECOVERAGEOESPROC)(GLfixed, GLboolean);
+GLAPI PFNGLSAMPLECOVERAGEOESPROC glad_glSampleCoverageOES;
+#define glSampleCoverageOES glad_glSampleCoverageOES
+typedef void (APIENTRYP PFNGLSCALEXOESPROC)(GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLSCALEXOESPROC glad_glScalexOES;
+#define glScalexOES glad_glScalexOES
+typedef void (APIENTRYP PFNGLTEXENVXOESPROC)(GLenum, GLenum, GLfixed);
+GLAPI PFNGLTEXENVXOESPROC glad_glTexEnvxOES;
+#define glTexEnvxOES glad_glTexEnvxOES
+typedef void (APIENTRYP PFNGLTEXENVXVOESPROC)(GLenum, GLenum, const GLfixed*);
+GLAPI PFNGLTEXENVXVOESPROC glad_glTexEnvxvOES;
+#define glTexEnvxvOES glad_glTexEnvxvOES
+typedef void (APIENTRYP PFNGLTEXPARAMETERXOESPROC)(GLenum, GLenum, GLfixed);
+GLAPI PFNGLTEXPARAMETERXOESPROC glad_glTexParameterxOES;
+#define glTexParameterxOES glad_glTexParameterxOES
+typedef void (APIENTRYP PFNGLTEXPARAMETERXVOESPROC)(GLenum, GLenum, const GLfixed*);
+GLAPI PFNGLTEXPARAMETERXVOESPROC glad_glTexParameterxvOES;
+#define glTexParameterxvOES glad_glTexParameterxvOES
+typedef void (APIENTRYP PFNGLTRANSLATEXOESPROC)(GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLTRANSLATEXOESPROC glad_glTranslatexOES;
+#define glTranslatexOES glad_glTranslatexOES
+typedef void (APIENTRYP PFNGLGETLIGHTXVOESPROC)(GLenum, GLenum, GLfixed*);
+GLAPI PFNGLGETLIGHTXVOESPROC glad_glGetLightxvOES;
+#define glGetLightxvOES glad_glGetLightxvOES
+typedef void (APIENTRYP PFNGLGETMATERIALXVOESPROC)(GLenum, GLenum, GLfixed*);
+GLAPI PFNGLGETMATERIALXVOESPROC glad_glGetMaterialxvOES;
+#define glGetMaterialxvOES glad_glGetMaterialxvOES
+typedef void (APIENTRYP PFNGLPOINTPARAMETERXOESPROC)(GLenum, GLfixed);
+GLAPI PFNGLPOINTPARAMETERXOESPROC glad_glPointParameterxOES;
+#define glPointParameterxOES glad_glPointParameterxOES
+typedef void (APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC)(GLclampx, GLboolean);
+GLAPI PFNGLSAMPLECOVERAGEXOESPROC glad_glSampleCoveragexOES;
+#define glSampleCoveragexOES glad_glSampleCoveragexOES
+typedef void (APIENTRYP PFNGLACCUMXOESPROC)(GLenum, GLfixed);
+GLAPI PFNGLACCUMXOESPROC glad_glAccumxOES;
+#define glAccumxOES glad_glAccumxOES
+typedef void (APIENTRYP PFNGLBITMAPXOESPROC)(GLsizei, GLsizei, GLfixed, GLfixed, GLfixed, GLfixed, const GLubyte*);
+GLAPI PFNGLBITMAPXOESPROC glad_glBitmapxOES;
+#define glBitmapxOES glad_glBitmapxOES
+typedef void (APIENTRYP PFNGLBLENDCOLORXOESPROC)(GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLBLENDCOLORXOESPROC glad_glBlendColorxOES;
+#define glBlendColorxOES glad_glBlendColorxOES
+typedef void (APIENTRYP PFNGLCLEARACCUMXOESPROC)(GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLCLEARACCUMXOESPROC glad_glClearAccumxOES;
+#define glClearAccumxOES glad_glClearAccumxOES
+typedef void (APIENTRYP PFNGLCOLOR3XOESPROC)(GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLCOLOR3XOESPROC glad_glColor3xOES;
+#define glColor3xOES glad_glColor3xOES
+typedef void (APIENTRYP PFNGLCOLOR3XVOESPROC)(const GLfixed*);
+GLAPI PFNGLCOLOR3XVOESPROC glad_glColor3xvOES;
+#define glColor3xvOES glad_glColor3xvOES
+typedef void (APIENTRYP PFNGLCOLOR4XVOESPROC)(const GLfixed*);
+GLAPI PFNGLCOLOR4XVOESPROC glad_glColor4xvOES;
+#define glColor4xvOES glad_glColor4xvOES
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERXOESPROC)(GLenum, GLenum, GLfixed);
+GLAPI PFNGLCONVOLUTIONPARAMETERXOESPROC glad_glConvolutionParameterxOES;
+#define glConvolutionParameterxOES glad_glConvolutionParameterxOES
+typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERXVOESPROC)(GLenum, GLenum, const GLfixed*);
+GLAPI PFNGLCONVOLUTIONPARAMETERXVOESPROC glad_glConvolutionParameterxvOES;
+#define glConvolutionParameterxvOES glad_glConvolutionParameterxvOES
+typedef void (APIENTRYP PFNGLEVALCOORD1XOESPROC)(GLfixed);
+GLAPI PFNGLEVALCOORD1XOESPROC glad_glEvalCoord1xOES;
+#define glEvalCoord1xOES glad_glEvalCoord1xOES
+typedef void (APIENTRYP PFNGLEVALCOORD1XVOESPROC)(const GLfixed*);
+GLAPI PFNGLEVALCOORD1XVOESPROC glad_glEvalCoord1xvOES;
+#define glEvalCoord1xvOES glad_glEvalCoord1xvOES
+typedef void (APIENTRYP PFNGLEVALCOORD2XOESPROC)(GLfixed, GLfixed);
+GLAPI PFNGLEVALCOORD2XOESPROC glad_glEvalCoord2xOES;
+#define glEvalCoord2xOES glad_glEvalCoord2xOES
+typedef void (APIENTRYP PFNGLEVALCOORD2XVOESPROC)(const GLfixed*);
+GLAPI PFNGLEVALCOORD2XVOESPROC glad_glEvalCoord2xvOES;
+#define glEvalCoord2xvOES glad_glEvalCoord2xvOES
+typedef void (APIENTRYP PFNGLFEEDBACKBUFFERXOESPROC)(GLsizei, GLenum, const GLfixed*);
+GLAPI PFNGLFEEDBACKBUFFERXOESPROC glad_glFeedbackBufferxOES;
+#define glFeedbackBufferxOES glad_glFeedbackBufferxOES
+typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERXVOESPROC)(GLenum, GLenum, GLfixed*);
+GLAPI PFNGLGETCONVOLUTIONPARAMETERXVOESPROC glad_glGetConvolutionParameterxvOES;
+#define glGetConvolutionParameterxvOES glad_glGetConvolutionParameterxvOES
+typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERXVOESPROC)(GLenum, GLenum, GLfixed*);
+GLAPI PFNGLGETHISTOGRAMPARAMETERXVOESPROC glad_glGetHistogramParameterxvOES;
+#define glGetHistogramParameterxvOES glad_glGetHistogramParameterxvOES
+typedef void (APIENTRYP PFNGLGETLIGHTXOESPROC)(GLenum, GLenum, GLfixed*);
+GLAPI PFNGLGETLIGHTXOESPROC glad_glGetLightxOES;
+#define glGetLightxOES glad_glGetLightxOES
+typedef void (APIENTRYP PFNGLGETMAPXVOESPROC)(GLenum, GLenum, GLfixed*);
+GLAPI PFNGLGETMAPXVOESPROC glad_glGetMapxvOES;
+#define glGetMapxvOES glad_glGetMapxvOES
+typedef void (APIENTRYP PFNGLGETMATERIALXOESPROC)(GLenum, GLenum, GLfixed);
+GLAPI PFNGLGETMATERIALXOESPROC glad_glGetMaterialxOES;
+#define glGetMaterialxOES glad_glGetMaterialxOES
+typedef void (APIENTRYP PFNGLGETPIXELMAPXVPROC)(GLenum, GLint, GLfixed*);
+GLAPI PFNGLGETPIXELMAPXVPROC glad_glGetPixelMapxv;
+#define glGetPixelMapxv glad_glGetPixelMapxv
+typedef void (APIENTRYP PFNGLGETTEXGENXVOESPROC)(GLenum, GLenum, GLfixed*);
+GLAPI PFNGLGETTEXGENXVOESPROC glad_glGetTexGenxvOES;
+#define glGetTexGenxvOES glad_glGetTexGenxvOES
+typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERXVOESPROC)(GLenum, GLint, GLenum, GLfixed*);
+GLAPI PFNGLGETTEXLEVELPARAMETERXVOESPROC glad_glGetTexLevelParameterxvOES;
+#define glGetTexLevelParameterxvOES glad_glGetTexLevelParameterxvOES
+typedef void (APIENTRYP PFNGLINDEXXOESPROC)(GLfixed);
+GLAPI PFNGLINDEXXOESPROC glad_glIndexxOES;
+#define glIndexxOES glad_glIndexxOES
+typedef void (APIENTRYP PFNGLINDEXXVOESPROC)(const GLfixed*);
+GLAPI PFNGLINDEXXVOESPROC glad_glIndexxvOES;
+#define glIndexxvOES glad_glIndexxvOES
+typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXXOESPROC)(const GLfixed*);
+GLAPI PFNGLLOADTRANSPOSEMATRIXXOESPROC glad_glLoadTransposeMatrixxOES;
+#define glLoadTransposeMatrixxOES glad_glLoadTransposeMatrixxOES
+typedef void (APIENTRYP PFNGLMAP1XOESPROC)(GLenum, GLfixed, GLfixed, GLint, GLint, GLfixed);
+GLAPI PFNGLMAP1XOESPROC glad_glMap1xOES;
+#define glMap1xOES glad_glMap1xOES
+typedef void (APIENTRYP PFNGLMAP2XOESPROC)(GLenum, GLfixed, GLfixed, GLint, GLint, GLfixed, GLfixed, GLint, GLint, GLfixed);
+GLAPI PFNGLMAP2XOESPROC glad_glMap2xOES;
+#define glMap2xOES glad_glMap2xOES
+typedef void (APIENTRYP PFNGLMAPGRID1XOESPROC)(GLint, GLfixed, GLfixed);
+GLAPI PFNGLMAPGRID1XOESPROC glad_glMapGrid1xOES;
+#define glMapGrid1xOES glad_glMapGrid1xOES
+typedef void (APIENTRYP PFNGLMAPGRID2XOESPROC)(GLint, GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLMAPGRID2XOESPROC glad_glMapGrid2xOES;
+#define glMapGrid2xOES glad_glMapGrid2xOES
+typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXXOESPROC)(const GLfixed*);
+GLAPI PFNGLMULTTRANSPOSEMATRIXXOESPROC glad_glMultTransposeMatrixxOES;
+#define glMultTransposeMatrixxOES glad_glMultTransposeMatrixxOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1XOESPROC)(GLenum, GLfixed);
+GLAPI PFNGLMULTITEXCOORD1XOESPROC glad_glMultiTexCoord1xOES;
+#define glMultiTexCoord1xOES glad_glMultiTexCoord1xOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD1XVOESPROC)(GLenum, const GLfixed*);
+GLAPI PFNGLMULTITEXCOORD1XVOESPROC glad_glMultiTexCoord1xvOES;
+#define glMultiTexCoord1xvOES glad_glMultiTexCoord1xvOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2XOESPROC)(GLenum, GLfixed, GLfixed);
+GLAPI PFNGLMULTITEXCOORD2XOESPROC glad_glMultiTexCoord2xOES;
+#define glMultiTexCoord2xOES glad_glMultiTexCoord2xOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD2XVOESPROC)(GLenum, const GLfixed*);
+GLAPI PFNGLMULTITEXCOORD2XVOESPROC glad_glMultiTexCoord2xvOES;
+#define glMultiTexCoord2xvOES glad_glMultiTexCoord2xvOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3XOESPROC)(GLenum, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLMULTITEXCOORD3XOESPROC glad_glMultiTexCoord3xOES;
+#define glMultiTexCoord3xOES glad_glMultiTexCoord3xOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD3XVOESPROC)(GLenum, const GLfixed*);
+GLAPI PFNGLMULTITEXCOORD3XVOESPROC glad_glMultiTexCoord3xvOES;
+#define glMultiTexCoord3xvOES glad_glMultiTexCoord3xvOES
+typedef void (APIENTRYP PFNGLMULTITEXCOORD4XVOESPROC)(GLenum, const GLfixed*);
+GLAPI PFNGLMULTITEXCOORD4XVOESPROC glad_glMultiTexCoord4xvOES;
+#define glMultiTexCoord4xvOES glad_glMultiTexCoord4xvOES
+typedef void (APIENTRYP PFNGLNORMAL3XVOESPROC)(const GLfixed*);
+GLAPI PFNGLNORMAL3XVOESPROC glad_glNormal3xvOES;
+#define glNormal3xvOES glad_glNormal3xvOES
+typedef void (APIENTRYP PFNGLPASSTHROUGHXOESPROC)(GLfixed);
+GLAPI PFNGLPASSTHROUGHXOESPROC glad_glPassThroughxOES;
+#define glPassThroughxOES glad_glPassThroughxOES
+typedef void (APIENTRYP PFNGLPIXELMAPXPROC)(GLenum, GLint, const GLfixed*);
+GLAPI PFNGLPIXELMAPXPROC glad_glPixelMapx;
+#define glPixelMapx glad_glPixelMapx
+typedef void (APIENTRYP PFNGLPIXELSTOREXPROC)(GLenum, GLfixed);
+GLAPI PFNGLPIXELSTOREXPROC glad_glPixelStorex;
+#define glPixelStorex glad_glPixelStorex
+typedef void (APIENTRYP PFNGLPIXELTRANSFERXOESPROC)(GLenum, GLfixed);
+GLAPI PFNGLPIXELTRANSFERXOESPROC glad_glPixelTransferxOES;
+#define glPixelTransferxOES glad_glPixelTransferxOES
+typedef void (APIENTRYP PFNGLPIXELZOOMXOESPROC)(GLfixed, GLfixed);
+GLAPI PFNGLPIXELZOOMXOESPROC glad_glPixelZoomxOES;
+#define glPixelZoomxOES glad_glPixelZoomxOES
+typedef void (APIENTRYP PFNGLPRIORITIZETEXTURESXOESPROC)(GLsizei, const GLuint*, const GLfixed*);
+GLAPI PFNGLPRIORITIZETEXTURESXOESPROC glad_glPrioritizeTexturesxOES;
+#define glPrioritizeTexturesxOES glad_glPrioritizeTexturesxOES
+typedef void (APIENTRYP PFNGLRASTERPOS2XOESPROC)(GLfixed, GLfixed);
+GLAPI PFNGLRASTERPOS2XOESPROC glad_glRasterPos2xOES;
+#define glRasterPos2xOES glad_glRasterPos2xOES
+typedef void (APIENTRYP PFNGLRASTERPOS2XVOESPROC)(const GLfixed*);
+GLAPI PFNGLRASTERPOS2XVOESPROC glad_glRasterPos2xvOES;
+#define glRasterPos2xvOES glad_glRasterPos2xvOES
+typedef void (APIENTRYP PFNGLRASTERPOS3XOESPROC)(GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLRASTERPOS3XOESPROC glad_glRasterPos3xOES;
+#define glRasterPos3xOES glad_glRasterPos3xOES
+typedef void (APIENTRYP PFNGLRASTERPOS3XVOESPROC)(const GLfixed*);
+GLAPI PFNGLRASTERPOS3XVOESPROC glad_glRasterPos3xvOES;
+#define glRasterPos3xvOES glad_glRasterPos3xvOES
+typedef void (APIENTRYP PFNGLRASTERPOS4XOESPROC)(GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLRASTERPOS4XOESPROC glad_glRasterPos4xOES;
+#define glRasterPos4xOES glad_glRasterPos4xOES
+typedef void (APIENTRYP PFNGLRASTERPOS4XVOESPROC)(const GLfixed*);
+GLAPI PFNGLRASTERPOS4XVOESPROC glad_glRasterPos4xvOES;
+#define glRasterPos4xvOES glad_glRasterPos4xvOES
+typedef void (APIENTRYP PFNGLRECTXOESPROC)(GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLRECTXOESPROC glad_glRectxOES;
+#define glRectxOES glad_glRectxOES
+typedef void (APIENTRYP PFNGLRECTXVOESPROC)(const GLfixed*, const GLfixed*);
+GLAPI PFNGLRECTXVOESPROC glad_glRectxvOES;
+#define glRectxvOES glad_glRectxvOES
+typedef void (APIENTRYP PFNGLTEXCOORD1XOESPROC)(GLfixed);
+GLAPI PFNGLTEXCOORD1XOESPROC glad_glTexCoord1xOES;
+#define glTexCoord1xOES glad_glTexCoord1xOES
+typedef void (APIENTRYP PFNGLTEXCOORD1XVOESPROC)(const GLfixed*);
+GLAPI PFNGLTEXCOORD1XVOESPROC glad_glTexCoord1xvOES;
+#define glTexCoord1xvOES glad_glTexCoord1xvOES
+typedef void (APIENTRYP PFNGLTEXCOORD2XOESPROC)(GLfixed, GLfixed);
+GLAPI PFNGLTEXCOORD2XOESPROC glad_glTexCoord2xOES;
+#define glTexCoord2xOES glad_glTexCoord2xOES
+typedef void (APIENTRYP PFNGLTEXCOORD2XVOESPROC)(const GLfixed*);
+GLAPI PFNGLTEXCOORD2XVOESPROC glad_glTexCoord2xvOES;
+#define glTexCoord2xvOES glad_glTexCoord2xvOES
+typedef void (APIENTRYP PFNGLTEXCOORD3XOESPROC)(GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLTEXCOORD3XOESPROC glad_glTexCoord3xOES;
+#define glTexCoord3xOES glad_glTexCoord3xOES
+typedef void (APIENTRYP PFNGLTEXCOORD3XVOESPROC)(const GLfixed*);
+GLAPI PFNGLTEXCOORD3XVOESPROC glad_glTexCoord3xvOES;
+#define glTexCoord3xvOES glad_glTexCoord3xvOES
+typedef void (APIENTRYP PFNGLTEXCOORD4XOESPROC)(GLfixed, GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLTEXCOORD4XOESPROC glad_glTexCoord4xOES;
+#define glTexCoord4xOES glad_glTexCoord4xOES
+typedef void (APIENTRYP PFNGLTEXCOORD4XVOESPROC)(const GLfixed*);
+GLAPI PFNGLTEXCOORD4XVOESPROC glad_glTexCoord4xvOES;
+#define glTexCoord4xvOES glad_glTexCoord4xvOES
+typedef void (APIENTRYP PFNGLTEXGENXOESPROC)(GLenum, GLenum, GLfixed);
+GLAPI PFNGLTEXGENXOESPROC glad_glTexGenxOES;
+#define glTexGenxOES glad_glTexGenxOES
+typedef void (APIENTRYP PFNGLTEXGENXVOESPROC)(GLenum, GLenum, const GLfixed*);
+GLAPI PFNGLTEXGENXVOESPROC glad_glTexGenxvOES;
+#define glTexGenxvOES glad_glTexGenxvOES
+typedef void (APIENTRYP PFNGLVERTEX2XOESPROC)(GLfixed);
+GLAPI PFNGLVERTEX2XOESPROC glad_glVertex2xOES;
+#define glVertex2xOES glad_glVertex2xOES
+typedef void (APIENTRYP PFNGLVERTEX2XVOESPROC)(const GLfixed*);
+GLAPI PFNGLVERTEX2XVOESPROC glad_glVertex2xvOES;
+#define glVertex2xvOES glad_glVertex2xvOES
+typedef void (APIENTRYP PFNGLVERTEX3XOESPROC)(GLfixed, GLfixed);
+GLAPI PFNGLVERTEX3XOESPROC glad_glVertex3xOES;
+#define glVertex3xOES glad_glVertex3xOES
+typedef void (APIENTRYP PFNGLVERTEX3XVOESPROC)(const GLfixed*);
+GLAPI PFNGLVERTEX3XVOESPROC glad_glVertex3xvOES;
+#define glVertex3xvOES glad_glVertex3xvOES
+typedef void (APIENTRYP PFNGLVERTEX4XOESPROC)(GLfixed, GLfixed, GLfixed);
+GLAPI PFNGLVERTEX4XOESPROC glad_glVertex4xOES;
+#define glVertex4xOES glad_glVertex4xOES
+typedef void (APIENTRYP PFNGLVERTEX4XVOESPROC)(const GLfixed*);
+GLAPI PFNGLVERTEX4XVOESPROC glad_glVertex4xvOES;
+#define glVertex4xvOES glad_glVertex4xvOES
+#endif
+#ifndef GL_EXT_framebuffer_multisample
+#define GL_EXT_framebuffer_multisample 1
+GLAPI int GLAD_GL_EXT_framebuffer_multisample;
+typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
+GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glRenderbufferStorageMultisampleEXT;
+#define glRenderbufferStorageMultisampleEXT glad_glRenderbufferStorageMultisampleEXT
+#endif
+#ifndef GL_ARB_gpu_shader5
+#define GL_ARB_gpu_shader5 1
+GLAPI int GLAD_GL_ARB_gpu_shader5;
+#endif
+#ifndef GL_SGIS_texture4D
+#define GL_SGIS_texture4D 1
+GLAPI int GLAD_GL_SGIS_texture4D;
+typedef void (APIENTRYP PFNGLTEXIMAGE4DSGISPROC)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXIMAGE4DSGISPROC glad_glTexImage4DSGIS;
+#define glTexImage4DSGIS glad_glTexImage4DSGIS
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE4DSGISPROC)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXSUBIMAGE4DSGISPROC glad_glTexSubImage4DSGIS;
+#define glTexSubImage4DSGIS glad_glTexSubImage4DSGIS
+#endif
+#ifndef GL_EXT_texture3D
+#define GL_EXT_texture3D 1
+GLAPI int GLAD_GL_EXT_texture3D;
+typedef void (APIENTRYP PFNGLTEXIMAGE3DEXTPROC)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXIMAGE3DEXTPROC glad_glTexImage3DEXT;
+#define glTexImage3DEXT glad_glTexImage3DEXT
+typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DEXTPROC)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*);
+GLAPI PFNGLTEXSUBIMAGE3DEXTPROC glad_glTexSubImage3DEXT;
+#define glTexSubImage3DEXT glad_glTexSubImage3DEXT
+#endif
+#ifndef GL_EXT_multisample
+#define GL_EXT_multisample 1
+GLAPI int GLAD_GL_EXT_multisample;
+typedef void (APIENTRYP PFNGLSAMPLEMASKEXTPROC)(GLclampf, GLboolean);
+GLAPI PFNGLSAMPLEMASKEXTPROC glad_glSampleMaskEXT;
+#define glSampleMaskEXT glad_glSampleMaskEXT
+typedef void (APIENTRYP PFNGLSAMPLEPATTERNEXTPROC)(GLenum);
+GLAPI PFNGLSAMPLEPATTERNEXTPROC glad_glSamplePatternEXT;
+#define glSamplePatternEXT glad_glSamplePatternEXT
+#endif
+#ifndef GL_EXT_secondary_color
+#define GL_EXT_secondary_color 1
+GLAPI int GLAD_GL_EXT_secondary_color;
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BEXTPROC)(GLbyte, GLbyte, GLbyte);
+GLAPI PFNGLSECONDARYCOLOR3BEXTPROC glad_glSecondaryColor3bEXT;
+#define glSecondaryColor3bEXT glad_glSecondaryColor3bEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVEXTPROC)(const GLbyte*);
+GLAPI PFNGLSECONDARYCOLOR3BVEXTPROC glad_glSecondaryColor3bvEXT;
+#define glSecondaryColor3bvEXT glad_glSecondaryColor3bvEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DEXTPROC)(GLdouble, GLdouble, GLdouble);
+GLAPI PFNGLSECONDARYCOLOR3DEXTPROC glad_glSecondaryColor3dEXT;
+#define glSecondaryColor3dEXT glad_glSecondaryColor3dEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVEXTPROC)(const GLdouble*);
+GLAPI PFNGLSECONDARYCOLOR3DVEXTPROC glad_glSecondaryColor3dvEXT;
+#define glSecondaryColor3dvEXT glad_glSecondaryColor3dvEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FEXTPROC)(GLfloat, GLfloat, GLfloat);
+GLAPI PFNGLSECONDARYCOLOR3FEXTPROC glad_glSecondaryColor3fEXT;
+#define glSecondaryColor3fEXT glad_glSecondaryColor3fEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVEXTPROC)(const GLfloat*);
+GLAPI PFNGLSECONDARYCOLOR3FVEXTPROC glad_glSecondaryColor3fvEXT;
+#define glSecondaryColor3fvEXT glad_glSecondaryColor3fvEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IEXTPROC)(GLint, GLint, GLint);
+GLAPI PFNGLSECONDARYCOLOR3IEXTPROC glad_glSecondaryColor3iEXT;
+#define glSecondaryColor3iEXT glad_glSecondaryColor3iEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVEXTPROC)(const GLint*);
+GLAPI PFNGLSECONDARYCOLOR3IVEXTPROC glad_glSecondaryColor3ivEXT;
+#define glSecondaryColor3ivEXT glad_glSecondaryColor3ivEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SEXTPROC)(GLshort, GLshort, GLshort);
+GLAPI PFNGLSECONDARYCOLOR3SEXTPROC glad_glSecondaryColor3sEXT;
+#define glSecondaryColor3sEXT glad_glSecondaryColor3sEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVEXTPROC)(const GLshort*);
+GLAPI PFNGLSECONDARYCOLOR3SVEXTPROC glad_glSecondaryColor3svEXT;
+#define glSecondaryColor3svEXT glad_glSecondaryColor3svEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBEXTPROC)(GLubyte, GLubyte, GLubyte);
+GLAPI PFNGLSECONDARYCOLOR3UBEXTPROC glad_glSecondaryColor3ubEXT;
+#define glSecondaryColor3ubEXT glad_glSecondaryColor3ubEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVEXTPROC)(const GLubyte*);
+GLAPI PFNGLSECONDARYCOLOR3UBVEXTPROC glad_glSecondaryColor3ubvEXT;
+#define glSecondaryColor3ubvEXT glad_glSecondaryColor3ubvEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIEXTPROC)(GLuint, GLuint, GLuint);
+GLAPI PFNGLSECONDARYCOLOR3UIEXTPROC glad_glSecondaryColor3uiEXT;
+#define glSecondaryColor3uiEXT glad_glSecondaryColor3uiEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVEXTPROC)(const GLuint*);
+GLAPI PFNGLSECONDARYCOLOR3UIVEXTPROC glad_glSecondaryColor3uivEXT;
+#define glSecondaryColor3uivEXT glad_glSecondaryColor3uivEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USEXTPROC)(GLushort, GLushort, GLushort);
+GLAPI PFNGLSECONDARYCOLOR3USEXTPROC glad_glSecondaryColor3usEXT;
+#define glSecondaryColor3usEXT glad_glSecondaryColor3usEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVEXTPROC)(const GLushort*);
+GLAPI PFNGLSECONDARYCOLOR3USVEXTPROC glad_glSecondaryColor3usvEXT;
+#define glSecondaryColor3usvEXT glad_glSecondaryColor3usvEXT
+typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTEREXTPROC)(GLint, GLenum, GLsizei, const void*);
+GLAPI PFNGLSECONDARYCOLORPOINTEREXTPROC glad_glSecondaryColorPointerEXT;
+#define glSecondaryColorPointerEXT glad_glSecondaryColorPointerEXT
+#endif
+#ifndef GL_NV_parameter_buffer_object2
+#define GL_NV_parameter_buffer_object2 1
+GLAPI int GLAD_GL_NV_parameter_buffer_object2;
+#endif
+#ifndef GL_ATI_vertex_array_object
+#define GL_ATI_vertex_array_object 1
+GLAPI int GLAD_GL_ATI_vertex_array_object;
+typedef GLuint (APIENTRYP PFNGLNEWOBJECTBUFFERATIPROC)(GLsizei, const void*, GLenum);
+GLAPI PFNGLNEWOBJECTBUFFERATIPROC glad_glNewObjectBufferATI;
+#define glNewObjectBufferATI glad_glNewObjectBufferATI
+typedef GLboolean (APIENTRYP PFNGLISOBJECTBUFFERATIPROC)(GLuint);
+GLAPI PFNGLISOBJECTBUFFERATIPROC glad_glIsObjectBufferATI;
+#define glIsObjectBufferATI glad_glIsObjectBufferATI
+typedef void (APIENTRYP PFNGLUPDATEOBJECTBUFFERATIPROC)(GLuint, GLuint, GLsizei, const void*, GLenum);
+GLAPI PFNGLUPDATEOBJECTBUFFERATIPROC glad_glUpdateObjectBufferATI;
+#define glUpdateObjectBufferATI glad_glUpdateObjectBufferATI
+typedef void (APIENTRYP PFNGLGETOBJECTBUFFERFVATIPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETOBJECTBUFFERFVATIPROC glad_glGetObjectBufferfvATI;
+#define glGetObjectBufferfvATI glad_glGetObjectBufferfvATI
+typedef void (APIENTRYP PFNGLGETOBJECTBUFFERIVATIPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETOBJECTBUFFERIVATIPROC glad_glGetObjectBufferivATI;
+#define glGetObjectBufferivATI glad_glGetObjectBufferivATI
+typedef void (APIENTRYP PFNGLFREEOBJECTBUFFERATIPROC)(GLuint);
+GLAPI PFNGLFREEOBJECTBUFFERATIPROC glad_glFreeObjectBufferATI;
+#define glFreeObjectBufferATI glad_glFreeObjectBufferATI
+typedef void (APIENTRYP PFNGLARRAYOBJECTATIPROC)(GLenum, GLint, GLenum, GLsizei, GLuint, GLuint);
+GLAPI PFNGLARRAYOBJECTATIPROC glad_glArrayObjectATI;
+#define glArrayObjectATI glad_glArrayObjectATI
+typedef void (APIENTRYP PFNGLGETARRAYOBJECTFVATIPROC)(GLenum, GLenum, GLfloat*);
+GLAPI PFNGLGETARRAYOBJECTFVATIPROC glad_glGetArrayObjectfvATI;
+#define glGetArrayObjectfvATI glad_glGetArrayObjectfvATI
+typedef void (APIENTRYP PFNGLGETARRAYOBJECTIVATIPROC)(GLenum, GLenum, GLint*);
+GLAPI PFNGLGETARRAYOBJECTIVATIPROC glad_glGetArrayObjectivATI;
+#define glGetArrayObjectivATI glad_glGetArrayObjectivATI
+typedef void (APIENTRYP PFNGLVARIANTARRAYOBJECTATIPROC)(GLuint, GLenum, GLsizei, GLuint, GLuint);
+GLAPI PFNGLVARIANTARRAYOBJECTATIPROC glad_glVariantArrayObjectATI;
+#define glVariantArrayObjectATI glad_glVariantArrayObjectATI
+typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTFVATIPROC)(GLuint, GLenum, GLfloat*);
+GLAPI PFNGLGETVARIANTARRAYOBJECTFVATIPROC glad_glGetVariantArrayObjectfvATI;
+#define glGetVariantArrayObjectfvATI glad_glGetVariantArrayObjectfvATI
+typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTIVATIPROC)(GLuint, GLenum, GLint*);
+GLAPI PFNGLGETVARIANTARRAYOBJECTIVATIPROC glad_glGetVariantArrayObjectivATI;
+#define glGetVariantArrayObjectivATI glad_glGetVariantArrayObjectivATI
+#endif
+#ifndef GL_NVX_gpu_memory_info
+#define GL_NVX_gpu_memory_info 1
+GLAPI int GLAD_GL_NVX_gpu_memory_info;
+#endif
+#ifndef GL_ARB_sparse_texture
+#define GL_ARB_sparse_texture 1
+GLAPI int GLAD_GL_ARB_sparse_texture;
+typedef void (APIENTRYP PFNGLTEXPAGECOMMITMENTARBPROC)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
+GLAPI PFNGLTEXPAGECOMMITMENTARBPROC glad_glTexPageCommitmentARB;
+#define glTexPageCommitmentARB glad_glTexPageCommitmentARB
+#endif
+#ifndef GL_SGIS_point_line_texgen
+#define GL_SGIS_point_line_texgen 1
+GLAPI int GLAD_GL_SGIS_point_line_texgen;
+#endif
+#ifndef GL_EXT_draw_range_elements
+#define GL_EXT_draw_range_elements 1
+GLAPI int GLAD_GL_EXT_draw_range_elements;
+typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSEXTPROC)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void*);
+GLAPI PFNGLDRAWRANGEELEMENTSEXTPROC glad_glDrawRangeElementsEXT;
+#define glDrawRangeElementsEXT glad_glDrawRangeElementsEXT
+#endif
+#ifndef GL_SGIX_blend_alpha_minmax
+#define GL_SGIX_blend_alpha_minmax 1
+GLAPI int GLAD_GL_SGIX_blend_alpha_minmax;
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif

+ 1071 - 0
deps/glad/include/glad/glad_glx.h

@@ -0,0 +1,1071 @@
+
+#include <X11/X.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <glad/glad.h>
+
+#ifndef __glad_glxext_h_
+
+#ifdef __glxext_h_
+#error GLX header already included, remove this include, glad already provides it
+#endif
+
+#define __glad_glxext_h_
+#define __glxext_h_
+
+#ifndef APIENTRY
+#define APIENTRY
+#endif
+#ifndef APIENTRYP
+#define APIENTRYP APIENTRY *
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void* (* GLADloadproc)(const char *name);
+
+#define GLAD_GLAPI_EXPORT
+
+#ifndef GLAPI
+# if defined(GLAD_GLAPI_EXPORT)
+#  if defined(WIN32) || defined(__CYGWIN__)
+#   if defined(GLAD_GLAPI_EXPORT_BUILD)
+#    if defined(__GNUC__)
+#     define GLAPI __attribute__ ((dllexport)) extern
+#    else
+#     define GLAPI __declspec(dllexport) extern
+#    endif
+#   else
+#    if defined(__GNUC__)
+#     define GLAPI __attribute__ ((dllimport)) extern
+#    else
+#     define GLAPI __declspec(dllimport) extern
+#    endif
+#   endif
+#  elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD)
+#   define GLAPI __attribute__ ((visibility ("default"))) extern
+#  else
+#   define GLAPI extern
+#  endif
+# else
+#  define GLAPI extern
+# endif
+#endif
+
+GLAPI int gladLoadGLX(Display *dpy, int screen);
+
+GLAPI void gladLoadGLXLoader(GLADloadproc, Display *dpy, int screen);
+
+#ifndef GLEXT_64_TYPES_DEFINED
+/* This code block is duplicated in glext.h, so must be protected */
+#define GLEXT_64_TYPES_DEFINED
+/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
+/* (as used in the GLX_OML_sync_control extension). */
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+#include <inttypes.h>
+#elif defined(__sun__) || defined(__digital__)
+#include <inttypes.h>
+#if defined(__STDC__)
+#if defined(__arch64__) || defined(_LP64)
+typedef long int int64_t;
+typedef unsigned long int uint64_t;
+#else
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#endif /* __arch64__ */
+#endif /* __STDC__ */
+#elif defined( __VMS ) || defined(__sgi)
+#include <inttypes.h>
+#elif defined(__SCO__) || defined(__USLC__)
+#include <stdint.h>
+#elif defined(__UNIXOS2__) || defined(__SOL64__)
+typedef long int int32_t;
+typedef long long int int64_t;
+typedef unsigned long long int uint64_t;
+#elif defined(_WIN32) && defined(__GNUC__)
+#include <stdint.h>
+#elif defined(_WIN32)
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#else
+/* Fallback if nothing above works */
+#include <inttypes.h>
+#endif
+#endif
+typedef XID GLXFBConfigID;
+typedef struct __GLXFBConfigRec *GLXFBConfig;
+typedef XID GLXContextID;
+typedef struct __GLXcontextRec *GLXContext;
+typedef XID GLXPixmap;
+typedef XID GLXDrawable;
+typedef XID GLXWindow;
+typedef XID GLXPbuffer;
+typedef void (APIENTRY *__GLXextFuncPtr)(void);
+typedef XID GLXVideoCaptureDeviceNV;
+typedef unsigned int GLXVideoDeviceNV;
+typedef XID GLXVideoSourceSGIX;
+typedef XID GLXFBConfigIDSGIX;
+typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
+typedef XID GLXPbufferSGIX;
+typedef struct {
+    int event_type;      /* GLX_DAMAGED or GLX_SAVED */
+    int draw_type;       /* GLX_WINDOW or GLX_PBUFFER */
+    unsigned long serial;       /* # of last request processed by server */
+    Bool send_event;     /* true if this came for SendEvent request */
+    Display *display;    /* display the event was read from */
+    GLXDrawable drawable;       /* XID of Drawable */
+    unsigned int buffer_mask;   /* mask indicating which buffers are affected */
+    unsigned int aux_buffer;    /* which aux buffer was affected */
+    int x, y;
+    int width, height;
+    int count;    /* if nonzero, at least this many more */
+} GLXPbufferClobberEvent;
+typedef struct {
+    int type;
+    unsigned long serial;       /* # of last request processed by server */
+    Bool send_event;     /* true if this came from a SendEvent request */
+    Display *display;    /* Display the event was read from */
+    GLXDrawable drawable;       /* drawable on which event was requested in event mask */
+    int event_type;
+    int64_t ust;
+    int64_t msc;
+    int64_t sbc;
+} GLXBufferSwapComplete;
+typedef union __GLXEvent {
+    GLXPbufferClobberEvent glxpbufferclobber;
+    GLXBufferSwapComplete glxbufferswapcomplete;
+    long pad[24];
+} GLXEvent;
+typedef struct {
+    int type;
+    unsigned long serial;   /* # of last request processed by server */
+    Bool send_event; /* true if this came for SendEvent request */
+    Display *display;       /* display the event was read from */
+    GLXDrawable drawable;   /* i.d. of Drawable */
+    int event_type;  /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */
+    int draw_type;   /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */
+    unsigned int mask;      /* mask indicating which buffers are affected*/
+    int x, y;
+    int width, height;
+    int count;       /* if nonzero, at least this many more */
+} GLXBufferClobberEventSGIX;
+typedef struct {
+    char    pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
+    int     networkId;
+} GLXHyperpipeNetworkSGIX;
+typedef struct {
+    char    pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
+    int     channel;
+    unsigned int participationType;
+    int     timeSlice;
+} GLXHyperpipeConfigSGIX;
+typedef struct {
+    char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
+    int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
+    int destXOrigin, destYOrigin, destWidth, destHeight;
+} GLXPipeRect;
+typedef struct {
+    char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
+    int XOrigin, YOrigin, maxHeight, maxWidth;
+} GLXPipeRectLimits;
+#define GLX_EXTENSION_NAME "GLX"
+#define GLX_PbufferClobber 0
+#define GLX_BufferSwapComplete 1
+#define __GLX_NUMBER_EVENTS 17
+#define GLX_BAD_SCREEN 1
+#define GLX_BAD_ATTRIBUTE 2
+#define GLX_NO_EXTENSION 3
+#define GLX_BAD_VISUAL 4
+#define GLX_BAD_CONTEXT 5
+#define GLX_BAD_VALUE 6
+#define GLX_BAD_ENUM 7
+#define GLX_USE_GL 1
+#define GLX_BUFFER_SIZE 2
+#define GLX_LEVEL 3
+#define GLX_RGBA 4
+#define GLX_DOUBLEBUFFER 5
+#define GLX_STEREO 6
+#define GLX_AUX_BUFFERS 7
+#define GLX_RED_SIZE 8
+#define GLX_GREEN_SIZE 9
+#define GLX_BLUE_SIZE 10
+#define GLX_ALPHA_SIZE 11
+#define GLX_DEPTH_SIZE 12
+#define GLX_STENCIL_SIZE 13
+#define GLX_ACCUM_RED_SIZE 14
+#define GLX_ACCUM_GREEN_SIZE 15
+#define GLX_ACCUM_BLUE_SIZE 16
+#define GLX_ACCUM_ALPHA_SIZE 17
+#define GLX_VENDOR 0x1
+#define GLX_VERSION 0x2
+#define GLX_EXTENSIONS 0x3
+#define GLX_WINDOW_BIT 0x00000001
+#define GLX_PIXMAP_BIT 0x00000002
+#define GLX_PBUFFER_BIT 0x00000004
+#define GLX_RGBA_BIT 0x00000001
+#define GLX_COLOR_INDEX_BIT 0x00000002
+#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
+#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
+#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
+#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
+#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
+#define GLX_AUX_BUFFERS_BIT 0x00000010
+#define GLX_DEPTH_BUFFER_BIT 0x00000020
+#define GLX_STENCIL_BUFFER_BIT 0x00000040
+#define GLX_ACCUM_BUFFER_BIT 0x00000080
+#define GLX_CONFIG_CAVEAT 0x20
+#define GLX_X_VISUAL_TYPE 0x22
+#define GLX_TRANSPARENT_TYPE 0x23
+#define GLX_TRANSPARENT_INDEX_VALUE 0x24
+#define GLX_TRANSPARENT_RED_VALUE 0x25
+#define GLX_TRANSPARENT_GREEN_VALUE 0x26
+#define GLX_TRANSPARENT_BLUE_VALUE 0x27
+#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
+#define GLX_DONT_CARE 0xFFFFFFFF
+#define GLX_NONE 0x8000
+#define GLX_SLOW_CONFIG 0x8001
+#define GLX_TRUE_COLOR 0x8002
+#define GLX_DIRECT_COLOR 0x8003
+#define GLX_PSEUDO_COLOR 0x8004
+#define GLX_STATIC_COLOR 0x8005
+#define GLX_GRAY_SCALE 0x8006
+#define GLX_STATIC_GRAY 0x8007
+#define GLX_TRANSPARENT_RGB 0x8008
+#define GLX_TRANSPARENT_INDEX 0x8009
+#define GLX_VISUAL_ID 0x800B
+#define GLX_SCREEN 0x800C
+#define GLX_NON_CONFORMANT_CONFIG 0x800D
+#define GLX_DRAWABLE_TYPE 0x8010
+#define GLX_RENDER_TYPE 0x8011
+#define GLX_X_RENDERABLE 0x8012
+#define GLX_FBCONFIG_ID 0x8013
+#define GLX_RGBA_TYPE 0x8014
+#define GLX_COLOR_INDEX_TYPE 0x8015
+#define GLX_MAX_PBUFFER_WIDTH 0x8016
+#define GLX_MAX_PBUFFER_HEIGHT 0x8017
+#define GLX_MAX_PBUFFER_PIXELS 0x8018
+#define GLX_PRESERVED_CONTENTS 0x801B
+#define GLX_LARGEST_PBUFFER 0x801C
+#define GLX_WIDTH 0x801D
+#define GLX_HEIGHT 0x801E
+#define GLX_EVENT_MASK 0x801F
+#define GLX_DAMAGED 0x8020
+#define GLX_SAVED 0x8021
+#define GLX_WINDOW 0x8022
+#define GLX_PBUFFER 0x8023
+#define GLX_PBUFFER_HEIGHT 0x8040
+#define GLX_PBUFFER_WIDTH 0x8041
+#define GLX_SAMPLE_BUFFERS 100000
+#define GLX_SAMPLES 100001
+#ifndef GLX_VERSION_1_0
+#define GLX_VERSION_1_0 1
+GLAPI int GLAD_GLX_VERSION_1_0;
+typedef XVisualInfo* (APIENTRYP PFNGLXCHOOSEVISUALPROC)(Display*, int, int*);
+GLAPI PFNGLXCHOOSEVISUALPROC glad_glXChooseVisual;
+#define glXChooseVisual glad_glXChooseVisual
+typedef GLXContext (APIENTRYP PFNGLXCREATECONTEXTPROC)(Display*, XVisualInfo*, GLXContext, Bool);
+GLAPI PFNGLXCREATECONTEXTPROC glad_glXCreateContext;
+#define glXCreateContext glad_glXCreateContext
+typedef void (APIENTRYP PFNGLXDESTROYCONTEXTPROC)(Display*, GLXContext);
+GLAPI PFNGLXDESTROYCONTEXTPROC glad_glXDestroyContext;
+#define glXDestroyContext glad_glXDestroyContext
+typedef Bool (APIENTRYP PFNGLXMAKECURRENTPROC)(Display*, GLXDrawable, GLXContext);
+GLAPI PFNGLXMAKECURRENTPROC glad_glXMakeCurrent;
+#define glXMakeCurrent glad_glXMakeCurrent
+typedef void (APIENTRYP PFNGLXCOPYCONTEXTPROC)(Display*, GLXContext, GLXContext, unsigned long);
+GLAPI PFNGLXCOPYCONTEXTPROC glad_glXCopyContext;
+#define glXCopyContext glad_glXCopyContext
+typedef void (APIENTRYP PFNGLXSWAPBUFFERSPROC)(Display*, GLXDrawable);
+GLAPI PFNGLXSWAPBUFFERSPROC glad_glXSwapBuffers;
+#define glXSwapBuffers glad_glXSwapBuffers
+typedef GLXPixmap (APIENTRYP PFNGLXCREATEGLXPIXMAPPROC)(Display*, XVisualInfo*, Pixmap);
+GLAPI PFNGLXCREATEGLXPIXMAPPROC glad_glXCreateGLXPixmap;
+#define glXCreateGLXPixmap glad_glXCreateGLXPixmap
+typedef void (APIENTRYP PFNGLXDESTROYGLXPIXMAPPROC)(Display*, GLXPixmap);
+GLAPI PFNGLXDESTROYGLXPIXMAPPROC glad_glXDestroyGLXPixmap;
+#define glXDestroyGLXPixmap glad_glXDestroyGLXPixmap
+typedef Bool (APIENTRYP PFNGLXQUERYEXTENSIONPROC)(Display*, int*, int*);
+GLAPI PFNGLXQUERYEXTENSIONPROC glad_glXQueryExtension;
+#define glXQueryExtension glad_glXQueryExtension
+typedef Bool (APIENTRYP PFNGLXQUERYVERSIONPROC)(Display*, int*, int*);
+GLAPI PFNGLXQUERYVERSIONPROC glad_glXQueryVersion;
+#define glXQueryVersion glad_glXQueryVersion
+typedef Bool (APIENTRYP PFNGLXISDIRECTPROC)(Display*, GLXContext);
+GLAPI PFNGLXISDIRECTPROC glad_glXIsDirect;
+#define glXIsDirect glad_glXIsDirect
+typedef int (APIENTRYP PFNGLXGETCONFIGPROC)(Display*, XVisualInfo*, int, int*);
+GLAPI PFNGLXGETCONFIGPROC glad_glXGetConfig;
+#define glXGetConfig glad_glXGetConfig
+typedef GLXContext (APIENTRYP PFNGLXGETCURRENTCONTEXTPROC)();
+GLAPI PFNGLXGETCURRENTCONTEXTPROC glad_glXGetCurrentContext;
+#define glXGetCurrentContext glad_glXGetCurrentContext
+typedef GLXDrawable (APIENTRYP PFNGLXGETCURRENTDRAWABLEPROC)();
+GLAPI PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable;
+#define glXGetCurrentDrawable glad_glXGetCurrentDrawable
+typedef void (APIENTRYP PFNGLXWAITGLPROC)();
+GLAPI PFNGLXWAITGLPROC glad_glXWaitGL;
+#define glXWaitGL glad_glXWaitGL
+typedef void (APIENTRYP PFNGLXWAITXPROC)();
+GLAPI PFNGLXWAITXPROC glad_glXWaitX;
+#define glXWaitX glad_glXWaitX
+typedef void (APIENTRYP PFNGLXUSEXFONTPROC)(Font, int, int, int);
+GLAPI PFNGLXUSEXFONTPROC glad_glXUseXFont;
+#define glXUseXFont glad_glXUseXFont
+#endif
+#ifndef GLX_VERSION_1_1
+#define GLX_VERSION_1_1 1
+GLAPI int GLAD_GLX_VERSION_1_1;
+typedef const char* (APIENTRYP PFNGLXQUERYEXTENSIONSSTRINGPROC)(Display*, int);
+GLAPI PFNGLXQUERYEXTENSIONSSTRINGPROC glad_glXQueryExtensionsString;
+#define glXQueryExtensionsString glad_glXQueryExtensionsString
+typedef const char* (APIENTRYP PFNGLXQUERYSERVERSTRINGPROC)(Display*, int, int);
+GLAPI PFNGLXQUERYSERVERSTRINGPROC glad_glXQueryServerString;
+#define glXQueryServerString glad_glXQueryServerString
+typedef const char* (APIENTRYP PFNGLXGETCLIENTSTRINGPROC)(Display*, int);
+GLAPI PFNGLXGETCLIENTSTRINGPROC glad_glXGetClientString;
+#define glXGetClientString glad_glXGetClientString
+#endif
+#ifndef GLX_VERSION_1_2
+#define GLX_VERSION_1_2 1
+GLAPI int GLAD_GLX_VERSION_1_2;
+typedef Display* (APIENTRYP PFNGLXGETCURRENTDISPLAYPROC)();
+GLAPI PFNGLXGETCURRENTDISPLAYPROC glad_glXGetCurrentDisplay;
+#define glXGetCurrentDisplay glad_glXGetCurrentDisplay
+#endif
+#ifndef GLX_VERSION_1_3
+#define GLX_VERSION_1_3 1
+GLAPI int GLAD_GLX_VERSION_1_3;
+typedef GLXFBConfig* (APIENTRYP PFNGLXGETFBCONFIGSPROC)(Display*, int, int*);
+GLAPI PFNGLXGETFBCONFIGSPROC glad_glXGetFBConfigs;
+#define glXGetFBConfigs glad_glXGetFBConfigs
+typedef GLXFBConfig* (APIENTRYP PFNGLXCHOOSEFBCONFIGPROC)(Display*, int, const int*, int*);
+GLAPI PFNGLXCHOOSEFBCONFIGPROC glad_glXChooseFBConfig;
+#define glXChooseFBConfig glad_glXChooseFBConfig
+typedef int (APIENTRYP PFNGLXGETFBCONFIGATTRIBPROC)(Display*, GLXFBConfig, int, int*);
+GLAPI PFNGLXGETFBCONFIGATTRIBPROC glad_glXGetFBConfigAttrib;
+#define glXGetFBConfigAttrib glad_glXGetFBConfigAttrib
+typedef XVisualInfo* (APIENTRYP PFNGLXGETVISUALFROMFBCONFIGPROC)(Display*, GLXFBConfig);
+GLAPI PFNGLXGETVISUALFROMFBCONFIGPROC glad_glXGetVisualFromFBConfig;
+#define glXGetVisualFromFBConfig glad_glXGetVisualFromFBConfig
+typedef GLXWindow (APIENTRYP PFNGLXCREATEWINDOWPROC)(Display*, GLXFBConfig, Window, const int*);
+GLAPI PFNGLXCREATEWINDOWPROC glad_glXCreateWindow;
+#define glXCreateWindow glad_glXCreateWindow
+typedef void (APIENTRYP PFNGLXDESTROYWINDOWPROC)(Display*, GLXWindow);
+GLAPI PFNGLXDESTROYWINDOWPROC glad_glXDestroyWindow;
+#define glXDestroyWindow glad_glXDestroyWindow
+typedef GLXPixmap (APIENTRYP PFNGLXCREATEPIXMAPPROC)(Display*, GLXFBConfig, Pixmap, const int*);
+GLAPI PFNGLXCREATEPIXMAPPROC glad_glXCreatePixmap;
+#define glXCreatePixmap glad_glXCreatePixmap
+typedef void (APIENTRYP PFNGLXDESTROYPIXMAPPROC)(Display*, GLXPixmap);
+GLAPI PFNGLXDESTROYPIXMAPPROC glad_glXDestroyPixmap;
+#define glXDestroyPixmap glad_glXDestroyPixmap
+typedef GLXPbuffer (APIENTRYP PFNGLXCREATEPBUFFERPROC)(Display*, GLXFBConfig, const int*);
+GLAPI PFNGLXCREATEPBUFFERPROC glad_glXCreatePbuffer;
+#define glXCreatePbuffer glad_glXCreatePbuffer
+typedef void (APIENTRYP PFNGLXDESTROYPBUFFERPROC)(Display*, GLXPbuffer);
+GLAPI PFNGLXDESTROYPBUFFERPROC glad_glXDestroyPbuffer;
+#define glXDestroyPbuffer glad_glXDestroyPbuffer
+typedef void (APIENTRYP PFNGLXQUERYDRAWABLEPROC)(Display*, GLXDrawable, int, unsigned int*);
+GLAPI PFNGLXQUERYDRAWABLEPROC glad_glXQueryDrawable;
+#define glXQueryDrawable glad_glXQueryDrawable
+typedef GLXContext (APIENTRYP PFNGLXCREATENEWCONTEXTPROC)(Display*, GLXFBConfig, int, GLXContext, Bool);
+GLAPI PFNGLXCREATENEWCONTEXTPROC glad_glXCreateNewContext;
+#define glXCreateNewContext glad_glXCreateNewContext
+typedef Bool (APIENTRYP PFNGLXMAKECONTEXTCURRENTPROC)(Display*, GLXDrawable, GLXDrawable, GLXContext);
+GLAPI PFNGLXMAKECONTEXTCURRENTPROC glad_glXMakeContextCurrent;
+#define glXMakeContextCurrent glad_glXMakeContextCurrent
+typedef GLXDrawable (APIENTRYP PFNGLXGETCURRENTREADDRAWABLEPROC)();
+GLAPI PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable;
+#define glXGetCurrentReadDrawable glad_glXGetCurrentReadDrawable
+typedef int (APIENTRYP PFNGLXQUERYCONTEXTPROC)(Display*, GLXContext, int, int*);
+GLAPI PFNGLXQUERYCONTEXTPROC glad_glXQueryContext;
+#define glXQueryContext glad_glXQueryContext
+typedef void (APIENTRYP PFNGLXSELECTEVENTPROC)(Display*, GLXDrawable, unsigned long);
+GLAPI PFNGLXSELECTEVENTPROC glad_glXSelectEvent;
+#define glXSelectEvent glad_glXSelectEvent
+typedef void (APIENTRYP PFNGLXGETSELECTEDEVENTPROC)(Display*, GLXDrawable, unsigned long*);
+GLAPI PFNGLXGETSELECTEDEVENTPROC glad_glXGetSelectedEvent;
+#define glXGetSelectedEvent glad_glXGetSelectedEvent
+#endif
+#ifndef GLX_VERSION_1_4
+#define GLX_VERSION_1_4 1
+GLAPI int GLAD_GLX_VERSION_1_4;
+typedef __GLXextFuncPtr (APIENTRYP PFNGLXGETPROCADDRESSPROC)(const GLubyte*);
+GLAPI PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress;
+#define glXGetProcAddress glad_glXGetProcAddress
+#endif
+#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2
+#define GLX_SHARE_CONTEXT_EXT 0x800A
+#define GLX_VISUAL_ID_EXT 0x800B
+#define GLX_SCREEN_EXT 0x800C
+#define GLX_COVERAGE_SAMPLES_NV 100001
+#define GLX_COLOR_SAMPLES_NV 0x20B3
+#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
+#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
+#define GLX_PBUFFER_BIT_SGIX 0x00000004
+#define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000
+#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001
+#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002
+#define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004
+#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008
+#define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010
+#define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020
+#define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040
+#define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080
+#define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100
+#define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016
+#define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017
+#define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018
+#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
+#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
+#define GLX_PRESERVED_CONTENTS_SGIX 0x801B
+#define GLX_LARGEST_PBUFFER_SGIX 0x801C
+#define GLX_WIDTH_SGIX 0x801D
+#define GLX_HEIGHT_SGIX 0x801E
+#define GLX_EVENT_MASK_SGIX 0x801F
+#define GLX_DAMAGED_SGIX 0x8020
+#define GLX_SAVED_SGIX 0x8021
+#define GLX_WINDOW_SGIX 0x8022
+#define GLX_PBUFFER_SGIX 0x8023
+#define GLX_RGBA_FLOAT_TYPE_ARB 0x20B9
+#define GLX_RGBA_FLOAT_BIT_ARB 0x00000004
+#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
+#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91
+#define GLX_BAD_HYPERPIPE_SGIX 92
+#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
+#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002
+#define GLX_PIPE_RECT_SGIX 0x00000001
+#define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002
+#define GLX_HYPERPIPE_STEREO_SGIX 0x00000003
+#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004
+#define GLX_HYPERPIPE_ID_SGIX 0x8030
+#define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
+#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000
+#define GLX_EXCHANGE_COMPLETE_INTEL 0x8180
+#define GLX_COPY_COMPLETE_INTEL 0x8181
+#define GLX_FLIP_COMPLETE_INTEL 0x8182
+#define GLX_SYNC_FRAME_SGIX 0x00000000
+#define GLX_SYNC_SWAP_SGIX 0x00000001
+#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
+#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
+#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
+#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
+#define GLX_BACK_BUFFER_AGE_EXT 0x20F4
+#define GLX_SAMPLE_BUFFERS_3DFX 0x8050
+#define GLX_SAMPLES_3DFX 0x8051
+#define GLX_X_VISUAL_TYPE_EXT 0x22
+#define GLX_TRANSPARENT_TYPE_EXT 0x23
+#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
+#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
+#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
+#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
+#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
+#define GLX_NONE_EXT 0x8000
+#define GLX_TRUE_COLOR_EXT 0x8002
+#define GLX_DIRECT_COLOR_EXT 0x8003
+#define GLX_PSEUDO_COLOR_EXT 0x8004
+#define GLX_STATIC_COLOR_EXT 0x8005
+#define GLX_GRAY_SCALE_EXT 0x8006
+#define GLX_STATIC_GRAY_EXT 0x8007
+#define GLX_TRANSPARENT_RGB_EXT 0x8008
+#define GLX_TRANSPARENT_INDEX_EXT 0x8009
+#define GLX_SAMPLE_BUFFERS_SGIS 100000
+#define GLX_SAMPLES_SGIS 100001
+#define GLX_3DFX_WINDOW_MODE_MESA 0x1
+#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
+#define GLX_TEXTURE_1D_BIT_EXT 0x00000001
+#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
+#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
+#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
+#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
+#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
+#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
+#define GLX_Y_INVERTED_EXT 0x20D4
+#define GLX_TEXTURE_FORMAT_EXT 0x20D5
+#define GLX_TEXTURE_TARGET_EXT 0x20D6
+#define GLX_MIPMAP_TEXTURE_EXT 0x20D7
+#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
+#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
+#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
+#define GLX_TEXTURE_1D_EXT 0x20DB
+#define GLX_TEXTURE_2D_EXT 0x20DC
+#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
+#define GLX_FRONT_LEFT_EXT 0x20DE
+#define GLX_FRONT_RIGHT_EXT 0x20DF
+#define GLX_BACK_LEFT_EXT 0x20E0
+#define GLX_BACK_RIGHT_EXT 0x20E1
+#define GLX_FRONT_EXT 0x20DE
+#define GLX_BACK_EXT 0x20E0
+#define GLX_AUX0_EXT 0x20E2
+#define GLX_AUX1_EXT 0x20E3
+#define GLX_AUX2_EXT 0x20E4
+#define GLX_AUX3_EXT 0x20E5
+#define GLX_AUX4_EXT 0x20E6
+#define GLX_AUX5_EXT 0x20E7
+#define GLX_AUX6_EXT 0x20E8
+#define GLX_AUX7_EXT 0x20E9
+#define GLX_AUX8_EXT 0x20EA
+#define GLX_AUX9_EXT 0x20EB
+#define GLX_DEVICE_ID_NV 0x20CD
+#define GLX_UNIQUE_ID_NV 0x20CE
+#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
+#define GLX_SAMPLE_BUFFERS_ARB 100000
+#define GLX_SAMPLES_ARB 100001
+#define GLX_SWAP_INTERVAL_EXT 0x20F1
+#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2
+#define GLX_RENDERER_VENDOR_ID_MESA 0x8183
+#define GLX_RENDERER_DEVICE_ID_MESA 0x8184
+#define GLX_RENDERER_VERSION_MESA 0x8185
+#define GLX_RENDERER_ACCELERATED_MESA 0x8186
+#define GLX_RENDERER_VIDEO_MEMORY_MESA 0x8187
+#define GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA 0x8188
+#define GLX_RENDERER_PREFERRED_PROFILE_MESA 0x8189
+#define GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA 0x818A
+#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
+#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
+#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
+#define GLX_RENDERER_ID_MESA 0x818E
+#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
+#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
+#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
+#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
+#define GLX_CONTEXT_FLAGS_ARB 0x2094
+#define GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
+#define GLX_WINDOW_BIT_SGIX 0x00000001
+#define GLX_PIXMAP_BIT_SGIX 0x00000002
+#define GLX_RGBA_BIT_SGIX 0x00000001
+#define GLX_COLOR_INDEX_BIT_SGIX 0x00000002
+#define GLX_DRAWABLE_TYPE_SGIX 0x8010
+#define GLX_RENDER_TYPE_SGIX 0x8011
+#define GLX_X_RENDERABLE_SGIX 0x8012
+#define GLX_FBCONFIG_ID_SGIX 0x8013
+#define GLX_RGBA_TYPE_SGIX 0x8014
+#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015
+#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028
+#define GLX_VIDEO_OUT_COLOR_NV 0x20C3
+#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4
+#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5
+#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
+#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
+#define GLX_VIDEO_OUT_FRAME_NV 0x20C8
+#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
+#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
+#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
+#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
+#define GLX_BLENDED_RGBA_SGIS 0x8025
+#define GLX_DIGITAL_MEDIA_PBUFFER_SGIX 0x8024
+#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
+#define GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252
+#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
+#define GLX_NO_RESET_NOTIFICATION_ARB 0x8261
+#define GLX_LATE_SWAPS_TEAR_EXT 0x20F3
+#define GLX_VISUAL_CAVEAT_EXT 0x20
+#define GLX_SLOW_VISUAL_EXT 0x8001
+#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
+#define GLX_FLOAT_COMPONENTS_NV 0x20B0
+#define GLX_SWAP_METHOD_OML 0x8060
+#define GLX_SWAP_EXCHANGE_OML 0x8061
+#define GLX_SWAP_COPY_OML 0x8062
+#define GLX_SWAP_UNDEFINED_OML 0x8063
+#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
+#define GLX_GPU_VENDOR_AMD 0x1F00
+#define GLX_GPU_RENDERER_STRING_AMD 0x1F01
+#define GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
+#define GLX_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
+#define GLX_GPU_RAM_AMD 0x21A3
+#define GLX_GPU_CLOCK_AMD 0x21A4
+#define GLX_GPU_NUM_PIPES_AMD 0x21A5
+#define GLX_GPU_NUM_SIMD_AMD 0x21A6
+#define GLX_GPU_NUM_RB_AMD 0x21A7
+#define GLX_GPU_NUM_SPI_AMD 0x21A8
+#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
+#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
+#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
+#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095
+#ifndef GLX_ARB_framebuffer_sRGB
+#define GLX_ARB_framebuffer_sRGB 1
+GLAPI int GLAD_GLX_ARB_framebuffer_sRGB;
+#endif
+#ifndef GLX_EXT_import_context
+#define GLX_EXT_import_context 1
+GLAPI int GLAD_GLX_EXT_import_context;
+typedef Display* (APIENTRYP PFNGLXGETCURRENTDISPLAYEXTPROC)();
+GLAPI PFNGLXGETCURRENTDISPLAYEXTPROC glad_glXGetCurrentDisplayEXT;
+#define glXGetCurrentDisplayEXT glad_glXGetCurrentDisplayEXT
+typedef int (APIENTRYP PFNGLXQUERYCONTEXTINFOEXTPROC)(Display*, GLXContext, int, int*);
+GLAPI PFNGLXQUERYCONTEXTINFOEXTPROC glad_glXQueryContextInfoEXT;
+#define glXQueryContextInfoEXT glad_glXQueryContextInfoEXT
+typedef GLXContextID (APIENTRYP PFNGLXGETCONTEXTIDEXTPROC)(const GLXContext);
+GLAPI PFNGLXGETCONTEXTIDEXTPROC glad_glXGetContextIDEXT;
+#define glXGetContextIDEXT glad_glXGetContextIDEXT
+typedef GLXContext (APIENTRYP PFNGLXIMPORTCONTEXTEXTPROC)(Display*, GLXContextID);
+GLAPI PFNGLXIMPORTCONTEXTEXTPROC glad_glXImportContextEXT;
+#define glXImportContextEXT glad_glXImportContextEXT
+typedef void (APIENTRYP PFNGLXFREECONTEXTEXTPROC)(Display*, GLXContext);
+GLAPI PFNGLXFREECONTEXTEXTPROC glad_glXFreeContextEXT;
+#define glXFreeContextEXT glad_glXFreeContextEXT
+#endif
+#ifndef GLX_NV_multisample_coverage
+#define GLX_NV_multisample_coverage 1
+GLAPI int GLAD_GLX_NV_multisample_coverage;
+#endif
+#ifndef GLX_SGIS_shared_multisample
+#define GLX_SGIS_shared_multisample 1
+GLAPI int GLAD_GLX_SGIS_shared_multisample;
+#endif
+#ifndef GLX_SGIX_pbuffer
+#define GLX_SGIX_pbuffer 1
+GLAPI int GLAD_GLX_SGIX_pbuffer;
+typedef GLXPbufferSGIX (APIENTRYP PFNGLXCREATEGLXPBUFFERSGIXPROC)(Display*, GLXFBConfigSGIX, unsigned int, unsigned int, int*);
+GLAPI PFNGLXCREATEGLXPBUFFERSGIXPROC glad_glXCreateGLXPbufferSGIX;
+#define glXCreateGLXPbufferSGIX glad_glXCreateGLXPbufferSGIX
+typedef void (APIENTRYP PFNGLXDESTROYGLXPBUFFERSGIXPROC)(Display*, GLXPbufferSGIX);
+GLAPI PFNGLXDESTROYGLXPBUFFERSGIXPROC glad_glXDestroyGLXPbufferSGIX;
+#define glXDestroyGLXPbufferSGIX glad_glXDestroyGLXPbufferSGIX
+typedef int (APIENTRYP PFNGLXQUERYGLXPBUFFERSGIXPROC)(Display*, GLXPbufferSGIX, int, unsigned int*);
+GLAPI PFNGLXQUERYGLXPBUFFERSGIXPROC glad_glXQueryGLXPbufferSGIX;
+#define glXQueryGLXPbufferSGIX glad_glXQueryGLXPbufferSGIX
+typedef void (APIENTRYP PFNGLXSELECTEVENTSGIXPROC)(Display*, GLXDrawable, unsigned long);
+GLAPI PFNGLXSELECTEVENTSGIXPROC glad_glXSelectEventSGIX;
+#define glXSelectEventSGIX glad_glXSelectEventSGIX
+typedef void (APIENTRYP PFNGLXGETSELECTEDEVENTSGIXPROC)(Display*, GLXDrawable, unsigned long*);
+GLAPI PFNGLXGETSELECTEDEVENTSGIXPROC glad_glXGetSelectedEventSGIX;
+#define glXGetSelectedEventSGIX glad_glXGetSelectedEventSGIX
+#endif
+#ifndef GLX_NV_swap_group
+#define GLX_NV_swap_group 1
+GLAPI int GLAD_GLX_NV_swap_group;
+typedef Bool (APIENTRYP PFNGLXJOINSWAPGROUPNVPROC)(Display*, GLXDrawable, GLuint);
+GLAPI PFNGLXJOINSWAPGROUPNVPROC glad_glXJoinSwapGroupNV;
+#define glXJoinSwapGroupNV glad_glXJoinSwapGroupNV
+typedef Bool (APIENTRYP PFNGLXBINDSWAPBARRIERNVPROC)(Display*, GLuint, GLuint);
+GLAPI PFNGLXBINDSWAPBARRIERNVPROC glad_glXBindSwapBarrierNV;
+#define glXBindSwapBarrierNV glad_glXBindSwapBarrierNV
+typedef Bool (APIENTRYP PFNGLXQUERYSWAPGROUPNVPROC)(Display*, GLXDrawable, GLuint*, GLuint*);
+GLAPI PFNGLXQUERYSWAPGROUPNVPROC glad_glXQuerySwapGroupNV;
+#define glXQuerySwapGroupNV glad_glXQuerySwapGroupNV
+typedef Bool (APIENTRYP PFNGLXQUERYMAXSWAPGROUPSNVPROC)(Display*, int, GLuint*, GLuint*);
+GLAPI PFNGLXQUERYMAXSWAPGROUPSNVPROC glad_glXQueryMaxSwapGroupsNV;
+#define glXQueryMaxSwapGroupsNV glad_glXQueryMaxSwapGroupsNV
+typedef Bool (APIENTRYP PFNGLXQUERYFRAMECOUNTNVPROC)(Display*, int, GLuint*);
+GLAPI PFNGLXQUERYFRAMECOUNTNVPROC glad_glXQueryFrameCountNV;
+#define glXQueryFrameCountNV glad_glXQueryFrameCountNV
+typedef Bool (APIENTRYP PFNGLXRESETFRAMECOUNTNVPROC)(Display*, int);
+GLAPI PFNGLXRESETFRAMECOUNTNVPROC glad_glXResetFrameCountNV;
+#define glXResetFrameCountNV glad_glXResetFrameCountNV
+#endif
+#ifndef GLX_ARB_fbconfig_float
+#define GLX_ARB_fbconfig_float 1
+GLAPI int GLAD_GLX_ARB_fbconfig_float;
+#endif
+#ifndef GLX_SGIX_hyperpipe
+#define GLX_SGIX_hyperpipe 1
+GLAPI int GLAD_GLX_SGIX_hyperpipe;
+typedef GLXHyperpipeNetworkSGIX* (APIENTRYP PFNGLXQUERYHYPERPIPENETWORKSGIXPROC)(Display*, int*);
+GLAPI PFNGLXQUERYHYPERPIPENETWORKSGIXPROC glad_glXQueryHyperpipeNetworkSGIX;
+#define glXQueryHyperpipeNetworkSGIX glad_glXQueryHyperpipeNetworkSGIX
+typedef int (APIENTRYP PFNGLXHYPERPIPECONFIGSGIXPROC)(Display*, int, int, GLXHyperpipeConfigSGIX*, int*);
+GLAPI PFNGLXHYPERPIPECONFIGSGIXPROC glad_glXHyperpipeConfigSGIX;
+#define glXHyperpipeConfigSGIX glad_glXHyperpipeConfigSGIX
+typedef GLXHyperpipeConfigSGIX* (APIENTRYP PFNGLXQUERYHYPERPIPECONFIGSGIXPROC)(Display*, int, int*);
+GLAPI PFNGLXQUERYHYPERPIPECONFIGSGIXPROC glad_glXQueryHyperpipeConfigSGIX;
+#define glXQueryHyperpipeConfigSGIX glad_glXQueryHyperpipeConfigSGIX
+typedef int (APIENTRYP PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC)(Display*, int);
+GLAPI PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC glad_glXDestroyHyperpipeConfigSGIX;
+#define glXDestroyHyperpipeConfigSGIX glad_glXDestroyHyperpipeConfigSGIX
+typedef int (APIENTRYP PFNGLXBINDHYPERPIPESGIXPROC)(Display*, int);
+GLAPI PFNGLXBINDHYPERPIPESGIXPROC glad_glXBindHyperpipeSGIX;
+#define glXBindHyperpipeSGIX glad_glXBindHyperpipeSGIX
+typedef int (APIENTRYP PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC)(Display*, int, int, int, void*, void*);
+GLAPI PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC glad_glXQueryHyperpipeBestAttribSGIX;
+#define glXQueryHyperpipeBestAttribSGIX glad_glXQueryHyperpipeBestAttribSGIX
+typedef int (APIENTRYP PFNGLXHYPERPIPEATTRIBSGIXPROC)(Display*, int, int, int, void*);
+GLAPI PFNGLXHYPERPIPEATTRIBSGIXPROC glad_glXHyperpipeAttribSGIX;
+#define glXHyperpipeAttribSGIX glad_glXHyperpipeAttribSGIX
+typedef int (APIENTRYP PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC)(Display*, int, int, int, void*);
+GLAPI PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC glad_glXQueryHyperpipeAttribSGIX;
+#define glXQueryHyperpipeAttribSGIX glad_glXQueryHyperpipeAttribSGIX
+#endif
+#ifndef GLX_ARB_robustness_share_group_isolation
+#define GLX_ARB_robustness_share_group_isolation 1
+GLAPI int GLAD_GLX_ARB_robustness_share_group_isolation;
+#endif
+#ifndef GLX_INTEL_swap_event
+#define GLX_INTEL_swap_event 1
+GLAPI int GLAD_GLX_INTEL_swap_event;
+#endif
+#ifndef GLX_SGIX_video_resize
+#define GLX_SGIX_video_resize 1
+GLAPI int GLAD_GLX_SGIX_video_resize;
+typedef int (APIENTRYP PFNGLXBINDCHANNELTOWINDOWSGIXPROC)(Display*, int, int, Window);
+GLAPI PFNGLXBINDCHANNELTOWINDOWSGIXPROC glad_glXBindChannelToWindowSGIX;
+#define glXBindChannelToWindowSGIX glad_glXBindChannelToWindowSGIX
+typedef int (APIENTRYP PFNGLXCHANNELRECTSGIXPROC)(Display*, int, int, int, int, int, int);
+GLAPI PFNGLXCHANNELRECTSGIXPROC glad_glXChannelRectSGIX;
+#define glXChannelRectSGIX glad_glXChannelRectSGIX
+typedef int (APIENTRYP PFNGLXQUERYCHANNELRECTSGIXPROC)(Display*, int, int, int*, int*, int*, int*);
+GLAPI PFNGLXQUERYCHANNELRECTSGIXPROC glad_glXQueryChannelRectSGIX;
+#define glXQueryChannelRectSGIX glad_glXQueryChannelRectSGIX
+typedef int (APIENTRYP PFNGLXQUERYCHANNELDELTASSGIXPROC)(Display*, int, int, int*, int*, int*, int*);
+GLAPI PFNGLXQUERYCHANNELDELTASSGIXPROC glad_glXQueryChannelDeltasSGIX;
+#define glXQueryChannelDeltasSGIX glad_glXQueryChannelDeltasSGIX
+typedef int (APIENTRYP PFNGLXCHANNELRECTSYNCSGIXPROC)(Display*, int, int, GLenum);
+GLAPI PFNGLXCHANNELRECTSYNCSGIXPROC glad_glXChannelRectSyncSGIX;
+#define glXChannelRectSyncSGIX glad_glXChannelRectSyncSGIX
+#endif
+#ifndef GLX_EXT_create_context_es2_profile
+#define GLX_EXT_create_context_es2_profile 1
+GLAPI int GLAD_GLX_EXT_create_context_es2_profile;
+#endif
+#ifndef GLX_ARB_robustness_application_isolation
+#define GLX_ARB_robustness_application_isolation 1
+GLAPI int GLAD_GLX_ARB_robustness_application_isolation;
+#endif
+#ifndef GLX_NV_copy_image
+#define GLX_NV_copy_image 1
+GLAPI int GLAD_GLX_NV_copy_image;
+typedef void (APIENTRYP PFNGLXCOPYIMAGESUBDATANVPROC)(Display*, GLXContext, GLuint, GLenum, GLint, GLint, GLint, GLint, GLXContext, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
+GLAPI PFNGLXCOPYIMAGESUBDATANVPROC glad_glXCopyImageSubDataNV;
+#define glXCopyImageSubDataNV glad_glXCopyImageSubDataNV
+#endif
+#ifndef GLX_OML_sync_control
+#define GLX_OML_sync_control 1
+GLAPI int GLAD_GLX_OML_sync_control;
+typedef Bool (APIENTRYP PFNGLXGETSYNCVALUESOMLPROC)(Display*, GLXDrawable, int64_t*, int64_t*, int64_t*);
+GLAPI PFNGLXGETSYNCVALUESOMLPROC glad_glXGetSyncValuesOML;
+#define glXGetSyncValuesOML glad_glXGetSyncValuesOML
+typedef Bool (APIENTRYP PFNGLXGETMSCRATEOMLPROC)(Display*, GLXDrawable, int32_t*, int32_t*);
+GLAPI PFNGLXGETMSCRATEOMLPROC glad_glXGetMscRateOML;
+#define glXGetMscRateOML glad_glXGetMscRateOML
+typedef int64_t (APIENTRYP PFNGLXSWAPBUFFERSMSCOMLPROC)(Display*, GLXDrawable, int64_t, int64_t, int64_t);
+GLAPI PFNGLXSWAPBUFFERSMSCOMLPROC glad_glXSwapBuffersMscOML;
+#define glXSwapBuffersMscOML glad_glXSwapBuffersMscOML
+typedef Bool (APIENTRYP PFNGLXWAITFORMSCOMLPROC)(Display*, GLXDrawable, int64_t, int64_t, int64_t, int64_t*, int64_t*, int64_t*);
+GLAPI PFNGLXWAITFORMSCOMLPROC glad_glXWaitForMscOML;
+#define glXWaitForMscOML glad_glXWaitForMscOML
+typedef Bool (APIENTRYP PFNGLXWAITFORSBCOMLPROC)(Display*, GLXDrawable, int64_t, int64_t*, int64_t*, int64_t*);
+GLAPI PFNGLXWAITFORSBCOMLPROC glad_glXWaitForSbcOML;
+#define glXWaitForSbcOML glad_glXWaitForSbcOML
+#endif
+#ifndef GLX_EXT_framebuffer_sRGB
+#define GLX_EXT_framebuffer_sRGB 1
+GLAPI int GLAD_GLX_EXT_framebuffer_sRGB;
+#endif
+#ifndef GLX_SGI_make_current_read
+#define GLX_SGI_make_current_read 1
+GLAPI int GLAD_GLX_SGI_make_current_read;
+typedef Bool (APIENTRYP PFNGLXMAKECURRENTREADSGIPROC)(Display*, GLXDrawable, GLXDrawable, GLXContext);
+GLAPI PFNGLXMAKECURRENTREADSGIPROC glad_glXMakeCurrentReadSGI;
+#define glXMakeCurrentReadSGI glad_glXMakeCurrentReadSGI
+typedef GLXDrawable (APIENTRYP PFNGLXGETCURRENTREADDRAWABLESGIPROC)();
+GLAPI PFNGLXGETCURRENTREADDRAWABLESGIPROC glad_glXGetCurrentReadDrawableSGI;
+#define glXGetCurrentReadDrawableSGI glad_glXGetCurrentReadDrawableSGI
+#endif
+#ifndef GLX_SGI_swap_control
+#define GLX_SGI_swap_control 1
+GLAPI int GLAD_GLX_SGI_swap_control;
+typedef int (APIENTRYP PFNGLXSWAPINTERVALSGIPROC)(int);
+GLAPI PFNGLXSWAPINTERVALSGIPROC glad_glXSwapIntervalSGI;
+#define glXSwapIntervalSGI glad_glXSwapIntervalSGI
+#endif
+#ifndef GLX_EXT_fbconfig_packed_float
+#define GLX_EXT_fbconfig_packed_float 1
+GLAPI int GLAD_GLX_EXT_fbconfig_packed_float;
+#endif
+#ifndef GLX_EXT_buffer_age
+#define GLX_EXT_buffer_age 1
+GLAPI int GLAD_GLX_EXT_buffer_age;
+#endif
+#ifndef GLX_3DFX_multisample
+#define GLX_3DFX_multisample 1
+GLAPI int GLAD_GLX_3DFX_multisample;
+#endif
+#ifndef GLX_EXT_visual_info
+#define GLX_EXT_visual_info 1
+GLAPI int GLAD_GLX_EXT_visual_info;
+#endif
+#ifndef GLX_SGI_video_sync
+#define GLX_SGI_video_sync 1
+GLAPI int GLAD_GLX_SGI_video_sync;
+typedef int (APIENTRYP PFNGLXGETVIDEOSYNCSGIPROC)(unsigned int*);
+GLAPI PFNGLXGETVIDEOSYNCSGIPROC glad_glXGetVideoSyncSGI;
+#define glXGetVideoSyncSGI glad_glXGetVideoSyncSGI
+typedef int (APIENTRYP PFNGLXWAITVIDEOSYNCSGIPROC)(int, int, unsigned int*);
+GLAPI PFNGLXWAITVIDEOSYNCSGIPROC glad_glXWaitVideoSyncSGI;
+#define glXWaitVideoSyncSGI glad_glXWaitVideoSyncSGI
+#endif
+#ifndef GLX_MESA_agp_offset
+#define GLX_MESA_agp_offset 1
+GLAPI int GLAD_GLX_MESA_agp_offset;
+typedef unsigned int (APIENTRYP PFNGLXGETAGPOFFSETMESAPROC)(const void*);
+GLAPI PFNGLXGETAGPOFFSETMESAPROC glad_glXGetAGPOffsetMESA;
+#define glXGetAGPOffsetMESA glad_glXGetAGPOffsetMESA
+#endif
+#ifndef GLX_SGIS_multisample
+#define GLX_SGIS_multisample 1
+GLAPI int GLAD_GLX_SGIS_multisample;
+#endif
+#ifndef GLX_MESA_set_3dfx_mode
+#define GLX_MESA_set_3dfx_mode 1
+GLAPI int GLAD_GLX_MESA_set_3dfx_mode;
+typedef Bool (APIENTRYP PFNGLXSET3DFXMODEMESAPROC)(int);
+GLAPI PFNGLXSET3DFXMODEMESAPROC glad_glXSet3DfxModeMESA;
+#define glXSet3DfxModeMESA glad_glXSet3DfxModeMESA
+#endif
+#ifndef GLX_EXT_texture_from_pixmap
+#define GLX_EXT_texture_from_pixmap 1
+GLAPI int GLAD_GLX_EXT_texture_from_pixmap;
+typedef void (APIENTRYP PFNGLXBINDTEXIMAGEEXTPROC)(Display*, GLXDrawable, int, const int*);
+GLAPI PFNGLXBINDTEXIMAGEEXTPROC glad_glXBindTexImageEXT;
+#define glXBindTexImageEXT glad_glXBindTexImageEXT
+typedef void (APIENTRYP PFNGLXRELEASETEXIMAGEEXTPROC)(Display*, GLXDrawable, int);
+GLAPI PFNGLXRELEASETEXIMAGEEXTPROC glad_glXReleaseTexImageEXT;
+#define glXReleaseTexImageEXT glad_glXReleaseTexImageEXT
+#endif
+#ifndef GLX_NV_video_capture
+#define GLX_NV_video_capture 1
+GLAPI int GLAD_GLX_NV_video_capture;
+typedef int (APIENTRYP PFNGLXBINDVIDEOCAPTUREDEVICENVPROC)(Display*, unsigned int, GLXVideoCaptureDeviceNV);
+GLAPI PFNGLXBINDVIDEOCAPTUREDEVICENVPROC glad_glXBindVideoCaptureDeviceNV;
+#define glXBindVideoCaptureDeviceNV glad_glXBindVideoCaptureDeviceNV
+typedef GLXVideoCaptureDeviceNV* (APIENTRYP PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC)(Display*, int, int*);
+GLAPI PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_glXEnumerateVideoCaptureDevicesNV;
+#define glXEnumerateVideoCaptureDevicesNV glad_glXEnumerateVideoCaptureDevicesNV
+typedef void (APIENTRYP PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC)(Display*, GLXVideoCaptureDeviceNV);
+GLAPI PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC glad_glXLockVideoCaptureDeviceNV;
+#define glXLockVideoCaptureDeviceNV glad_glXLockVideoCaptureDeviceNV
+typedef int (APIENTRYP PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC)(Display*, GLXVideoCaptureDeviceNV, int, int*);
+GLAPI PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC glad_glXQueryVideoCaptureDeviceNV;
+#define glXQueryVideoCaptureDeviceNV glad_glXQueryVideoCaptureDeviceNV
+typedef void (APIENTRYP PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC)(Display*, GLXVideoCaptureDeviceNV);
+GLAPI PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC glad_glXReleaseVideoCaptureDeviceNV;
+#define glXReleaseVideoCaptureDeviceNV glad_glXReleaseVideoCaptureDeviceNV
+#endif
+#ifndef GLX_ARB_multisample
+#define GLX_ARB_multisample 1
+GLAPI int GLAD_GLX_ARB_multisample;
+#endif
+#ifndef GLX_NV_delay_before_swap
+#define GLX_NV_delay_before_swap 1
+GLAPI int GLAD_GLX_NV_delay_before_swap;
+typedef Bool (APIENTRYP PFNGLXDELAYBEFORESWAPNVPROC)(Display*, GLXDrawable, GLfloat);
+GLAPI PFNGLXDELAYBEFORESWAPNVPROC glad_glXDelayBeforeSwapNV;
+#define glXDelayBeforeSwapNV glad_glXDelayBeforeSwapNV
+#endif
+#ifndef GLX_SGIX_swap_group
+#define GLX_SGIX_swap_group 1
+GLAPI int GLAD_GLX_SGIX_swap_group;
+typedef void (APIENTRYP PFNGLXJOINSWAPGROUPSGIXPROC)(Display*, GLXDrawable, GLXDrawable);
+GLAPI PFNGLXJOINSWAPGROUPSGIXPROC glad_glXJoinSwapGroupSGIX;
+#define glXJoinSwapGroupSGIX glad_glXJoinSwapGroupSGIX
+#endif
+#ifndef GLX_EXT_swap_control
+#define GLX_EXT_swap_control 1
+GLAPI int GLAD_GLX_EXT_swap_control;
+typedef void (APIENTRYP PFNGLXSWAPINTERVALEXTPROC)(Display*, GLXDrawable, int);
+GLAPI PFNGLXSWAPINTERVALEXTPROC glad_glXSwapIntervalEXT;
+#define glXSwapIntervalEXT glad_glXSwapIntervalEXT
+#endif
+#ifndef GLX_SGIX_video_source
+#define GLX_SGIX_video_source 1
+GLAPI int GLAD_GLX_SGIX_video_source;
+#ifdef _VL_H_
+typedef GLXVideoSourceSGIX (APIENTRYP PFNGLXCREATEGLXVIDEOSOURCESGIXPROC)(Display*, int, VLServer, VLPath, int, VLNode);
+GLAPI PFNGLXCREATEGLXVIDEOSOURCESGIXPROC glad_glXCreateGLXVideoSourceSGIX;
+#define glXCreateGLXVideoSourceSGIX glad_glXCreateGLXVideoSourceSGIX
+typedef void (APIENTRYP PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC)(Display*, GLXVideoSourceSGIX);
+GLAPI PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC glad_glXDestroyGLXVideoSourceSGIX;
+#define glXDestroyGLXVideoSourceSGIX glad_glXDestroyGLXVideoSourceSGIX
+#endif
+#endif
+#ifndef GLX_MESA_query_renderer
+#define GLX_MESA_query_renderer 1
+GLAPI int GLAD_GLX_MESA_query_renderer;
+typedef Bool (APIENTRYP PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC)(int, unsigned int*);
+GLAPI PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC glad_glXQueryCurrentRendererIntegerMESA;
+#define glXQueryCurrentRendererIntegerMESA glad_glXQueryCurrentRendererIntegerMESA
+typedef const char* (APIENTRYP PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC)(int);
+GLAPI PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC glad_glXQueryCurrentRendererStringMESA;
+#define glXQueryCurrentRendererStringMESA glad_glXQueryCurrentRendererStringMESA
+typedef Bool (APIENTRYP PFNGLXQUERYRENDERERINTEGERMESAPROC)(Display*, int, int, int, unsigned int*);
+GLAPI PFNGLXQUERYRENDERERINTEGERMESAPROC glad_glXQueryRendererIntegerMESA;
+#define glXQueryRendererIntegerMESA glad_glXQueryRendererIntegerMESA
+typedef const char* (APIENTRYP PFNGLXQUERYRENDERERSTRINGMESAPROC)(Display*, int, int, int);
+GLAPI PFNGLXQUERYRENDERERSTRINGMESAPROC glad_glXQueryRendererStringMESA;
+#define glXQueryRendererStringMESA glad_glXQueryRendererStringMESA
+#endif
+#ifndef GLX_ARB_create_context
+#define GLX_ARB_create_context 1
+GLAPI int GLAD_GLX_ARB_create_context;
+typedef GLXContext (APIENTRYP PFNGLXCREATECONTEXTATTRIBSARBPROC)(Display*, GLXFBConfig, GLXContext, Bool, const int*);
+GLAPI PFNGLXCREATECONTEXTATTRIBSARBPROC glad_glXCreateContextAttribsARB;
+#define glXCreateContextAttribsARB glad_glXCreateContextAttribsARB
+#endif
+#ifndef GLX_EXT_create_context_es_profile
+#define GLX_EXT_create_context_es_profile 1
+GLAPI int GLAD_GLX_EXT_create_context_es_profile;
+#endif
+#ifndef GLX_SGIX_fbconfig
+#define GLX_SGIX_fbconfig 1
+GLAPI int GLAD_GLX_SGIX_fbconfig;
+typedef int (APIENTRYP PFNGLXGETFBCONFIGATTRIBSGIXPROC)(Display*, GLXFBConfigSGIX, int, int*);
+GLAPI PFNGLXGETFBCONFIGATTRIBSGIXPROC glad_glXGetFBConfigAttribSGIX;
+#define glXGetFBConfigAttribSGIX glad_glXGetFBConfigAttribSGIX
+typedef GLXFBConfigSGIX* (APIENTRYP PFNGLXCHOOSEFBCONFIGSGIXPROC)(Display*, int, int*, int*);
+GLAPI PFNGLXCHOOSEFBCONFIGSGIXPROC glad_glXChooseFBConfigSGIX;
+#define glXChooseFBConfigSGIX glad_glXChooseFBConfigSGIX
+typedef GLXPixmap (APIENTRYP PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC)(Display*, GLXFBConfigSGIX, Pixmap);
+GLAPI PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC glad_glXCreateGLXPixmapWithConfigSGIX;
+#define glXCreateGLXPixmapWithConfigSGIX glad_glXCreateGLXPixmapWithConfigSGIX
+typedef GLXContext (APIENTRYP PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC)(Display*, GLXFBConfigSGIX, int, GLXContext, Bool);
+GLAPI PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC glad_glXCreateContextWithConfigSGIX;
+#define glXCreateContextWithConfigSGIX glad_glXCreateContextWithConfigSGIX
+typedef XVisualInfo* (APIENTRYP PFNGLXGETVISUALFROMFBCONFIGSGIXPROC)(Display*, GLXFBConfigSGIX);
+GLAPI PFNGLXGETVISUALFROMFBCONFIGSGIXPROC glad_glXGetVisualFromFBConfigSGIX;
+#define glXGetVisualFromFBConfigSGIX glad_glXGetVisualFromFBConfigSGIX
+typedef GLXFBConfigSGIX (APIENTRYP PFNGLXGETFBCONFIGFROMVISUALSGIXPROC)(Display*, XVisualInfo*);
+GLAPI PFNGLXGETFBCONFIGFROMVISUALSGIXPROC glad_glXGetFBConfigFromVisualSGIX;
+#define glXGetFBConfigFromVisualSGIX glad_glXGetFBConfigFromVisualSGIX
+#endif
+#ifndef GLX_MESA_pixmap_colormap
+#define GLX_MESA_pixmap_colormap 1
+GLAPI int GLAD_GLX_MESA_pixmap_colormap;
+typedef GLXPixmap (APIENTRYP PFNGLXCREATEGLXPIXMAPMESAPROC)(Display*, XVisualInfo*, Pixmap, Colormap);
+GLAPI PFNGLXCREATEGLXPIXMAPMESAPROC glad_glXCreateGLXPixmapMESA;
+#define glXCreateGLXPixmapMESA glad_glXCreateGLXPixmapMESA
+#endif
+#ifndef GLX_SGIX_visual_select_group
+#define GLX_SGIX_visual_select_group 1
+GLAPI int GLAD_GLX_SGIX_visual_select_group;
+#endif
+#ifndef GLX_NV_video_output
+#define GLX_NV_video_output 1
+GLAPI int GLAD_GLX_NV_video_output;
+typedef int (APIENTRYP PFNGLXGETVIDEODEVICENVPROC)(Display*, int, int, GLXVideoDeviceNV*);
+GLAPI PFNGLXGETVIDEODEVICENVPROC glad_glXGetVideoDeviceNV;
+#define glXGetVideoDeviceNV glad_glXGetVideoDeviceNV
+typedef int (APIENTRYP PFNGLXRELEASEVIDEODEVICENVPROC)(Display*, int, GLXVideoDeviceNV);
+GLAPI PFNGLXRELEASEVIDEODEVICENVPROC glad_glXReleaseVideoDeviceNV;
+#define glXReleaseVideoDeviceNV glad_glXReleaseVideoDeviceNV
+typedef int (APIENTRYP PFNGLXBINDVIDEOIMAGENVPROC)(Display*, GLXVideoDeviceNV, GLXPbuffer, int);
+GLAPI PFNGLXBINDVIDEOIMAGENVPROC glad_glXBindVideoImageNV;
+#define glXBindVideoImageNV glad_glXBindVideoImageNV
+typedef int (APIENTRYP PFNGLXRELEASEVIDEOIMAGENVPROC)(Display*, GLXPbuffer);
+GLAPI PFNGLXRELEASEVIDEOIMAGENVPROC glad_glXReleaseVideoImageNV;
+#define glXReleaseVideoImageNV glad_glXReleaseVideoImageNV
+typedef int (APIENTRYP PFNGLXSENDPBUFFERTOVIDEONVPROC)(Display*, GLXPbuffer, int, unsigned long*, GLboolean);
+GLAPI PFNGLXSENDPBUFFERTOVIDEONVPROC glad_glXSendPbufferToVideoNV;
+#define glXSendPbufferToVideoNV glad_glXSendPbufferToVideoNV
+typedef int (APIENTRYP PFNGLXGETVIDEOINFONVPROC)(Display*, int, GLXVideoDeviceNV, unsigned long*, unsigned long*);
+GLAPI PFNGLXGETVIDEOINFONVPROC glad_glXGetVideoInfoNV;
+#define glXGetVideoInfoNV glad_glXGetVideoInfoNV
+#endif
+#ifndef GLX_SGIS_blended_overlay
+#define GLX_SGIS_blended_overlay 1
+GLAPI int GLAD_GLX_SGIS_blended_overlay;
+#endif
+#ifndef GLX_SGIX_dmbuffer
+#define GLX_SGIX_dmbuffer 1
+GLAPI int GLAD_GLX_SGIX_dmbuffer;
+#ifdef _DM_BUFFER_H_
+typedef Bool (APIENTRYP PFNGLXASSOCIATEDMPBUFFERSGIXPROC)(Display*, GLXPbufferSGIX, DMparams*, DMbuffer);
+GLAPI PFNGLXASSOCIATEDMPBUFFERSGIXPROC glad_glXAssociateDMPbufferSGIX;
+#define glXAssociateDMPbufferSGIX glad_glXAssociateDMPbufferSGIX
+#endif
+#endif
+#ifndef GLX_ARB_create_context_robustness
+#define GLX_ARB_create_context_robustness 1
+GLAPI int GLAD_GLX_ARB_create_context_robustness;
+#endif
+#ifndef GLX_SGIX_swap_barrier
+#define GLX_SGIX_swap_barrier 1
+GLAPI int GLAD_GLX_SGIX_swap_barrier;
+typedef void (APIENTRYP PFNGLXBINDSWAPBARRIERSGIXPROC)(Display*, GLXDrawable, int);
+GLAPI PFNGLXBINDSWAPBARRIERSGIXPROC glad_glXBindSwapBarrierSGIX;
+#define glXBindSwapBarrierSGIX glad_glXBindSwapBarrierSGIX
+typedef Bool (APIENTRYP PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC)(Display*, int, int*);
+GLAPI PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC glad_glXQueryMaxSwapBarriersSGIX;
+#define glXQueryMaxSwapBarriersSGIX glad_glXQueryMaxSwapBarriersSGIX
+#endif
+#ifndef GLX_EXT_swap_control_tear
+#define GLX_EXT_swap_control_tear 1
+GLAPI int GLAD_GLX_EXT_swap_control_tear;
+#endif
+#ifndef GLX_MESA_release_buffers
+#define GLX_MESA_release_buffers 1
+GLAPI int GLAD_GLX_MESA_release_buffers;
+typedef Bool (APIENTRYP PFNGLXRELEASEBUFFERSMESAPROC)(Display*, GLXDrawable);
+GLAPI PFNGLXRELEASEBUFFERSMESAPROC glad_glXReleaseBuffersMESA;
+#define glXReleaseBuffersMESA glad_glXReleaseBuffersMESA
+#endif
+#ifndef GLX_EXT_visual_rating
+#define GLX_EXT_visual_rating 1
+GLAPI int GLAD_GLX_EXT_visual_rating;
+#endif
+#ifndef GLX_MESA_copy_sub_buffer
+#define GLX_MESA_copy_sub_buffer 1
+GLAPI int GLAD_GLX_MESA_copy_sub_buffer;
+typedef void (APIENTRYP PFNGLXCOPYSUBBUFFERMESAPROC)(Display*, GLXDrawable, int, int, int, int);
+GLAPI PFNGLXCOPYSUBBUFFERMESAPROC glad_glXCopySubBufferMESA;
+#define glXCopySubBufferMESA glad_glXCopySubBufferMESA
+#endif
+#ifndef GLX_SGI_cushion
+#define GLX_SGI_cushion 1
+GLAPI int GLAD_GLX_SGI_cushion;
+typedef void (APIENTRYP PFNGLXCUSHIONSGIPROC)(Display*, Window, float);
+GLAPI PFNGLXCUSHIONSGIPROC glad_glXCushionSGI;
+#define glXCushionSGI glad_glXCushionSGI
+#endif
+#ifndef GLX_NV_float_buffer
+#define GLX_NV_float_buffer 1
+GLAPI int GLAD_GLX_NV_float_buffer;
+#endif
+#ifndef GLX_OML_swap_method
+#define GLX_OML_swap_method 1
+GLAPI int GLAD_GLX_OML_swap_method;
+#endif
+#ifndef GLX_NV_present_video
+#define GLX_NV_present_video 1
+GLAPI int GLAD_GLX_NV_present_video;
+typedef unsigned int* (APIENTRYP PFNGLXENUMERATEVIDEODEVICESNVPROC)(Display*, int, int*);
+GLAPI PFNGLXENUMERATEVIDEODEVICESNVPROC glad_glXEnumerateVideoDevicesNV;
+#define glXEnumerateVideoDevicesNV glad_glXEnumerateVideoDevicesNV
+typedef int (APIENTRYP PFNGLXBINDVIDEODEVICENVPROC)(Display*, unsigned int, unsigned int, const int*);
+GLAPI PFNGLXBINDVIDEODEVICENVPROC glad_glXBindVideoDeviceNV;
+#define glXBindVideoDeviceNV glad_glXBindVideoDeviceNV
+#endif
+#ifndef GLX_SUN_get_transparent_index
+#define GLX_SUN_get_transparent_index 1
+GLAPI int GLAD_GLX_SUN_get_transparent_index;
+typedef Status (APIENTRYP PFNGLXGETTRANSPARENTINDEXSUNPROC)(Display*, Window, Window, long*);
+GLAPI PFNGLXGETTRANSPARENTINDEXSUNPROC glad_glXGetTransparentIndexSUN;
+#define glXGetTransparentIndexSUN glad_glXGetTransparentIndexSUN
+#endif
+#ifndef GLX_AMD_gpu_association
+#define GLX_AMD_gpu_association 1
+GLAPI int GLAD_GLX_AMD_gpu_association;
+#endif
+#ifndef GLX_ARB_create_context_profile
+#define GLX_ARB_create_context_profile 1
+GLAPI int GLAD_GLX_ARB_create_context_profile;
+#endif
+#ifndef GLX_ARB_get_proc_address
+#define GLX_ARB_get_proc_address 1
+GLAPI int GLAD_GLX_ARB_get_proc_address;
+typedef __GLXextFuncPtr (APIENTRYP PFNGLXGETPROCADDRESSARBPROC)(const GLubyte*);
+GLAPI PFNGLXGETPROCADDRESSARBPROC glad_glXGetProcAddressARB;
+#define glXGetProcAddressARB glad_glXGetProcAddressARB
+#endif
+#ifndef GLX_ARB_vertex_buffer_object
+#define GLX_ARB_vertex_buffer_object 1
+GLAPI int GLAD_GLX_ARB_vertex_buffer_object;
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif

+ 903 - 0
deps/glad/include/glad/glad_wgl.h

@@ -0,0 +1,903 @@
+
+#ifndef WINAPI
+# ifndef WIN32_LEAN_AND_MEAN
+#  define WIN32_LEAN_AND_MEAN 1
+# endif
+# include <windows.h>
+#endif
+
+#include <glad/glad.h>
+
+#ifndef __glad_wglext_h_
+
+#ifdef __wglext_h_
+#error WGL header already included, remove this include, glad already provides it
+#endif
+
+#define __glad_wglext_h_
+#define __wglext_h_
+
+#ifndef APIENTRY
+#define APIENTRY
+#endif
+#ifndef APIENTRYP
+#define APIENTRYP APIENTRY *
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void* (* GLADloadproc)(const char *name);
+
+#define GLAD_GLAPI_EXPORT
+
+#ifndef GLAPI
+# if defined(GLAD_GLAPI_EXPORT)
+#  if defined(WIN32) || defined(__CYGWIN__)
+#   if defined(GLAD_GLAPI_EXPORT_BUILD)
+#    if defined(__GNUC__)
+#     define GLAPI __attribute__ ((dllexport)) extern
+#    else
+#     define GLAPI __declspec(dllexport) extern
+#    endif
+#   else
+#    if defined(__GNUC__)
+#     define GLAPI __attribute__ ((dllimport)) extern
+#    else
+#     define GLAPI __declspec(dllimport) extern
+#    endif
+#   endif
+#  elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD)
+#   define GLAPI __attribute__ ((visibility ("default"))) extern
+#  else
+#   define GLAPI extern
+#  endif
+# else
+#  define GLAPI extern
+# endif
+#endif
+
+GLAPI int gladLoadWGL(HDC hdc);
+
+GLAPI void gladLoadWGLLoader(GLADloadproc, HDC hdc);
+
+struct _GPU_DEVICE {
+    DWORD  cb;
+    CHAR   DeviceName[32];
+    CHAR   DeviceString[128];
+    DWORD  Flags;
+    RECT   rcVirtualScreen;
+};
+DECLARE_HANDLE(HPBUFFERARB);
+DECLARE_HANDLE(HPBUFFEREXT);
+DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
+DECLARE_HANDLE(HPVIDEODEV);
+DECLARE_HANDLE(HPGPUNV);
+DECLARE_HANDLE(HGPUNV);
+DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
+typedef struct _GPU_DEVICE GPU_DEVICE;
+typedef struct _GPU_DEVICE *PGPU_DEVICE;
+#define WGL_COVERAGE_SAMPLES_NV 0x2042
+#define WGL_COLOR_SAMPLES_NV 0x20B9
+#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
+#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
+#define WGL_FLOAT_COMPONENTS_NV 0x20B0
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
+#define WGL_TEXTURE_FLOAT_R_NV 0x20B5
+#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
+#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
+#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
+#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
+#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001
+#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
+#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
+#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
+#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
+#define WGL_CONTEXT_FLAGS_ARB 0x2094
+#define ERROR_INVALID_VERSION_ARB 0x2095
+#define ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
+#define ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
+#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
+#define WGL_DRAW_TO_WINDOW_EXT 0x2001
+#define WGL_DRAW_TO_BITMAP_EXT 0x2002
+#define WGL_ACCELERATION_EXT 0x2003
+#define WGL_NEED_PALETTE_EXT 0x2004
+#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
+#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
+#define WGL_SWAP_METHOD_EXT 0x2007
+#define WGL_NUMBER_OVERLAYS_EXT 0x2008
+#define WGL_NUMBER_UNDERLAYS_EXT 0x2009
+#define WGL_TRANSPARENT_EXT 0x200A
+#define WGL_TRANSPARENT_VALUE_EXT 0x200B
+#define WGL_SHARE_DEPTH_EXT 0x200C
+#define WGL_SHARE_STENCIL_EXT 0x200D
+#define WGL_SHARE_ACCUM_EXT 0x200E
+#define WGL_SUPPORT_GDI_EXT 0x200F
+#define WGL_SUPPORT_OPENGL_EXT 0x2010
+#define WGL_DOUBLE_BUFFER_EXT 0x2011
+#define WGL_STEREO_EXT 0x2012
+#define WGL_PIXEL_TYPE_EXT 0x2013
+#define WGL_COLOR_BITS_EXT 0x2014
+#define WGL_RED_BITS_EXT 0x2015
+#define WGL_RED_SHIFT_EXT 0x2016
+#define WGL_GREEN_BITS_EXT 0x2017
+#define WGL_GREEN_SHIFT_EXT 0x2018
+#define WGL_BLUE_BITS_EXT 0x2019
+#define WGL_BLUE_SHIFT_EXT 0x201A
+#define WGL_ALPHA_BITS_EXT 0x201B
+#define WGL_ALPHA_SHIFT_EXT 0x201C
+#define WGL_ACCUM_BITS_EXT 0x201D
+#define WGL_ACCUM_RED_BITS_EXT 0x201E
+#define WGL_ACCUM_GREEN_BITS_EXT 0x201F
+#define WGL_ACCUM_BLUE_BITS_EXT 0x2020
+#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
+#define WGL_DEPTH_BITS_EXT 0x2022
+#define WGL_STENCIL_BITS_EXT 0x2023
+#define WGL_AUX_BUFFERS_EXT 0x2024
+#define WGL_NO_ACCELERATION_EXT 0x2025
+#define WGL_GENERIC_ACCELERATION_EXT 0x2026
+#define WGL_FULL_ACCELERATION_EXT 0x2027
+#define WGL_SWAP_EXCHANGE_EXT 0x2028
+#define WGL_SWAP_COPY_EXT 0x2029
+#define WGL_SWAP_UNDEFINED_EXT 0x202A
+#define WGL_TYPE_RGBA_EXT 0x202B
+#define WGL_TYPE_COLORINDEX_EXT 0x202C
+#define WGL_UNIQUE_ID_NV 0x20CE
+#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
+#define WGL_TEXTURE_RECTANGLE_NV 0x20A2
+#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
+#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
+#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
+#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
+#define WGL_TEXTURE_FORMAT_ARB 0x2072
+#define WGL_TEXTURE_TARGET_ARB 0x2073
+#define WGL_MIPMAP_TEXTURE_ARB 0x2074
+#define WGL_TEXTURE_RGB_ARB 0x2075
+#define WGL_TEXTURE_RGBA_ARB 0x2076
+#define WGL_NO_TEXTURE_ARB 0x2077
+#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
+#define WGL_TEXTURE_1D_ARB 0x2079
+#define WGL_TEXTURE_2D_ARB 0x207A
+#define WGL_MIPMAP_LEVEL_ARB 0x207B
+#define WGL_CUBE_MAP_FACE_ARB 0x207C
+#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
+#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
+#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
+#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
+#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
+#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
+#define WGL_FRONT_LEFT_ARB 0x2083
+#define WGL_FRONT_RIGHT_ARB 0x2084
+#define WGL_BACK_LEFT_ARB 0x2085
+#define WGL_BACK_RIGHT_ARB 0x2086
+#define WGL_AUX0_ARB 0x2087
+#define WGL_AUX1_ARB 0x2088
+#define WGL_AUX2_ARB 0x2089
+#define WGL_AUX3_ARB 0x208A
+#define WGL_AUX4_ARB 0x208B
+#define WGL_AUX5_ARB 0x208C
+#define WGL_AUX6_ARB 0x208D
+#define WGL_AUX7_ARB 0x208E
+#define WGL_AUX8_ARB 0x208F
+#define WGL_AUX9_ARB 0x2090
+#define WGL_DEPTH_FLOAT_EXT 0x2040
+#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
+#define WGL_DRAW_TO_WINDOW_ARB 0x2001
+#define WGL_DRAW_TO_BITMAP_ARB 0x2002
+#define WGL_ACCELERATION_ARB 0x2003
+#define WGL_NEED_PALETTE_ARB 0x2004
+#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
+#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
+#define WGL_SWAP_METHOD_ARB 0x2007
+#define WGL_NUMBER_OVERLAYS_ARB 0x2008
+#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
+#define WGL_TRANSPARENT_ARB 0x200A
+#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
+#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
+#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
+#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
+#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
+#define WGL_SHARE_DEPTH_ARB 0x200C
+#define WGL_SHARE_STENCIL_ARB 0x200D
+#define WGL_SHARE_ACCUM_ARB 0x200E
+#define WGL_SUPPORT_GDI_ARB 0x200F
+#define WGL_SUPPORT_OPENGL_ARB 0x2010
+#define WGL_DOUBLE_BUFFER_ARB 0x2011
+#define WGL_STEREO_ARB 0x2012
+#define WGL_PIXEL_TYPE_ARB 0x2013
+#define WGL_COLOR_BITS_ARB 0x2014
+#define WGL_RED_BITS_ARB 0x2015
+#define WGL_RED_SHIFT_ARB 0x2016
+#define WGL_GREEN_BITS_ARB 0x2017
+#define WGL_GREEN_SHIFT_ARB 0x2018
+#define WGL_BLUE_BITS_ARB 0x2019
+#define WGL_BLUE_SHIFT_ARB 0x201A
+#define WGL_ALPHA_BITS_ARB 0x201B
+#define WGL_ALPHA_SHIFT_ARB 0x201C
+#define WGL_ACCUM_BITS_ARB 0x201D
+#define WGL_ACCUM_RED_BITS_ARB 0x201E
+#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
+#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
+#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
+#define WGL_DEPTH_BITS_ARB 0x2022
+#define WGL_STENCIL_BITS_ARB 0x2023
+#define WGL_AUX_BUFFERS_ARB 0x2024
+#define WGL_NO_ACCELERATION_ARB 0x2025
+#define WGL_GENERIC_ACCELERATION_ARB 0x2026
+#define WGL_FULL_ACCELERATION_ARB 0x2027
+#define WGL_SWAP_EXCHANGE_ARB 0x2028
+#define WGL_SWAP_COPY_ARB 0x2029
+#define WGL_SWAP_UNDEFINED_ARB 0x202A
+#define WGL_TYPE_RGBA_ARB 0x202B
+#define WGL_TYPE_COLORINDEX_ARB 0x202C
+#define WGL_SAMPLE_BUFFERS_ARB 0x2041
+#define WGL_SAMPLES_ARB 0x2042
+#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
+#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
+#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
+#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
+#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
+#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
+#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
+#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
+#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
+#define WGL_ACCESS_READ_ONLY_NV 0x00000000
+#define WGL_ACCESS_READ_WRITE_NV 0x00000001
+#define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002
+#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
+#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
+#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
+#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
+#define WGL_DRAW_TO_PBUFFER_EXT 0x202D
+#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
+#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
+#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
+#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
+#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
+#define WGL_PBUFFER_LARGEST_EXT 0x2033
+#define WGL_PBUFFER_WIDTH_EXT 0x2034
+#define WGL_PBUFFER_HEIGHT_EXT 0x2035
+#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
+#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
+#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
+#define WGL_VIDEO_OUT_COLOR_NV 0x20C3
+#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
+#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
+#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
+#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
+#define WGL_VIDEO_OUT_FRAME 0x20C8
+#define WGL_VIDEO_OUT_FIELD_1 0x20C9
+#define WGL_VIDEO_OUT_FIELD_2 0x20CA
+#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
+#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
+#define WGL_SAMPLE_BUFFERS_3DFX 0x2060
+#define WGL_SAMPLES_3DFX 0x2061
+#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
+#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
+#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
+#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
+#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
+#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
+#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
+#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
+#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
+#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261
+#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
+#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
+#define WGL_SAMPLE_BUFFERS_EXT 0x2041
+#define WGL_SAMPLES_EXT 0x2042
+#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
+#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
+#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
+#define WGL_DEPTH_COMPONENT_NV 0x20A7
+#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
+#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
+#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
+#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
+#define ERROR_INVALID_PROFILE_ARB 0x2096
+#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
+#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
+#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
+#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
+#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
+#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
+#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
+#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
+#define WGL_PBUFFER_LARGEST_ARB 0x2033
+#define WGL_PBUFFER_WIDTH_ARB 0x2034
+#define WGL_PBUFFER_HEIGHT_ARB 0x2035
+#define WGL_PBUFFER_LOST_ARB 0x2036
+#define WGL_GPU_VENDOR_AMD 0x1F00
+#define WGL_GPU_RENDERER_STRING_AMD 0x1F01
+#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
+#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
+#define WGL_GPU_RAM_AMD 0x21A3
+#define WGL_GPU_CLOCK_AMD 0x21A4
+#define WGL_GPU_NUM_PIPES_AMD 0x21A5
+#define WGL_GPU_NUM_SIMD_AMD 0x21A6
+#define WGL_GPU_NUM_RB_AMD 0x21A7
+#define WGL_GPU_NUM_SPI_AMD 0x21A8
+#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
+#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
+#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
+#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
+#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
+#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
+#ifndef WGL_NV_multisample_coverage
+#define WGL_NV_multisample_coverage 1
+GLAPI int GLAD_WGL_NV_multisample_coverage;
+#endif
+#ifndef WGL_I3D_image_buffer
+#define WGL_I3D_image_buffer 1
+GLAPI int GLAD_WGL_I3D_image_buffer;
+typedef LPVOID (APIENTRYP PFNWGLCREATEIMAGEBUFFERI3DPROC)(HDC, DWORD, UINT);
+GLAPI PFNWGLCREATEIMAGEBUFFERI3DPROC glad_wglCreateImageBufferI3D;
+#define wglCreateImageBufferI3D glad_wglCreateImageBufferI3D
+typedef BOOL (APIENTRYP PFNWGLDESTROYIMAGEBUFFERI3DPROC)(HDC, LPVOID);
+GLAPI PFNWGLDESTROYIMAGEBUFFERI3DPROC glad_wglDestroyImageBufferI3D;
+#define wglDestroyImageBufferI3D glad_wglDestroyImageBufferI3D
+typedef BOOL (APIENTRYP PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC)(HDC, const HANDLE*, const LPVOID*, const DWORD*, UINT);
+GLAPI PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC glad_wglAssociateImageBufferEventsI3D;
+#define wglAssociateImageBufferEventsI3D glad_wglAssociateImageBufferEventsI3D
+typedef BOOL (APIENTRYP PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC)(HDC, const LPVOID*, UINT);
+GLAPI PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC glad_wglReleaseImageBufferEventsI3D;
+#define wglReleaseImageBufferEventsI3D glad_wglReleaseImageBufferEventsI3D
+#endif
+#ifndef WGL_I3D_swap_frame_usage
+#define WGL_I3D_swap_frame_usage 1
+GLAPI int GLAD_WGL_I3D_swap_frame_usage;
+typedef BOOL (APIENTRYP PFNWGLGETFRAMEUSAGEI3DPROC)(float*);
+GLAPI PFNWGLGETFRAMEUSAGEI3DPROC glad_wglGetFrameUsageI3D;
+#define wglGetFrameUsageI3D glad_wglGetFrameUsageI3D
+typedef BOOL (APIENTRYP PFNWGLBEGINFRAMETRACKINGI3DPROC)();
+GLAPI PFNWGLBEGINFRAMETRACKINGI3DPROC glad_wglBeginFrameTrackingI3D;
+#define wglBeginFrameTrackingI3D glad_wglBeginFrameTrackingI3D
+typedef BOOL (APIENTRYP PFNWGLENDFRAMETRACKINGI3DPROC)();
+GLAPI PFNWGLENDFRAMETRACKINGI3DPROC glad_wglEndFrameTrackingI3D;
+#define wglEndFrameTrackingI3D glad_wglEndFrameTrackingI3D
+typedef BOOL (APIENTRYP PFNWGLQUERYFRAMETRACKINGI3DPROC)(DWORD*, DWORD*, float*);
+GLAPI PFNWGLQUERYFRAMETRACKINGI3DPROC glad_wglQueryFrameTrackingI3D;
+#define wglQueryFrameTrackingI3D glad_wglQueryFrameTrackingI3D
+#endif
+#ifndef WGL_NV_DX_interop2
+#define WGL_NV_DX_interop2 1
+GLAPI int GLAD_WGL_NV_DX_interop2;
+#endif
+#ifndef WGL_NV_float_buffer
+#define WGL_NV_float_buffer 1
+GLAPI int GLAD_WGL_NV_float_buffer;
+#endif
+#ifndef WGL_NV_delay_before_swap
+#define WGL_NV_delay_before_swap 1
+GLAPI int GLAD_WGL_NV_delay_before_swap;
+typedef BOOL (APIENTRYP PFNWGLDELAYBEFORESWAPNVPROC)(HDC, GLfloat);
+GLAPI PFNWGLDELAYBEFORESWAPNVPROC glad_wglDelayBeforeSwapNV;
+#define wglDelayBeforeSwapNV glad_wglDelayBeforeSwapNV
+#endif
+#ifndef WGL_OML_sync_control
+#define WGL_OML_sync_control 1
+GLAPI int GLAD_WGL_OML_sync_control;
+typedef BOOL (APIENTRYP PFNWGLGETSYNCVALUESOMLPROC)(HDC, INT64*, INT64*, INT64*);
+GLAPI PFNWGLGETSYNCVALUESOMLPROC glad_wglGetSyncValuesOML;
+#define wglGetSyncValuesOML glad_wglGetSyncValuesOML
+typedef BOOL (APIENTRYP PFNWGLGETMSCRATEOMLPROC)(HDC, INT32*, INT32*);
+GLAPI PFNWGLGETMSCRATEOMLPROC glad_wglGetMscRateOML;
+#define wglGetMscRateOML glad_wglGetMscRateOML
+typedef INT64 (APIENTRYP PFNWGLSWAPBUFFERSMSCOMLPROC)(HDC, INT64, INT64, INT64);
+GLAPI PFNWGLSWAPBUFFERSMSCOMLPROC glad_wglSwapBuffersMscOML;
+#define wglSwapBuffersMscOML glad_wglSwapBuffersMscOML
+typedef INT64 (APIENTRYP PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)(HDC, int, INT64, INT64, INT64);
+GLAPI PFNWGLSWAPLAYERBUFFERSMSCOMLPROC glad_wglSwapLayerBuffersMscOML;
+#define wglSwapLayerBuffersMscOML glad_wglSwapLayerBuffersMscOML
+typedef BOOL (APIENTRYP PFNWGLWAITFORMSCOMLPROC)(HDC, INT64, INT64, INT64, INT64*, INT64*, INT64*);
+GLAPI PFNWGLWAITFORMSCOMLPROC glad_wglWaitForMscOML;
+#define wglWaitForMscOML glad_wglWaitForMscOML
+typedef BOOL (APIENTRYP PFNWGLWAITFORSBCOMLPROC)(HDC, INT64, INT64*, INT64*, INT64*);
+GLAPI PFNWGLWAITFORSBCOMLPROC glad_wglWaitForSbcOML;
+#define wglWaitForSbcOML glad_wglWaitForSbcOML
+#endif
+#ifndef WGL_ARB_pixel_format_float
+#define WGL_ARB_pixel_format_float 1
+GLAPI int GLAD_WGL_ARB_pixel_format_float;
+#endif
+#ifndef WGL_ARB_create_context
+#define WGL_ARB_create_context 1
+GLAPI int GLAD_WGL_ARB_create_context;
+typedef HGLRC (APIENTRYP PFNWGLCREATECONTEXTATTRIBSARBPROC)(HDC, HGLRC, const int*);
+GLAPI PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB;
+#define wglCreateContextAttribsARB glad_wglCreateContextAttribsARB
+#endif
+#ifndef WGL_NV_swap_group
+#define WGL_NV_swap_group 1
+GLAPI int GLAD_WGL_NV_swap_group;
+typedef BOOL (APIENTRYP PFNWGLJOINSWAPGROUPNVPROC)(HDC, GLuint);
+GLAPI PFNWGLJOINSWAPGROUPNVPROC glad_wglJoinSwapGroupNV;
+#define wglJoinSwapGroupNV glad_wglJoinSwapGroupNV
+typedef BOOL (APIENTRYP PFNWGLBINDSWAPBARRIERNVPROC)(GLuint, GLuint);
+GLAPI PFNWGLBINDSWAPBARRIERNVPROC glad_wglBindSwapBarrierNV;
+#define wglBindSwapBarrierNV glad_wglBindSwapBarrierNV
+typedef BOOL (APIENTRYP PFNWGLQUERYSWAPGROUPNVPROC)(HDC, GLuint*, GLuint*);
+GLAPI PFNWGLQUERYSWAPGROUPNVPROC glad_wglQuerySwapGroupNV;
+#define wglQuerySwapGroupNV glad_wglQuerySwapGroupNV
+typedef BOOL (APIENTRYP PFNWGLQUERYMAXSWAPGROUPSNVPROC)(HDC, GLuint*, GLuint*);
+GLAPI PFNWGLQUERYMAXSWAPGROUPSNVPROC glad_wglQueryMaxSwapGroupsNV;
+#define wglQueryMaxSwapGroupsNV glad_wglQueryMaxSwapGroupsNV
+typedef BOOL (APIENTRYP PFNWGLQUERYFRAMECOUNTNVPROC)(HDC, GLuint*);
+GLAPI PFNWGLQUERYFRAMECOUNTNVPROC glad_wglQueryFrameCountNV;
+#define wglQueryFrameCountNV glad_wglQueryFrameCountNV
+typedef BOOL (APIENTRYP PFNWGLRESETFRAMECOUNTNVPROC)(HDC);
+GLAPI PFNWGLRESETFRAMECOUNTNVPROC glad_wglResetFrameCountNV;
+#define wglResetFrameCountNV glad_wglResetFrameCountNV
+#endif
+#ifndef WGL_NV_gpu_affinity
+#define WGL_NV_gpu_affinity 1
+GLAPI int GLAD_WGL_NV_gpu_affinity;
+typedef BOOL (APIENTRYP PFNWGLENUMGPUSNVPROC)(UINT, HGPUNV*);
+GLAPI PFNWGLENUMGPUSNVPROC glad_wglEnumGpusNV;
+#define wglEnumGpusNV glad_wglEnumGpusNV
+typedef BOOL (APIENTRYP PFNWGLENUMGPUDEVICESNVPROC)(HGPUNV, UINT, PGPU_DEVICE);
+GLAPI PFNWGLENUMGPUDEVICESNVPROC glad_wglEnumGpuDevicesNV;
+#define wglEnumGpuDevicesNV glad_wglEnumGpuDevicesNV
+typedef HDC (APIENTRYP PFNWGLCREATEAFFINITYDCNVPROC)(const HGPUNV*);
+GLAPI PFNWGLCREATEAFFINITYDCNVPROC glad_wglCreateAffinityDCNV;
+#define wglCreateAffinityDCNV glad_wglCreateAffinityDCNV
+typedef BOOL (APIENTRYP PFNWGLENUMGPUSFROMAFFINITYDCNVPROC)(HDC, UINT, HGPUNV*);
+GLAPI PFNWGLENUMGPUSFROMAFFINITYDCNVPROC glad_wglEnumGpusFromAffinityDCNV;
+#define wglEnumGpusFromAffinityDCNV glad_wglEnumGpusFromAffinityDCNV
+typedef BOOL (APIENTRYP PFNWGLDELETEDCNVPROC)(HDC);
+GLAPI PFNWGLDELETEDCNVPROC glad_wglDeleteDCNV;
+#define wglDeleteDCNV glad_wglDeleteDCNV
+#endif
+#ifndef WGL_EXT_pixel_format
+#define WGL_EXT_pixel_format 1
+GLAPI int GLAD_WGL_EXT_pixel_format;
+typedef BOOL (APIENTRYP PFNWGLGETPIXELFORMATATTRIBIVEXTPROC)(HDC, int, int, UINT, int*, int*);
+GLAPI PFNWGLGETPIXELFORMATATTRIBIVEXTPROC glad_wglGetPixelFormatAttribivEXT;
+#define wglGetPixelFormatAttribivEXT glad_wglGetPixelFormatAttribivEXT
+typedef BOOL (APIENTRYP PFNWGLGETPIXELFORMATATTRIBFVEXTPROC)(HDC, int, int, UINT, int*, FLOAT*);
+GLAPI PFNWGLGETPIXELFORMATATTRIBFVEXTPROC glad_wglGetPixelFormatAttribfvEXT;
+#define wglGetPixelFormatAttribfvEXT glad_wglGetPixelFormatAttribfvEXT
+typedef BOOL (APIENTRYP PFNWGLCHOOSEPIXELFORMATEXTPROC)(HDC, const int*, const FLOAT*, UINT, int*, UINT*);
+GLAPI PFNWGLCHOOSEPIXELFORMATEXTPROC glad_wglChoosePixelFormatEXT;
+#define wglChoosePixelFormatEXT glad_wglChoosePixelFormatEXT
+#endif
+#ifndef WGL_ARB_extensions_string
+#define WGL_ARB_extensions_string 1
+GLAPI int GLAD_WGL_ARB_extensions_string;
+typedef const char* (APIENTRYP PFNWGLGETEXTENSIONSSTRINGARBPROC)(HDC);
+GLAPI PFNWGLGETEXTENSIONSSTRINGARBPROC glad_wglGetExtensionsStringARB;
+#define wglGetExtensionsStringARB glad_wglGetExtensionsStringARB
+#endif
+#ifndef WGL_NV_video_capture
+#define WGL_NV_video_capture 1
+GLAPI int GLAD_WGL_NV_video_capture;
+typedef BOOL (APIENTRYP PFNWGLBINDVIDEOCAPTUREDEVICENVPROC)(UINT, HVIDEOINPUTDEVICENV);
+GLAPI PFNWGLBINDVIDEOCAPTUREDEVICENVPROC glad_wglBindVideoCaptureDeviceNV;
+#define wglBindVideoCaptureDeviceNV glad_wglBindVideoCaptureDeviceNV
+typedef UINT (APIENTRYP PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC)(HDC, HVIDEOINPUTDEVICENV*);
+GLAPI PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_wglEnumerateVideoCaptureDevicesNV;
+#define wglEnumerateVideoCaptureDevicesNV glad_wglEnumerateVideoCaptureDevicesNV
+typedef BOOL (APIENTRYP PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC)(HDC, HVIDEOINPUTDEVICENV);
+GLAPI PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC glad_wglLockVideoCaptureDeviceNV;
+#define wglLockVideoCaptureDeviceNV glad_wglLockVideoCaptureDeviceNV
+typedef BOOL (APIENTRYP PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC)(HDC, HVIDEOINPUTDEVICENV, int, int*);
+GLAPI PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC glad_wglQueryVideoCaptureDeviceNV;
+#define wglQueryVideoCaptureDeviceNV glad_wglQueryVideoCaptureDeviceNV
+typedef BOOL (APIENTRYP PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC)(HDC, HVIDEOINPUTDEVICENV);
+GLAPI PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC glad_wglReleaseVideoCaptureDeviceNV;
+#define wglReleaseVideoCaptureDeviceNV glad_wglReleaseVideoCaptureDeviceNV
+#endif
+#ifndef WGL_NV_render_texture_rectangle
+#define WGL_NV_render_texture_rectangle 1
+GLAPI int GLAD_WGL_NV_render_texture_rectangle;
+#endif
+#ifndef WGL_EXT_create_context_es_profile
+#define WGL_EXT_create_context_es_profile 1
+GLAPI int GLAD_WGL_EXT_create_context_es_profile;
+#endif
+#ifndef WGL_ARB_robustness_share_group_isolation
+#define WGL_ARB_robustness_share_group_isolation 1
+GLAPI int GLAD_WGL_ARB_robustness_share_group_isolation;
+#endif
+#ifndef WGL_ARB_render_texture
+#define WGL_ARB_render_texture 1
+GLAPI int GLAD_WGL_ARB_render_texture;
+typedef BOOL (APIENTRYP PFNWGLBINDTEXIMAGEARBPROC)(HPBUFFERARB, int);
+GLAPI PFNWGLBINDTEXIMAGEARBPROC glad_wglBindTexImageARB;
+#define wglBindTexImageARB glad_wglBindTexImageARB
+typedef BOOL (APIENTRYP PFNWGLRELEASETEXIMAGEARBPROC)(HPBUFFERARB, int);
+GLAPI PFNWGLRELEASETEXIMAGEARBPROC glad_wglReleaseTexImageARB;
+#define wglReleaseTexImageARB glad_wglReleaseTexImageARB
+typedef BOOL (APIENTRYP PFNWGLSETPBUFFERATTRIBARBPROC)(HPBUFFERARB, const int*);
+GLAPI PFNWGLSETPBUFFERATTRIBARBPROC glad_wglSetPbufferAttribARB;
+#define wglSetPbufferAttribARB glad_wglSetPbufferAttribARB
+#endif
+#ifndef WGL_EXT_depth_float
+#define WGL_EXT_depth_float 1
+GLAPI int GLAD_WGL_EXT_depth_float;
+#endif
+#ifndef WGL_EXT_swap_control_tear
+#define WGL_EXT_swap_control_tear 1
+GLAPI int GLAD_WGL_EXT_swap_control_tear;
+#endif
+#ifndef WGL_ARB_pixel_format
+#define WGL_ARB_pixel_format 1
+GLAPI int GLAD_WGL_ARB_pixel_format;
+typedef BOOL (APIENTRYP PFNWGLGETPIXELFORMATATTRIBIVARBPROC)(HDC, int, int, UINT, const int*, int*);
+GLAPI PFNWGLGETPIXELFORMATATTRIBIVARBPROC glad_wglGetPixelFormatAttribivARB;
+#define wglGetPixelFormatAttribivARB glad_wglGetPixelFormatAttribivARB
+typedef BOOL (APIENTRYP PFNWGLGETPIXELFORMATATTRIBFVARBPROC)(HDC, int, int, UINT, const int*, FLOAT*);
+GLAPI PFNWGLGETPIXELFORMATATTRIBFVARBPROC glad_wglGetPixelFormatAttribfvARB;
+#define wglGetPixelFormatAttribfvARB glad_wglGetPixelFormatAttribfvARB
+typedef BOOL (APIENTRYP PFNWGLCHOOSEPIXELFORMATARBPROC)(HDC, const int*, const FLOAT*, UINT, int*, UINT*);
+GLAPI PFNWGLCHOOSEPIXELFORMATARBPROC glad_wglChoosePixelFormatARB;
+#define wglChoosePixelFormatARB glad_wglChoosePixelFormatARB
+#endif
+#ifndef WGL_ARB_multisample
+#define WGL_ARB_multisample 1
+GLAPI int GLAD_WGL_ARB_multisample;
+#endif
+#ifndef WGL_I3D_genlock
+#define WGL_I3D_genlock 1
+GLAPI int GLAD_WGL_I3D_genlock;
+typedef BOOL (APIENTRYP PFNWGLENABLEGENLOCKI3DPROC)(HDC);
+GLAPI PFNWGLENABLEGENLOCKI3DPROC glad_wglEnableGenlockI3D;
+#define wglEnableGenlockI3D glad_wglEnableGenlockI3D
+typedef BOOL (APIENTRYP PFNWGLDISABLEGENLOCKI3DPROC)(HDC);
+GLAPI PFNWGLDISABLEGENLOCKI3DPROC glad_wglDisableGenlockI3D;
+#define wglDisableGenlockI3D glad_wglDisableGenlockI3D
+typedef BOOL (APIENTRYP PFNWGLISENABLEDGENLOCKI3DPROC)(HDC, BOOL*);
+GLAPI PFNWGLISENABLEDGENLOCKI3DPROC glad_wglIsEnabledGenlockI3D;
+#define wglIsEnabledGenlockI3D glad_wglIsEnabledGenlockI3D
+typedef BOOL (APIENTRYP PFNWGLGENLOCKSOURCEI3DPROC)(HDC, UINT);
+GLAPI PFNWGLGENLOCKSOURCEI3DPROC glad_wglGenlockSourceI3D;
+#define wglGenlockSourceI3D glad_wglGenlockSourceI3D
+typedef BOOL (APIENTRYP PFNWGLGETGENLOCKSOURCEI3DPROC)(HDC, UINT*);
+GLAPI PFNWGLGETGENLOCKSOURCEI3DPROC glad_wglGetGenlockSourceI3D;
+#define wglGetGenlockSourceI3D glad_wglGetGenlockSourceI3D
+typedef BOOL (APIENTRYP PFNWGLGENLOCKSOURCEEDGEI3DPROC)(HDC, UINT);
+GLAPI PFNWGLGENLOCKSOURCEEDGEI3DPROC glad_wglGenlockSourceEdgeI3D;
+#define wglGenlockSourceEdgeI3D glad_wglGenlockSourceEdgeI3D
+typedef BOOL (APIENTRYP PFNWGLGETGENLOCKSOURCEEDGEI3DPROC)(HDC, UINT*);
+GLAPI PFNWGLGETGENLOCKSOURCEEDGEI3DPROC glad_wglGetGenlockSourceEdgeI3D;
+#define wglGetGenlockSourceEdgeI3D glad_wglGetGenlockSourceEdgeI3D
+typedef BOOL (APIENTRYP PFNWGLGENLOCKSAMPLERATEI3DPROC)(HDC, UINT);
+GLAPI PFNWGLGENLOCKSAMPLERATEI3DPROC glad_wglGenlockSampleRateI3D;
+#define wglGenlockSampleRateI3D glad_wglGenlockSampleRateI3D
+typedef BOOL (APIENTRYP PFNWGLGETGENLOCKSAMPLERATEI3DPROC)(HDC, UINT*);
+GLAPI PFNWGLGETGENLOCKSAMPLERATEI3DPROC glad_wglGetGenlockSampleRateI3D;
+#define wglGetGenlockSampleRateI3D glad_wglGetGenlockSampleRateI3D
+typedef BOOL (APIENTRYP PFNWGLGENLOCKSOURCEDELAYI3DPROC)(HDC, UINT);
+GLAPI PFNWGLGENLOCKSOURCEDELAYI3DPROC glad_wglGenlockSourceDelayI3D;
+#define wglGenlockSourceDelayI3D glad_wglGenlockSourceDelayI3D
+typedef BOOL (APIENTRYP PFNWGLGETGENLOCKSOURCEDELAYI3DPROC)(HDC, UINT*);
+GLAPI PFNWGLGETGENLOCKSOURCEDELAYI3DPROC glad_wglGetGenlockSourceDelayI3D;
+#define wglGetGenlockSourceDelayI3D glad_wglGetGenlockSourceDelayI3D
+typedef BOOL (APIENTRYP PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC)(HDC, UINT*, UINT*);
+GLAPI PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC glad_wglQueryGenlockMaxSourceDelayI3D;
+#define wglQueryGenlockMaxSourceDelayI3D glad_wglQueryGenlockMaxSourceDelayI3D
+#endif
+#ifndef WGL_NV_DX_interop
+#define WGL_NV_DX_interop 1
+GLAPI int GLAD_WGL_NV_DX_interop;
+typedef BOOL (APIENTRYP PFNWGLDXSETRESOURCESHAREHANDLENVPROC)(void*, HANDLE);
+GLAPI PFNWGLDXSETRESOURCESHAREHANDLENVPROC glad_wglDXSetResourceShareHandleNV;
+#define wglDXSetResourceShareHandleNV glad_wglDXSetResourceShareHandleNV
+typedef HANDLE (APIENTRYP PFNWGLDXOPENDEVICENVPROC)(void*);
+GLAPI PFNWGLDXOPENDEVICENVPROC glad_wglDXOpenDeviceNV;
+#define wglDXOpenDeviceNV glad_wglDXOpenDeviceNV
+typedef BOOL (APIENTRYP PFNWGLDXCLOSEDEVICENVPROC)(HANDLE);
+GLAPI PFNWGLDXCLOSEDEVICENVPROC glad_wglDXCloseDeviceNV;
+#define wglDXCloseDeviceNV glad_wglDXCloseDeviceNV
+typedef HANDLE (APIENTRYP PFNWGLDXREGISTEROBJECTNVPROC)(HANDLE, void*, GLuint, GLenum, GLenum);
+GLAPI PFNWGLDXREGISTEROBJECTNVPROC glad_wglDXRegisterObjectNV;
+#define wglDXRegisterObjectNV glad_wglDXRegisterObjectNV
+typedef BOOL (APIENTRYP PFNWGLDXUNREGISTEROBJECTNVPROC)(HANDLE, HANDLE);
+GLAPI PFNWGLDXUNREGISTEROBJECTNVPROC glad_wglDXUnregisterObjectNV;
+#define wglDXUnregisterObjectNV glad_wglDXUnregisterObjectNV
+typedef BOOL (APIENTRYP PFNWGLDXOBJECTACCESSNVPROC)(HANDLE, GLenum);
+GLAPI PFNWGLDXOBJECTACCESSNVPROC glad_wglDXObjectAccessNV;
+#define wglDXObjectAccessNV glad_wglDXObjectAccessNV
+typedef BOOL (APIENTRYP PFNWGLDXLOCKOBJECTSNVPROC)(HANDLE, GLint, HANDLE*);
+GLAPI PFNWGLDXLOCKOBJECTSNVPROC glad_wglDXLockObjectsNV;
+#define wglDXLockObjectsNV glad_wglDXLockObjectsNV
+typedef BOOL (APIENTRYP PFNWGLDXUNLOCKOBJECTSNVPROC)(HANDLE, GLint, HANDLE*);
+GLAPI PFNWGLDXUNLOCKOBJECTSNVPROC glad_wglDXUnlockObjectsNV;
+#define wglDXUnlockObjectsNV glad_wglDXUnlockObjectsNV
+#endif
+#ifndef WGL_3DL_stereo_control
+#define WGL_3DL_stereo_control 1
+GLAPI int GLAD_WGL_3DL_stereo_control;
+typedef BOOL (APIENTRYP PFNWGLSETSTEREOEMITTERSTATE3DLPROC)(HDC, UINT);
+GLAPI PFNWGLSETSTEREOEMITTERSTATE3DLPROC glad_wglSetStereoEmitterState3DL;
+#define wglSetStereoEmitterState3DL glad_wglSetStereoEmitterState3DL
+#endif
+#ifndef WGL_EXT_pbuffer
+#define WGL_EXT_pbuffer 1
+GLAPI int GLAD_WGL_EXT_pbuffer;
+typedef HPBUFFEREXT (APIENTRYP PFNWGLCREATEPBUFFEREXTPROC)(HDC, int, int, int, const int*);
+GLAPI PFNWGLCREATEPBUFFEREXTPROC glad_wglCreatePbufferEXT;
+#define wglCreatePbufferEXT glad_wglCreatePbufferEXT
+typedef HDC (APIENTRYP PFNWGLGETPBUFFERDCEXTPROC)(HPBUFFEREXT);
+GLAPI PFNWGLGETPBUFFERDCEXTPROC glad_wglGetPbufferDCEXT;
+#define wglGetPbufferDCEXT glad_wglGetPbufferDCEXT
+typedef int (APIENTRYP PFNWGLRELEASEPBUFFERDCEXTPROC)(HPBUFFEREXT, HDC);
+GLAPI PFNWGLRELEASEPBUFFERDCEXTPROC glad_wglReleasePbufferDCEXT;
+#define wglReleasePbufferDCEXT glad_wglReleasePbufferDCEXT
+typedef BOOL (APIENTRYP PFNWGLDESTROYPBUFFEREXTPROC)(HPBUFFEREXT);
+GLAPI PFNWGLDESTROYPBUFFEREXTPROC glad_wglDestroyPbufferEXT;
+#define wglDestroyPbufferEXT glad_wglDestroyPbufferEXT
+typedef BOOL (APIENTRYP PFNWGLQUERYPBUFFEREXTPROC)(HPBUFFEREXT, int, int*);
+GLAPI PFNWGLQUERYPBUFFEREXTPROC glad_wglQueryPbufferEXT;
+#define wglQueryPbufferEXT glad_wglQueryPbufferEXT
+#endif
+#ifndef WGL_EXT_display_color_table
+#define WGL_EXT_display_color_table 1
+GLAPI int GLAD_WGL_EXT_display_color_table;
+typedef GLboolean (APIENTRYP PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC)(GLushort);
+GLAPI PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC glad_wglCreateDisplayColorTableEXT;
+#define wglCreateDisplayColorTableEXT glad_wglCreateDisplayColorTableEXT
+typedef GLboolean (APIENTRYP PFNWGLLOADDISPLAYCOLORTABLEEXTPROC)(const GLushort*, GLuint);
+GLAPI PFNWGLLOADDISPLAYCOLORTABLEEXTPROC glad_wglLoadDisplayColorTableEXT;
+#define wglLoadDisplayColorTableEXT glad_wglLoadDisplayColorTableEXT
+typedef GLboolean (APIENTRYP PFNWGLBINDDISPLAYCOLORTABLEEXTPROC)(GLushort);
+GLAPI PFNWGLBINDDISPLAYCOLORTABLEEXTPROC glad_wglBindDisplayColorTableEXT;
+#define wglBindDisplayColorTableEXT glad_wglBindDisplayColorTableEXT
+typedef VOID (APIENTRYP PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC)(GLushort);
+GLAPI PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC glad_wglDestroyDisplayColorTableEXT;
+#define wglDestroyDisplayColorTableEXT glad_wglDestroyDisplayColorTableEXT
+#endif
+#ifndef WGL_NV_video_output
+#define WGL_NV_video_output 1
+GLAPI int GLAD_WGL_NV_video_output;
+typedef BOOL (APIENTRYP PFNWGLGETVIDEODEVICENVPROC)(HDC, int, HPVIDEODEV*);
+GLAPI PFNWGLGETVIDEODEVICENVPROC glad_wglGetVideoDeviceNV;
+#define wglGetVideoDeviceNV glad_wglGetVideoDeviceNV
+typedef BOOL (APIENTRYP PFNWGLRELEASEVIDEODEVICENVPROC)(HPVIDEODEV);
+GLAPI PFNWGLRELEASEVIDEODEVICENVPROC glad_wglReleaseVideoDeviceNV;
+#define wglReleaseVideoDeviceNV glad_wglReleaseVideoDeviceNV
+typedef BOOL (APIENTRYP PFNWGLBINDVIDEOIMAGENVPROC)(HPVIDEODEV, HPBUFFERARB, int);
+GLAPI PFNWGLBINDVIDEOIMAGENVPROC glad_wglBindVideoImageNV;
+#define wglBindVideoImageNV glad_wglBindVideoImageNV
+typedef BOOL (APIENTRYP PFNWGLRELEASEVIDEOIMAGENVPROC)(HPBUFFERARB, int);
+GLAPI PFNWGLRELEASEVIDEOIMAGENVPROC glad_wglReleaseVideoImageNV;
+#define wglReleaseVideoImageNV glad_wglReleaseVideoImageNV
+typedef BOOL (APIENTRYP PFNWGLSENDPBUFFERTOVIDEONVPROC)(HPBUFFERARB, int, unsigned long*, BOOL);
+GLAPI PFNWGLSENDPBUFFERTOVIDEONVPROC glad_wglSendPbufferToVideoNV;
+#define wglSendPbufferToVideoNV glad_wglSendPbufferToVideoNV
+typedef BOOL (APIENTRYP PFNWGLGETVIDEOINFONVPROC)(HPVIDEODEV, unsigned long*, unsigned long*);
+GLAPI PFNWGLGETVIDEOINFONVPROC glad_wglGetVideoInfoNV;
+#define wglGetVideoInfoNV glad_wglGetVideoInfoNV
+#endif
+#ifndef WGL_ARB_robustness_application_isolation
+#define WGL_ARB_robustness_application_isolation 1
+GLAPI int GLAD_WGL_ARB_robustness_application_isolation;
+#endif
+#ifndef WGL_3DFX_multisample
+#define WGL_3DFX_multisample 1
+GLAPI int GLAD_WGL_3DFX_multisample;
+#endif
+#ifndef WGL_I3D_gamma
+#define WGL_I3D_gamma 1
+GLAPI int GLAD_WGL_I3D_gamma;
+typedef BOOL (APIENTRYP PFNWGLGETGAMMATABLEPARAMETERSI3DPROC)(HDC, int, int*);
+GLAPI PFNWGLGETGAMMATABLEPARAMETERSI3DPROC glad_wglGetGammaTableParametersI3D;
+#define wglGetGammaTableParametersI3D glad_wglGetGammaTableParametersI3D
+typedef BOOL (APIENTRYP PFNWGLSETGAMMATABLEPARAMETERSI3DPROC)(HDC, int, const int*);
+GLAPI PFNWGLSETGAMMATABLEPARAMETERSI3DPROC glad_wglSetGammaTableParametersI3D;
+#define wglSetGammaTableParametersI3D glad_wglSetGammaTableParametersI3D
+typedef BOOL (APIENTRYP PFNWGLGETGAMMATABLEI3DPROC)(HDC, int, USHORT*, USHORT*, USHORT*);
+GLAPI PFNWGLGETGAMMATABLEI3DPROC glad_wglGetGammaTableI3D;
+#define wglGetGammaTableI3D glad_wglGetGammaTableI3D
+typedef BOOL (APIENTRYP PFNWGLSETGAMMATABLEI3DPROC)(HDC, int, const USHORT*, const USHORT*, const USHORT*);
+GLAPI PFNWGLSETGAMMATABLEI3DPROC glad_wglSetGammaTableI3D;
+#define wglSetGammaTableI3D glad_wglSetGammaTableI3D
+#endif
+#ifndef WGL_ARB_framebuffer_sRGB
+#define WGL_ARB_framebuffer_sRGB 1
+GLAPI int GLAD_WGL_ARB_framebuffer_sRGB;
+#endif
+#ifndef WGL_NV_copy_image
+#define WGL_NV_copy_image 1
+GLAPI int GLAD_WGL_NV_copy_image;
+typedef BOOL (APIENTRYP PFNWGLCOPYIMAGESUBDATANVPROC)(HGLRC, GLuint, GLenum, GLint, GLint, GLint, GLint, HGLRC, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
+GLAPI PFNWGLCOPYIMAGESUBDATANVPROC glad_wglCopyImageSubDataNV;
+#define wglCopyImageSubDataNV glad_wglCopyImageSubDataNV
+#endif
+#ifndef WGL_EXT_framebuffer_sRGB
+#define WGL_EXT_framebuffer_sRGB 1
+GLAPI int GLAD_WGL_EXT_framebuffer_sRGB;
+#endif
+#ifndef WGL_NV_present_video
+#define WGL_NV_present_video 1
+GLAPI int GLAD_WGL_NV_present_video;
+typedef int (APIENTRYP PFNWGLENUMERATEVIDEODEVICESNVPROC)(HDC, HVIDEOOUTPUTDEVICENV*);
+GLAPI PFNWGLENUMERATEVIDEODEVICESNVPROC glad_wglEnumerateVideoDevicesNV;
+#define wglEnumerateVideoDevicesNV glad_wglEnumerateVideoDevicesNV
+typedef BOOL (APIENTRYP PFNWGLBINDVIDEODEVICENVPROC)(HDC, unsigned int, HVIDEOOUTPUTDEVICENV, const int*);
+GLAPI PFNWGLBINDVIDEODEVICENVPROC glad_wglBindVideoDeviceNV;
+#define wglBindVideoDeviceNV glad_wglBindVideoDeviceNV
+typedef BOOL (APIENTRYP PFNWGLQUERYCURRENTCONTEXTNVPROC)(int, int*);
+GLAPI PFNWGLQUERYCURRENTCONTEXTNVPROC glad_wglQueryCurrentContextNV;
+#define wglQueryCurrentContextNV glad_wglQueryCurrentContextNV
+#endif
+#ifndef WGL_EXT_create_context_es2_profile
+#define WGL_EXT_create_context_es2_profile 1
+GLAPI int GLAD_WGL_EXT_create_context_es2_profile;
+#endif
+#ifndef WGL_ARB_create_context_robustness
+#define WGL_ARB_create_context_robustness 1
+GLAPI int GLAD_WGL_ARB_create_context_robustness;
+#endif
+#ifndef WGL_ARB_make_current_read
+#define WGL_ARB_make_current_read 1
+GLAPI int GLAD_WGL_ARB_make_current_read;
+typedef BOOL (APIENTRYP PFNWGLMAKECONTEXTCURRENTARBPROC)(HDC, HDC, HGLRC);
+GLAPI PFNWGLMAKECONTEXTCURRENTARBPROC glad_wglMakeContextCurrentARB;
+#define wglMakeContextCurrentARB glad_wglMakeContextCurrentARB
+typedef HDC (APIENTRYP PFNWGLGETCURRENTREADDCARBPROC)();
+GLAPI PFNWGLGETCURRENTREADDCARBPROC glad_wglGetCurrentReadDCARB;
+#define wglGetCurrentReadDCARB glad_wglGetCurrentReadDCARB
+#endif
+#ifndef WGL_EXT_multisample
+#define WGL_EXT_multisample 1
+GLAPI int GLAD_WGL_EXT_multisample;
+#endif
+#ifndef WGL_EXT_extensions_string
+#define WGL_EXT_extensions_string 1
+GLAPI int GLAD_WGL_EXT_extensions_string;
+typedef const char* (APIENTRYP PFNWGLGETEXTENSIONSSTRINGEXTPROC)();
+GLAPI PFNWGLGETEXTENSIONSSTRINGEXTPROC glad_wglGetExtensionsStringEXT;
+#define wglGetExtensionsStringEXT glad_wglGetExtensionsStringEXT
+#endif
+#ifndef WGL_NV_render_depth_texture
+#define WGL_NV_render_depth_texture 1
+GLAPI int GLAD_WGL_NV_render_depth_texture;
+#endif
+#ifndef WGL_ATI_pixel_format_float
+#define WGL_ATI_pixel_format_float 1
+GLAPI int GLAD_WGL_ATI_pixel_format_float;
+#endif
+#ifndef WGL_ARB_create_context_profile
+#define WGL_ARB_create_context_profile 1
+GLAPI int GLAD_WGL_ARB_create_context_profile;
+#endif
+#ifndef WGL_EXT_swap_control
+#define WGL_EXT_swap_control 1
+GLAPI int GLAD_WGL_EXT_swap_control;
+typedef BOOL (APIENTRYP PFNWGLSWAPINTERVALEXTPROC)(int);
+GLAPI PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT;
+#define wglSwapIntervalEXT glad_wglSwapIntervalEXT
+typedef int (APIENTRYP PFNWGLGETSWAPINTERVALEXTPROC)();
+GLAPI PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT;
+#define wglGetSwapIntervalEXT glad_wglGetSwapIntervalEXT
+#endif
+#ifndef WGL_I3D_digital_video_control
+#define WGL_I3D_digital_video_control 1
+GLAPI int GLAD_WGL_I3D_digital_video_control;
+typedef BOOL (APIENTRYP PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC)(HDC, int, int*);
+GLAPI PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC glad_wglGetDigitalVideoParametersI3D;
+#define wglGetDigitalVideoParametersI3D glad_wglGetDigitalVideoParametersI3D
+typedef BOOL (APIENTRYP PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC)(HDC, int, const int*);
+GLAPI PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC glad_wglSetDigitalVideoParametersI3D;
+#define wglSetDigitalVideoParametersI3D glad_wglSetDigitalVideoParametersI3D
+#endif
+#ifndef WGL_ARB_pbuffer
+#define WGL_ARB_pbuffer 1
+GLAPI int GLAD_WGL_ARB_pbuffer;
+typedef HPBUFFERARB (APIENTRYP PFNWGLCREATEPBUFFERARBPROC)(HDC, int, int, int, const int*);
+GLAPI PFNWGLCREATEPBUFFERARBPROC glad_wglCreatePbufferARB;
+#define wglCreatePbufferARB glad_wglCreatePbufferARB
+typedef HDC (APIENTRYP PFNWGLGETPBUFFERDCARBPROC)(HPBUFFERARB);
+GLAPI PFNWGLGETPBUFFERDCARBPROC glad_wglGetPbufferDCARB;
+#define wglGetPbufferDCARB glad_wglGetPbufferDCARB
+typedef int (APIENTRYP PFNWGLRELEASEPBUFFERDCARBPROC)(HPBUFFERARB, HDC);
+GLAPI PFNWGLRELEASEPBUFFERDCARBPROC glad_wglReleasePbufferDCARB;
+#define wglReleasePbufferDCARB glad_wglReleasePbufferDCARB
+typedef BOOL (APIENTRYP PFNWGLDESTROYPBUFFERARBPROC)(HPBUFFERARB);
+GLAPI PFNWGLDESTROYPBUFFERARBPROC glad_wglDestroyPbufferARB;
+#define wglDestroyPbufferARB glad_wglDestroyPbufferARB
+typedef BOOL (APIENTRYP PFNWGLQUERYPBUFFERARBPROC)(HPBUFFERARB, int, int*);
+GLAPI PFNWGLQUERYPBUFFERARBPROC glad_wglQueryPbufferARB;
+#define wglQueryPbufferARB glad_wglQueryPbufferARB
+#endif
+#ifndef WGL_NV_vertex_array_range
+#define WGL_NV_vertex_array_range 1
+GLAPI int GLAD_WGL_NV_vertex_array_range;
+typedef void* (APIENTRYP PFNWGLALLOCATEMEMORYNVPROC)(GLsizei, GLfloat, GLfloat, GLfloat);
+GLAPI PFNWGLALLOCATEMEMORYNVPROC glad_wglAllocateMemoryNV;
+#define wglAllocateMemoryNV glad_wglAllocateMemoryNV
+typedef void (APIENTRYP PFNWGLFREEMEMORYNVPROC)(void*);
+GLAPI PFNWGLFREEMEMORYNVPROC glad_wglFreeMemoryNV;
+#define wglFreeMemoryNV glad_wglFreeMemoryNV
+#endif
+#ifndef WGL_AMD_gpu_association
+#define WGL_AMD_gpu_association 1
+GLAPI int GLAD_WGL_AMD_gpu_association;
+typedef UINT (APIENTRYP PFNWGLGETGPUIDSAMDPROC)(UINT, UINT*);
+GLAPI PFNWGLGETGPUIDSAMDPROC glad_wglGetGPUIDsAMD;
+#define wglGetGPUIDsAMD glad_wglGetGPUIDsAMD
+typedef INT (APIENTRYP PFNWGLGETGPUINFOAMDPROC)(UINT, int, GLenum, UINT, void*);
+GLAPI PFNWGLGETGPUINFOAMDPROC glad_wglGetGPUInfoAMD;
+#define wglGetGPUInfoAMD glad_wglGetGPUInfoAMD
+typedef UINT (APIENTRYP PFNWGLGETCONTEXTGPUIDAMDPROC)(HGLRC);
+GLAPI PFNWGLGETCONTEXTGPUIDAMDPROC glad_wglGetContextGPUIDAMD;
+#define wglGetContextGPUIDAMD glad_wglGetContextGPUIDAMD
+typedef HGLRC (APIENTRYP PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC)(UINT);
+GLAPI PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC glad_wglCreateAssociatedContextAMD;
+#define wglCreateAssociatedContextAMD glad_wglCreateAssociatedContextAMD
+typedef HGLRC (APIENTRYP PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)(UINT, HGLRC, const int*);
+GLAPI PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC glad_wglCreateAssociatedContextAttribsAMD;
+#define wglCreateAssociatedContextAttribsAMD glad_wglCreateAssociatedContextAttribsAMD
+typedef BOOL (APIENTRYP PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC)(HGLRC);
+GLAPI PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC glad_wglDeleteAssociatedContextAMD;
+#define wglDeleteAssociatedContextAMD glad_wglDeleteAssociatedContextAMD
+typedef BOOL (APIENTRYP PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(HGLRC);
+GLAPI PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_wglMakeAssociatedContextCurrentAMD;
+#define wglMakeAssociatedContextCurrentAMD glad_wglMakeAssociatedContextCurrentAMD
+typedef HGLRC (APIENTRYP PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)();
+GLAPI PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_wglGetCurrentAssociatedContextAMD;
+#define wglGetCurrentAssociatedContextAMD glad_wglGetCurrentAssociatedContextAMD
+typedef VOID (APIENTRYP PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)(HGLRC, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
+GLAPI PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC glad_wglBlitContextFramebufferAMD;
+#define wglBlitContextFramebufferAMD glad_wglBlitContextFramebufferAMD
+#endif
+#ifndef WGL_EXT_pixel_format_packed_float
+#define WGL_EXT_pixel_format_packed_float 1
+GLAPI int GLAD_WGL_EXT_pixel_format_packed_float;
+#endif
+#ifndef WGL_EXT_make_current_read
+#define WGL_EXT_make_current_read 1
+GLAPI int GLAD_WGL_EXT_make_current_read;
+typedef BOOL (APIENTRYP PFNWGLMAKECONTEXTCURRENTEXTPROC)(HDC, HDC, HGLRC);
+GLAPI PFNWGLMAKECONTEXTCURRENTEXTPROC glad_wglMakeContextCurrentEXT;
+#define wglMakeContextCurrentEXT glad_wglMakeContextCurrentEXT
+typedef HDC (APIENTRYP PFNWGLGETCURRENTREADDCEXTPROC)();
+GLAPI PFNWGLGETCURRENTREADDCEXTPROC glad_wglGetCurrentReadDCEXT;
+#define wglGetCurrentReadDCEXT glad_wglGetCurrentReadDCEXT
+#endif
+#ifndef WGL_I3D_swap_frame_lock
+#define WGL_I3D_swap_frame_lock 1
+GLAPI int GLAD_WGL_I3D_swap_frame_lock;
+typedef BOOL (APIENTRYP PFNWGLENABLEFRAMELOCKI3DPROC)();
+GLAPI PFNWGLENABLEFRAMELOCKI3DPROC glad_wglEnableFrameLockI3D;
+#define wglEnableFrameLockI3D glad_wglEnableFrameLockI3D
+typedef BOOL (APIENTRYP PFNWGLDISABLEFRAMELOCKI3DPROC)();
+GLAPI PFNWGLDISABLEFRAMELOCKI3DPROC glad_wglDisableFrameLockI3D;
+#define wglDisableFrameLockI3D glad_wglDisableFrameLockI3D
+typedef BOOL (APIENTRYP PFNWGLISENABLEDFRAMELOCKI3DPROC)(BOOL*);
+GLAPI PFNWGLISENABLEDFRAMELOCKI3DPROC glad_wglIsEnabledFrameLockI3D;
+#define wglIsEnabledFrameLockI3D glad_wglIsEnabledFrameLockI3D
+typedef BOOL (APIENTRYP PFNWGLQUERYFRAMELOCKMASTERI3DPROC)(BOOL*);
+GLAPI PFNWGLQUERYFRAMELOCKMASTERI3DPROC glad_wglQueryFrameLockMasterI3D;
+#define wglQueryFrameLockMasterI3D glad_wglQueryFrameLockMasterI3D
+#endif
+#ifndef WGL_ARB_buffer_region
+#define WGL_ARB_buffer_region 1
+GLAPI int GLAD_WGL_ARB_buffer_region;
+typedef HANDLE (APIENTRYP PFNWGLCREATEBUFFERREGIONARBPROC)(HDC, int, UINT);
+GLAPI PFNWGLCREATEBUFFERREGIONARBPROC glad_wglCreateBufferRegionARB;
+#define wglCreateBufferRegionARB glad_wglCreateBufferRegionARB
+typedef VOID (APIENTRYP PFNWGLDELETEBUFFERREGIONARBPROC)(HANDLE);
+GLAPI PFNWGLDELETEBUFFERREGIONARBPROC glad_wglDeleteBufferRegionARB;
+#define wglDeleteBufferRegionARB glad_wglDeleteBufferRegionARB
+typedef BOOL (APIENTRYP PFNWGLSAVEBUFFERREGIONARBPROC)(HANDLE, int, int, int, int);
+GLAPI PFNWGLSAVEBUFFERREGIONARBPROC glad_wglSaveBufferRegionARB;
+#define wglSaveBufferRegionARB glad_wglSaveBufferRegionARB
+typedef BOOL (APIENTRYP PFNWGLRESTOREBUFFERREGIONARBPROC)(HANDLE, int, int, int, int, int, int);
+GLAPI PFNWGLRESTOREBUFFERREGIONARBPROC glad_wglRestoreBufferRegionARB;
+#define wglRestoreBufferRegionARB glad_wglRestoreBufferRegionARB
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif

+ 7349 - 0
deps/glad/src/glad.c

@@ -0,0 +1,7349 @@
+#include <string.h>
+#include <glad/glad.h>
+
+static void* get_proc(const char *namez);
+
+#ifdef _WIN32
+#include <windows.h>
+static HMODULE libGL;
+
+typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);
+PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
+
+static
+int open_gl(void) {
+    libGL = LoadLibraryA("opengl32.dll");
+    if(libGL != NULL) {
+        gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE)GetProcAddress(
+                libGL, "wglGetProcAddress");
+        return gladGetProcAddressPtr != NULL;
+    }
+
+    return 0;
+}
+
+static
+void close_gl(void) {
+    if(libGL != NULL) {
+        FreeLibrary(libGL);
+        libGL = NULL;
+    }
+}
+#else
+#include <dlfcn.h>
+static void* libGL;
+
+#ifndef __APPLE__
+typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);
+PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
+#endif
+
+static
+int open_gl(void) {
+#ifdef __APPLE__
+    static const char *NAMES[] = {
+        "../Frameworks/OpenGL.framework/OpenGL",
+        "/Library/Frameworks/OpenGL.framework/OpenGL",
+        "/System/Library/Frameworks/OpenGL.framework/OpenGL",
+        "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL"
+    };
+#else
+    static const char *NAMES[] = {"libGL.so.1", "libGL.so"};
+#endif
+
+    unsigned int index = 0;
+    for(index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) {
+        libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);
+
+        if(libGL != NULL) {
+#ifdef __APPLE__
+            return 1;
+#else
+            gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,
+                "glXGetProcAddressARB");
+            return gladGetProcAddressPtr != NULL;
+#endif
+        }
+    }
+
+    return 0;
+}
+
+static
+void close_gl() {
+    if(libGL != NULL) {
+        dlclose(libGL);
+        libGL = NULL;
+    }
+}
+#endif
+
+static
+void* get_proc(const char *namez) {
+    void* result = NULL;
+    if(libGL == NULL) return NULL;
+
+#ifndef __APPLE__
+    if(gladGetProcAddressPtr != NULL) {
+        result = gladGetProcAddressPtr(namez);
+    }
+#endif
+    if(result == NULL) {
+#ifdef _WIN32
+        result = (void*)GetProcAddress(libGL, namez);
+#else
+        result = dlsym(libGL, namez);
+#endif
+    }
+
+    return result;
+}
+
+int gladLoadGL(void) {
+    if(open_gl()) {
+        gladLoadGLLoader(&get_proc);
+        close_gl();
+        return 1;
+    }
+    return 0;
+}
+
+struct gladGLversionStruct GLVersion;
+
+#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)
+#define _GLAD_IS_SOME_NEW_VERSION 1
+#endif
+
+static int has_ext(const char *ext) {
+#ifdef _GLAD_IS_SOME_NEW_VERSION
+    if(GLVersion.major < 3) {
+#endif
+        const char *extensions;
+        const char *loc;
+        const char *terminator;
+        extensions = (const char *)glGetString(GL_EXTENSIONS);
+        if(extensions == NULL || ext == NULL) {
+            return 0;
+        }
+
+        while(1) {
+            loc = strstr(extensions, ext);
+            if(loc == NULL) {
+                return 0;
+            }
+
+            terminator = loc + strlen(ext);
+            if((loc == extensions || *(loc - 1) == ' ') &&
+                (*terminator == ' ' || *terminator == '\0')) {
+                return 1;
+            }
+            extensions = terminator;
+        }
+#ifdef _GLAD_IS_SOME_NEW_VERSION
+    } else {
+        int num;
+        glGetIntegerv(GL_NUM_EXTENSIONS, &num);
+
+        int index;
+        for(index = 0; index < num; index++) {
+            const char *e = (const char*)glGetStringi(GL_EXTENSIONS, index);
+            if(strcmp(e, ext) == 0) {
+                return 1;
+            }
+        }
+    }
+#endif
+
+    return 0;
+}
+int GLAD_GL_VERSION_1_0;
+int GLAD_GL_VERSION_1_1;
+int GLAD_GL_VERSION_1_2;
+int GLAD_GL_VERSION_1_3;
+int GLAD_GL_VERSION_1_4;
+int GLAD_GL_VERSION_1_5;
+int GLAD_GL_VERSION_2_0;
+int GLAD_GL_VERSION_2_1;
+int GLAD_GL_VERSION_3_0;
+int GLAD_GL_VERSION_3_1;
+int GLAD_GL_VERSION_3_2;
+int GLAD_GL_VERSION_3_3;
+int GLAD_GL_VERSION_4_0;
+int GLAD_GL_VERSION_4_1;
+int GLAD_GL_VERSION_4_2;
+int GLAD_GL_VERSION_4_3;
+int GLAD_GL_VERSION_4_4;
+PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D;
+PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui;
+PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate;
+PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading;
+PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;
+PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv;
+PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D;
+PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv;
+PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v;
+PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv;
+PFNGLBINDSAMPLERPROC glad_glBindSampler;
+PFNGLLINEWIDTHPROC glad_glLineWidth;
+PFNGLCOLORP3UIVPROC glad_glColorP3uiv;
+PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v;
+PFNGLCOMPILESHADERPROC glad_glCompileShader;
+PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying;
+PFNGLDEPTHRANGEFPROC glad_glDepthRangef;
+PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer;
+PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui;
+PFNGLVERTEXP4UIPROC glad_glVertexP4ui;
+PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance;
+PFNGLENABLEIPROC glad_glEnablei;
+PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui;
+PFNGLCREATESHADERPROC glad_glCreateShader;
+PFNGLISBUFFERPROC glad_glIsBuffer;
+PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv;
+PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv;
+PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;
+PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D;
+PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D;
+PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f;
+PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate;
+PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv;
+PFNGLHINTPROC glad_glHint;
+PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s;
+PFNGLSAMPLEMASKIPROC glad_glSampleMaski;
+PFNGLVERTEXP2UIPROC glad_glVertexP2ui;
+PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv;
+PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl;
+PFNGLPOINTSIZEPROC glad_glPointSize;
+PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv;
+PFNGLDELETEPROGRAMPROC glad_glDeleteProgram;
+PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv;
+PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D;
+PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;
+PFNGLWAITSYNCPROC glad_glWaitSync;
+PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;
+PFNGLUNIFORM3IPROC glad_glUniform3i;
+PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv;
+PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui;
+PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei;
+PFNGLUNIFORM3DPROC glad_glUniform3d;
+PFNGLUNIFORM3FPROC glad_glUniform3f;
+PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv;
+PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv;
+PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui;
+PFNGLCOLORMASKIPROC glad_glColorMaski;
+PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi;
+PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect;
+PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays;
+PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback;
+PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui;
+PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv;
+PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv;
+PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv;
+PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex;
+PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d;
+PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture;
+PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv;
+PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram;
+PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv;
+PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv;
+PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv;
+PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData;
+PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback;
+PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui;
+PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv;
+PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv;
+PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;
+PFNGLDRAWARRAYSPROC glad_glDrawArrays;
+PFNGLUNIFORM1UIPROC glad_glUniform1ui;
+PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv;
+PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i;
+PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui;
+PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d;
+PFNGLCLEARPROC glad_glClear;
+PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri;
+PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName;
+PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier;
+PFNGLISENABLEDPROC glad_glIsEnabled;
+PFNGLSTENCILOPPROC glad_glStencilOp;
+PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;
+PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;
+PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub;
+PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation;
+PFNGLTEXIMAGE1DPROC glad_glTexImage1D;
+PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv;
+PFNGLGETTEXIMAGEPROC glad_glGetTexImage;
+PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v;
+PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;
+PFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage;
+PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders;
+PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;
+PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays;
+PFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers;
+PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv;
+PFNGLISVERTEXARRAYPROC glad_glIsVertexArray;
+PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray;
+PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv;
+PFNGLGETQUERYIVPROC glad_glGetQueryiv;
+PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv;
+PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding;
+PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv;
+PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices;
+PFNGLISSHADERPROC glad_glIsShader;
+PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv;
+PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed;
+PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv;
+PFNGLENABLEPROC glad_glEnable;
+PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv;
+PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi;
+PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation;
+PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv;
+PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv;
+PFNGLUNIFORM2DVPROC glad_glUniform2dv;
+PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv;
+PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui;
+PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv;
+PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui;
+PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor;
+PFNGLGETUNIFORMFVPROC glad_glGetUniformfv;
+PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv;
+PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv;
+PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv;
+PFNGLDRAWBUFFERPROC glad_glDrawBuffer;
+PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed;
+PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv;
+PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced;
+PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i;
+PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri;
+PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d;
+PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f;
+PFNGLFLUSHPROC glad_glFlush;
+PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;
+PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv;
+PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog;
+PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv;
+PFNGLFENCESYNCPROC glad_glFenceSync;
+PFNGLCOLORP3UIPROC glad_glColorP3ui;
+PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance;
+PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv;
+PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender;
+PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline;
+PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv;
+PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv;
+PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample;
+PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate;
+PFNGLGENSAMPLERSPROC glad_glGenSamplers;
+PFNGLCLAMPCOLORPROC glad_glClampColor;
+PFNGLUNIFORM4IVPROC glad_glUniform4iv;
+PFNGLCLEARSTENCILPROC glad_glClearStencil;
+PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv;
+PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced;
+PFNGLGENTEXTURESPROC glad_glGenTextures;
+PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback;
+PFNGLUNIFORM1DVPROC glad_glUniform1dv;
+PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv;
+PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv;
+PFNGLISSYNCPROC glad_glIsSync;
+PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName;
+PFNGLUNIFORM2IPROC glad_glUniform2i;
+PFNGLUNIFORM2FPROC glad_glUniform2f;
+PFNGLUNIFORM2DPROC glad_glUniform2d;
+PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui;
+PFNGLGETPROGRAMIVPROC glad_glGetProgramiv;
+PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer;
+PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer;
+PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv;
+PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel;
+PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange;
+PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv;
+PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv;
+PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv;
+PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d;
+PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv;
+PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute;
+PFNGLGENQUERIESPROC glad_glGenQueries;
+PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui;
+PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D;
+PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v;
+PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers;
+PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D;
+PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer;
+PFNGLISENABLEDIPROC glad_glIsEnabledi;
+PFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange;
+PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui;
+PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed;
+PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData;
+PFNGLUNIFORM2IVPROC glad_glUniform2iv;
+PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv;
+PFNGLUNIFORM4UIVPROC glad_glUniform4uiv;
+PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv;
+PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D;
+PFNGLGETSHADERIVPROC glad_glGetShaderiv;
+PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv;
+PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel;
+PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer;
+PFNGLBINDTEXTURESPROC glad_glBindTextures;
+PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation;
+PFNGLSCISSORARRAYVPROC glad_glScissorArrayv;
+PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset;
+PFNGLGETDOUBLEVPROC glad_glGetDoublev;
+PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d;
+PFNGLUNIFORM4DVPROC glad_glUniform4dv;
+PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv;
+PFNGLGETUNIFORMIVPROC glad_glGetUniformiv;
+PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData;
+PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv;
+PFNGLUNIFORM3FVPROC glad_glUniform3fv;
+PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect;
+PFNGLDEPTHRANGEPROC glad_glDepthRange;
+PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer;
+PFNGLMAPBUFFERPROC glad_glMapBuffer;
+PFNGLCLEARTEXIMAGEPROC glad_glClearTexImage;
+PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat;
+PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D;
+PFNGLDELETESYNCPROC glad_glDeleteSync;
+PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D;
+PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv;
+PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv;
+PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv;
+PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements;
+PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv;
+PFNGLUNIFORM3IVPROC glad_glUniform3iv;
+PFNGLPOLYGONMODEPROC glad_glPolygonMode;
+PFNGLDRAWBUFFERSPROC glad_glDrawBuffers;
+PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv;
+PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv;
+PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary;
+PFNGLUSEPROGRAMPROC glad_glUseProgram;
+PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog;
+PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback;
+PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray;
+PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers;
+PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv;
+PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex;
+PFNGLUNIFORM2UIVPROC glad_glUniform2uiv;
+PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D;
+PFNGLFINISHPROC glad_glFinish;
+PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed;
+PFNGLDELETESHADERPROC glad_glDeleteShader;
+PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v;
+PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup;
+PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv;
+PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex;
+PFNGLVIEWPORTPROC glad_glViewport;
+PFNGLUNIFORM1UIVPROC glad_glUniform1uiv;
+PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings;
+PFNGLUNIFORM2UIPROC glad_glUniform2ui;
+PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback;
+PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i;
+PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage;
+PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat;
+PFNGLCLEARDEPTHPROC glad_glClearDepth;
+PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv;
+PFNGLTEXPARAMETERFPROC glad_glTexParameterf;
+PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding;
+PFNGLTEXPARAMETERIPROC glad_glTexParameteri;
+PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv;
+PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource;
+PFNGLTEXBUFFERPROC glad_glTexBuffer;
+PFNGLPIXELSTOREIPROC glad_glPixelStorei;
+PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram;
+PFNGLPIXELSTOREFPROC glad_glPixelStoref;
+PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v;
+PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv;
+PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines;
+PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ;
+PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv;
+PFNGLLINKPROGRAMPROC glad_glLinkProgram;
+PFNGLBINDTEXTUREPROC glad_glBindTexture;
+PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect;
+PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel;
+PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog;
+PFNGLGETSTRINGPROC glad_glGetString;
+PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv;
+PFNGLDETACHSHADERPROC glad_glDetachShader;
+PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i;
+PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv;
+PFNGLENDQUERYPROC glad_glEndQuery;
+PFNGLNORMALP3UIPROC glad_glNormalP3ui;
+PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri;
+PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName;
+PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv;
+PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv;
+PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui;
+PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation;
+PFNGLDELETETEXTURESPROC glad_glDeleteTextures;
+PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv;
+PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate;
+PFNGLDELETEQUERIESPROC glad_glDeleteQueries;
+PFNGLNORMALP3UIVPROC glad_glNormalP3uiv;
+PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f;
+PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d;
+PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv;
+PFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase;
+PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv;
+PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv;
+PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv;
+PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s;
+PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex;
+PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage;
+PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri;
+PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData;
+PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf;
+PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D;
+PFNGLUNIFORM1FPROC glad_glUniform1f;
+PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv;
+PFNGLUNIFORM1DPROC glad_glUniform1d;
+PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage;
+PFNGLUNIFORM1IPROC glad_glUniform1i;
+PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib;
+PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D;
+PFNGLDISABLEPROC glad_glDisable;
+PFNGLLOGICOPPROC glad_glLogicOp;
+PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv;
+PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv;
+PFNGLUNIFORM4UIPROC glad_glUniform4ui;
+PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;
+PFNGLCULLFACEPROC glad_glCullFace;
+PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i;
+PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f;
+PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf;
+PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d;
+PFNGLGETSTRINGIPROC glad_glGetStringi;
+PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed;
+PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream;
+PFNGLATTACHSHADERPROC glad_glAttachShader;
+PFNGLQUERYCOUNTERPROC glad_glQueryCounter;
+PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex;
+PFNGLSHADERBINARYPROC glad_glShaderBinary;
+PFNGLDRAWELEMENTSPROC glad_glDrawElements;
+PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv;
+PFNGLUNIFORM1IVPROC glad_glUniform1iv;
+PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv;
+PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv;
+PFNGLREADBUFFERPROC glad_glReadBuffer;
+PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv;
+PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced;
+PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;
+PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv;
+PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv;
+PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f;
+PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv;
+PFNGLPOINTPARAMETERIPROC glad_glPointParameteri;
+PFNGLBLENDCOLORPROC glad_glBlendColor;
+PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv;
+PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer;
+PFNGLPOINTPARAMETERFPROC glad_glPointParameterf;
+PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv;
+PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s;
+PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;
+PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv;
+PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv;
+PFNGLISPROGRAMPROC glad_glIsProgram;
+PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv;
+PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv;
+PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv;
+PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv;
+PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback;
+PFNGLUNIFORM4IPROC glad_glUniform4i;
+PFNGLACTIVETEXTUREPROC glad_glActiveTexture;
+PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray;
+PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline;
+PFNGLREADPIXELSPROC glad_glReadPixels;
+PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv;
+PFNGLUNIFORM4FPROC glad_glUniform4f;
+PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample;
+PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv;
+PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer;
+PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex;
+PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv;
+PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced;
+PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName;
+PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d;
+PFNGLSTENCILFUNCPROC glad_glStencilFunc;
+PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup;
+PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding;
+PFNGLCOLORP4UIPROC glad_glColorP4ui;
+PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages;
+PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f;
+PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d;
+PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv;
+PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv;
+PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D;
+PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv;
+PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog;
+PFNGLOBJECTLABELPROC glad_glObjectLabel;
+PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i;
+PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData;
+PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv;
+PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate;
+PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui;
+PFNGLGENBUFFERSPROC glad_glGenBuffers;
+PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex;
+PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv;
+PFNGLBLENDFUNCPROC glad_glBlendFunc;
+PFNGLCREATEPROGRAMPROC glad_glCreateProgram;
+PFNGLTEXIMAGE3DPROC glad_glTexImage3D;
+PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;
+PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex;
+PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage;
+PFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures;
+PFNGLGETINTEGER64VPROC glad_glGetInteger64v;
+PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline;
+PFNGLSCISSORPROC glad_glScissor;
+PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv;
+PFNGLGETBOOLEANVPROC glad_glGetBooleanv;
+PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv;
+PFNGLUNIFORM3UIVPROC glad_glUniform3uiv;
+PFNGLCLEARCOLORPROC glad_glClearColor;
+PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv;
+PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv;
+PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v;
+PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv;
+PFNGLCOLORP4UIVPROC glad_glColorP4uiv;
+PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv;
+PFNGLUNIFORM3UIPROC glad_glUniform3ui;
+PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv;
+PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv;
+PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv;
+PFNGLUNIFORM2FVPROC glad_glUniform2fv;
+PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName;
+PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex;
+PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect;
+PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect;
+PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv;
+PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange;
+PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv;
+PFNGLGETUNIFORMDVPROC glad_glGetUniformdv;
+PFNGLCLEARDEPTHFPROC glad_glClearDepthf;
+PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv;
+PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks;
+PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv;
+PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv;
+PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv;
+PFNGLDEPTHFUNCPROC glad_glDepthFunc;
+PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D;
+PFNGLPROGRAMBINARYPROC glad_glProgramBinary;
+PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv;
+PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv;
+PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui;
+PFNGLBUFFERSTORAGEPROC glad_glBufferStorage;
+PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync;
+PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui;
+PFNGLGETFLOATI_VPROC glad_glGetFloati_v;
+PFNGLCOLORMASKPROC glad_glColorMask;
+PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv;
+PFNGLBLENDEQUATIONPROC glad_glBlendEquation;
+PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation;
+PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv;
+PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback;
+PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv;
+PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv;
+PFNGLUNIFORM4FVPROC glad_glUniform4fv;
+PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer;
+PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert;
+PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv;
+PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData;
+PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback;
+PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv;
+PFNGLISSAMPLERPROC glad_glIsSampler;
+PFNGLVERTEXP3UIPROC glad_glVertexP3ui;
+PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor;
+PFNGLBINDSAMPLERSPROC glad_glBindSamplers;
+PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D;
+PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks;
+PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D;
+PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex;
+PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;
+PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender;
+PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv;
+PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation;
+PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv;
+PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv;
+PFNGLBLENDFUNCIPROC glad_glBlendFunci;
+PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv;
+PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements;
+PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv;
+PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase;
+PFNGLBUFFERSUBDATAPROC glad_glBufferSubData;
+PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv;
+PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange;
+PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture;
+PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei;
+PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv;
+PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d;
+PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays;
+PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv;
+PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv;
+PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat;
+PFNGLTEXTUREVIEWPROC glad_glTextureView;
+PFNGLDISABLEIPROC glad_glDisablei;
+PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv;
+PFNGLSHADERSOURCEPROC glad_glShaderSource;
+PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;
+PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv;
+PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler;
+PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat;
+PFNGLGETSYNCIVPROC glad_glGetSynciv;
+PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv;
+PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv;
+PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i;
+PFNGLBEGINQUERYPROC glad_glBeginQuery;
+PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv;
+PFNGLBINDBUFFERPROC glad_glBindBuffer;
+PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample;
+PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d;
+PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f;
+PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv;
+PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv;
+PFNGLBUFFERDATAPROC glad_glBufferData;
+PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv;
+PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui;
+PFNGLGETERRORPROC glad_glGetError;
+PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui;
+PFNGLGETFLOATVPROC glad_glGetFloatv;
+PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D;
+PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv;
+PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv;
+PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i;
+PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv;
+PFNGLUNIFORM4DPROC glad_glUniform4d;
+PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv;
+PFNGLGETINTEGERVPROC glad_glGetIntegerv;
+PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;
+PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv;
+PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D;
+PFNGLISQUERYPROC glad_glIsQuery;
+PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui;
+PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui;
+PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv;
+PFNGLTEXIMAGE2DPROC glad_glTexImage2D;
+PFNGLSTENCILMASKPROC glad_glStencilMask;
+PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv;
+PFNGLISTEXTUREPROC glad_glIsTexture;
+PFNGLUNIFORM1FVPROC glad_glUniform1fv;
+PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv;
+PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv;
+PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv;
+PFNGLUNIFORM3DVPROC glad_glUniform3dv;
+PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv;
+PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation;
+PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv;
+PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv;
+PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData;
+PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv;
+PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d;
+PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f;
+PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv;
+PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v;
+PFNGLDEPTHMASKPROC glad_glDepthMask;
+PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s;
+PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample;
+PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv;
+PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex;
+PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample;
+PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform;
+PFNGLFRONTFACEPROC glad_glFrontFace;
+PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange;
+PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance;
+PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines;
+int GLAD_GL_SGIX_pixel_tiles;
+int GLAD_GL_NV_point_sprite;
+int GLAD_GL_APPLE_element_array;
+int GLAD_GL_AMD_multi_draw_indirect;
+int GLAD_GL_EXT_blend_subtract;
+int GLAD_GL_SGIX_tag_sample_buffer;
+int GLAD_GL_IBM_texture_mirrored_repeat;
+int GLAD_GL_APPLE_transform_hint;
+int GLAD_GL_ATI_separate_stencil;
+int GLAD_GL_NV_vertex_program2_option;
+int GLAD_GL_EXT_texture_buffer_object;
+int GLAD_GL_ARB_vertex_blend;
+int GLAD_GL_NV_vertex_program2;
+int GLAD_GL_ARB_program_interface_query;
+int GLAD_GL_EXT_misc_attribute;
+int GLAD_GL_NV_multisample_coverage;
+int GLAD_GL_ARB_shading_language_packing;
+int GLAD_GL_EXT_texture_cube_map;
+int GLAD_GL_ARB_texture_stencil8;
+int GLAD_GL_EXT_index_func;
+int GLAD_GL_OES_compressed_paletted_texture;
+int GLAD_GL_NV_depth_clamp;
+int GLAD_GL_NV_shader_buffer_load;
+int GLAD_GL_EXT_color_subtable;
+int GLAD_GL_SUNX_constant_data;
+int GLAD_GL_EXT_multi_draw_arrays;
+int GLAD_GL_ARB_shader_atomic_counters;
+int GLAD_GL_ARB_arrays_of_arrays;
+int GLAD_GL_NV_conditional_render;
+int GLAD_GL_EXT_texture_env_combine;
+int GLAD_GL_NV_fog_distance;
+int GLAD_GL_SGIX_async_histogram;
+int GLAD_GL_MESA_resize_buffers;
+int GLAD_GL_NV_light_max_exponent;
+int GLAD_GL_NV_texture_env_combine4;
+int GLAD_GL_ARB_texture_view;
+int GLAD_GL_ARB_texture_env_combine;
+int GLAD_GL_ARB_map_buffer_range;
+int GLAD_GL_EXT_convolution;
+int GLAD_GL_NV_compute_program5;
+int GLAD_GL_NV_vertex_attrib_integer_64bit;
+int GLAD_GL_EXT_paletted_texture;
+int GLAD_GL_ARB_texture_buffer_object;
+int GLAD_GL_ATI_pn_triangles;
+int GLAD_GL_SGIX_resample;
+int GLAD_GL_SGIX_flush_raster;
+int GLAD_GL_EXT_light_texture;
+int GLAD_GL_ARB_point_sprite;
+int GLAD_GL_ARB_half_float_pixel;
+int GLAD_GL_NV_tessellation_program5;
+int GLAD_GL_REND_screen_coordinates;
+int GLAD_GL_EXT_shared_texture_palette;
+int GLAD_GL_EXT_packed_float;
+int GLAD_GL_OML_subsample;
+int GLAD_GL_SGIX_vertex_preclip;
+int GLAD_GL_SGIX_texture_scale_bias;
+int GLAD_GL_AMD_draw_buffers_blend;
+int GLAD_GL_MESA_window_pos;
+int GLAD_GL_EXT_texture_array;
+int GLAD_GL_NV_texture_barrier;
+int GLAD_GL_ARB_texture_query_levels;
+int GLAD_GL_NV_texgen_emboss;
+int GLAD_GL_EXT_texture_swizzle;
+int GLAD_GL_ARB_texture_rg;
+int GLAD_GL_ARB_vertex_type_2_10_10_10_rev;
+int GLAD_GL_ARB_fragment_shader;
+int GLAD_GL_3DFX_tbuffer;
+int GLAD_GL_GREMEDY_frame_terminator;
+int GLAD_GL_ARB_blend_func_extended;
+int GLAD_GL_EXT_separate_shader_objects;
+int GLAD_GL_NV_texture_multisample;
+int GLAD_GL_ARB_shader_objects;
+int GLAD_GL_ARB_framebuffer_object;
+int GLAD_GL_ATI_envmap_bumpmap;
+int GLAD_GL_ARB_robust_buffer_access_behavior;
+int GLAD_GL_ARB_shader_stencil_export;
+int GLAD_GL_NV_texture_rectangle;
+int GLAD_GL_ARB_enhanced_layouts;
+int GLAD_GL_ARB_texture_rectangle;
+int GLAD_GL_SGI_texture_color_table;
+int GLAD_GL_ATI_map_object_buffer;
+int GLAD_GL_ARB_robustness;
+int GLAD_GL_NV_pixel_data_range;
+int GLAD_GL_EXT_framebuffer_blit;
+int GLAD_GL_ARB_gpu_shader_fp64;
+int GLAD_GL_SGIX_depth_texture;
+int GLAD_GL_EXT_vertex_weighting;
+int GLAD_GL_GREMEDY_string_marker;
+int GLAD_GL_ARB_texture_compression_bptc;
+int GLAD_GL_EXT_subtexture;
+int GLAD_GL_EXT_pixel_transform_color_table;
+int GLAD_GL_EXT_texture_compression_rgtc;
+int GLAD_GL_SGIX_depth_pass_instrument;
+int GLAD_GL_ARB_shader_precision;
+int GLAD_GL_NV_evaluators;
+int GLAD_GL_SGIS_texture_filter4;
+int GLAD_GL_AMD_performance_monitor;
+int GLAD_GL_NV_geometry_shader4;
+int GLAD_GL_EXT_stencil_clear_tag;
+int GLAD_GL_NV_vertex_program1_1;
+int GLAD_GL_NV_present_video;
+int GLAD_GL_ARB_texture_compression_rgtc;
+int GLAD_GL_HP_convolution_border_modes;
+int GLAD_GL_EXT_gpu_program_parameters;
+int GLAD_GL_EXT_shader_integer_mix;
+int GLAD_GL_ARB_stencil_texturing;
+int GLAD_GL_SGIX_fog_offset;
+int GLAD_GL_ARB_draw_elements_base_vertex;
+int GLAD_GL_INGR_interlace_read;
+int GLAD_GL_NV_transform_feedback;
+int GLAD_GL_NV_fragment_program;
+int GLAD_GL_AMD_stencil_operation_extended;
+int GLAD_GL_ARB_seamless_cubemap_per_texture;
+int GLAD_GL_ARB_instanced_arrays;
+int GLAD_GL_EXT_polygon_offset;
+int GLAD_GL_NV_vertex_array_range2;
+int GLAD_GL_AMD_sparse_texture;
+int GLAD_GL_NV_fence;
+int GLAD_GL_ARB_texture_buffer_range;
+int GLAD_GL_SUN_mesh_array;
+int GLAD_GL_ARB_vertex_attrib_binding;
+int GLAD_GL_ARB_framebuffer_no_attachments;
+int GLAD_GL_ARB_cl_event;
+int GLAD_GL_NV_packed_depth_stencil;
+int GLAD_GL_OES_single_precision;
+int GLAD_GL_NV_primitive_restart;
+int GLAD_GL_SUN_global_alpha;
+int GLAD_GL_EXT_texture_object;
+int GLAD_GL_AMD_name_gen_delete;
+int GLAD_GL_NV_texture_compression_vtc;
+int GLAD_GL_SGIX_ycrcb_subsample;
+int GLAD_GL_NV_texture_shader3;
+int GLAD_GL_NV_texture_shader2;
+int GLAD_GL_EXT_texture;
+int GLAD_GL_ARB_buffer_storage;
+int GLAD_GL_AMD_shader_atomic_counter_ops;
+int GLAD_GL_APPLE_vertex_program_evaluators;
+int GLAD_GL_ARB_multi_bind;
+int GLAD_GL_ARB_explicit_uniform_location;
+int GLAD_GL_ARB_depth_buffer_float;
+int GLAD_GL_SGIX_shadow_ambient;
+int GLAD_GL_ARB_texture_cube_map;
+int GLAD_GL_AMD_vertex_shader_viewport_index;
+int GLAD_GL_SGIX_list_priority;
+int GLAD_GL_NV_vertex_buffer_unified_memory;
+int GLAD_GL_EXT_texture_env_dot3;
+int GLAD_GL_ATI_texture_env_combine3;
+int GLAD_GL_ARB_map_buffer_alignment;
+int GLAD_GL_NV_blend_equation_advanced;
+int GLAD_GL_SGIS_sharpen_texture;
+int GLAD_GL_ARB_vertex_program;
+int GLAD_GL_ARB_texture_rgb10_a2ui;
+int GLAD_GL_OML_interlace;
+int GLAD_GL_ATI_pixel_format_float;
+int GLAD_GL_ARB_vertex_buffer_object;
+int GLAD_GL_EXT_shadow_funcs;
+int GLAD_GL_ATI_text_fragment_shader;
+int GLAD_GL_NV_vertex_array_range;
+int GLAD_GL_SGIX_fragment_lighting;
+int GLAD_GL_NV_texture_expand_normal;
+int GLAD_GL_NV_framebuffer_multisample_coverage;
+int GLAD_GL_EXT_timer_query;
+int GLAD_GL_EXT_vertex_array_bgra;
+int GLAD_GL_NV_bindless_texture;
+int GLAD_GL_KHR_debug;
+int GLAD_GL_SGIS_texture_border_clamp;
+int GLAD_GL_ATI_vertex_attrib_array_object;
+int GLAD_GL_SGIX_clipmap;
+int GLAD_GL_EXT_geometry_shader4;
+int GLAD_GL_MESA_ycbcr_texture;
+int GLAD_GL_MESAX_texture_stack;
+int GLAD_GL_AMD_seamless_cubemap_per_texture;
+int GLAD_GL_EXT_bindable_uniform;
+int GLAD_GL_KHR_texture_compression_astc_hdr;
+int GLAD_GL_ARB_fragment_program_shadow;
+int GLAD_GL_ATI_element_array;
+int GLAD_GL_AMD_texture_texture4;
+int GLAD_GL_SGIX_reference_plane;
+int GLAD_GL_EXT_stencil_two_side;
+int GLAD_GL_SGIX_texture_lod_bias;
+int GLAD_GL_NV_explicit_multisample;
+int GLAD_GL_IBM_static_data;
+int GLAD_GL_EXT_clip_volume_hint;
+int GLAD_GL_EXT_texture_perturb_normal;
+int GLAD_GL_NV_fragment_program2;
+int GLAD_GL_NV_fragment_program4;
+int GLAD_GL_EXT_point_parameters;
+int GLAD_GL_PGI_misc_hints;
+int GLAD_GL_SGIX_subsample;
+int GLAD_GL_AMD_shader_stencil_export;
+int GLAD_GL_ARB_shader_texture_lod;
+int GLAD_GL_ARB_vertex_shader;
+int GLAD_GL_ARB_depth_clamp;
+int GLAD_GL_SGIS_texture_select;
+int GLAD_GL_NV_texture_shader;
+int GLAD_GL_ARB_tessellation_shader;
+int GLAD_GL_EXT_draw_buffers2;
+int GLAD_GL_ARB_vertex_attrib_64bit;
+int GLAD_GL_WIN_specular_fog;
+int GLAD_GL_AMD_interleaved_elements;
+int GLAD_GL_ARB_fragment_program;
+int GLAD_GL_OML_resample;
+int GLAD_GL_APPLE_ycbcr_422;
+int GLAD_GL_SGIX_texture_add_env;
+int GLAD_GL_ARB_shadow_ambient;
+int GLAD_GL_ARB_texture_storage;
+int GLAD_GL_EXT_pixel_buffer_object;
+int GLAD_GL_ARB_copy_image;
+int GLAD_GL_SGIS_pixel_texture;
+int GLAD_GL_SGIS_generate_mipmap;
+int GLAD_GL_SGIX_instruments;
+int GLAD_GL_HP_texture_lighting;
+int GLAD_GL_ARB_shader_storage_buffer_object;
+int GLAD_GL_EXT_blend_minmax;
+int GLAD_GL_MESA_pack_invert;
+int GLAD_GL_ARB_base_instance;
+int GLAD_GL_SGIX_convolution_accuracy;
+int GLAD_GL_PGI_vertex_hints;
+int GLAD_GL_EXT_texture_integer;
+int GLAD_GL_ARB_texture_multisample;
+int GLAD_GL_S3_s3tc;
+int GLAD_GL_ARB_query_buffer_object;
+int GLAD_GL_AMD_vertex_shader_tessellator;
+int GLAD_GL_ARB_invalidate_subdata;
+int GLAD_GL_EXT_index_material;
+int GLAD_GL_NV_blend_equation_advanced_coherent;
+int GLAD_GL_INTEL_parallel_arrays;
+int GLAD_GL_ATI_draw_buffers;
+int GLAD_GL_EXT_cmyka;
+int GLAD_GL_SGIX_pixel_texture;
+int GLAD_GL_APPLE_specular_vector;
+int GLAD_GL_ARB_compatibility;
+int GLAD_GL_ARB_timer_query;
+int GLAD_GL_SGIX_interlace;
+int GLAD_GL_NV_parameter_buffer_object;
+int GLAD_GL_AMD_shader_trinary_minmax;
+int GLAD_GL_EXT_rescale_normal;
+int GLAD_GL_ARB_pixel_buffer_object;
+int GLAD_GL_ARB_uniform_buffer_object;
+int GLAD_GL_ARB_vertex_type_10f_11f_11f_rev;
+int GLAD_GL_ARB_texture_swizzle;
+int GLAD_GL_NV_transform_feedback2;
+int GLAD_GL_SGIX_async_pixel;
+int GLAD_GL_NV_fragment_program_option;
+int GLAD_GL_ARB_explicit_attrib_location;
+int GLAD_GL_EXT_blend_color;
+int GLAD_GL_NV_shader_thread_group;
+int GLAD_GL_EXT_stencil_wrap;
+int GLAD_GL_EXT_index_array_formats;
+int GLAD_GL_EXT_histogram;
+int GLAD_GL_SGIS_point_parameters;
+int GLAD_GL_EXT_direct_state_access;
+int GLAD_GL_AMD_sample_positions;
+int GLAD_GL_NV_vertex_program;
+int GLAD_GL_NV_shader_thread_shuffle;
+int GLAD_GL_NVX_conditional_render;
+int GLAD_GL_EXT_vertex_shader;
+int GLAD_GL_EXT_blend_func_separate;
+int GLAD_GL_APPLE_fence;
+int GLAD_GL_OES_byte_coordinates;
+int GLAD_GL_ARB_transpose_matrix;
+int GLAD_GL_ARB_provoking_vertex;
+int GLAD_GL_EXT_fog_coord;
+int GLAD_GL_EXT_vertex_array;
+int GLAD_GL_ARB_half_float_vertex;
+int GLAD_GL_EXT_blend_equation_separate;
+int GLAD_GL_ARB_multi_draw_indirect;
+int GLAD_GL_NV_copy_image;
+int GLAD_GL_ARB_fragment_layer_viewport;
+int GLAD_GL_ARB_transform_feedback2;
+int GLAD_GL_ARB_transform_feedback3;
+int GLAD_GL_SGIX_ycrcba;
+int GLAD_GL_EXT_debug_marker;
+int GLAD_GL_EXT_bgra;
+int GLAD_GL_EXT_texture_compression_s3tc;
+int GLAD_GL_EXT_pixel_transform;
+int GLAD_GL_ARB_conservative_depth;
+int GLAD_GL_ATI_fragment_shader;
+int GLAD_GL_ARB_vertex_array_object;
+int GLAD_GL_SUN_triangle_list;
+int GLAD_GL_EXT_texture_env_add;
+int GLAD_GL_EXT_packed_depth_stencil;
+int GLAD_GL_EXT_texture_mirror_clamp;
+int GLAD_GL_NV_multisample_filter_hint;
+int GLAD_GL_APPLE_float_pixels;
+int GLAD_GL_ARB_transform_feedback_instanced;
+int GLAD_GL_SGIX_async;
+int GLAD_GL_EXT_texture_compression_latc;
+int GLAD_GL_NV_shader_atomic_float;
+int GLAD_GL_ARB_shading_language_100;
+int GLAD_GL_INTEL_performance_query;
+int GLAD_GL_ARB_texture_mirror_clamp_to_edge;
+int GLAD_GL_NV_gpu_shader5;
+int GLAD_GL_ARB_ES2_compatibility;
+int GLAD_GL_ARB_indirect_parameters;
+int GLAD_GL_NV_half_float;
+int GLAD_GL_EXT_coordinate_frame;
+int GLAD_GL_ATI_texture_mirror_once;
+int GLAD_GL_IBM_rasterpos_clip;
+int GLAD_GL_SGIX_shadow;
+int GLAD_GL_NV_deep_texture3D;
+int GLAD_GL_ARB_shader_draw_parameters;
+int GLAD_GL_SGIX_calligraphic_fragment;
+int GLAD_GL_ARB_shader_bit_encoding;
+int GLAD_GL_EXT_compiled_vertex_array;
+int GLAD_GL_NV_depth_buffer_float;
+int GLAD_GL_NV_occlusion_query;
+int GLAD_GL_APPLE_flush_buffer_range;
+int GLAD_GL_ARB_imaging;
+int GLAD_GL_ARB_draw_buffers_blend;
+int GLAD_GL_NV_blend_square;
+int GLAD_GL_AMD_blend_minmax_factor;
+int GLAD_GL_EXT_texture_sRGB_decode;
+int GLAD_GL_ARB_shading_language_420pack;
+int GLAD_GL_ATI_meminfo;
+int GLAD_GL_EXT_abgr;
+int GLAD_GL_AMD_pinned_memory;
+int GLAD_GL_EXT_texture_snorm;
+int GLAD_GL_SGIX_texture_coordinate_clamp;
+int GLAD_GL_ARB_clear_buffer_object;
+int GLAD_GL_ARB_multisample;
+int GLAD_GL_EXT_debug_label;
+int GLAD_GL_ARB_sample_shading;
+int GLAD_GL_INTEL_map_texture;
+int GLAD_GL_ARB_texture_env_crossbar;
+int GLAD_GL_EXT_422_pixels;
+int GLAD_GL_ARB_compute_shader;
+int GLAD_GL_EXT_blend_logic_op;
+int GLAD_GL_IBM_cull_vertex;
+int GLAD_GL_IBM_vertex_array_lists;
+int GLAD_GL_ARB_color_buffer_float;
+int GLAD_GL_ARB_bindless_texture;
+int GLAD_GL_ARB_window_pos;
+int GLAD_GL_ARB_internalformat_query;
+int GLAD_GL_ARB_shadow;
+int GLAD_GL_ARB_texture_mirrored_repeat;
+int GLAD_GL_EXT_shader_image_load_store;
+int GLAD_GL_EXT_copy_texture;
+int GLAD_GL_NV_register_combiners2;
+int GLAD_GL_SGIX_ir_instrument1;
+int GLAD_GL_NV_draw_texture;
+int GLAD_GL_EXT_texture_shared_exponent;
+int GLAD_GL_EXT_draw_instanced;
+int GLAD_GL_NV_copy_depth_to_color;
+int GLAD_GL_ARB_viewport_array;
+int GLAD_GL_ARB_separate_shader_objects;
+int GLAD_GL_EXT_depth_bounds_test;
+int GLAD_GL_HP_image_transform;
+int GLAD_GL_ARB_texture_env_add;
+int GLAD_GL_NV_video_capture;
+int GLAD_GL_ARB_sampler_objects;
+int GLAD_GL_ARB_matrix_palette;
+int GLAD_GL_SGIS_texture_color_mask;
+int GLAD_GL_EXT_packed_pixels;
+int GLAD_GL_ARB_texture_compression;
+int GLAD_GL_APPLE_aux_depth_stencil;
+int GLAD_GL_ARB_shader_subroutine;
+int GLAD_GL_EXT_framebuffer_sRGB;
+int GLAD_GL_ARB_texture_storage_multisample;
+int GLAD_GL_EXT_vertex_attrib_64bit;
+int GLAD_GL_ARB_depth_texture;
+int GLAD_GL_NV_shader_buffer_store;
+int GLAD_GL_OES_query_matrix;
+int GLAD_GL_APPLE_texture_range;
+int GLAD_GL_NV_shader_storage_buffer_object;
+int GLAD_GL_ARB_texture_query_lod;
+int GLAD_GL_ARB_copy_buffer;
+int GLAD_GL_ARB_shader_image_size;
+int GLAD_GL_NV_shader_atomic_counters;
+int GLAD_GL_APPLE_object_purgeable;
+int GLAD_GL_ARB_occlusion_query;
+int GLAD_GL_INGR_color_clamp;
+int GLAD_GL_SGI_color_table;
+int GLAD_GL_NV_gpu_program5_mem_extended;
+int GLAD_GL_ARB_texture_cube_map_array;
+int GLAD_GL_SGIX_scalebias_hint;
+int GLAD_GL_EXT_gpu_shader4;
+int GLAD_GL_NV_geometry_program4;
+int GLAD_GL_EXT_framebuffer_multisample_blit_scaled;
+int GLAD_GL_AMD_debug_output;
+int GLAD_GL_ARB_texture_border_clamp;
+int GLAD_GL_ARB_fragment_coord_conventions;
+int GLAD_GL_ARB_multitexture;
+int GLAD_GL_SGIX_polynomial_ffd;
+int GLAD_GL_EXT_provoking_vertex;
+int GLAD_GL_ARB_point_parameters;
+int GLAD_GL_ARB_shader_image_load_store;
+int GLAD_GL_HP_occlusion_test;
+int GLAD_GL_ARB_ES3_compatibility;
+int GLAD_GL_SGIX_framezoom;
+int GLAD_GL_ARB_texture_buffer_object_rgb32;
+int GLAD_GL_NV_bindless_multi_draw_indirect;
+int GLAD_GL_SGIX_texture_multi_buffer;
+int GLAD_GL_EXT_transform_feedback;
+int GLAD_GL_KHR_texture_compression_astc_ldr;
+int GLAD_GL_3DFX_multisample;
+int GLAD_GL_INTEL_fragment_shader_ordering;
+int GLAD_GL_ARB_texture_env_dot3;
+int GLAD_GL_NV_gpu_program4;
+int GLAD_GL_NV_gpu_program5;
+int GLAD_GL_NV_float_buffer;
+int GLAD_GL_SGIS_texture_edge_clamp;
+int GLAD_GL_ARB_framebuffer_sRGB;
+int GLAD_GL_SUN_slice_accum;
+int GLAD_GL_EXT_index_texture;
+int GLAD_GL_EXT_shader_image_load_formatted;
+int GLAD_GL_ARB_geometry_shader4;
+int GLAD_GL_EXT_separate_specular_color;
+int GLAD_GL_AMD_depth_clamp_separate;
+int GLAD_GL_SUN_convolution_border_modes;
+int GLAD_GL_SGIX_sprite;
+int GLAD_GL_ARB_get_program_binary;
+int GLAD_GL_AMD_occlusion_query_event;
+int GLAD_GL_SGIS_multisample;
+int GLAD_GL_EXT_framebuffer_object;
+int GLAD_GL_ARB_robustness_isolation;
+int GLAD_GL_ARB_vertex_array_bgra;
+int GLAD_GL_APPLE_vertex_array_range;
+int GLAD_GL_AMD_query_buffer_object;
+int GLAD_GL_NV_register_combiners;
+int GLAD_GL_ARB_draw_buffers;
+int GLAD_GL_ARB_clear_texture;
+int GLAD_GL_ARB_debug_output;
+int GLAD_GL_SGI_color_matrix;
+int GLAD_GL_EXT_cull_vertex;
+int GLAD_GL_EXT_texture_sRGB;
+int GLAD_GL_APPLE_row_bytes;
+int GLAD_GL_NV_texgen_reflection;
+int GLAD_GL_IBM_multimode_draw_arrays;
+int GLAD_GL_APPLE_vertex_array_object;
+int GLAD_GL_3DFX_texture_compression_FXT1;
+int GLAD_GL_SGIX_ycrcb;
+int GLAD_GL_AMD_conservative_depth;
+int GLAD_GL_ARB_texture_float;
+int GLAD_GL_ARB_compressed_texture_pixel_storage;
+int GLAD_GL_SGIS_detail_texture;
+int GLAD_GL_ARB_draw_instanced;
+int GLAD_GL_OES_read_format;
+int GLAD_GL_ATI_texture_float;
+int GLAD_GL_ARB_texture_gather;
+int GLAD_GL_AMD_vertex_shader_layer;
+int GLAD_GL_ARB_shading_language_include;
+int GLAD_GL_APPLE_client_storage;
+int GLAD_GL_WIN_phong_shading;
+int GLAD_GL_INGR_blend_func_separate;
+int GLAD_GL_NV_path_rendering;
+int GLAD_GL_ATI_vertex_streams;
+int GLAD_GL_ARB_texture_non_power_of_two;
+int GLAD_GL_APPLE_rgb_422;
+int GLAD_GL_EXT_texture_lod_bias;
+int GLAD_GL_ARB_seamless_cube_map;
+int GLAD_GL_ARB_shader_group_vote;
+int GLAD_GL_NV_vdpau_interop;
+int GLAD_GL_ARB_occlusion_query2;
+int GLAD_GL_ARB_internalformat_query2;
+int GLAD_GL_EXT_texture_filter_anisotropic;
+int GLAD_GL_SUN_vertex;
+int GLAD_GL_SGIX_igloo_interface;
+int GLAD_GL_SGIS_texture_lod;
+int GLAD_GL_NV_vertex_program3;
+int GLAD_GL_ARB_draw_indirect;
+int GLAD_GL_NV_vertex_program4;
+int GLAD_GL_AMD_transform_feedback3_lines_triangles;
+int GLAD_GL_SGIS_fog_function;
+int GLAD_GL_EXT_x11_sync_object;
+int GLAD_GL_ARB_sync;
+int GLAD_GL_ARB_compute_variable_group_size;
+int GLAD_GL_OES_fixed_point;
+int GLAD_GL_EXT_framebuffer_multisample;
+int GLAD_GL_ARB_gpu_shader5;
+int GLAD_GL_SGIS_texture4D;
+int GLAD_GL_EXT_texture3D;
+int GLAD_GL_EXT_multisample;
+int GLAD_GL_EXT_secondary_color;
+int GLAD_GL_NV_parameter_buffer_object2;
+int GLAD_GL_ATI_vertex_array_object;
+int GLAD_GL_NVX_gpu_memory_info;
+int GLAD_GL_ARB_sparse_texture;
+int GLAD_GL_SGIS_point_line_texgen;
+int GLAD_GL_EXT_draw_range_elements;
+int GLAD_GL_SGIX_blend_alpha_minmax;
+PFNGLPOINTPARAMETERINVPROC glad_glPointParameteriNV;
+PFNGLPOINTPARAMETERIVNVPROC glad_glPointParameterivNV;
+PFNGLELEMENTPOINTERAPPLEPROC glad_glElementPointerAPPLE;
+PFNGLDRAWELEMENTARRAYAPPLEPROC glad_glDrawElementArrayAPPLE;
+PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC glad_glDrawRangeElementArrayAPPLE;
+PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC glad_glMultiDrawElementArrayAPPLE;
+PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC glad_glMultiDrawRangeElementArrayAPPLE;
+PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC glad_glMultiDrawArraysIndirectAMD;
+PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC glad_glMultiDrawElementsIndirectAMD;
+PFNGLTAGSAMPLEBUFFERSGIXPROC glad_glTagSampleBufferSGIX;
+PFNGLSTENCILOPSEPARATEATIPROC glad_glStencilOpSeparateATI;
+PFNGLSTENCILFUNCSEPARATEATIPROC glad_glStencilFuncSeparateATI;
+PFNGLTEXBUFFEREXTPROC glad_glTexBufferEXT;
+PFNGLWEIGHTBVARBPROC glad_glWeightbvARB;
+PFNGLWEIGHTSVARBPROC glad_glWeightsvARB;
+PFNGLWEIGHTIVARBPROC glad_glWeightivARB;
+PFNGLWEIGHTFVARBPROC glad_glWeightfvARB;
+PFNGLWEIGHTDVARBPROC glad_glWeightdvARB;
+PFNGLWEIGHTUBVARBPROC glad_glWeightubvARB;
+PFNGLWEIGHTUSVARBPROC glad_glWeightusvARB;
+PFNGLWEIGHTUIVARBPROC glad_glWeightuivARB;
+PFNGLWEIGHTPOINTERARBPROC glad_glWeightPointerARB;
+PFNGLVERTEXBLENDARBPROC glad_glVertexBlendARB;
+PFNGLINDEXFUNCEXTPROC glad_glIndexFuncEXT;
+PFNGLMAKEBUFFERRESIDENTNVPROC glad_glMakeBufferResidentNV;
+PFNGLMAKEBUFFERNONRESIDENTNVPROC glad_glMakeBufferNonResidentNV;
+PFNGLISBUFFERRESIDENTNVPROC glad_glIsBufferResidentNV;
+PFNGLMAKENAMEDBUFFERRESIDENTNVPROC glad_glMakeNamedBufferResidentNV;
+PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC glad_glMakeNamedBufferNonResidentNV;
+PFNGLISNAMEDBUFFERRESIDENTNVPROC glad_glIsNamedBufferResidentNV;
+PFNGLGETBUFFERPARAMETERUI64VNVPROC glad_glGetBufferParameterui64vNV;
+PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC glad_glGetNamedBufferParameterui64vNV;
+PFNGLGETINTEGERUI64VNVPROC glad_glGetIntegerui64vNV;
+PFNGLUNIFORMUI64NVPROC glad_glUniformui64NV;
+PFNGLUNIFORMUI64VNVPROC glad_glUniformui64vNV;
+PFNGLGETUNIFORMUI64VNVPROC glad_glGetUniformui64vNV;
+PFNGLPROGRAMUNIFORMUI64NVPROC glad_glProgramUniformui64NV;
+PFNGLPROGRAMUNIFORMUI64VNVPROC glad_glProgramUniformui64vNV;
+PFNGLCOLORSUBTABLEEXTPROC glad_glColorSubTableEXT;
+PFNGLCOPYCOLORSUBTABLEEXTPROC glad_glCopyColorSubTableEXT;
+PFNGLFINISHTEXTURESUNXPROC glad_glFinishTextureSUNX;
+PFNGLMULTIDRAWARRAYSEXTPROC glad_glMultiDrawArraysEXT;
+PFNGLMULTIDRAWELEMENTSEXTPROC glad_glMultiDrawElementsEXT;
+PFNGLBEGINCONDITIONALRENDERNVPROC glad_glBeginConditionalRenderNV;
+PFNGLENDCONDITIONALRENDERNVPROC glad_glEndConditionalRenderNV;
+PFNGLRESIZEBUFFERSMESAPROC glad_glResizeBuffersMESA;
+PFNGLCONVOLUTIONFILTER1DEXTPROC glad_glConvolutionFilter1DEXT;
+PFNGLCONVOLUTIONFILTER2DEXTPROC glad_glConvolutionFilter2DEXT;
+PFNGLCONVOLUTIONPARAMETERFEXTPROC glad_glConvolutionParameterfEXT;
+PFNGLCONVOLUTIONPARAMETERFVEXTPROC glad_glConvolutionParameterfvEXT;
+PFNGLCONVOLUTIONPARAMETERIEXTPROC glad_glConvolutionParameteriEXT;
+PFNGLCONVOLUTIONPARAMETERIVEXTPROC glad_glConvolutionParameterivEXT;
+PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC glad_glCopyConvolutionFilter1DEXT;
+PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC glad_glCopyConvolutionFilter2DEXT;
+PFNGLGETCONVOLUTIONFILTEREXTPROC glad_glGetConvolutionFilterEXT;
+PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC glad_glGetConvolutionParameterfvEXT;
+PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC glad_glGetConvolutionParameterivEXT;
+PFNGLGETSEPARABLEFILTEREXTPROC glad_glGetSeparableFilterEXT;
+PFNGLSEPARABLEFILTER2DEXTPROC glad_glSeparableFilter2DEXT;
+PFNGLVERTEXATTRIBL1I64NVPROC glad_glVertexAttribL1i64NV;
+PFNGLVERTEXATTRIBL2I64NVPROC glad_glVertexAttribL2i64NV;
+PFNGLVERTEXATTRIBL3I64NVPROC glad_glVertexAttribL3i64NV;
+PFNGLVERTEXATTRIBL4I64NVPROC glad_glVertexAttribL4i64NV;
+PFNGLVERTEXATTRIBL1I64VNVPROC glad_glVertexAttribL1i64vNV;
+PFNGLVERTEXATTRIBL2I64VNVPROC glad_glVertexAttribL2i64vNV;
+PFNGLVERTEXATTRIBL3I64VNVPROC glad_glVertexAttribL3i64vNV;
+PFNGLVERTEXATTRIBL4I64VNVPROC glad_glVertexAttribL4i64vNV;
+PFNGLVERTEXATTRIBL1UI64NVPROC glad_glVertexAttribL1ui64NV;
+PFNGLVERTEXATTRIBL2UI64NVPROC glad_glVertexAttribL2ui64NV;
+PFNGLVERTEXATTRIBL3UI64NVPROC glad_glVertexAttribL3ui64NV;
+PFNGLVERTEXATTRIBL4UI64NVPROC glad_glVertexAttribL4ui64NV;
+PFNGLVERTEXATTRIBL1UI64VNVPROC glad_glVertexAttribL1ui64vNV;
+PFNGLVERTEXATTRIBL2UI64VNVPROC glad_glVertexAttribL2ui64vNV;
+PFNGLVERTEXATTRIBL3UI64VNVPROC glad_glVertexAttribL3ui64vNV;
+PFNGLVERTEXATTRIBL4UI64VNVPROC glad_glVertexAttribL4ui64vNV;
+PFNGLGETVERTEXATTRIBLI64VNVPROC glad_glGetVertexAttribLi64vNV;
+PFNGLGETVERTEXATTRIBLUI64VNVPROC glad_glGetVertexAttribLui64vNV;
+PFNGLVERTEXATTRIBLFORMATNVPROC glad_glVertexAttribLFormatNV;
+PFNGLCOLORTABLEEXTPROC glad_glColorTableEXT;
+PFNGLGETCOLORTABLEEXTPROC glad_glGetColorTableEXT;
+PFNGLGETCOLORTABLEPARAMETERIVEXTPROC glad_glGetColorTableParameterivEXT;
+PFNGLGETCOLORTABLEPARAMETERFVEXTPROC glad_glGetColorTableParameterfvEXT;
+PFNGLTEXBUFFERARBPROC glad_glTexBufferARB;
+PFNGLPNTRIANGLESIATIPROC glad_glPNTrianglesiATI;
+PFNGLPNTRIANGLESFATIPROC glad_glPNTrianglesfATI;
+PFNGLFLUSHRASTERSGIXPROC glad_glFlushRasterSGIX;
+PFNGLAPPLYTEXTUREEXTPROC glad_glApplyTextureEXT;
+PFNGLTEXTURELIGHTEXTPROC glad_glTextureLightEXT;
+PFNGLTEXTUREMATERIALEXTPROC glad_glTextureMaterialEXT;
+PFNGLBLENDFUNCINDEXEDAMDPROC glad_glBlendFuncIndexedAMD;
+PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC glad_glBlendFuncSeparateIndexedAMD;
+PFNGLBLENDEQUATIONINDEXEDAMDPROC glad_glBlendEquationIndexedAMD;
+PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC glad_glBlendEquationSeparateIndexedAMD;
+PFNGLWINDOWPOS2DMESAPROC glad_glWindowPos2dMESA;
+PFNGLWINDOWPOS2DVMESAPROC glad_glWindowPos2dvMESA;
+PFNGLWINDOWPOS2FMESAPROC glad_glWindowPos2fMESA;
+PFNGLWINDOWPOS2FVMESAPROC glad_glWindowPos2fvMESA;
+PFNGLWINDOWPOS2IMESAPROC glad_glWindowPos2iMESA;
+PFNGLWINDOWPOS2IVMESAPROC glad_glWindowPos2ivMESA;
+PFNGLWINDOWPOS2SMESAPROC glad_glWindowPos2sMESA;
+PFNGLWINDOWPOS2SVMESAPROC glad_glWindowPos2svMESA;
+PFNGLWINDOWPOS3DMESAPROC glad_glWindowPos3dMESA;
+PFNGLWINDOWPOS3DVMESAPROC glad_glWindowPos3dvMESA;
+PFNGLWINDOWPOS3FMESAPROC glad_glWindowPos3fMESA;
+PFNGLWINDOWPOS3FVMESAPROC glad_glWindowPos3fvMESA;
+PFNGLWINDOWPOS3IMESAPROC glad_glWindowPos3iMESA;
+PFNGLWINDOWPOS3IVMESAPROC glad_glWindowPos3ivMESA;
+PFNGLWINDOWPOS3SMESAPROC glad_glWindowPos3sMESA;
+PFNGLWINDOWPOS3SVMESAPROC glad_glWindowPos3svMESA;
+PFNGLWINDOWPOS4DMESAPROC glad_glWindowPos4dMESA;
+PFNGLWINDOWPOS4DVMESAPROC glad_glWindowPos4dvMESA;
+PFNGLWINDOWPOS4FMESAPROC glad_glWindowPos4fMESA;
+PFNGLWINDOWPOS4FVMESAPROC glad_glWindowPos4fvMESA;
+PFNGLWINDOWPOS4IMESAPROC glad_glWindowPos4iMESA;
+PFNGLWINDOWPOS4IVMESAPROC glad_glWindowPos4ivMESA;
+PFNGLWINDOWPOS4SMESAPROC glad_glWindowPos4sMESA;
+PFNGLWINDOWPOS4SVMESAPROC glad_glWindowPos4svMESA;
+PFNGLTEXTUREBARRIERNVPROC glad_glTextureBarrierNV;
+PFNGLTBUFFERMASK3DFXPROC glad_glTbufferMask3DFX;
+PFNGLFRAMETERMINATORGREMEDYPROC glad_glFrameTerminatorGREMEDY;
+PFNGLUSESHADERPROGRAMEXTPROC glad_glUseShaderProgramEXT;
+PFNGLACTIVEPROGRAMEXTPROC glad_glActiveProgramEXT;
+PFNGLCREATESHADERPROGRAMEXTPROC glad_glCreateShaderProgramEXT;
+PFNGLACTIVESHADERPROGRAMEXTPROC glad_glActiveShaderProgramEXT;
+PFNGLBINDPROGRAMPIPELINEEXTPROC glad_glBindProgramPipelineEXT;
+PFNGLCREATESHADERPROGRAMVEXTPROC glad_glCreateShaderProgramvEXT;
+PFNGLDELETEPROGRAMPIPELINESEXTPROC glad_glDeleteProgramPipelinesEXT;
+PFNGLGENPROGRAMPIPELINESEXTPROC glad_glGenProgramPipelinesEXT;
+PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC glad_glGetProgramPipelineInfoLogEXT;
+PFNGLGETPROGRAMPIPELINEIVEXTPROC glad_glGetProgramPipelineivEXT;
+PFNGLISPROGRAMPIPELINEEXTPROC glad_glIsProgramPipelineEXT;
+PFNGLPROGRAMPARAMETERIEXTPROC glad_glProgramParameteriEXT;
+PFNGLPROGRAMUNIFORM1FEXTPROC glad_glProgramUniform1fEXT;
+PFNGLPROGRAMUNIFORM1FVEXTPROC glad_glProgramUniform1fvEXT;
+PFNGLPROGRAMUNIFORM1IEXTPROC glad_glProgramUniform1iEXT;
+PFNGLPROGRAMUNIFORM1IVEXTPROC glad_glProgramUniform1ivEXT;
+PFNGLPROGRAMUNIFORM2FEXTPROC glad_glProgramUniform2fEXT;
+PFNGLPROGRAMUNIFORM2FVEXTPROC glad_glProgramUniform2fvEXT;
+PFNGLPROGRAMUNIFORM2IEXTPROC glad_glProgramUniform2iEXT;
+PFNGLPROGRAMUNIFORM2IVEXTPROC glad_glProgramUniform2ivEXT;
+PFNGLPROGRAMUNIFORM3FEXTPROC glad_glProgramUniform3fEXT;
+PFNGLPROGRAMUNIFORM3FVEXTPROC glad_glProgramUniform3fvEXT;
+PFNGLPROGRAMUNIFORM3IEXTPROC glad_glProgramUniform3iEXT;
+PFNGLPROGRAMUNIFORM3IVEXTPROC glad_glProgramUniform3ivEXT;
+PFNGLPROGRAMUNIFORM4FEXTPROC glad_glProgramUniform4fEXT;
+PFNGLPROGRAMUNIFORM4FVEXTPROC glad_glProgramUniform4fvEXT;
+PFNGLPROGRAMUNIFORM4IEXTPROC glad_glProgramUniform4iEXT;
+PFNGLPROGRAMUNIFORM4IVEXTPROC glad_glProgramUniform4ivEXT;
+PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC glad_glProgramUniformMatrix2fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC glad_glProgramUniformMatrix3fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC glad_glProgramUniformMatrix4fvEXT;
+PFNGLUSEPROGRAMSTAGESEXTPROC glad_glUseProgramStagesEXT;
+PFNGLVALIDATEPROGRAMPIPELINEEXTPROC glad_glValidateProgramPipelineEXT;
+PFNGLPROGRAMUNIFORM1UIEXTPROC glad_glProgramUniform1uiEXT;
+PFNGLPROGRAMUNIFORM2UIEXTPROC glad_glProgramUniform2uiEXT;
+PFNGLPROGRAMUNIFORM3UIEXTPROC glad_glProgramUniform3uiEXT;
+PFNGLPROGRAMUNIFORM4UIEXTPROC glad_glProgramUniform4uiEXT;
+PFNGLPROGRAMUNIFORM1UIVEXTPROC glad_glProgramUniform1uivEXT;
+PFNGLPROGRAMUNIFORM2UIVEXTPROC glad_glProgramUniform2uivEXT;
+PFNGLPROGRAMUNIFORM3UIVEXTPROC glad_glProgramUniform3uivEXT;
+PFNGLPROGRAMUNIFORM4UIVEXTPROC glad_glProgramUniform4uivEXT;
+PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC glad_glProgramUniformMatrix4fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC glad_glProgramUniformMatrix2x3fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC glad_glProgramUniformMatrix3x2fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC glad_glProgramUniformMatrix2x4fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC glad_glProgramUniformMatrix4x2fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC glad_glProgramUniformMatrix3x4fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC glad_glProgramUniformMatrix4x3fvEXT;
+PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC glad_glTexImage2DMultisampleCoverageNV;
+PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC glad_glTexImage3DMultisampleCoverageNV;
+PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC glad_glTextureImage2DMultisampleNV;
+PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC glad_glTextureImage3DMultisampleNV;
+PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC glad_glTextureImage2DMultisampleCoverageNV;
+PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC glad_glTextureImage3DMultisampleCoverageNV;
+PFNGLDELETEOBJECTARBPROC glad_glDeleteObjectARB;
+PFNGLGETHANDLEARBPROC glad_glGetHandleARB;
+PFNGLDETACHOBJECTARBPROC glad_glDetachObjectARB;
+PFNGLCREATESHADEROBJECTARBPROC glad_glCreateShaderObjectARB;
+PFNGLSHADERSOURCEARBPROC glad_glShaderSourceARB;
+PFNGLCOMPILESHADERARBPROC glad_glCompileShaderARB;
+PFNGLCREATEPROGRAMOBJECTARBPROC glad_glCreateProgramObjectARB;
+PFNGLATTACHOBJECTARBPROC glad_glAttachObjectARB;
+PFNGLLINKPROGRAMARBPROC glad_glLinkProgramARB;
+PFNGLUSEPROGRAMOBJECTARBPROC glad_glUseProgramObjectARB;
+PFNGLVALIDATEPROGRAMARBPROC glad_glValidateProgramARB;
+PFNGLUNIFORM1FARBPROC glad_glUniform1fARB;
+PFNGLUNIFORM2FARBPROC glad_glUniform2fARB;
+PFNGLUNIFORM3FARBPROC glad_glUniform3fARB;
+PFNGLUNIFORM4FARBPROC glad_glUniform4fARB;
+PFNGLUNIFORM1IARBPROC glad_glUniform1iARB;
+PFNGLUNIFORM2IARBPROC glad_glUniform2iARB;
+PFNGLUNIFORM3IARBPROC glad_glUniform3iARB;
+PFNGLUNIFORM4IARBPROC glad_glUniform4iARB;
+PFNGLUNIFORM1FVARBPROC glad_glUniform1fvARB;
+PFNGLUNIFORM2FVARBPROC glad_glUniform2fvARB;
+PFNGLUNIFORM3FVARBPROC glad_glUniform3fvARB;
+PFNGLUNIFORM4FVARBPROC glad_glUniform4fvARB;
+PFNGLUNIFORM1IVARBPROC glad_glUniform1ivARB;
+PFNGLUNIFORM2IVARBPROC glad_glUniform2ivARB;
+PFNGLUNIFORM3IVARBPROC glad_glUniform3ivARB;
+PFNGLUNIFORM4IVARBPROC glad_glUniform4ivARB;
+PFNGLUNIFORMMATRIX2FVARBPROC glad_glUniformMatrix2fvARB;
+PFNGLUNIFORMMATRIX3FVARBPROC glad_glUniformMatrix3fvARB;
+PFNGLUNIFORMMATRIX4FVARBPROC glad_glUniformMatrix4fvARB;
+PFNGLGETOBJECTPARAMETERFVARBPROC glad_glGetObjectParameterfvARB;
+PFNGLGETOBJECTPARAMETERIVARBPROC glad_glGetObjectParameterivARB;
+PFNGLGETINFOLOGARBPROC glad_glGetInfoLogARB;
+PFNGLGETATTACHEDOBJECTSARBPROC glad_glGetAttachedObjectsARB;
+PFNGLGETUNIFORMLOCATIONARBPROC glad_glGetUniformLocationARB;
+PFNGLGETACTIVEUNIFORMARBPROC glad_glGetActiveUniformARB;
+PFNGLGETUNIFORMFVARBPROC glad_glGetUniformfvARB;
+PFNGLGETUNIFORMIVARBPROC glad_glGetUniformivARB;
+PFNGLGETSHADERSOURCEARBPROC glad_glGetShaderSourceARB;
+PFNGLTEXBUMPPARAMETERIVATIPROC glad_glTexBumpParameterivATI;
+PFNGLTEXBUMPPARAMETERFVATIPROC glad_glTexBumpParameterfvATI;
+PFNGLGETTEXBUMPPARAMETERIVATIPROC glad_glGetTexBumpParameterivATI;
+PFNGLGETTEXBUMPPARAMETERFVATIPROC glad_glGetTexBumpParameterfvATI;
+PFNGLMAPOBJECTBUFFERATIPROC glad_glMapObjectBufferATI;
+PFNGLUNMAPOBJECTBUFFERATIPROC glad_glUnmapObjectBufferATI;
+PFNGLGETGRAPHICSRESETSTATUSARBPROC glad_glGetGraphicsResetStatusARB;
+PFNGLGETNTEXIMAGEARBPROC glad_glGetnTexImageARB;
+PFNGLREADNPIXELSARBPROC glad_glReadnPixelsARB;
+PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC glad_glGetnCompressedTexImageARB;
+PFNGLGETNUNIFORMFVARBPROC glad_glGetnUniformfvARB;
+PFNGLGETNUNIFORMIVARBPROC glad_glGetnUniformivARB;
+PFNGLGETNUNIFORMUIVARBPROC glad_glGetnUniformuivARB;
+PFNGLGETNUNIFORMDVARBPROC glad_glGetnUniformdvARB;
+PFNGLGETNMAPDVARBPROC glad_glGetnMapdvARB;
+PFNGLGETNMAPFVARBPROC glad_glGetnMapfvARB;
+PFNGLGETNMAPIVARBPROC glad_glGetnMapivARB;
+PFNGLGETNPIXELMAPFVARBPROC glad_glGetnPixelMapfvARB;
+PFNGLGETNPIXELMAPUIVARBPROC glad_glGetnPixelMapuivARB;
+PFNGLGETNPIXELMAPUSVARBPROC glad_glGetnPixelMapusvARB;
+PFNGLGETNPOLYGONSTIPPLEARBPROC glad_glGetnPolygonStippleARB;
+PFNGLGETNCOLORTABLEARBPROC glad_glGetnColorTableARB;
+PFNGLGETNCONVOLUTIONFILTERARBPROC glad_glGetnConvolutionFilterARB;
+PFNGLGETNSEPARABLEFILTERARBPROC glad_glGetnSeparableFilterARB;
+PFNGLGETNHISTOGRAMARBPROC glad_glGetnHistogramARB;
+PFNGLGETNMINMAXARBPROC glad_glGetnMinmaxARB;
+PFNGLPIXELDATARANGENVPROC glad_glPixelDataRangeNV;
+PFNGLFLUSHPIXELDATARANGENVPROC glad_glFlushPixelDataRangeNV;
+PFNGLBLITFRAMEBUFFEREXTPROC glad_glBlitFramebufferEXT;
+PFNGLVERTEXWEIGHTFEXTPROC glad_glVertexWeightfEXT;
+PFNGLVERTEXWEIGHTFVEXTPROC glad_glVertexWeightfvEXT;
+PFNGLVERTEXWEIGHTPOINTEREXTPROC glad_glVertexWeightPointerEXT;
+PFNGLSTRINGMARKERGREMEDYPROC glad_glStringMarkerGREMEDY;
+PFNGLTEXSUBIMAGE1DEXTPROC glad_glTexSubImage1DEXT;
+PFNGLTEXSUBIMAGE2DEXTPROC glad_glTexSubImage2DEXT;
+PFNGLMAPCONTROLPOINTSNVPROC glad_glMapControlPointsNV;
+PFNGLMAPPARAMETERIVNVPROC glad_glMapParameterivNV;
+PFNGLMAPPARAMETERFVNVPROC glad_glMapParameterfvNV;
+PFNGLGETMAPCONTROLPOINTSNVPROC glad_glGetMapControlPointsNV;
+PFNGLGETMAPPARAMETERIVNVPROC glad_glGetMapParameterivNV;
+PFNGLGETMAPPARAMETERFVNVPROC glad_glGetMapParameterfvNV;
+PFNGLGETMAPATTRIBPARAMETERIVNVPROC glad_glGetMapAttribParameterivNV;
+PFNGLGETMAPATTRIBPARAMETERFVNVPROC glad_glGetMapAttribParameterfvNV;
+PFNGLEVALMAPSNVPROC glad_glEvalMapsNV;
+PFNGLGETTEXFILTERFUNCSGISPROC glad_glGetTexFilterFuncSGIS;
+PFNGLTEXFILTERFUNCSGISPROC glad_glTexFilterFuncSGIS;
+PFNGLGETPERFMONITORGROUPSAMDPROC glad_glGetPerfMonitorGroupsAMD;
+PFNGLGETPERFMONITORCOUNTERSAMDPROC glad_glGetPerfMonitorCountersAMD;
+PFNGLGETPERFMONITORGROUPSTRINGAMDPROC glad_glGetPerfMonitorGroupStringAMD;
+PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC glad_glGetPerfMonitorCounterStringAMD;
+PFNGLGETPERFMONITORCOUNTERINFOAMDPROC glad_glGetPerfMonitorCounterInfoAMD;
+PFNGLGENPERFMONITORSAMDPROC glad_glGenPerfMonitorsAMD;
+PFNGLDELETEPERFMONITORSAMDPROC glad_glDeletePerfMonitorsAMD;
+PFNGLSELECTPERFMONITORCOUNTERSAMDPROC glad_glSelectPerfMonitorCountersAMD;
+PFNGLBEGINPERFMONITORAMDPROC glad_glBeginPerfMonitorAMD;
+PFNGLENDPERFMONITORAMDPROC glad_glEndPerfMonitorAMD;
+PFNGLGETPERFMONITORCOUNTERDATAAMDPROC glad_glGetPerfMonitorCounterDataAMD;
+PFNGLSTENCILCLEARTAGEXTPROC glad_glStencilClearTagEXT;
+PFNGLPRESENTFRAMEKEYEDNVPROC glad_glPresentFrameKeyedNV;
+PFNGLPRESENTFRAMEDUALFILLNVPROC glad_glPresentFrameDualFillNV;
+PFNGLGETVIDEOIVNVPROC glad_glGetVideoivNV;
+PFNGLGETVIDEOUIVNVPROC glad_glGetVideouivNV;
+PFNGLGETVIDEOI64VNVPROC glad_glGetVideoi64vNV;
+PFNGLGETVIDEOUI64VNVPROC glad_glGetVideoui64vNV;
+PFNGLPROGRAMENVPARAMETERS4FVEXTPROC glad_glProgramEnvParameters4fvEXT;
+PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC glad_glProgramLocalParameters4fvEXT;
+PFNGLBEGINTRANSFORMFEEDBACKNVPROC glad_glBeginTransformFeedbackNV;
+PFNGLENDTRANSFORMFEEDBACKNVPROC glad_glEndTransformFeedbackNV;
+PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC glad_glTransformFeedbackAttribsNV;
+PFNGLBINDBUFFERRANGENVPROC glad_glBindBufferRangeNV;
+PFNGLBINDBUFFEROFFSETNVPROC glad_glBindBufferOffsetNV;
+PFNGLBINDBUFFERBASENVPROC glad_glBindBufferBaseNV;
+PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC glad_glTransformFeedbackVaryingsNV;
+PFNGLACTIVEVARYINGNVPROC glad_glActiveVaryingNV;
+PFNGLGETVARYINGLOCATIONNVPROC glad_glGetVaryingLocationNV;
+PFNGLGETACTIVEVARYINGNVPROC glad_glGetActiveVaryingNV;
+PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC glad_glGetTransformFeedbackVaryingNV;
+PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC glad_glTransformFeedbackStreamAttribsNV;
+PFNGLPROGRAMNAMEDPARAMETER4FNVPROC glad_glProgramNamedParameter4fNV;
+PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC glad_glProgramNamedParameter4fvNV;
+PFNGLPROGRAMNAMEDPARAMETER4DNVPROC glad_glProgramNamedParameter4dNV;
+PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC glad_glProgramNamedParameter4dvNV;
+PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC glad_glGetProgramNamedParameterfvNV;
+PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC glad_glGetProgramNamedParameterdvNV;
+PFNGLSTENCILOPVALUEAMDPROC glad_glStencilOpValueAMD;
+PFNGLVERTEXATTRIBDIVISORARBPROC glad_glVertexAttribDivisorARB;
+PFNGLPOLYGONOFFSETEXTPROC glad_glPolygonOffsetEXT;
+PFNGLTEXSTORAGESPARSEAMDPROC glad_glTexStorageSparseAMD;
+PFNGLTEXTURESTORAGESPARSEAMDPROC glad_glTextureStorageSparseAMD;
+PFNGLDELETEFENCESNVPROC glad_glDeleteFencesNV;
+PFNGLGENFENCESNVPROC glad_glGenFencesNV;
+PFNGLISFENCENVPROC glad_glIsFenceNV;
+PFNGLTESTFENCENVPROC glad_glTestFenceNV;
+PFNGLGETFENCEIVNVPROC glad_glGetFenceivNV;
+PFNGLFINISHFENCENVPROC glad_glFinishFenceNV;
+PFNGLSETFENCENVPROC glad_glSetFenceNV;
+PFNGLDRAWMESHARRAYSSUNPROC glad_glDrawMeshArraysSUN;
+PFNGLCREATESYNCFROMCLEVENTARBPROC glad_glCreateSyncFromCLeventARB;
+PFNGLCLEARDEPTHFOESPROC glad_glClearDepthfOES;
+PFNGLCLIPPLANEFOESPROC glad_glClipPlanefOES;
+PFNGLDEPTHRANGEFOESPROC glad_glDepthRangefOES;
+PFNGLFRUSTUMFOESPROC glad_glFrustumfOES;
+PFNGLGETCLIPPLANEFOESPROC glad_glGetClipPlanefOES;
+PFNGLORTHOFOESPROC glad_glOrthofOES;
+PFNGLPRIMITIVERESTARTNVPROC glad_glPrimitiveRestartNV;
+PFNGLPRIMITIVERESTARTINDEXNVPROC glad_glPrimitiveRestartIndexNV;
+PFNGLGLOBALALPHAFACTORBSUNPROC glad_glGlobalAlphaFactorbSUN;
+PFNGLGLOBALALPHAFACTORSSUNPROC glad_glGlobalAlphaFactorsSUN;
+PFNGLGLOBALALPHAFACTORISUNPROC glad_glGlobalAlphaFactoriSUN;
+PFNGLGLOBALALPHAFACTORFSUNPROC glad_glGlobalAlphaFactorfSUN;
+PFNGLGLOBALALPHAFACTORDSUNPROC glad_glGlobalAlphaFactordSUN;
+PFNGLGLOBALALPHAFACTORUBSUNPROC glad_glGlobalAlphaFactorubSUN;
+PFNGLGLOBALALPHAFACTORUSSUNPROC glad_glGlobalAlphaFactorusSUN;
+PFNGLGLOBALALPHAFACTORUISUNPROC glad_glGlobalAlphaFactoruiSUN;
+PFNGLARETEXTURESRESIDENTEXTPROC glad_glAreTexturesResidentEXT;
+PFNGLBINDTEXTUREEXTPROC glad_glBindTextureEXT;
+PFNGLDELETETEXTURESEXTPROC glad_glDeleteTexturesEXT;
+PFNGLGENTEXTURESEXTPROC glad_glGenTexturesEXT;
+PFNGLISTEXTUREEXTPROC glad_glIsTextureEXT;
+PFNGLPRIORITIZETEXTURESEXTPROC glad_glPrioritizeTexturesEXT;
+PFNGLGENNAMESAMDPROC glad_glGenNamesAMD;
+PFNGLDELETENAMESAMDPROC glad_glDeleteNamesAMD;
+PFNGLISNAMEAMDPROC glad_glIsNameAMD;
+PFNGLENABLEVERTEXATTRIBAPPLEPROC glad_glEnableVertexAttribAPPLE;
+PFNGLDISABLEVERTEXATTRIBAPPLEPROC glad_glDisableVertexAttribAPPLE;
+PFNGLISVERTEXATTRIBENABLEDAPPLEPROC glad_glIsVertexAttribEnabledAPPLE;
+PFNGLMAPVERTEXATTRIB1DAPPLEPROC glad_glMapVertexAttrib1dAPPLE;
+PFNGLMAPVERTEXATTRIB1FAPPLEPROC glad_glMapVertexAttrib1fAPPLE;
+PFNGLMAPVERTEXATTRIB2DAPPLEPROC glad_glMapVertexAttrib2dAPPLE;
+PFNGLMAPVERTEXATTRIB2FAPPLEPROC glad_glMapVertexAttrib2fAPPLE;
+PFNGLGETLISTPARAMETERFVSGIXPROC glad_glGetListParameterfvSGIX;
+PFNGLGETLISTPARAMETERIVSGIXPROC glad_glGetListParameterivSGIX;
+PFNGLLISTPARAMETERFSGIXPROC glad_glListParameterfSGIX;
+PFNGLLISTPARAMETERFVSGIXPROC glad_glListParameterfvSGIX;
+PFNGLLISTPARAMETERISGIXPROC glad_glListParameteriSGIX;
+PFNGLLISTPARAMETERIVSGIXPROC glad_glListParameterivSGIX;
+PFNGLBUFFERADDRESSRANGENVPROC glad_glBufferAddressRangeNV;
+PFNGLVERTEXFORMATNVPROC glad_glVertexFormatNV;
+PFNGLNORMALFORMATNVPROC glad_glNormalFormatNV;
+PFNGLCOLORFORMATNVPROC glad_glColorFormatNV;
+PFNGLINDEXFORMATNVPROC glad_glIndexFormatNV;
+PFNGLTEXCOORDFORMATNVPROC glad_glTexCoordFormatNV;
+PFNGLEDGEFLAGFORMATNVPROC glad_glEdgeFlagFormatNV;
+PFNGLSECONDARYCOLORFORMATNVPROC glad_glSecondaryColorFormatNV;
+PFNGLFOGCOORDFORMATNVPROC glad_glFogCoordFormatNV;
+PFNGLVERTEXATTRIBFORMATNVPROC glad_glVertexAttribFormatNV;
+PFNGLVERTEXATTRIBIFORMATNVPROC glad_glVertexAttribIFormatNV;
+PFNGLGETINTEGERUI64I_VNVPROC glad_glGetIntegerui64i_vNV;
+PFNGLBLENDPARAMETERINVPROC glad_glBlendParameteriNV;
+PFNGLBLENDBARRIERNVPROC glad_glBlendBarrierNV;
+PFNGLSHARPENTEXFUNCSGISPROC glad_glSharpenTexFuncSGIS;
+PFNGLGETSHARPENTEXFUNCSGISPROC glad_glGetSharpenTexFuncSGIS;
+PFNGLVERTEXATTRIB1DARBPROC glad_glVertexAttrib1dARB;
+PFNGLVERTEXATTRIB1DVARBPROC glad_glVertexAttrib1dvARB;
+PFNGLVERTEXATTRIB1FARBPROC glad_glVertexAttrib1fARB;
+PFNGLVERTEXATTRIB1FVARBPROC glad_glVertexAttrib1fvARB;
+PFNGLVERTEXATTRIB1SARBPROC glad_glVertexAttrib1sARB;
+PFNGLVERTEXATTRIB1SVARBPROC glad_glVertexAttrib1svARB;
+PFNGLVERTEXATTRIB2DARBPROC glad_glVertexAttrib2dARB;
+PFNGLVERTEXATTRIB2DVARBPROC glad_glVertexAttrib2dvARB;
+PFNGLVERTEXATTRIB2FARBPROC glad_glVertexAttrib2fARB;
+PFNGLVERTEXATTRIB2FVARBPROC glad_glVertexAttrib2fvARB;
+PFNGLVERTEXATTRIB2SARBPROC glad_glVertexAttrib2sARB;
+PFNGLVERTEXATTRIB2SVARBPROC glad_glVertexAttrib2svARB;
+PFNGLVERTEXATTRIB3DARBPROC glad_glVertexAttrib3dARB;
+PFNGLVERTEXATTRIB3DVARBPROC glad_glVertexAttrib3dvARB;
+PFNGLVERTEXATTRIB3FARBPROC glad_glVertexAttrib3fARB;
+PFNGLVERTEXATTRIB3FVARBPROC glad_glVertexAttrib3fvARB;
+PFNGLVERTEXATTRIB3SARBPROC glad_glVertexAttrib3sARB;
+PFNGLVERTEXATTRIB3SVARBPROC glad_glVertexAttrib3svARB;
+PFNGLVERTEXATTRIB4NBVARBPROC glad_glVertexAttrib4NbvARB;
+PFNGLVERTEXATTRIB4NIVARBPROC glad_glVertexAttrib4NivARB;
+PFNGLVERTEXATTRIB4NSVARBPROC glad_glVertexAttrib4NsvARB;
+PFNGLVERTEXATTRIB4NUBARBPROC glad_glVertexAttrib4NubARB;
+PFNGLVERTEXATTRIB4NUBVARBPROC glad_glVertexAttrib4NubvARB;
+PFNGLVERTEXATTRIB4NUIVARBPROC glad_glVertexAttrib4NuivARB;
+PFNGLVERTEXATTRIB4NUSVARBPROC glad_glVertexAttrib4NusvARB;
+PFNGLVERTEXATTRIB4BVARBPROC glad_glVertexAttrib4bvARB;
+PFNGLVERTEXATTRIB4DARBPROC glad_glVertexAttrib4dARB;
+PFNGLVERTEXATTRIB4DVARBPROC glad_glVertexAttrib4dvARB;
+PFNGLVERTEXATTRIB4FARBPROC glad_glVertexAttrib4fARB;
+PFNGLVERTEXATTRIB4FVARBPROC glad_glVertexAttrib4fvARB;
+PFNGLVERTEXATTRIB4IVARBPROC glad_glVertexAttrib4ivARB;
+PFNGLVERTEXATTRIB4SARBPROC glad_glVertexAttrib4sARB;
+PFNGLVERTEXATTRIB4SVARBPROC glad_glVertexAttrib4svARB;
+PFNGLVERTEXATTRIB4UBVARBPROC glad_glVertexAttrib4ubvARB;
+PFNGLVERTEXATTRIB4UIVARBPROC glad_glVertexAttrib4uivARB;
+PFNGLVERTEXATTRIB4USVARBPROC glad_glVertexAttrib4usvARB;
+PFNGLVERTEXATTRIBPOINTERARBPROC glad_glVertexAttribPointerARB;
+PFNGLENABLEVERTEXATTRIBARRAYARBPROC glad_glEnableVertexAttribArrayARB;
+PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glad_glDisableVertexAttribArrayARB;
+PFNGLPROGRAMSTRINGARBPROC glad_glProgramStringARB;
+PFNGLBINDPROGRAMARBPROC glad_glBindProgramARB;
+PFNGLDELETEPROGRAMSARBPROC glad_glDeleteProgramsARB;
+PFNGLGENPROGRAMSARBPROC glad_glGenProgramsARB;
+PFNGLPROGRAMENVPARAMETER4DARBPROC glad_glProgramEnvParameter4dARB;
+PFNGLPROGRAMENVPARAMETER4DVARBPROC glad_glProgramEnvParameter4dvARB;
+PFNGLPROGRAMENVPARAMETER4FARBPROC glad_glProgramEnvParameter4fARB;
+PFNGLPROGRAMENVPARAMETER4FVARBPROC glad_glProgramEnvParameter4fvARB;
+PFNGLPROGRAMLOCALPARAMETER4DARBPROC glad_glProgramLocalParameter4dARB;
+PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glad_glProgramLocalParameter4dvARB;
+PFNGLPROGRAMLOCALPARAMETER4FARBPROC glad_glProgramLocalParameter4fARB;
+PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glad_glProgramLocalParameter4fvARB;
+PFNGLGETPROGRAMENVPARAMETERDVARBPROC glad_glGetProgramEnvParameterdvARB;
+PFNGLGETPROGRAMENVPARAMETERFVARBPROC glad_glGetProgramEnvParameterfvARB;
+PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glad_glGetProgramLocalParameterdvARB;
+PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glad_glGetProgramLocalParameterfvARB;
+PFNGLGETPROGRAMIVARBPROC glad_glGetProgramivARB;
+PFNGLGETPROGRAMSTRINGARBPROC glad_glGetProgramStringARB;
+PFNGLGETVERTEXATTRIBDVARBPROC glad_glGetVertexAttribdvARB;
+PFNGLGETVERTEXATTRIBFVARBPROC glad_glGetVertexAttribfvARB;
+PFNGLGETVERTEXATTRIBIVARBPROC glad_glGetVertexAttribivARB;
+PFNGLGETVERTEXATTRIBPOINTERVARBPROC glad_glGetVertexAttribPointervARB;
+PFNGLISPROGRAMARBPROC glad_glIsProgramARB;
+PFNGLBINDBUFFERARBPROC glad_glBindBufferARB;
+PFNGLDELETEBUFFERSARBPROC glad_glDeleteBuffersARB;
+PFNGLGENBUFFERSARBPROC glad_glGenBuffersARB;
+PFNGLISBUFFERARBPROC glad_glIsBufferARB;
+PFNGLBUFFERDATAARBPROC glad_glBufferDataARB;
+PFNGLBUFFERSUBDATAARBPROC glad_glBufferSubDataARB;
+PFNGLGETBUFFERSUBDATAARBPROC glad_glGetBufferSubDataARB;
+PFNGLMAPBUFFERARBPROC glad_glMapBufferARB;
+PFNGLUNMAPBUFFERARBPROC glad_glUnmapBufferARB;
+PFNGLGETBUFFERPARAMETERIVARBPROC glad_glGetBufferParameterivARB;
+PFNGLGETBUFFERPOINTERVARBPROC glad_glGetBufferPointervARB;
+PFNGLFLUSHVERTEXARRAYRANGENVPROC glad_glFlushVertexArrayRangeNV;
+PFNGLVERTEXARRAYRANGENVPROC glad_glVertexArrayRangeNV;
+PFNGLFRAGMENTCOLORMATERIALSGIXPROC glad_glFragmentColorMaterialSGIX;
+PFNGLFRAGMENTLIGHTFSGIXPROC glad_glFragmentLightfSGIX;
+PFNGLFRAGMENTLIGHTFVSGIXPROC glad_glFragmentLightfvSGIX;
+PFNGLFRAGMENTLIGHTISGIXPROC glad_glFragmentLightiSGIX;
+PFNGLFRAGMENTLIGHTIVSGIXPROC glad_glFragmentLightivSGIX;
+PFNGLFRAGMENTLIGHTMODELFSGIXPROC glad_glFragmentLightModelfSGIX;
+PFNGLFRAGMENTLIGHTMODELFVSGIXPROC glad_glFragmentLightModelfvSGIX;
+PFNGLFRAGMENTLIGHTMODELISGIXPROC glad_glFragmentLightModeliSGIX;
+PFNGLFRAGMENTLIGHTMODELIVSGIXPROC glad_glFragmentLightModelivSGIX;
+PFNGLFRAGMENTMATERIALFSGIXPROC glad_glFragmentMaterialfSGIX;
+PFNGLFRAGMENTMATERIALFVSGIXPROC glad_glFragmentMaterialfvSGIX;
+PFNGLFRAGMENTMATERIALISGIXPROC glad_glFragmentMaterialiSGIX;
+PFNGLFRAGMENTMATERIALIVSGIXPROC glad_glFragmentMaterialivSGIX;
+PFNGLGETFRAGMENTLIGHTFVSGIXPROC glad_glGetFragmentLightfvSGIX;
+PFNGLGETFRAGMENTLIGHTIVSGIXPROC glad_glGetFragmentLightivSGIX;
+PFNGLGETFRAGMENTMATERIALFVSGIXPROC glad_glGetFragmentMaterialfvSGIX;
+PFNGLGETFRAGMENTMATERIALIVSGIXPROC glad_glGetFragmentMaterialivSGIX;
+PFNGLLIGHTENVISGIXPROC glad_glLightEnviSGIX;
+PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC glad_glRenderbufferStorageMultisampleCoverageNV;
+PFNGLGETQUERYOBJECTI64VEXTPROC glad_glGetQueryObjecti64vEXT;
+PFNGLGETQUERYOBJECTUI64VEXTPROC glad_glGetQueryObjectui64vEXT;
+PFNGLGETTEXTUREHANDLENVPROC glad_glGetTextureHandleNV;
+PFNGLGETTEXTURESAMPLERHANDLENVPROC glad_glGetTextureSamplerHandleNV;
+PFNGLMAKETEXTUREHANDLERESIDENTNVPROC glad_glMakeTextureHandleResidentNV;
+PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC glad_glMakeTextureHandleNonResidentNV;
+PFNGLGETIMAGEHANDLENVPROC glad_glGetImageHandleNV;
+PFNGLMAKEIMAGEHANDLERESIDENTNVPROC glad_glMakeImageHandleResidentNV;
+PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC glad_glMakeImageHandleNonResidentNV;
+PFNGLUNIFORMHANDLEUI64NVPROC glad_glUniformHandleui64NV;
+PFNGLUNIFORMHANDLEUI64VNVPROC glad_glUniformHandleui64vNV;
+PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC glad_glProgramUniformHandleui64NV;
+PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC glad_glProgramUniformHandleui64vNV;
+PFNGLISTEXTUREHANDLERESIDENTNVPROC glad_glIsTextureHandleResidentNV;
+PFNGLISIMAGEHANDLERESIDENTNVPROC glad_glIsImageHandleResidentNV;
+PFNGLGETPOINTERVPROC glad_glGetPointerv;
+PFNGLDEBUGMESSAGECONTROLKHRPROC glad_glDebugMessageControlKHR;
+PFNGLDEBUGMESSAGEINSERTKHRPROC glad_glDebugMessageInsertKHR;
+PFNGLDEBUGMESSAGECALLBACKKHRPROC glad_glDebugMessageCallbackKHR;
+PFNGLGETDEBUGMESSAGELOGKHRPROC glad_glGetDebugMessageLogKHR;
+PFNGLPUSHDEBUGGROUPKHRPROC glad_glPushDebugGroupKHR;
+PFNGLPOPDEBUGGROUPKHRPROC glad_glPopDebugGroupKHR;
+PFNGLOBJECTLABELKHRPROC glad_glObjectLabelKHR;
+PFNGLGETOBJECTLABELKHRPROC glad_glGetObjectLabelKHR;
+PFNGLOBJECTPTRLABELKHRPROC glad_glObjectPtrLabelKHR;
+PFNGLGETOBJECTPTRLABELKHRPROC glad_glGetObjectPtrLabelKHR;
+PFNGLGETPOINTERVKHRPROC glad_glGetPointervKHR;
+PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glad_glVertexAttribArrayObjectATI;
+PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC glad_glGetVertexAttribArrayObjectfvATI;
+PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC glad_glGetVertexAttribArrayObjectivATI;
+PFNGLPROGRAMPARAMETERIEXTPROC glad_glProgramParameteriEXT;
+PFNGLUNIFORMBUFFEREXTPROC glad_glUniformBufferEXT;
+PFNGLGETUNIFORMBUFFERSIZEEXTPROC glad_glGetUniformBufferSizeEXT;
+PFNGLGETUNIFORMOFFSETEXTPROC glad_glGetUniformOffsetEXT;
+PFNGLELEMENTPOINTERATIPROC glad_glElementPointerATI;
+PFNGLDRAWELEMENTARRAYATIPROC glad_glDrawElementArrayATI;
+PFNGLDRAWRANGEELEMENTARRAYATIPROC glad_glDrawRangeElementArrayATI;
+PFNGLREFERENCEPLANESGIXPROC glad_glReferencePlaneSGIX;
+PFNGLACTIVESTENCILFACEEXTPROC glad_glActiveStencilFaceEXT;
+PFNGLGETMULTISAMPLEFVNVPROC glad_glGetMultisamplefvNV;
+PFNGLSAMPLEMASKINDEXEDNVPROC glad_glSampleMaskIndexedNV;
+PFNGLTEXRENDERBUFFERNVPROC glad_glTexRenderbufferNV;
+PFNGLFLUSHSTATICDATAIBMPROC glad_glFlushStaticDataIBM;
+PFNGLTEXTURENORMALEXTPROC glad_glTextureNormalEXT;
+PFNGLPOINTPARAMETERFEXTPROC glad_glPointParameterfEXT;
+PFNGLPOINTPARAMETERFVEXTPROC glad_glPointParameterfvEXT;
+PFNGLHINTPGIPROC glad_glHintPGI;
+PFNGLVERTEXATTRIB1FARBPROC glad_glVertexAttrib1fARB;
+PFNGLVERTEXATTRIB1SARBPROC glad_glVertexAttrib1sARB;
+PFNGLVERTEXATTRIB1DARBPROC glad_glVertexAttrib1dARB;
+PFNGLVERTEXATTRIB2FARBPROC glad_glVertexAttrib2fARB;
+PFNGLVERTEXATTRIB2SARBPROC glad_glVertexAttrib2sARB;
+PFNGLVERTEXATTRIB2DARBPROC glad_glVertexAttrib2dARB;
+PFNGLVERTEXATTRIB3FARBPROC glad_glVertexAttrib3fARB;
+PFNGLVERTEXATTRIB3SARBPROC glad_glVertexAttrib3sARB;
+PFNGLVERTEXATTRIB3DARBPROC glad_glVertexAttrib3dARB;
+PFNGLVERTEXATTRIB4FARBPROC glad_glVertexAttrib4fARB;
+PFNGLVERTEXATTRIB4SARBPROC glad_glVertexAttrib4sARB;
+PFNGLVERTEXATTRIB4DARBPROC glad_glVertexAttrib4dARB;
+PFNGLVERTEXATTRIB4NUBARBPROC glad_glVertexAttrib4NubARB;
+PFNGLVERTEXATTRIB1FVARBPROC glad_glVertexAttrib1fvARB;
+PFNGLVERTEXATTRIB1SVARBPROC glad_glVertexAttrib1svARB;
+PFNGLVERTEXATTRIB1DVARBPROC glad_glVertexAttrib1dvARB;
+PFNGLVERTEXATTRIB2FVARBPROC glad_glVertexAttrib2fvARB;
+PFNGLVERTEXATTRIB2SVARBPROC glad_glVertexAttrib2svARB;
+PFNGLVERTEXATTRIB2DVARBPROC glad_glVertexAttrib2dvARB;
+PFNGLVERTEXATTRIB3FVARBPROC glad_glVertexAttrib3fvARB;
+PFNGLVERTEXATTRIB3SVARBPROC glad_glVertexAttrib3svARB;
+PFNGLVERTEXATTRIB3DVARBPROC glad_glVertexAttrib3dvARB;
+PFNGLVERTEXATTRIB4FVARBPROC glad_glVertexAttrib4fvARB;
+PFNGLVERTEXATTRIB4SVARBPROC glad_glVertexAttrib4svARB;
+PFNGLVERTEXATTRIB4DVARBPROC glad_glVertexAttrib4dvARB;
+PFNGLVERTEXATTRIB4IVARBPROC glad_glVertexAttrib4ivARB;
+PFNGLVERTEXATTRIB4BVARBPROC glad_glVertexAttrib4bvARB;
+PFNGLVERTEXATTRIB4UBVARBPROC glad_glVertexAttrib4ubvARB;
+PFNGLVERTEXATTRIB4USVARBPROC glad_glVertexAttrib4usvARB;
+PFNGLVERTEXATTRIB4UIVARBPROC glad_glVertexAttrib4uivARB;
+PFNGLVERTEXATTRIB4NBVARBPROC glad_glVertexAttrib4NbvARB;
+PFNGLVERTEXATTRIB4NSVARBPROC glad_glVertexAttrib4NsvARB;
+PFNGLVERTEXATTRIB4NIVARBPROC glad_glVertexAttrib4NivARB;
+PFNGLVERTEXATTRIB4NUBVARBPROC glad_glVertexAttrib4NubvARB;
+PFNGLVERTEXATTRIB4NUSVARBPROC glad_glVertexAttrib4NusvARB;
+PFNGLVERTEXATTRIB4NUIVARBPROC glad_glVertexAttrib4NuivARB;
+PFNGLVERTEXATTRIBPOINTERARBPROC glad_glVertexAttribPointerARB;
+PFNGLENABLEVERTEXATTRIBARRAYARBPROC glad_glEnableVertexAttribArrayARB;
+PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glad_glDisableVertexAttribArrayARB;
+PFNGLBINDATTRIBLOCATIONARBPROC glad_glBindAttribLocationARB;
+PFNGLGETACTIVEATTRIBARBPROC glad_glGetActiveAttribARB;
+PFNGLGETATTRIBLOCATIONARBPROC glad_glGetAttribLocationARB;
+PFNGLGETVERTEXATTRIBDVARBPROC glad_glGetVertexAttribdvARB;
+PFNGLGETVERTEXATTRIBFVARBPROC glad_glGetVertexAttribfvARB;
+PFNGLGETVERTEXATTRIBIVARBPROC glad_glGetVertexAttribivARB;
+PFNGLGETVERTEXATTRIBPOINTERVARBPROC glad_glGetVertexAttribPointervARB;
+PFNGLCOLORMASKINDEXEDEXTPROC glad_glColorMaskIndexedEXT;
+PFNGLGETBOOLEANINDEXEDVEXTPROC glad_glGetBooleanIndexedvEXT;
+PFNGLGETINTEGERINDEXEDVEXTPROC glad_glGetIntegerIndexedvEXT;
+PFNGLENABLEINDEXEDEXTPROC glad_glEnableIndexedEXT;
+PFNGLDISABLEINDEXEDEXTPROC glad_glDisableIndexedEXT;
+PFNGLISENABLEDINDEXEDEXTPROC glad_glIsEnabledIndexedEXT;
+PFNGLVERTEXATTRIBPARAMETERIAMDPROC glad_glVertexAttribParameteriAMD;
+PFNGLPROGRAMSTRINGARBPROC glad_glProgramStringARB;
+PFNGLBINDPROGRAMARBPROC glad_glBindProgramARB;
+PFNGLDELETEPROGRAMSARBPROC glad_glDeleteProgramsARB;
+PFNGLGENPROGRAMSARBPROC glad_glGenProgramsARB;
+PFNGLPROGRAMENVPARAMETER4DARBPROC glad_glProgramEnvParameter4dARB;
+PFNGLPROGRAMENVPARAMETER4DVARBPROC glad_glProgramEnvParameter4dvARB;
+PFNGLPROGRAMENVPARAMETER4FARBPROC glad_glProgramEnvParameter4fARB;
+PFNGLPROGRAMENVPARAMETER4FVARBPROC glad_glProgramEnvParameter4fvARB;
+PFNGLPROGRAMLOCALPARAMETER4DARBPROC glad_glProgramLocalParameter4dARB;
+PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glad_glProgramLocalParameter4dvARB;
+PFNGLPROGRAMLOCALPARAMETER4FARBPROC glad_glProgramLocalParameter4fARB;
+PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glad_glProgramLocalParameter4fvARB;
+PFNGLGETPROGRAMENVPARAMETERDVARBPROC glad_glGetProgramEnvParameterdvARB;
+PFNGLGETPROGRAMENVPARAMETERFVARBPROC glad_glGetProgramEnvParameterfvARB;
+PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glad_glGetProgramLocalParameterdvARB;
+PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glad_glGetProgramLocalParameterfvARB;
+PFNGLGETPROGRAMIVARBPROC glad_glGetProgramivARB;
+PFNGLGETPROGRAMSTRINGARBPROC glad_glGetProgramStringARB;
+PFNGLISPROGRAMARBPROC glad_glIsProgramARB;
+PFNGLPIXELTEXGENPARAMETERISGISPROC glad_glPixelTexGenParameteriSGIS;
+PFNGLPIXELTEXGENPARAMETERIVSGISPROC glad_glPixelTexGenParameterivSGIS;
+PFNGLPIXELTEXGENPARAMETERFSGISPROC glad_glPixelTexGenParameterfSGIS;
+PFNGLPIXELTEXGENPARAMETERFVSGISPROC glad_glPixelTexGenParameterfvSGIS;
+PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC glad_glGetPixelTexGenParameterivSGIS;
+PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC glad_glGetPixelTexGenParameterfvSGIS;
+PFNGLGETINSTRUMENTSSGIXPROC glad_glGetInstrumentsSGIX;
+PFNGLINSTRUMENTSBUFFERSGIXPROC glad_glInstrumentsBufferSGIX;
+PFNGLPOLLINSTRUMENTSSGIXPROC glad_glPollInstrumentsSGIX;
+PFNGLREADINSTRUMENTSSGIXPROC glad_glReadInstrumentsSGIX;
+PFNGLSTARTINSTRUMENTSSGIXPROC glad_glStartInstrumentsSGIX;
+PFNGLSTOPINSTRUMENTSSGIXPROC glad_glStopInstrumentsSGIX;
+PFNGLBLENDEQUATIONEXTPROC glad_glBlendEquationEXT;
+PFNGLTEXPARAMETERIIVEXTPROC glad_glTexParameterIivEXT;
+PFNGLTEXPARAMETERIUIVEXTPROC glad_glTexParameterIuivEXT;
+PFNGLGETTEXPARAMETERIIVEXTPROC glad_glGetTexParameterIivEXT;
+PFNGLGETTEXPARAMETERIUIVEXTPROC glad_glGetTexParameterIuivEXT;
+PFNGLCLEARCOLORIIEXTPROC glad_glClearColorIiEXT;
+PFNGLCLEARCOLORIUIEXTPROC glad_glClearColorIuiEXT;
+PFNGLTESSELLATIONFACTORAMDPROC glad_glTessellationFactorAMD;
+PFNGLTESSELLATIONMODEAMDPROC glad_glTessellationModeAMD;
+PFNGLINDEXMATERIALEXTPROC glad_glIndexMaterialEXT;
+PFNGLVERTEXPOINTERVINTELPROC glad_glVertexPointervINTEL;
+PFNGLNORMALPOINTERVINTELPROC glad_glNormalPointervINTEL;
+PFNGLCOLORPOINTERVINTELPROC glad_glColorPointervINTEL;
+PFNGLTEXCOORDPOINTERVINTELPROC glad_glTexCoordPointervINTEL;
+PFNGLDRAWBUFFERSATIPROC glad_glDrawBuffersATI;
+PFNGLPIXELTEXGENSGIXPROC glad_glPixelTexGenSGIX;
+PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC glad_glProgramBufferParametersfvNV;
+PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC glad_glProgramBufferParametersIivNV;
+PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC glad_glProgramBufferParametersIuivNV;
+PFNGLBINDTRANSFORMFEEDBACKNVPROC glad_glBindTransformFeedbackNV;
+PFNGLDELETETRANSFORMFEEDBACKSNVPROC glad_glDeleteTransformFeedbacksNV;
+PFNGLGENTRANSFORMFEEDBACKSNVPROC glad_glGenTransformFeedbacksNV;
+PFNGLISTRANSFORMFEEDBACKNVPROC glad_glIsTransformFeedbackNV;
+PFNGLPAUSETRANSFORMFEEDBACKNVPROC glad_glPauseTransformFeedbackNV;
+PFNGLRESUMETRANSFORMFEEDBACKNVPROC glad_glResumeTransformFeedbackNV;
+PFNGLDRAWTRANSFORMFEEDBACKNVPROC glad_glDrawTransformFeedbackNV;
+PFNGLBLENDCOLOREXTPROC glad_glBlendColorEXT;
+PFNGLGETHISTOGRAMEXTPROC glad_glGetHistogramEXT;
+PFNGLGETHISTOGRAMPARAMETERFVEXTPROC glad_glGetHistogramParameterfvEXT;
+PFNGLGETHISTOGRAMPARAMETERIVEXTPROC glad_glGetHistogramParameterivEXT;
+PFNGLGETMINMAXEXTPROC glad_glGetMinmaxEXT;
+PFNGLGETMINMAXPARAMETERFVEXTPROC glad_glGetMinmaxParameterfvEXT;
+PFNGLGETMINMAXPARAMETERIVEXTPROC glad_glGetMinmaxParameterivEXT;
+PFNGLHISTOGRAMEXTPROC glad_glHistogramEXT;
+PFNGLMINMAXEXTPROC glad_glMinmaxEXT;
+PFNGLRESETHISTOGRAMEXTPROC glad_glResetHistogramEXT;
+PFNGLRESETMINMAXEXTPROC glad_glResetMinmaxEXT;
+PFNGLPOINTPARAMETERFSGISPROC glad_glPointParameterfSGIS;
+PFNGLPOINTPARAMETERFVSGISPROC glad_glPointParameterfvSGIS;
+PFNGLMATRIXLOADFEXTPROC glad_glMatrixLoadfEXT;
+PFNGLMATRIXLOADDEXTPROC glad_glMatrixLoaddEXT;
+PFNGLMATRIXMULTFEXTPROC glad_glMatrixMultfEXT;
+PFNGLMATRIXMULTDEXTPROC glad_glMatrixMultdEXT;
+PFNGLMATRIXLOADIDENTITYEXTPROC glad_glMatrixLoadIdentityEXT;
+PFNGLMATRIXROTATEFEXTPROC glad_glMatrixRotatefEXT;
+PFNGLMATRIXROTATEDEXTPROC glad_glMatrixRotatedEXT;
+PFNGLMATRIXSCALEFEXTPROC glad_glMatrixScalefEXT;
+PFNGLMATRIXSCALEDEXTPROC glad_glMatrixScaledEXT;
+PFNGLMATRIXTRANSLATEFEXTPROC glad_glMatrixTranslatefEXT;
+PFNGLMATRIXTRANSLATEDEXTPROC glad_glMatrixTranslatedEXT;
+PFNGLMATRIXFRUSTUMEXTPROC glad_glMatrixFrustumEXT;
+PFNGLMATRIXORTHOEXTPROC glad_glMatrixOrthoEXT;
+PFNGLMATRIXPOPEXTPROC glad_glMatrixPopEXT;
+PFNGLMATRIXPUSHEXTPROC glad_glMatrixPushEXT;
+PFNGLCLIENTATTRIBDEFAULTEXTPROC glad_glClientAttribDefaultEXT;
+PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC glad_glPushClientAttribDefaultEXT;
+PFNGLTEXTUREPARAMETERFEXTPROC glad_glTextureParameterfEXT;
+PFNGLTEXTUREPARAMETERFVEXTPROC glad_glTextureParameterfvEXT;
+PFNGLTEXTUREPARAMETERIEXTPROC glad_glTextureParameteriEXT;
+PFNGLTEXTUREPARAMETERIVEXTPROC glad_glTextureParameterivEXT;
+PFNGLTEXTUREIMAGE1DEXTPROC glad_glTextureImage1DEXT;
+PFNGLTEXTUREIMAGE2DEXTPROC glad_glTextureImage2DEXT;
+PFNGLTEXTURESUBIMAGE1DEXTPROC glad_glTextureSubImage1DEXT;
+PFNGLTEXTURESUBIMAGE2DEXTPROC glad_glTextureSubImage2DEXT;
+PFNGLCOPYTEXTUREIMAGE1DEXTPROC glad_glCopyTextureImage1DEXT;
+PFNGLCOPYTEXTUREIMAGE2DEXTPROC glad_glCopyTextureImage2DEXT;
+PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC glad_glCopyTextureSubImage1DEXT;
+PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC glad_glCopyTextureSubImage2DEXT;
+PFNGLGETTEXTUREIMAGEEXTPROC glad_glGetTextureImageEXT;
+PFNGLGETTEXTUREPARAMETERFVEXTPROC glad_glGetTextureParameterfvEXT;
+PFNGLGETTEXTUREPARAMETERIVEXTPROC glad_glGetTextureParameterivEXT;
+PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC glad_glGetTextureLevelParameterfvEXT;
+PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC glad_glGetTextureLevelParameterivEXT;
+PFNGLTEXTUREIMAGE3DEXTPROC glad_glTextureImage3DEXT;
+PFNGLTEXTURESUBIMAGE3DEXTPROC glad_glTextureSubImage3DEXT;
+PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC glad_glCopyTextureSubImage3DEXT;
+PFNGLBINDMULTITEXTUREEXTPROC glad_glBindMultiTextureEXT;
+PFNGLMULTITEXCOORDPOINTEREXTPROC glad_glMultiTexCoordPointerEXT;
+PFNGLMULTITEXENVFEXTPROC glad_glMultiTexEnvfEXT;
+PFNGLMULTITEXENVFVEXTPROC glad_glMultiTexEnvfvEXT;
+PFNGLMULTITEXENVIEXTPROC glad_glMultiTexEnviEXT;
+PFNGLMULTITEXENVIVEXTPROC glad_glMultiTexEnvivEXT;
+PFNGLMULTITEXGENDEXTPROC glad_glMultiTexGendEXT;
+PFNGLMULTITEXGENDVEXTPROC glad_glMultiTexGendvEXT;
+PFNGLMULTITEXGENFEXTPROC glad_glMultiTexGenfEXT;
+PFNGLMULTITEXGENFVEXTPROC glad_glMultiTexGenfvEXT;
+PFNGLMULTITEXGENIEXTPROC glad_glMultiTexGeniEXT;
+PFNGLMULTITEXGENIVEXTPROC glad_glMultiTexGenivEXT;
+PFNGLGETMULTITEXENVFVEXTPROC glad_glGetMultiTexEnvfvEXT;
+PFNGLGETMULTITEXENVIVEXTPROC glad_glGetMultiTexEnvivEXT;
+PFNGLGETMULTITEXGENDVEXTPROC glad_glGetMultiTexGendvEXT;
+PFNGLGETMULTITEXGENFVEXTPROC glad_glGetMultiTexGenfvEXT;
+PFNGLGETMULTITEXGENIVEXTPROC glad_glGetMultiTexGenivEXT;
+PFNGLMULTITEXPARAMETERIEXTPROC glad_glMultiTexParameteriEXT;
+PFNGLMULTITEXPARAMETERIVEXTPROC glad_glMultiTexParameterivEXT;
+PFNGLMULTITEXPARAMETERFEXTPROC glad_glMultiTexParameterfEXT;
+PFNGLMULTITEXPARAMETERFVEXTPROC glad_glMultiTexParameterfvEXT;
+PFNGLMULTITEXIMAGE1DEXTPROC glad_glMultiTexImage1DEXT;
+PFNGLMULTITEXIMAGE2DEXTPROC glad_glMultiTexImage2DEXT;
+PFNGLMULTITEXSUBIMAGE1DEXTPROC glad_glMultiTexSubImage1DEXT;
+PFNGLMULTITEXSUBIMAGE2DEXTPROC glad_glMultiTexSubImage2DEXT;
+PFNGLCOPYMULTITEXIMAGE1DEXTPROC glad_glCopyMultiTexImage1DEXT;
+PFNGLCOPYMULTITEXIMAGE2DEXTPROC glad_glCopyMultiTexImage2DEXT;
+PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC glad_glCopyMultiTexSubImage1DEXT;
+PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC glad_glCopyMultiTexSubImage2DEXT;
+PFNGLGETMULTITEXIMAGEEXTPROC glad_glGetMultiTexImageEXT;
+PFNGLGETMULTITEXPARAMETERFVEXTPROC glad_glGetMultiTexParameterfvEXT;
+PFNGLGETMULTITEXPARAMETERIVEXTPROC glad_glGetMultiTexParameterivEXT;
+PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC glad_glGetMultiTexLevelParameterfvEXT;
+PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC glad_glGetMultiTexLevelParameterivEXT;
+PFNGLMULTITEXIMAGE3DEXTPROC glad_glMultiTexImage3DEXT;
+PFNGLMULTITEXSUBIMAGE3DEXTPROC glad_glMultiTexSubImage3DEXT;
+PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC glad_glCopyMultiTexSubImage3DEXT;
+PFNGLENABLECLIENTSTATEINDEXEDEXTPROC glad_glEnableClientStateIndexedEXT;
+PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC glad_glDisableClientStateIndexedEXT;
+PFNGLGETFLOATINDEXEDVEXTPROC glad_glGetFloatIndexedvEXT;
+PFNGLGETDOUBLEINDEXEDVEXTPROC glad_glGetDoubleIndexedvEXT;
+PFNGLGETPOINTERINDEXEDVEXTPROC glad_glGetPointerIndexedvEXT;
+PFNGLENABLEINDEXEDEXTPROC glad_glEnableIndexedEXT;
+PFNGLDISABLEINDEXEDEXTPROC glad_glDisableIndexedEXT;
+PFNGLISENABLEDINDEXEDEXTPROC glad_glIsEnabledIndexedEXT;
+PFNGLGETINTEGERINDEXEDVEXTPROC glad_glGetIntegerIndexedvEXT;
+PFNGLGETBOOLEANINDEXEDVEXTPROC glad_glGetBooleanIndexedvEXT;
+PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC glad_glCompressedTextureImage3DEXT;
+PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC glad_glCompressedTextureImage2DEXT;
+PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC glad_glCompressedTextureImage1DEXT;
+PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC glad_glCompressedTextureSubImage3DEXT;
+PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC glad_glCompressedTextureSubImage2DEXT;
+PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC glad_glCompressedTextureSubImage1DEXT;
+PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC glad_glGetCompressedTextureImageEXT;
+PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC glad_glCompressedMultiTexImage3DEXT;
+PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC glad_glCompressedMultiTexImage2DEXT;
+PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC glad_glCompressedMultiTexImage1DEXT;
+PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC glad_glCompressedMultiTexSubImage3DEXT;
+PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC glad_glCompressedMultiTexSubImage2DEXT;
+PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC glad_glCompressedMultiTexSubImage1DEXT;
+PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC glad_glGetCompressedMultiTexImageEXT;
+PFNGLMATRIXLOADTRANSPOSEFEXTPROC glad_glMatrixLoadTransposefEXT;
+PFNGLMATRIXLOADTRANSPOSEDEXTPROC glad_glMatrixLoadTransposedEXT;
+PFNGLMATRIXMULTTRANSPOSEFEXTPROC glad_glMatrixMultTransposefEXT;
+PFNGLMATRIXMULTTRANSPOSEDEXTPROC glad_glMatrixMultTransposedEXT;
+PFNGLNAMEDBUFFERDATAEXTPROC glad_glNamedBufferDataEXT;
+PFNGLNAMEDBUFFERSUBDATAEXTPROC glad_glNamedBufferSubDataEXT;
+PFNGLMAPNAMEDBUFFEREXTPROC glad_glMapNamedBufferEXT;
+PFNGLUNMAPNAMEDBUFFEREXTPROC glad_glUnmapNamedBufferEXT;
+PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC glad_glGetNamedBufferParameterivEXT;
+PFNGLGETNAMEDBUFFERPOINTERVEXTPROC glad_glGetNamedBufferPointervEXT;
+PFNGLGETNAMEDBUFFERSUBDATAEXTPROC glad_glGetNamedBufferSubDataEXT;
+PFNGLPROGRAMUNIFORM1FEXTPROC glad_glProgramUniform1fEXT;
+PFNGLPROGRAMUNIFORM2FEXTPROC glad_glProgramUniform2fEXT;
+PFNGLPROGRAMUNIFORM3FEXTPROC glad_glProgramUniform3fEXT;
+PFNGLPROGRAMUNIFORM4FEXTPROC glad_glProgramUniform4fEXT;
+PFNGLPROGRAMUNIFORM1IEXTPROC glad_glProgramUniform1iEXT;
+PFNGLPROGRAMUNIFORM2IEXTPROC glad_glProgramUniform2iEXT;
+PFNGLPROGRAMUNIFORM3IEXTPROC glad_glProgramUniform3iEXT;
+PFNGLPROGRAMUNIFORM4IEXTPROC glad_glProgramUniform4iEXT;
+PFNGLPROGRAMUNIFORM1FVEXTPROC glad_glProgramUniform1fvEXT;
+PFNGLPROGRAMUNIFORM2FVEXTPROC glad_glProgramUniform2fvEXT;
+PFNGLPROGRAMUNIFORM3FVEXTPROC glad_glProgramUniform3fvEXT;
+PFNGLPROGRAMUNIFORM4FVEXTPROC glad_glProgramUniform4fvEXT;
+PFNGLPROGRAMUNIFORM1IVEXTPROC glad_glProgramUniform1ivEXT;
+PFNGLPROGRAMUNIFORM2IVEXTPROC glad_glProgramUniform2ivEXT;
+PFNGLPROGRAMUNIFORM3IVEXTPROC glad_glProgramUniform3ivEXT;
+PFNGLPROGRAMUNIFORM4IVEXTPROC glad_glProgramUniform4ivEXT;
+PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC glad_glProgramUniformMatrix2fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC glad_glProgramUniformMatrix3fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC glad_glProgramUniformMatrix4fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC glad_glProgramUniformMatrix2x3fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC glad_glProgramUniformMatrix3x2fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC glad_glProgramUniformMatrix2x4fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC glad_glProgramUniformMatrix4x2fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC glad_glProgramUniformMatrix3x4fvEXT;
+PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC glad_glProgramUniformMatrix4x3fvEXT;
+PFNGLTEXTUREBUFFEREXTPROC glad_glTextureBufferEXT;
+PFNGLMULTITEXBUFFEREXTPROC glad_glMultiTexBufferEXT;
+PFNGLTEXTUREPARAMETERIIVEXTPROC glad_glTextureParameterIivEXT;
+PFNGLTEXTUREPARAMETERIUIVEXTPROC glad_glTextureParameterIuivEXT;
+PFNGLGETTEXTUREPARAMETERIIVEXTPROC glad_glGetTextureParameterIivEXT;
+PFNGLGETTEXTUREPARAMETERIUIVEXTPROC glad_glGetTextureParameterIuivEXT;
+PFNGLMULTITEXPARAMETERIIVEXTPROC glad_glMultiTexParameterIivEXT;
+PFNGLMULTITEXPARAMETERIUIVEXTPROC glad_glMultiTexParameterIuivEXT;
+PFNGLGETMULTITEXPARAMETERIIVEXTPROC glad_glGetMultiTexParameterIivEXT;
+PFNGLGETMULTITEXPARAMETERIUIVEXTPROC glad_glGetMultiTexParameterIuivEXT;
+PFNGLPROGRAMUNIFORM1UIEXTPROC glad_glProgramUniform1uiEXT;
+PFNGLPROGRAMUNIFORM2UIEXTPROC glad_glProgramUniform2uiEXT;
+PFNGLPROGRAMUNIFORM3UIEXTPROC glad_glProgramUniform3uiEXT;
+PFNGLPROGRAMUNIFORM4UIEXTPROC glad_glProgramUniform4uiEXT;
+PFNGLPROGRAMUNIFORM1UIVEXTPROC glad_glProgramUniform1uivEXT;
+PFNGLPROGRAMUNIFORM2UIVEXTPROC glad_glProgramUniform2uivEXT;
+PFNGLPROGRAMUNIFORM3UIVEXTPROC glad_glProgramUniform3uivEXT;
+PFNGLPROGRAMUNIFORM4UIVEXTPROC glad_glProgramUniform4uivEXT;
+PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC glad_glNamedProgramLocalParameters4fvEXT;
+PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC glad_glNamedProgramLocalParameterI4iEXT;
+PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC glad_glNamedProgramLocalParameterI4ivEXT;
+PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC glad_glNamedProgramLocalParametersI4ivEXT;
+PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC glad_glNamedProgramLocalParameterI4uiEXT;
+PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC glad_glNamedProgramLocalParameterI4uivEXT;
+PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC glad_glNamedProgramLocalParametersI4uivEXT;
+PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC glad_glGetNamedProgramLocalParameterIivEXT;
+PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC glad_glGetNamedProgramLocalParameterIuivEXT;
+PFNGLENABLECLIENTSTATEIEXTPROC glad_glEnableClientStateiEXT;
+PFNGLDISABLECLIENTSTATEIEXTPROC glad_glDisableClientStateiEXT;
+PFNGLGETFLOATI_VEXTPROC glad_glGetFloati_vEXT;
+PFNGLGETDOUBLEI_VEXTPROC glad_glGetDoublei_vEXT;
+PFNGLGETPOINTERI_VEXTPROC glad_glGetPointeri_vEXT;
+PFNGLNAMEDPROGRAMSTRINGEXTPROC glad_glNamedProgramStringEXT;
+PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC glad_glNamedProgramLocalParameter4dEXT;
+PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC glad_glNamedProgramLocalParameter4dvEXT;
+PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC glad_glNamedProgramLocalParameter4fEXT;
+PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC glad_glNamedProgramLocalParameter4fvEXT;
+PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC glad_glGetNamedProgramLocalParameterdvEXT;
+PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC glad_glGetNamedProgramLocalParameterfvEXT;
+PFNGLGETNAMEDPROGRAMIVEXTPROC glad_glGetNamedProgramivEXT;
+PFNGLGETNAMEDPROGRAMSTRINGEXTPROC glad_glGetNamedProgramStringEXT;
+PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC glad_glNamedRenderbufferStorageEXT;
+PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC glad_glGetNamedRenderbufferParameterivEXT;
+PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glNamedRenderbufferStorageMultisampleEXT;
+PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC glad_glNamedRenderbufferStorageMultisampleCoverageEXT;
+PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC glad_glCheckNamedFramebufferStatusEXT;
+PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC glad_glNamedFramebufferTexture1DEXT;
+PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC glad_glNamedFramebufferTexture2DEXT;
+PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC glad_glNamedFramebufferTexture3DEXT;
+PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC glad_glNamedFramebufferRenderbufferEXT;
+PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetNamedFramebufferAttachmentParameterivEXT;
+PFNGLGENERATETEXTUREMIPMAPEXTPROC glad_glGenerateTextureMipmapEXT;
+PFNGLGENERATEMULTITEXMIPMAPEXTPROC glad_glGenerateMultiTexMipmapEXT;
+PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC glad_glFramebufferDrawBufferEXT;
+PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC glad_glFramebufferDrawBuffersEXT;
+PFNGLFRAMEBUFFERREADBUFFEREXTPROC glad_glFramebufferReadBufferEXT;
+PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetFramebufferParameterivEXT;
+PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC glad_glNamedCopyBufferSubDataEXT;
+PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC glad_glNamedFramebufferTextureEXT;
+PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC glad_glNamedFramebufferTextureLayerEXT;
+PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC glad_glNamedFramebufferTextureFaceEXT;
+PFNGLTEXTURERENDERBUFFEREXTPROC glad_glTextureRenderbufferEXT;
+PFNGLMULTITEXRENDERBUFFEREXTPROC glad_glMultiTexRenderbufferEXT;
+PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC glad_glVertexArrayVertexOffsetEXT;
+PFNGLVERTEXARRAYCOLOROFFSETEXTPROC glad_glVertexArrayColorOffsetEXT;
+PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC glad_glVertexArrayEdgeFlagOffsetEXT;
+PFNGLVERTEXARRAYINDEXOFFSETEXTPROC glad_glVertexArrayIndexOffsetEXT;
+PFNGLVERTEXARRAYNORMALOFFSETEXTPROC glad_glVertexArrayNormalOffsetEXT;
+PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC glad_glVertexArrayTexCoordOffsetEXT;
+PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC glad_glVertexArrayMultiTexCoordOffsetEXT;
+PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC glad_glVertexArrayFogCoordOffsetEXT;
+PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC glad_glVertexArraySecondaryColorOffsetEXT;
+PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC glad_glVertexArrayVertexAttribOffsetEXT;
+PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC glad_glVertexArrayVertexAttribIOffsetEXT;
+PFNGLENABLEVERTEXARRAYEXTPROC glad_glEnableVertexArrayEXT;
+PFNGLDISABLEVERTEXARRAYEXTPROC glad_glDisableVertexArrayEXT;
+PFNGLENABLEVERTEXARRAYATTRIBEXTPROC glad_glEnableVertexArrayAttribEXT;
+PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC glad_glDisableVertexArrayAttribEXT;
+PFNGLGETVERTEXARRAYINTEGERVEXTPROC glad_glGetVertexArrayIntegervEXT;
+PFNGLGETVERTEXARRAYPOINTERVEXTPROC glad_glGetVertexArrayPointervEXT;
+PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC glad_glGetVertexArrayIntegeri_vEXT;
+PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC glad_glGetVertexArrayPointeri_vEXT;
+PFNGLMAPNAMEDBUFFERRANGEEXTPROC glad_glMapNamedBufferRangeEXT;
+PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC glad_glFlushMappedNamedBufferRangeEXT;
+PFNGLNAMEDBUFFERSTORAGEEXTPROC glad_glNamedBufferStorageEXT;
+PFNGLCLEARNAMEDBUFFERDATAEXTPROC glad_glClearNamedBufferDataEXT;
+PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC glad_glClearNamedBufferSubDataEXT;
+PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC glad_glNamedFramebufferParameteriEXT;
+PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC glad_glGetNamedFramebufferParameterivEXT;
+PFNGLPROGRAMUNIFORM1DEXTPROC glad_glProgramUniform1dEXT;
+PFNGLPROGRAMUNIFORM2DEXTPROC glad_glProgramUniform2dEXT;
+PFNGLPROGRAMUNIFORM3DEXTPROC glad_glProgramUniform3dEXT;
+PFNGLPROGRAMUNIFORM4DEXTPROC glad_glProgramUniform4dEXT;
+PFNGLPROGRAMUNIFORM1DVEXTPROC glad_glProgramUniform1dvEXT;
+PFNGLPROGRAMUNIFORM2DVEXTPROC glad_glProgramUniform2dvEXT;
+PFNGLPROGRAMUNIFORM3DVEXTPROC glad_glProgramUniform3dvEXT;
+PFNGLPROGRAMUNIFORM4DVEXTPROC glad_glProgramUniform4dvEXT;
+PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC glad_glProgramUniformMatrix2dvEXT;
+PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC glad_glProgramUniformMatrix3dvEXT;
+PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC glad_glProgramUniformMatrix4dvEXT;
+PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC glad_glProgramUniformMatrix2x3dvEXT;
+PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC glad_glProgramUniformMatrix2x4dvEXT;
+PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC glad_glProgramUniformMatrix3x2dvEXT;
+PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC glad_glProgramUniformMatrix3x4dvEXT;
+PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC glad_glProgramUniformMatrix4x2dvEXT;
+PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC glad_glProgramUniformMatrix4x3dvEXT;
+PFNGLTEXTUREBUFFERRANGEEXTPROC glad_glTextureBufferRangeEXT;
+PFNGLTEXTURESTORAGE1DEXTPROC glad_glTextureStorage1DEXT;
+PFNGLTEXTURESTORAGE2DEXTPROC glad_glTextureStorage2DEXT;
+PFNGLTEXTURESTORAGE3DEXTPROC glad_glTextureStorage3DEXT;
+PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC glad_glTextureStorage2DMultisampleEXT;
+PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC glad_glTextureStorage3DMultisampleEXT;
+PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC glad_glVertexArrayBindVertexBufferEXT;
+PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC glad_glVertexArrayVertexAttribFormatEXT;
+PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC glad_glVertexArrayVertexAttribIFormatEXT;
+PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC glad_glVertexArrayVertexAttribLFormatEXT;
+PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC glad_glVertexArrayVertexAttribBindingEXT;
+PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC glad_glVertexArrayVertexBindingDivisorEXT;
+PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC glad_glVertexArrayVertexAttribLOffsetEXT;
+PFNGLTEXTUREPAGECOMMITMENTEXTPROC glad_glTexturePageCommitmentEXT;
+PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC glad_glVertexArrayVertexAttribDivisorEXT;
+PFNGLSETMULTISAMPLEFVAMDPROC glad_glSetMultisamplefvAMD;
+PFNGLAREPROGRAMSRESIDENTNVPROC glad_glAreProgramsResidentNV;
+PFNGLBINDPROGRAMNVPROC glad_glBindProgramNV;
+PFNGLDELETEPROGRAMSNVPROC glad_glDeleteProgramsNV;
+PFNGLEXECUTEPROGRAMNVPROC glad_glExecuteProgramNV;
+PFNGLGENPROGRAMSNVPROC glad_glGenProgramsNV;
+PFNGLGETPROGRAMPARAMETERDVNVPROC glad_glGetProgramParameterdvNV;
+PFNGLGETPROGRAMPARAMETERFVNVPROC glad_glGetProgramParameterfvNV;
+PFNGLGETPROGRAMIVNVPROC glad_glGetProgramivNV;
+PFNGLGETPROGRAMSTRINGNVPROC glad_glGetProgramStringNV;
+PFNGLGETTRACKMATRIXIVNVPROC glad_glGetTrackMatrixivNV;
+PFNGLGETVERTEXATTRIBDVNVPROC glad_glGetVertexAttribdvNV;
+PFNGLGETVERTEXATTRIBFVNVPROC glad_glGetVertexAttribfvNV;
+PFNGLGETVERTEXATTRIBIVNVPROC glad_glGetVertexAttribivNV;
+PFNGLGETVERTEXATTRIBPOINTERVNVPROC glad_glGetVertexAttribPointervNV;
+PFNGLISPROGRAMNVPROC glad_glIsProgramNV;
+PFNGLLOADPROGRAMNVPROC glad_glLoadProgramNV;
+PFNGLPROGRAMPARAMETER4DNVPROC glad_glProgramParameter4dNV;
+PFNGLPROGRAMPARAMETER4DVNVPROC glad_glProgramParameter4dvNV;
+PFNGLPROGRAMPARAMETER4FNVPROC glad_glProgramParameter4fNV;
+PFNGLPROGRAMPARAMETER4FVNVPROC glad_glProgramParameter4fvNV;
+PFNGLPROGRAMPARAMETERS4DVNVPROC glad_glProgramParameters4dvNV;
+PFNGLPROGRAMPARAMETERS4FVNVPROC glad_glProgramParameters4fvNV;
+PFNGLREQUESTRESIDENTPROGRAMSNVPROC glad_glRequestResidentProgramsNV;
+PFNGLTRACKMATRIXNVPROC glad_glTrackMatrixNV;
+PFNGLVERTEXATTRIBPOINTERNVPROC glad_glVertexAttribPointerNV;
+PFNGLVERTEXATTRIB1DNVPROC glad_glVertexAttrib1dNV;
+PFNGLVERTEXATTRIB1DVNVPROC glad_glVertexAttrib1dvNV;
+PFNGLVERTEXATTRIB1FNVPROC glad_glVertexAttrib1fNV;
+PFNGLVERTEXATTRIB1FVNVPROC glad_glVertexAttrib1fvNV;
+PFNGLVERTEXATTRIB1SNVPROC glad_glVertexAttrib1sNV;
+PFNGLVERTEXATTRIB1SVNVPROC glad_glVertexAttrib1svNV;
+PFNGLVERTEXATTRIB2DNVPROC glad_glVertexAttrib2dNV;
+PFNGLVERTEXATTRIB2DVNVPROC glad_glVertexAttrib2dvNV;
+PFNGLVERTEXATTRIB2FNVPROC glad_glVertexAttrib2fNV;
+PFNGLVERTEXATTRIB2FVNVPROC glad_glVertexAttrib2fvNV;
+PFNGLVERTEXATTRIB2SNVPROC glad_glVertexAttrib2sNV;
+PFNGLVERTEXATTRIB2SVNVPROC glad_glVertexAttrib2svNV;
+PFNGLVERTEXATTRIB3DNVPROC glad_glVertexAttrib3dNV;
+PFNGLVERTEXATTRIB3DVNVPROC glad_glVertexAttrib3dvNV;
+PFNGLVERTEXATTRIB3FNVPROC glad_glVertexAttrib3fNV;
+PFNGLVERTEXATTRIB3FVNVPROC glad_glVertexAttrib3fvNV;
+PFNGLVERTEXATTRIB3SNVPROC glad_glVertexAttrib3sNV;
+PFNGLVERTEXATTRIB3SVNVPROC glad_glVertexAttrib3svNV;
+PFNGLVERTEXATTRIB4DNVPROC glad_glVertexAttrib4dNV;
+PFNGLVERTEXATTRIB4DVNVPROC glad_glVertexAttrib4dvNV;
+PFNGLVERTEXATTRIB4FNVPROC glad_glVertexAttrib4fNV;
+PFNGLVERTEXATTRIB4FVNVPROC glad_glVertexAttrib4fvNV;
+PFNGLVERTEXATTRIB4SNVPROC glad_glVertexAttrib4sNV;
+PFNGLVERTEXATTRIB4SVNVPROC glad_glVertexAttrib4svNV;
+PFNGLVERTEXATTRIB4UBNVPROC glad_glVertexAttrib4ubNV;
+PFNGLVERTEXATTRIB4UBVNVPROC glad_glVertexAttrib4ubvNV;
+PFNGLVERTEXATTRIBS1DVNVPROC glad_glVertexAttribs1dvNV;
+PFNGLVERTEXATTRIBS1FVNVPROC glad_glVertexAttribs1fvNV;
+PFNGLVERTEXATTRIBS1SVNVPROC glad_glVertexAttribs1svNV;
+PFNGLVERTEXATTRIBS2DVNVPROC glad_glVertexAttribs2dvNV;
+PFNGLVERTEXATTRIBS2FVNVPROC glad_glVertexAttribs2fvNV;
+PFNGLVERTEXATTRIBS2SVNVPROC glad_glVertexAttribs2svNV;
+PFNGLVERTEXATTRIBS3DVNVPROC glad_glVertexAttribs3dvNV;
+PFNGLVERTEXATTRIBS3FVNVPROC glad_glVertexAttribs3fvNV;
+PFNGLVERTEXATTRIBS3SVNVPROC glad_glVertexAttribs3svNV;
+PFNGLVERTEXATTRIBS4DVNVPROC glad_glVertexAttribs4dvNV;
+PFNGLVERTEXATTRIBS4FVNVPROC glad_glVertexAttribs4fvNV;
+PFNGLVERTEXATTRIBS4SVNVPROC glad_glVertexAttribs4svNV;
+PFNGLVERTEXATTRIBS4UBVNVPROC glad_glVertexAttribs4ubvNV;
+PFNGLBEGINCONDITIONALRENDERNVXPROC glad_glBeginConditionalRenderNVX;
+PFNGLENDCONDITIONALRENDERNVXPROC glad_glEndConditionalRenderNVX;
+PFNGLBEGINVERTEXSHADEREXTPROC glad_glBeginVertexShaderEXT;
+PFNGLENDVERTEXSHADEREXTPROC glad_glEndVertexShaderEXT;
+PFNGLBINDVERTEXSHADEREXTPROC glad_glBindVertexShaderEXT;
+PFNGLGENVERTEXSHADERSEXTPROC glad_glGenVertexShadersEXT;
+PFNGLDELETEVERTEXSHADEREXTPROC glad_glDeleteVertexShaderEXT;
+PFNGLSHADEROP1EXTPROC glad_glShaderOp1EXT;
+PFNGLSHADEROP2EXTPROC glad_glShaderOp2EXT;
+PFNGLSHADEROP3EXTPROC glad_glShaderOp3EXT;
+PFNGLSWIZZLEEXTPROC glad_glSwizzleEXT;
+PFNGLWRITEMASKEXTPROC glad_glWriteMaskEXT;
+PFNGLINSERTCOMPONENTEXTPROC glad_glInsertComponentEXT;
+PFNGLEXTRACTCOMPONENTEXTPROC glad_glExtractComponentEXT;
+PFNGLGENSYMBOLSEXTPROC glad_glGenSymbolsEXT;
+PFNGLSETINVARIANTEXTPROC glad_glSetInvariantEXT;
+PFNGLSETLOCALCONSTANTEXTPROC glad_glSetLocalConstantEXT;
+PFNGLVARIANTBVEXTPROC glad_glVariantbvEXT;
+PFNGLVARIANTSVEXTPROC glad_glVariantsvEXT;
+PFNGLVARIANTIVEXTPROC glad_glVariantivEXT;
+PFNGLVARIANTFVEXTPROC glad_glVariantfvEXT;
+PFNGLVARIANTDVEXTPROC glad_glVariantdvEXT;
+PFNGLVARIANTUBVEXTPROC glad_glVariantubvEXT;
+PFNGLVARIANTUSVEXTPROC glad_glVariantusvEXT;
+PFNGLVARIANTUIVEXTPROC glad_glVariantuivEXT;
+PFNGLVARIANTPOINTEREXTPROC glad_glVariantPointerEXT;
+PFNGLENABLEVARIANTCLIENTSTATEEXTPROC glad_glEnableVariantClientStateEXT;
+PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC glad_glDisableVariantClientStateEXT;
+PFNGLBINDLIGHTPARAMETEREXTPROC glad_glBindLightParameterEXT;
+PFNGLBINDMATERIALPARAMETEREXTPROC glad_glBindMaterialParameterEXT;
+PFNGLBINDTEXGENPARAMETEREXTPROC glad_glBindTexGenParameterEXT;
+PFNGLBINDTEXTUREUNITPARAMETEREXTPROC glad_glBindTextureUnitParameterEXT;
+PFNGLBINDPARAMETEREXTPROC glad_glBindParameterEXT;
+PFNGLISVARIANTENABLEDEXTPROC glad_glIsVariantEnabledEXT;
+PFNGLGETVARIANTBOOLEANVEXTPROC glad_glGetVariantBooleanvEXT;
+PFNGLGETVARIANTINTEGERVEXTPROC glad_glGetVariantIntegervEXT;
+PFNGLGETVARIANTFLOATVEXTPROC glad_glGetVariantFloatvEXT;
+PFNGLGETVARIANTPOINTERVEXTPROC glad_glGetVariantPointervEXT;
+PFNGLGETINVARIANTBOOLEANVEXTPROC glad_glGetInvariantBooleanvEXT;
+PFNGLGETINVARIANTINTEGERVEXTPROC glad_glGetInvariantIntegervEXT;
+PFNGLGETINVARIANTFLOATVEXTPROC glad_glGetInvariantFloatvEXT;
+PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC glad_glGetLocalConstantBooleanvEXT;
+PFNGLGETLOCALCONSTANTINTEGERVEXTPROC glad_glGetLocalConstantIntegervEXT;
+PFNGLGETLOCALCONSTANTFLOATVEXTPROC glad_glGetLocalConstantFloatvEXT;
+PFNGLBLENDFUNCSEPARATEEXTPROC glad_glBlendFuncSeparateEXT;
+PFNGLGENFENCESAPPLEPROC glad_glGenFencesAPPLE;
+PFNGLDELETEFENCESAPPLEPROC glad_glDeleteFencesAPPLE;
+PFNGLSETFENCEAPPLEPROC glad_glSetFenceAPPLE;
+PFNGLISFENCEAPPLEPROC glad_glIsFenceAPPLE;
+PFNGLTESTFENCEAPPLEPROC glad_glTestFenceAPPLE;
+PFNGLFINISHFENCEAPPLEPROC glad_glFinishFenceAPPLE;
+PFNGLTESTOBJECTAPPLEPROC glad_glTestObjectAPPLE;
+PFNGLFINISHOBJECTAPPLEPROC glad_glFinishObjectAPPLE;
+PFNGLMULTITEXCOORD1BOESPROC glad_glMultiTexCoord1bOES;
+PFNGLMULTITEXCOORD1BVOESPROC glad_glMultiTexCoord1bvOES;
+PFNGLMULTITEXCOORD2BOESPROC glad_glMultiTexCoord2bOES;
+PFNGLMULTITEXCOORD2BVOESPROC glad_glMultiTexCoord2bvOES;
+PFNGLMULTITEXCOORD3BOESPROC glad_glMultiTexCoord3bOES;
+PFNGLMULTITEXCOORD3BVOESPROC glad_glMultiTexCoord3bvOES;
+PFNGLMULTITEXCOORD4BOESPROC glad_glMultiTexCoord4bOES;
+PFNGLMULTITEXCOORD4BVOESPROC glad_glMultiTexCoord4bvOES;
+PFNGLTEXCOORD1BOESPROC glad_glTexCoord1bOES;
+PFNGLTEXCOORD1BVOESPROC glad_glTexCoord1bvOES;
+PFNGLTEXCOORD2BOESPROC glad_glTexCoord2bOES;
+PFNGLTEXCOORD2BVOESPROC glad_glTexCoord2bvOES;
+PFNGLTEXCOORD3BOESPROC glad_glTexCoord3bOES;
+PFNGLTEXCOORD3BVOESPROC glad_glTexCoord3bvOES;
+PFNGLTEXCOORD4BOESPROC glad_glTexCoord4bOES;
+PFNGLTEXCOORD4BVOESPROC glad_glTexCoord4bvOES;
+PFNGLVERTEX2BOESPROC glad_glVertex2bOES;
+PFNGLVERTEX2BVOESPROC glad_glVertex2bvOES;
+PFNGLVERTEX3BOESPROC glad_glVertex3bOES;
+PFNGLVERTEX3BVOESPROC glad_glVertex3bvOES;
+PFNGLVERTEX4BOESPROC glad_glVertex4bOES;
+PFNGLVERTEX4BVOESPROC glad_glVertex4bvOES;
+PFNGLLOADTRANSPOSEMATRIXFARBPROC glad_glLoadTransposeMatrixfARB;
+PFNGLLOADTRANSPOSEMATRIXDARBPROC glad_glLoadTransposeMatrixdARB;
+PFNGLMULTTRANSPOSEMATRIXFARBPROC glad_glMultTransposeMatrixfARB;
+PFNGLMULTTRANSPOSEMATRIXDARBPROC glad_glMultTransposeMatrixdARB;
+PFNGLFOGCOORDFEXTPROC glad_glFogCoordfEXT;
+PFNGLFOGCOORDFVEXTPROC glad_glFogCoordfvEXT;
+PFNGLFOGCOORDDEXTPROC glad_glFogCoorddEXT;
+PFNGLFOGCOORDDVEXTPROC glad_glFogCoorddvEXT;
+PFNGLFOGCOORDPOINTEREXTPROC glad_glFogCoordPointerEXT;
+PFNGLARRAYELEMENTEXTPROC glad_glArrayElementEXT;
+PFNGLCOLORPOINTEREXTPROC glad_glColorPointerEXT;
+PFNGLDRAWARRAYSEXTPROC glad_glDrawArraysEXT;
+PFNGLEDGEFLAGPOINTEREXTPROC glad_glEdgeFlagPointerEXT;
+PFNGLGETPOINTERVEXTPROC glad_glGetPointervEXT;
+PFNGLINDEXPOINTEREXTPROC glad_glIndexPointerEXT;
+PFNGLNORMALPOINTEREXTPROC glad_glNormalPointerEXT;
+PFNGLTEXCOORDPOINTEREXTPROC glad_glTexCoordPointerEXT;
+PFNGLVERTEXPOINTEREXTPROC glad_glVertexPointerEXT;
+PFNGLBLENDEQUATIONSEPARATEEXTPROC glad_glBlendEquationSeparateEXT;
+PFNGLCOPYIMAGESUBDATANVPROC glad_glCopyImageSubDataNV;
+PFNGLINSERTEVENTMARKEREXTPROC glad_glInsertEventMarkerEXT;
+PFNGLPUSHGROUPMARKEREXTPROC glad_glPushGroupMarkerEXT;
+PFNGLPOPGROUPMARKEREXTPROC glad_glPopGroupMarkerEXT;
+PFNGLPIXELTRANSFORMPARAMETERIEXTPROC glad_glPixelTransformParameteriEXT;
+PFNGLPIXELTRANSFORMPARAMETERFEXTPROC glad_glPixelTransformParameterfEXT;
+PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC glad_glPixelTransformParameterivEXT;
+PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC glad_glPixelTransformParameterfvEXT;
+PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC glad_glGetPixelTransformParameterivEXT;
+PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC glad_glGetPixelTransformParameterfvEXT;
+PFNGLGENFRAGMENTSHADERSATIPROC glad_glGenFragmentShadersATI;
+PFNGLBINDFRAGMENTSHADERATIPROC glad_glBindFragmentShaderATI;
+PFNGLDELETEFRAGMENTSHADERATIPROC glad_glDeleteFragmentShaderATI;
+PFNGLBEGINFRAGMENTSHADERATIPROC glad_glBeginFragmentShaderATI;
+PFNGLENDFRAGMENTSHADERATIPROC glad_glEndFragmentShaderATI;
+PFNGLPASSTEXCOORDATIPROC glad_glPassTexCoordATI;
+PFNGLSAMPLEMAPATIPROC glad_glSampleMapATI;
+PFNGLCOLORFRAGMENTOP1ATIPROC glad_glColorFragmentOp1ATI;
+PFNGLCOLORFRAGMENTOP2ATIPROC glad_glColorFragmentOp2ATI;
+PFNGLCOLORFRAGMENTOP3ATIPROC glad_glColorFragmentOp3ATI;
+PFNGLALPHAFRAGMENTOP1ATIPROC glad_glAlphaFragmentOp1ATI;
+PFNGLALPHAFRAGMENTOP2ATIPROC glad_glAlphaFragmentOp2ATI;
+PFNGLALPHAFRAGMENTOP3ATIPROC glad_glAlphaFragmentOp3ATI;
+PFNGLSETFRAGMENTSHADERCONSTANTATIPROC glad_glSetFragmentShaderConstantATI;
+PFNGLREPLACEMENTCODEUISUNPROC glad_glReplacementCodeuiSUN;
+PFNGLREPLACEMENTCODEUSSUNPROC glad_glReplacementCodeusSUN;
+PFNGLREPLACEMENTCODEUBSUNPROC glad_glReplacementCodeubSUN;
+PFNGLREPLACEMENTCODEUIVSUNPROC glad_glReplacementCodeuivSUN;
+PFNGLREPLACEMENTCODEUSVSUNPROC glad_glReplacementCodeusvSUN;
+PFNGLREPLACEMENTCODEUBVSUNPROC glad_glReplacementCodeubvSUN;
+PFNGLREPLACEMENTCODEPOINTERSUNPROC glad_glReplacementCodePointerSUN;
+PFNGLASYNCMARKERSGIXPROC glad_glAsyncMarkerSGIX;
+PFNGLFINISHASYNCSGIXPROC glad_glFinishAsyncSGIX;
+PFNGLPOLLASYNCSGIXPROC glad_glPollAsyncSGIX;
+PFNGLGENASYNCMARKERSSGIXPROC glad_glGenAsyncMarkersSGIX;
+PFNGLDELETEASYNCMARKERSSGIXPROC glad_glDeleteAsyncMarkersSGIX;
+PFNGLISASYNCMARKERSGIXPROC glad_glIsAsyncMarkerSGIX;
+PFNGLBEGINPERFQUERYINTELPROC glad_glBeginPerfQueryINTEL;
+PFNGLCREATEPERFQUERYINTELPROC glad_glCreatePerfQueryINTEL;
+PFNGLDELETEPERFQUERYINTELPROC glad_glDeletePerfQueryINTEL;
+PFNGLENDPERFQUERYINTELPROC glad_glEndPerfQueryINTEL;
+PFNGLGETFIRSTPERFQUERYIDINTELPROC glad_glGetFirstPerfQueryIdINTEL;
+PFNGLGETNEXTPERFQUERYIDINTELPROC glad_glGetNextPerfQueryIdINTEL;
+PFNGLGETPERFCOUNTERINFOINTELPROC glad_glGetPerfCounterInfoINTEL;
+PFNGLGETPERFQUERYDATAINTELPROC glad_glGetPerfQueryDataINTEL;
+PFNGLGETPERFQUERYIDBYNAMEINTELPROC glad_glGetPerfQueryIdByNameINTEL;
+PFNGLGETPERFQUERYINFOINTELPROC glad_glGetPerfQueryInfoINTEL;
+PFNGLUNIFORM1I64NVPROC glad_glUniform1i64NV;
+PFNGLUNIFORM2I64NVPROC glad_glUniform2i64NV;
+PFNGLUNIFORM3I64NVPROC glad_glUniform3i64NV;
+PFNGLUNIFORM4I64NVPROC glad_glUniform4i64NV;
+PFNGLUNIFORM1I64VNVPROC glad_glUniform1i64vNV;
+PFNGLUNIFORM2I64VNVPROC glad_glUniform2i64vNV;
+PFNGLUNIFORM3I64VNVPROC glad_glUniform3i64vNV;
+PFNGLUNIFORM4I64VNVPROC glad_glUniform4i64vNV;
+PFNGLUNIFORM1UI64NVPROC glad_glUniform1ui64NV;
+PFNGLUNIFORM2UI64NVPROC glad_glUniform2ui64NV;
+PFNGLUNIFORM3UI64NVPROC glad_glUniform3ui64NV;
+PFNGLUNIFORM4UI64NVPROC glad_glUniform4ui64NV;
+PFNGLUNIFORM1UI64VNVPROC glad_glUniform1ui64vNV;
+PFNGLUNIFORM2UI64VNVPROC glad_glUniform2ui64vNV;
+PFNGLUNIFORM3UI64VNVPROC glad_glUniform3ui64vNV;
+PFNGLUNIFORM4UI64VNVPROC glad_glUniform4ui64vNV;
+PFNGLGETUNIFORMI64VNVPROC glad_glGetUniformi64vNV;
+PFNGLPROGRAMUNIFORM1I64NVPROC glad_glProgramUniform1i64NV;
+PFNGLPROGRAMUNIFORM2I64NVPROC glad_glProgramUniform2i64NV;
+PFNGLPROGRAMUNIFORM3I64NVPROC glad_glProgramUniform3i64NV;
+PFNGLPROGRAMUNIFORM4I64NVPROC glad_glProgramUniform4i64NV;
+PFNGLPROGRAMUNIFORM1I64VNVPROC glad_glProgramUniform1i64vNV;
+PFNGLPROGRAMUNIFORM2I64VNVPROC glad_glProgramUniform2i64vNV;
+PFNGLPROGRAMUNIFORM3I64VNVPROC glad_glProgramUniform3i64vNV;
+PFNGLPROGRAMUNIFORM4I64VNVPROC glad_glProgramUniform4i64vNV;
+PFNGLPROGRAMUNIFORM1UI64NVPROC glad_glProgramUniform1ui64NV;
+PFNGLPROGRAMUNIFORM2UI64NVPROC glad_glProgramUniform2ui64NV;
+PFNGLPROGRAMUNIFORM3UI64NVPROC glad_glProgramUniform3ui64NV;
+PFNGLPROGRAMUNIFORM4UI64NVPROC glad_glProgramUniform4ui64NV;
+PFNGLPROGRAMUNIFORM1UI64VNVPROC glad_glProgramUniform1ui64vNV;
+PFNGLPROGRAMUNIFORM2UI64VNVPROC glad_glProgramUniform2ui64vNV;
+PFNGLPROGRAMUNIFORM3UI64VNVPROC glad_glProgramUniform3ui64vNV;
+PFNGLPROGRAMUNIFORM4UI64VNVPROC glad_glProgramUniform4ui64vNV;
+PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC glad_glMultiDrawArraysIndirectCountARB;
+PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC glad_glMultiDrawElementsIndirectCountARB;
+PFNGLVERTEX2HNVPROC glad_glVertex2hNV;
+PFNGLVERTEX2HVNVPROC glad_glVertex2hvNV;
+PFNGLVERTEX3HNVPROC glad_glVertex3hNV;
+PFNGLVERTEX3HVNVPROC glad_glVertex3hvNV;
+PFNGLVERTEX4HNVPROC glad_glVertex4hNV;
+PFNGLVERTEX4HVNVPROC glad_glVertex4hvNV;
+PFNGLNORMAL3HNVPROC glad_glNormal3hNV;
+PFNGLNORMAL3HVNVPROC glad_glNormal3hvNV;
+PFNGLCOLOR3HNVPROC glad_glColor3hNV;
+PFNGLCOLOR3HVNVPROC glad_glColor3hvNV;
+PFNGLCOLOR4HNVPROC glad_glColor4hNV;
+PFNGLCOLOR4HVNVPROC glad_glColor4hvNV;
+PFNGLTEXCOORD1HNVPROC glad_glTexCoord1hNV;
+PFNGLTEXCOORD1HVNVPROC glad_glTexCoord1hvNV;
+PFNGLTEXCOORD2HNVPROC glad_glTexCoord2hNV;
+PFNGLTEXCOORD2HVNVPROC glad_glTexCoord2hvNV;
+PFNGLTEXCOORD3HNVPROC glad_glTexCoord3hNV;
+PFNGLTEXCOORD3HVNVPROC glad_glTexCoord3hvNV;
+PFNGLTEXCOORD4HNVPROC glad_glTexCoord4hNV;
+PFNGLTEXCOORD4HVNVPROC glad_glTexCoord4hvNV;
+PFNGLMULTITEXCOORD1HNVPROC glad_glMultiTexCoord1hNV;
+PFNGLMULTITEXCOORD1HVNVPROC glad_glMultiTexCoord1hvNV;
+PFNGLMULTITEXCOORD2HNVPROC glad_glMultiTexCoord2hNV;
+PFNGLMULTITEXCOORD2HVNVPROC glad_glMultiTexCoord2hvNV;
+PFNGLMULTITEXCOORD3HNVPROC glad_glMultiTexCoord3hNV;
+PFNGLMULTITEXCOORD3HVNVPROC glad_glMultiTexCoord3hvNV;
+PFNGLMULTITEXCOORD4HNVPROC glad_glMultiTexCoord4hNV;
+PFNGLMULTITEXCOORD4HVNVPROC glad_glMultiTexCoord4hvNV;
+PFNGLFOGCOORDHNVPROC glad_glFogCoordhNV;
+PFNGLFOGCOORDHVNVPROC glad_glFogCoordhvNV;
+PFNGLSECONDARYCOLOR3HNVPROC glad_glSecondaryColor3hNV;
+PFNGLSECONDARYCOLOR3HVNVPROC glad_glSecondaryColor3hvNV;
+PFNGLVERTEXWEIGHTHNVPROC glad_glVertexWeighthNV;
+PFNGLVERTEXWEIGHTHVNVPROC glad_glVertexWeighthvNV;
+PFNGLVERTEXATTRIB1HNVPROC glad_glVertexAttrib1hNV;
+PFNGLVERTEXATTRIB1HVNVPROC glad_glVertexAttrib1hvNV;
+PFNGLVERTEXATTRIB2HNVPROC glad_glVertexAttrib2hNV;
+PFNGLVERTEXATTRIB2HVNVPROC glad_glVertexAttrib2hvNV;
+PFNGLVERTEXATTRIB3HNVPROC glad_glVertexAttrib3hNV;
+PFNGLVERTEXATTRIB3HVNVPROC glad_glVertexAttrib3hvNV;
+PFNGLVERTEXATTRIB4HNVPROC glad_glVertexAttrib4hNV;
+PFNGLVERTEXATTRIB4HVNVPROC glad_glVertexAttrib4hvNV;
+PFNGLVERTEXATTRIBS1HVNVPROC glad_glVertexAttribs1hvNV;
+PFNGLVERTEXATTRIBS2HVNVPROC glad_glVertexAttribs2hvNV;
+PFNGLVERTEXATTRIBS3HVNVPROC glad_glVertexAttribs3hvNV;
+PFNGLVERTEXATTRIBS4HVNVPROC glad_glVertexAttribs4hvNV;
+PFNGLTANGENT3BEXTPROC glad_glTangent3bEXT;
+PFNGLTANGENT3BVEXTPROC glad_glTangent3bvEXT;
+PFNGLTANGENT3DEXTPROC glad_glTangent3dEXT;
+PFNGLTANGENT3DVEXTPROC glad_glTangent3dvEXT;
+PFNGLTANGENT3FEXTPROC glad_glTangent3fEXT;
+PFNGLTANGENT3FVEXTPROC glad_glTangent3fvEXT;
+PFNGLTANGENT3IEXTPROC glad_glTangent3iEXT;
+PFNGLTANGENT3IVEXTPROC glad_glTangent3ivEXT;
+PFNGLTANGENT3SEXTPROC glad_glTangent3sEXT;
+PFNGLTANGENT3SVEXTPROC glad_glTangent3svEXT;
+PFNGLBINORMAL3BEXTPROC glad_glBinormal3bEXT;
+PFNGLBINORMAL3BVEXTPROC glad_glBinormal3bvEXT;
+PFNGLBINORMAL3DEXTPROC glad_glBinormal3dEXT;
+PFNGLBINORMAL3DVEXTPROC glad_glBinormal3dvEXT;
+PFNGLBINORMAL3FEXTPROC glad_glBinormal3fEXT;
+PFNGLBINORMAL3FVEXTPROC glad_glBinormal3fvEXT;
+PFNGLBINORMAL3IEXTPROC glad_glBinormal3iEXT;
+PFNGLBINORMAL3IVEXTPROC glad_glBinormal3ivEXT;
+PFNGLBINORMAL3SEXTPROC glad_glBinormal3sEXT;
+PFNGLBINORMAL3SVEXTPROC glad_glBinormal3svEXT;
+PFNGLTANGENTPOINTEREXTPROC glad_glTangentPointerEXT;
+PFNGLBINORMALPOINTEREXTPROC glad_glBinormalPointerEXT;
+PFNGLLOCKARRAYSEXTPROC glad_glLockArraysEXT;
+PFNGLUNLOCKARRAYSEXTPROC glad_glUnlockArraysEXT;
+PFNGLDEPTHRANGEDNVPROC glad_glDepthRangedNV;
+PFNGLCLEARDEPTHDNVPROC glad_glClearDepthdNV;
+PFNGLDEPTHBOUNDSDNVPROC glad_glDepthBoundsdNV;
+PFNGLGENOCCLUSIONQUERIESNVPROC glad_glGenOcclusionQueriesNV;
+PFNGLDELETEOCCLUSIONQUERIESNVPROC glad_glDeleteOcclusionQueriesNV;
+PFNGLISOCCLUSIONQUERYNVPROC glad_glIsOcclusionQueryNV;
+PFNGLBEGINOCCLUSIONQUERYNVPROC glad_glBeginOcclusionQueryNV;
+PFNGLENDOCCLUSIONQUERYNVPROC glad_glEndOcclusionQueryNV;
+PFNGLGETOCCLUSIONQUERYIVNVPROC glad_glGetOcclusionQueryivNV;
+PFNGLGETOCCLUSIONQUERYUIVNVPROC glad_glGetOcclusionQueryuivNV;
+PFNGLBUFFERPARAMETERIAPPLEPROC glad_glBufferParameteriAPPLE;
+PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glad_glFlushMappedBufferRangeAPPLE;
+PFNGLCOLORTABLEPROC glad_glColorTable;
+PFNGLCOLORTABLEPARAMETERFVPROC glad_glColorTableParameterfv;
+PFNGLCOLORTABLEPARAMETERIVPROC glad_glColorTableParameteriv;
+PFNGLCOPYCOLORTABLEPROC glad_glCopyColorTable;
+PFNGLGETCOLORTABLEPROC glad_glGetColorTable;
+PFNGLGETCOLORTABLEPARAMETERFVPROC glad_glGetColorTableParameterfv;
+PFNGLGETCOLORTABLEPARAMETERIVPROC glad_glGetColorTableParameteriv;
+PFNGLCOLORSUBTABLEPROC glad_glColorSubTable;
+PFNGLCOPYCOLORSUBTABLEPROC glad_glCopyColorSubTable;
+PFNGLCONVOLUTIONFILTER1DPROC glad_glConvolutionFilter1D;
+PFNGLCONVOLUTIONFILTER2DPROC glad_glConvolutionFilter2D;
+PFNGLCONVOLUTIONPARAMETERFPROC glad_glConvolutionParameterf;
+PFNGLCONVOLUTIONPARAMETERFVPROC glad_glConvolutionParameterfv;
+PFNGLCONVOLUTIONPARAMETERIPROC glad_glConvolutionParameteri;
+PFNGLCONVOLUTIONPARAMETERIVPROC glad_glConvolutionParameteriv;
+PFNGLCOPYCONVOLUTIONFILTER1DPROC glad_glCopyConvolutionFilter1D;
+PFNGLCOPYCONVOLUTIONFILTER2DPROC glad_glCopyConvolutionFilter2D;
+PFNGLGETCONVOLUTIONFILTERPROC glad_glGetConvolutionFilter;
+PFNGLGETCONVOLUTIONPARAMETERFVPROC glad_glGetConvolutionParameterfv;
+PFNGLGETCONVOLUTIONPARAMETERIVPROC glad_glGetConvolutionParameteriv;
+PFNGLGETSEPARABLEFILTERPROC glad_glGetSeparableFilter;
+PFNGLSEPARABLEFILTER2DPROC glad_glSeparableFilter2D;
+PFNGLGETHISTOGRAMPROC glad_glGetHistogram;
+PFNGLGETHISTOGRAMPARAMETERFVPROC glad_glGetHistogramParameterfv;
+PFNGLGETHISTOGRAMPARAMETERIVPROC glad_glGetHistogramParameteriv;
+PFNGLGETMINMAXPROC glad_glGetMinmax;
+PFNGLGETMINMAXPARAMETERFVPROC glad_glGetMinmaxParameterfv;
+PFNGLGETMINMAXPARAMETERIVPROC glad_glGetMinmaxParameteriv;
+PFNGLHISTOGRAMPROC glad_glHistogram;
+PFNGLMINMAXPROC glad_glMinmax;
+PFNGLRESETHISTOGRAMPROC glad_glResetHistogram;
+PFNGLRESETMINMAXPROC glad_glResetMinmax;
+PFNGLBLENDEQUATIONIARBPROC glad_glBlendEquationiARB;
+PFNGLBLENDEQUATIONSEPARATEIARBPROC glad_glBlendEquationSeparateiARB;
+PFNGLBLENDFUNCIARBPROC glad_glBlendFunciARB;
+PFNGLBLENDFUNCSEPARATEIARBPROC glad_glBlendFuncSeparateiARB;
+PFNGLSAMPLECOVERAGEARBPROC glad_glSampleCoverageARB;
+PFNGLLABELOBJECTEXTPROC glad_glLabelObjectEXT;
+PFNGLGETOBJECTLABELEXTPROC glad_glGetObjectLabelEXT;
+PFNGLMINSAMPLESHADINGARBPROC glad_glMinSampleShadingARB;
+PFNGLSYNCTEXTUREINTELPROC glad_glSyncTextureINTEL;
+PFNGLUNMAPTEXTURE2DINTELPROC glad_glUnmapTexture2DINTEL;
+PFNGLMAPTEXTURE2DINTELPROC glad_glMapTexture2DINTEL;
+PFNGLCOLORPOINTERLISTIBMPROC glad_glColorPointerListIBM;
+PFNGLSECONDARYCOLORPOINTERLISTIBMPROC glad_glSecondaryColorPointerListIBM;
+PFNGLEDGEFLAGPOINTERLISTIBMPROC glad_glEdgeFlagPointerListIBM;
+PFNGLFOGCOORDPOINTERLISTIBMPROC glad_glFogCoordPointerListIBM;
+PFNGLINDEXPOINTERLISTIBMPROC glad_glIndexPointerListIBM;
+PFNGLNORMALPOINTERLISTIBMPROC glad_glNormalPointerListIBM;
+PFNGLTEXCOORDPOINTERLISTIBMPROC glad_glTexCoordPointerListIBM;
+PFNGLVERTEXPOINTERLISTIBMPROC glad_glVertexPointerListIBM;
+PFNGLCLAMPCOLORARBPROC glad_glClampColorARB;
+PFNGLGETTEXTUREHANDLEARBPROC glad_glGetTextureHandleARB;
+PFNGLGETTEXTURESAMPLERHANDLEARBPROC glad_glGetTextureSamplerHandleARB;
+PFNGLMAKETEXTUREHANDLERESIDENTARBPROC glad_glMakeTextureHandleResidentARB;
+PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC glad_glMakeTextureHandleNonResidentARB;
+PFNGLGETIMAGEHANDLEARBPROC glad_glGetImageHandleARB;
+PFNGLMAKEIMAGEHANDLERESIDENTARBPROC glad_glMakeImageHandleResidentARB;
+PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC glad_glMakeImageHandleNonResidentARB;
+PFNGLUNIFORMHANDLEUI64ARBPROC glad_glUniformHandleui64ARB;
+PFNGLUNIFORMHANDLEUI64VARBPROC glad_glUniformHandleui64vARB;
+PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC glad_glProgramUniformHandleui64ARB;
+PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC glad_glProgramUniformHandleui64vARB;
+PFNGLISTEXTUREHANDLERESIDENTARBPROC glad_glIsTextureHandleResidentARB;
+PFNGLISIMAGEHANDLERESIDENTARBPROC glad_glIsImageHandleResidentARB;
+PFNGLVERTEXATTRIBL1UI64ARBPROC glad_glVertexAttribL1ui64ARB;
+PFNGLVERTEXATTRIBL1UI64VARBPROC glad_glVertexAttribL1ui64vARB;
+PFNGLGETVERTEXATTRIBLUI64VARBPROC glad_glGetVertexAttribLui64vARB;
+PFNGLWINDOWPOS2DARBPROC glad_glWindowPos2dARB;
+PFNGLWINDOWPOS2DVARBPROC glad_glWindowPos2dvARB;
+PFNGLWINDOWPOS2FARBPROC glad_glWindowPos2fARB;
+PFNGLWINDOWPOS2FVARBPROC glad_glWindowPos2fvARB;
+PFNGLWINDOWPOS2IARBPROC glad_glWindowPos2iARB;
+PFNGLWINDOWPOS2IVARBPROC glad_glWindowPos2ivARB;
+PFNGLWINDOWPOS2SARBPROC glad_glWindowPos2sARB;
+PFNGLWINDOWPOS2SVARBPROC glad_glWindowPos2svARB;
+PFNGLWINDOWPOS3DARBPROC glad_glWindowPos3dARB;
+PFNGLWINDOWPOS3DVARBPROC glad_glWindowPos3dvARB;
+PFNGLWINDOWPOS3FARBPROC glad_glWindowPos3fARB;
+PFNGLWINDOWPOS3FVARBPROC glad_glWindowPos3fvARB;
+PFNGLWINDOWPOS3IARBPROC glad_glWindowPos3iARB;
+PFNGLWINDOWPOS3IVARBPROC glad_glWindowPos3ivARB;
+PFNGLWINDOWPOS3SARBPROC glad_glWindowPos3sARB;
+PFNGLWINDOWPOS3SVARBPROC glad_glWindowPos3svARB;
+PFNGLBINDIMAGETEXTUREEXTPROC glad_glBindImageTextureEXT;
+PFNGLMEMORYBARRIEREXTPROC glad_glMemoryBarrierEXT;
+PFNGLCOPYTEXIMAGE1DEXTPROC glad_glCopyTexImage1DEXT;
+PFNGLCOPYTEXIMAGE2DEXTPROC glad_glCopyTexImage2DEXT;
+PFNGLCOPYTEXSUBIMAGE1DEXTPROC glad_glCopyTexSubImage1DEXT;
+PFNGLCOPYTEXSUBIMAGE2DEXTPROC glad_glCopyTexSubImage2DEXT;
+PFNGLCOPYTEXSUBIMAGE3DEXTPROC glad_glCopyTexSubImage3DEXT;
+PFNGLCOMBINERSTAGEPARAMETERFVNVPROC glad_glCombinerStageParameterfvNV;
+PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC glad_glGetCombinerStageParameterfvNV;
+PFNGLDRAWTEXTURENVPROC glad_glDrawTextureNV;
+PFNGLDRAWARRAYSINSTANCEDEXTPROC glad_glDrawArraysInstancedEXT;
+PFNGLDRAWELEMENTSINSTANCEDEXTPROC glad_glDrawElementsInstancedEXT;
+PFNGLDEPTHBOUNDSEXTPROC glad_glDepthBoundsEXT;
+PFNGLIMAGETRANSFORMPARAMETERIHPPROC glad_glImageTransformParameteriHP;
+PFNGLIMAGETRANSFORMPARAMETERFHPPROC glad_glImageTransformParameterfHP;
+PFNGLIMAGETRANSFORMPARAMETERIVHPPROC glad_glImageTransformParameterivHP;
+PFNGLIMAGETRANSFORMPARAMETERFVHPPROC glad_glImageTransformParameterfvHP;
+PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC glad_glGetImageTransformParameterivHP;
+PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC glad_glGetImageTransformParameterfvHP;
+PFNGLBEGINVIDEOCAPTURENVPROC glad_glBeginVideoCaptureNV;
+PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC glad_glBindVideoCaptureStreamBufferNV;
+PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC glad_glBindVideoCaptureStreamTextureNV;
+PFNGLENDVIDEOCAPTURENVPROC glad_glEndVideoCaptureNV;
+PFNGLGETVIDEOCAPTUREIVNVPROC glad_glGetVideoCaptureivNV;
+PFNGLGETVIDEOCAPTURESTREAMIVNVPROC glad_glGetVideoCaptureStreamivNV;
+PFNGLGETVIDEOCAPTURESTREAMFVNVPROC glad_glGetVideoCaptureStreamfvNV;
+PFNGLGETVIDEOCAPTURESTREAMDVNVPROC glad_glGetVideoCaptureStreamdvNV;
+PFNGLVIDEOCAPTURENVPROC glad_glVideoCaptureNV;
+PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC glad_glVideoCaptureStreamParameterivNV;
+PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC glad_glVideoCaptureStreamParameterfvNV;
+PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC glad_glVideoCaptureStreamParameterdvNV;
+PFNGLCURRENTPALETTEMATRIXARBPROC glad_glCurrentPaletteMatrixARB;
+PFNGLMATRIXINDEXUBVARBPROC glad_glMatrixIndexubvARB;
+PFNGLMATRIXINDEXUSVARBPROC glad_glMatrixIndexusvARB;
+PFNGLMATRIXINDEXUIVARBPROC glad_glMatrixIndexuivARB;
+PFNGLMATRIXINDEXPOINTERARBPROC glad_glMatrixIndexPointerARB;
+PFNGLTEXTURECOLORMASKSGISPROC glad_glTextureColorMaskSGIS;
+PFNGLCOMPRESSEDTEXIMAGE3DARBPROC glad_glCompressedTexImage3DARB;
+PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glad_glCompressedTexImage2DARB;
+PFNGLCOMPRESSEDTEXIMAGE1DARBPROC glad_glCompressedTexImage1DARB;
+PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC glad_glCompressedTexSubImage3DARB;
+PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC glad_glCompressedTexSubImage2DARB;
+PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC glad_glCompressedTexSubImage1DARB;
+PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glad_glGetCompressedTexImageARB;
+PFNGLVERTEXATTRIBL1DEXTPROC glad_glVertexAttribL1dEXT;
+PFNGLVERTEXATTRIBL2DEXTPROC glad_glVertexAttribL2dEXT;
+PFNGLVERTEXATTRIBL3DEXTPROC glad_glVertexAttribL3dEXT;
+PFNGLVERTEXATTRIBL4DEXTPROC glad_glVertexAttribL4dEXT;
+PFNGLVERTEXATTRIBL1DVEXTPROC glad_glVertexAttribL1dvEXT;
+PFNGLVERTEXATTRIBL2DVEXTPROC glad_glVertexAttribL2dvEXT;
+PFNGLVERTEXATTRIBL3DVEXTPROC glad_glVertexAttribL3dvEXT;
+PFNGLVERTEXATTRIBL4DVEXTPROC glad_glVertexAttribL4dvEXT;
+PFNGLVERTEXATTRIBLPOINTEREXTPROC glad_glVertexAttribLPointerEXT;
+PFNGLGETVERTEXATTRIBLDVEXTPROC glad_glGetVertexAttribLdvEXT;
+PFNGLQUERYMATRIXXOESPROC glad_glQueryMatrixxOES;
+PFNGLTEXTURERANGEAPPLEPROC glad_glTextureRangeAPPLE;
+PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC glad_glGetTexParameterPointervAPPLE;
+PFNGLOBJECTPURGEABLEAPPLEPROC glad_glObjectPurgeableAPPLE;
+PFNGLOBJECTUNPURGEABLEAPPLEPROC glad_glObjectUnpurgeableAPPLE;
+PFNGLGETOBJECTPARAMETERIVAPPLEPROC glad_glGetObjectParameterivAPPLE;
+PFNGLGENQUERIESARBPROC glad_glGenQueriesARB;
+PFNGLDELETEQUERIESARBPROC glad_glDeleteQueriesARB;
+PFNGLISQUERYARBPROC glad_glIsQueryARB;
+PFNGLBEGINQUERYARBPROC glad_glBeginQueryARB;
+PFNGLENDQUERYARBPROC glad_glEndQueryARB;
+PFNGLGETQUERYIVARBPROC glad_glGetQueryivARB;
+PFNGLGETQUERYOBJECTIVARBPROC glad_glGetQueryObjectivARB;
+PFNGLGETQUERYOBJECTUIVARBPROC glad_glGetQueryObjectuivARB;
+PFNGLCOLORTABLESGIPROC glad_glColorTableSGI;
+PFNGLCOLORTABLEPARAMETERFVSGIPROC glad_glColorTableParameterfvSGI;
+PFNGLCOLORTABLEPARAMETERIVSGIPROC glad_glColorTableParameterivSGI;
+PFNGLCOPYCOLORTABLESGIPROC glad_glCopyColorTableSGI;
+PFNGLGETCOLORTABLESGIPROC glad_glGetColorTableSGI;
+PFNGLGETCOLORTABLEPARAMETERFVSGIPROC glad_glGetColorTableParameterfvSGI;
+PFNGLGETCOLORTABLEPARAMETERIVSGIPROC glad_glGetColorTableParameterivSGI;
+PFNGLGETUNIFORMUIVEXTPROC glad_glGetUniformuivEXT;
+PFNGLBINDFRAGDATALOCATIONEXTPROC glad_glBindFragDataLocationEXT;
+PFNGLGETFRAGDATALOCATIONEXTPROC glad_glGetFragDataLocationEXT;
+PFNGLUNIFORM1UIEXTPROC glad_glUniform1uiEXT;
+PFNGLUNIFORM2UIEXTPROC glad_glUniform2uiEXT;
+PFNGLUNIFORM3UIEXTPROC glad_glUniform3uiEXT;
+PFNGLUNIFORM4UIEXTPROC glad_glUniform4uiEXT;
+PFNGLUNIFORM1UIVEXTPROC glad_glUniform1uivEXT;
+PFNGLUNIFORM2UIVEXTPROC glad_glUniform2uivEXT;
+PFNGLUNIFORM3UIVEXTPROC glad_glUniform3uivEXT;
+PFNGLUNIFORM4UIVEXTPROC glad_glUniform4uivEXT;
+PFNGLPROGRAMVERTEXLIMITNVPROC glad_glProgramVertexLimitNV;
+PFNGLFRAMEBUFFERTEXTUREEXTPROC glad_glFramebufferTextureEXT;
+PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC glad_glFramebufferTextureLayerEXT;
+PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC glad_glFramebufferTextureFaceEXT;
+PFNGLDEBUGMESSAGEENABLEAMDPROC glad_glDebugMessageEnableAMD;
+PFNGLDEBUGMESSAGEINSERTAMDPROC glad_glDebugMessageInsertAMD;
+PFNGLDEBUGMESSAGECALLBACKAMDPROC glad_glDebugMessageCallbackAMD;
+PFNGLGETDEBUGMESSAGELOGAMDPROC glad_glGetDebugMessageLogAMD;
+PFNGLACTIVETEXTUREARBPROC glad_glActiveTextureARB;
+PFNGLCLIENTACTIVETEXTUREARBPROC glad_glClientActiveTextureARB;
+PFNGLMULTITEXCOORD1DARBPROC glad_glMultiTexCoord1dARB;
+PFNGLMULTITEXCOORD1DVARBPROC glad_glMultiTexCoord1dvARB;
+PFNGLMULTITEXCOORD1FARBPROC glad_glMultiTexCoord1fARB;
+PFNGLMULTITEXCOORD1FVARBPROC glad_glMultiTexCoord1fvARB;
+PFNGLMULTITEXCOORD1IARBPROC glad_glMultiTexCoord1iARB;
+PFNGLMULTITEXCOORD1IVARBPROC glad_glMultiTexCoord1ivARB;
+PFNGLMULTITEXCOORD1SARBPROC glad_glMultiTexCoord1sARB;
+PFNGLMULTITEXCOORD1SVARBPROC glad_glMultiTexCoord1svARB;
+PFNGLMULTITEXCOORD2DARBPROC glad_glMultiTexCoord2dARB;
+PFNGLMULTITEXCOORD2DVARBPROC glad_glMultiTexCoord2dvARB;
+PFNGLMULTITEXCOORD2FARBPROC glad_glMultiTexCoord2fARB;
+PFNGLMULTITEXCOORD2FVARBPROC glad_glMultiTexCoord2fvARB;
+PFNGLMULTITEXCOORD2IARBPROC glad_glMultiTexCoord2iARB;
+PFNGLMULTITEXCOORD2IVARBPROC glad_glMultiTexCoord2ivARB;
+PFNGLMULTITEXCOORD2SARBPROC glad_glMultiTexCoord2sARB;
+PFNGLMULTITEXCOORD2SVARBPROC glad_glMultiTexCoord2svARB;
+PFNGLMULTITEXCOORD3DARBPROC glad_glMultiTexCoord3dARB;
+PFNGLMULTITEXCOORD3DVARBPROC glad_glMultiTexCoord3dvARB;
+PFNGLMULTITEXCOORD3FARBPROC glad_glMultiTexCoord3fARB;
+PFNGLMULTITEXCOORD3FVARBPROC glad_glMultiTexCoord3fvARB;
+PFNGLMULTITEXCOORD3IARBPROC glad_glMultiTexCoord3iARB;
+PFNGLMULTITEXCOORD3IVARBPROC glad_glMultiTexCoord3ivARB;
+PFNGLMULTITEXCOORD3SARBPROC glad_glMultiTexCoord3sARB;
+PFNGLMULTITEXCOORD3SVARBPROC glad_glMultiTexCoord3svARB;
+PFNGLMULTITEXCOORD4DARBPROC glad_glMultiTexCoord4dARB;
+PFNGLMULTITEXCOORD4DVARBPROC glad_glMultiTexCoord4dvARB;
+PFNGLMULTITEXCOORD4FARBPROC glad_glMultiTexCoord4fARB;
+PFNGLMULTITEXCOORD4FVARBPROC glad_glMultiTexCoord4fvARB;
+PFNGLMULTITEXCOORD4IARBPROC glad_glMultiTexCoord4iARB;
+PFNGLMULTITEXCOORD4IVARBPROC glad_glMultiTexCoord4ivARB;
+PFNGLMULTITEXCOORD4SARBPROC glad_glMultiTexCoord4sARB;
+PFNGLMULTITEXCOORD4SVARBPROC glad_glMultiTexCoord4svARB;
+PFNGLDEFORMATIONMAP3DSGIXPROC glad_glDeformationMap3dSGIX;
+PFNGLDEFORMATIONMAP3FSGIXPROC glad_glDeformationMap3fSGIX;
+PFNGLDEFORMSGIXPROC glad_glDeformSGIX;
+PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC glad_glLoadIdentityDeformationMapSGIX;
+PFNGLPROVOKINGVERTEXEXTPROC glad_glProvokingVertexEXT;
+PFNGLPOINTPARAMETERFARBPROC glad_glPointParameterfARB;
+PFNGLPOINTPARAMETERFVARBPROC glad_glPointParameterfvARB;
+PFNGLFRAMEZOOMSGIXPROC glad_glFrameZoomSGIX;
+PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC glad_glMultiDrawArraysIndirectBindlessNV;
+PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC glad_glMultiDrawElementsIndirectBindlessNV;
+PFNGLBEGINTRANSFORMFEEDBACKEXTPROC glad_glBeginTransformFeedbackEXT;
+PFNGLENDTRANSFORMFEEDBACKEXTPROC glad_glEndTransformFeedbackEXT;
+PFNGLBINDBUFFERRANGEEXTPROC glad_glBindBufferRangeEXT;
+PFNGLBINDBUFFEROFFSETEXTPROC glad_glBindBufferOffsetEXT;
+PFNGLBINDBUFFERBASEEXTPROC glad_glBindBufferBaseEXT;
+PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC glad_glTransformFeedbackVaryingsEXT;
+PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC glad_glGetTransformFeedbackVaryingEXT;
+PFNGLPROGRAMLOCALPARAMETERI4INVPROC glad_glProgramLocalParameterI4iNV;
+PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC glad_glProgramLocalParameterI4ivNV;
+PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC glad_glProgramLocalParametersI4ivNV;
+PFNGLPROGRAMLOCALPARAMETERI4UINVPROC glad_glProgramLocalParameterI4uiNV;
+PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC glad_glProgramLocalParameterI4uivNV;
+PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC glad_glProgramLocalParametersI4uivNV;
+PFNGLPROGRAMENVPARAMETERI4INVPROC glad_glProgramEnvParameterI4iNV;
+PFNGLPROGRAMENVPARAMETERI4IVNVPROC glad_glProgramEnvParameterI4ivNV;
+PFNGLPROGRAMENVPARAMETERSI4IVNVPROC glad_glProgramEnvParametersI4ivNV;
+PFNGLPROGRAMENVPARAMETERI4UINVPROC glad_glProgramEnvParameterI4uiNV;
+PFNGLPROGRAMENVPARAMETERI4UIVNVPROC glad_glProgramEnvParameterI4uivNV;
+PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC glad_glProgramEnvParametersI4uivNV;
+PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC glad_glGetProgramLocalParameterIivNV;
+PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC glad_glGetProgramLocalParameterIuivNV;
+PFNGLGETPROGRAMENVPARAMETERIIVNVPROC glad_glGetProgramEnvParameterIivNV;
+PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC glad_glGetProgramEnvParameterIuivNV;
+PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC glad_glProgramSubroutineParametersuivNV;
+PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC glad_glGetProgramSubroutineParameteruivNV;
+PFNGLPROGRAMPARAMETERIARBPROC glad_glProgramParameteriARB;
+PFNGLFRAMEBUFFERTEXTUREARBPROC glad_glFramebufferTextureARB;
+PFNGLFRAMEBUFFERTEXTURELAYERARBPROC glad_glFramebufferTextureLayerARB;
+PFNGLFRAMEBUFFERTEXTUREFACEARBPROC glad_glFramebufferTextureFaceARB;
+PFNGLSPRITEPARAMETERFSGIXPROC glad_glSpriteParameterfSGIX;
+PFNGLSPRITEPARAMETERFVSGIXPROC glad_glSpriteParameterfvSGIX;
+PFNGLSPRITEPARAMETERISGIXPROC glad_glSpriteParameteriSGIX;
+PFNGLSPRITEPARAMETERIVSGIXPROC glad_glSpriteParameterivSGIX;
+PFNGLQUERYOBJECTPARAMETERUIAMDPROC glad_glQueryObjectParameteruiAMD;
+PFNGLSAMPLEMASKSGISPROC glad_glSampleMaskSGIS;
+PFNGLSAMPLEPATTERNSGISPROC glad_glSamplePatternSGIS;
+PFNGLISRENDERBUFFEREXTPROC glad_glIsRenderbufferEXT;
+PFNGLBINDRENDERBUFFEREXTPROC glad_glBindRenderbufferEXT;
+PFNGLDELETERENDERBUFFERSEXTPROC glad_glDeleteRenderbuffersEXT;
+PFNGLGENRENDERBUFFERSEXTPROC glad_glGenRenderbuffersEXT;
+PFNGLRENDERBUFFERSTORAGEEXTPROC glad_glRenderbufferStorageEXT;
+PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glad_glGetRenderbufferParameterivEXT;
+PFNGLISFRAMEBUFFEREXTPROC glad_glIsFramebufferEXT;
+PFNGLBINDFRAMEBUFFEREXTPROC glad_glBindFramebufferEXT;
+PFNGLDELETEFRAMEBUFFERSEXTPROC glad_glDeleteFramebuffersEXT;
+PFNGLGENFRAMEBUFFERSEXTPROC glad_glGenFramebuffersEXT;
+PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glad_glCheckFramebufferStatusEXT;
+PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glad_glFramebufferTexture1DEXT;
+PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glad_glFramebufferTexture2DEXT;
+PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glad_glFramebufferTexture3DEXT;
+PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glad_glFramebufferRenderbufferEXT;
+PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glad_glGetFramebufferAttachmentParameterivEXT;
+PFNGLGENERATEMIPMAPEXTPROC glad_glGenerateMipmapEXT;
+PFNGLVERTEXARRAYRANGEAPPLEPROC glad_glVertexArrayRangeAPPLE;
+PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC glad_glFlushVertexArrayRangeAPPLE;
+PFNGLVERTEXARRAYPARAMETERIAPPLEPROC glad_glVertexArrayParameteriAPPLE;
+PFNGLCOMBINERPARAMETERFVNVPROC glad_glCombinerParameterfvNV;
+PFNGLCOMBINERPARAMETERFNVPROC glad_glCombinerParameterfNV;
+PFNGLCOMBINERPARAMETERIVNVPROC glad_glCombinerParameterivNV;
+PFNGLCOMBINERPARAMETERINVPROC glad_glCombinerParameteriNV;
+PFNGLCOMBINERINPUTNVPROC glad_glCombinerInputNV;
+PFNGLCOMBINEROUTPUTNVPROC glad_glCombinerOutputNV;
+PFNGLFINALCOMBINERINPUTNVPROC glad_glFinalCombinerInputNV;
+PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC glad_glGetCombinerInputParameterfvNV;
+PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC glad_glGetCombinerInputParameterivNV;
+PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC glad_glGetCombinerOutputParameterfvNV;
+PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC glad_glGetCombinerOutputParameterivNV;
+PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glad_glGetFinalCombinerInputParameterfvNV;
+PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glad_glGetFinalCombinerInputParameterivNV;
+PFNGLDRAWBUFFERSARBPROC glad_glDrawBuffersARB;
+PFNGLDEBUGMESSAGECONTROLARBPROC glad_glDebugMessageControlARB;
+PFNGLDEBUGMESSAGEINSERTARBPROC glad_glDebugMessageInsertARB;
+PFNGLDEBUGMESSAGECALLBACKARBPROC glad_glDebugMessageCallbackARB;
+PFNGLGETDEBUGMESSAGELOGARBPROC glad_glGetDebugMessageLogARB;
+PFNGLCULLPARAMETERDVEXTPROC glad_glCullParameterdvEXT;
+PFNGLCULLPARAMETERFVEXTPROC glad_glCullParameterfvEXT;
+PFNGLMULTIMODEDRAWARRAYSIBMPROC glad_glMultiModeDrawArraysIBM;
+PFNGLMULTIMODEDRAWELEMENTSIBMPROC glad_glMultiModeDrawElementsIBM;
+PFNGLBINDVERTEXARRAYAPPLEPROC glad_glBindVertexArrayAPPLE;
+PFNGLDELETEVERTEXARRAYSAPPLEPROC glad_glDeleteVertexArraysAPPLE;
+PFNGLGENVERTEXARRAYSAPPLEPROC glad_glGenVertexArraysAPPLE;
+PFNGLISVERTEXARRAYAPPLEPROC glad_glIsVertexArrayAPPLE;
+PFNGLDETAILTEXFUNCSGISPROC glad_glDetailTexFuncSGIS;
+PFNGLGETDETAILTEXFUNCSGISPROC glad_glGetDetailTexFuncSGIS;
+PFNGLDRAWARRAYSINSTANCEDARBPROC glad_glDrawArraysInstancedARB;
+PFNGLDRAWELEMENTSINSTANCEDARBPROC glad_glDrawElementsInstancedARB;
+PFNGLNAMEDSTRINGARBPROC glad_glNamedStringARB;
+PFNGLDELETENAMEDSTRINGARBPROC glad_glDeleteNamedStringARB;
+PFNGLCOMPILESHADERINCLUDEARBPROC glad_glCompileShaderIncludeARB;
+PFNGLISNAMEDSTRINGARBPROC glad_glIsNamedStringARB;
+PFNGLGETNAMEDSTRINGARBPROC glad_glGetNamedStringARB;
+PFNGLGETNAMEDSTRINGIVARBPROC glad_glGetNamedStringivARB;
+PFNGLBLENDFUNCSEPARATEINGRPROC glad_glBlendFuncSeparateINGR;
+PFNGLGENPATHSNVPROC glad_glGenPathsNV;
+PFNGLDELETEPATHSNVPROC glad_glDeletePathsNV;
+PFNGLISPATHNVPROC glad_glIsPathNV;
+PFNGLPATHCOMMANDSNVPROC glad_glPathCommandsNV;
+PFNGLPATHCOORDSNVPROC glad_glPathCoordsNV;
+PFNGLPATHSUBCOMMANDSNVPROC glad_glPathSubCommandsNV;
+PFNGLPATHSUBCOORDSNVPROC glad_glPathSubCoordsNV;
+PFNGLPATHSTRINGNVPROC glad_glPathStringNV;
+PFNGLPATHGLYPHSNVPROC glad_glPathGlyphsNV;
+PFNGLPATHGLYPHRANGENVPROC glad_glPathGlyphRangeNV;
+PFNGLWEIGHTPATHSNVPROC glad_glWeightPathsNV;
+PFNGLCOPYPATHNVPROC glad_glCopyPathNV;
+PFNGLINTERPOLATEPATHSNVPROC glad_glInterpolatePathsNV;
+PFNGLTRANSFORMPATHNVPROC glad_glTransformPathNV;
+PFNGLPATHPARAMETERIVNVPROC glad_glPathParameterivNV;
+PFNGLPATHPARAMETERINVPROC glad_glPathParameteriNV;
+PFNGLPATHPARAMETERFVNVPROC glad_glPathParameterfvNV;
+PFNGLPATHPARAMETERFNVPROC glad_glPathParameterfNV;
+PFNGLPATHDASHARRAYNVPROC glad_glPathDashArrayNV;
+PFNGLPATHSTENCILFUNCNVPROC glad_glPathStencilFuncNV;
+PFNGLPATHSTENCILDEPTHOFFSETNVPROC glad_glPathStencilDepthOffsetNV;
+PFNGLSTENCILFILLPATHNVPROC glad_glStencilFillPathNV;
+PFNGLSTENCILSTROKEPATHNVPROC glad_glStencilStrokePathNV;
+PFNGLSTENCILFILLPATHINSTANCEDNVPROC glad_glStencilFillPathInstancedNV;
+PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC glad_glStencilStrokePathInstancedNV;
+PFNGLPATHCOVERDEPTHFUNCNVPROC glad_glPathCoverDepthFuncNV;
+PFNGLPATHCOLORGENNVPROC glad_glPathColorGenNV;
+PFNGLPATHTEXGENNVPROC glad_glPathTexGenNV;
+PFNGLPATHFOGGENNVPROC glad_glPathFogGenNV;
+PFNGLCOVERFILLPATHNVPROC glad_glCoverFillPathNV;
+PFNGLCOVERSTROKEPATHNVPROC glad_glCoverStrokePathNV;
+PFNGLCOVERFILLPATHINSTANCEDNVPROC glad_glCoverFillPathInstancedNV;
+PFNGLCOVERSTROKEPATHINSTANCEDNVPROC glad_glCoverStrokePathInstancedNV;
+PFNGLGETPATHPARAMETERIVNVPROC glad_glGetPathParameterivNV;
+PFNGLGETPATHPARAMETERFVNVPROC glad_glGetPathParameterfvNV;
+PFNGLGETPATHCOMMANDSNVPROC glad_glGetPathCommandsNV;
+PFNGLGETPATHCOORDSNVPROC glad_glGetPathCoordsNV;
+PFNGLGETPATHDASHARRAYNVPROC glad_glGetPathDashArrayNV;
+PFNGLGETPATHMETRICSNVPROC glad_glGetPathMetricsNV;
+PFNGLGETPATHMETRICRANGENVPROC glad_glGetPathMetricRangeNV;
+PFNGLGETPATHSPACINGNVPROC glad_glGetPathSpacingNV;
+PFNGLGETPATHCOLORGENIVNVPROC glad_glGetPathColorGenivNV;
+PFNGLGETPATHCOLORGENFVNVPROC glad_glGetPathColorGenfvNV;
+PFNGLGETPATHTEXGENIVNVPROC glad_glGetPathTexGenivNV;
+PFNGLGETPATHTEXGENFVNVPROC glad_glGetPathTexGenfvNV;
+PFNGLISPOINTINFILLPATHNVPROC glad_glIsPointInFillPathNV;
+PFNGLISPOINTINSTROKEPATHNVPROC glad_glIsPointInStrokePathNV;
+PFNGLGETPATHLENGTHNVPROC glad_glGetPathLengthNV;
+PFNGLPOINTALONGPATHNVPROC glad_glPointAlongPathNV;
+PFNGLVERTEXSTREAM1SATIPROC glad_glVertexStream1sATI;
+PFNGLVERTEXSTREAM1SVATIPROC glad_glVertexStream1svATI;
+PFNGLVERTEXSTREAM1IATIPROC glad_glVertexStream1iATI;
+PFNGLVERTEXSTREAM1IVATIPROC glad_glVertexStream1ivATI;
+PFNGLVERTEXSTREAM1FATIPROC glad_glVertexStream1fATI;
+PFNGLVERTEXSTREAM1FVATIPROC glad_glVertexStream1fvATI;
+PFNGLVERTEXSTREAM1DATIPROC glad_glVertexStream1dATI;
+PFNGLVERTEXSTREAM1DVATIPROC glad_glVertexStream1dvATI;
+PFNGLVERTEXSTREAM2SATIPROC glad_glVertexStream2sATI;
+PFNGLVERTEXSTREAM2SVATIPROC glad_glVertexStream2svATI;
+PFNGLVERTEXSTREAM2IATIPROC glad_glVertexStream2iATI;
+PFNGLVERTEXSTREAM2IVATIPROC glad_glVertexStream2ivATI;
+PFNGLVERTEXSTREAM2FATIPROC glad_glVertexStream2fATI;
+PFNGLVERTEXSTREAM2FVATIPROC glad_glVertexStream2fvATI;
+PFNGLVERTEXSTREAM2DATIPROC glad_glVertexStream2dATI;
+PFNGLVERTEXSTREAM2DVATIPROC glad_glVertexStream2dvATI;
+PFNGLVERTEXSTREAM3SATIPROC glad_glVertexStream3sATI;
+PFNGLVERTEXSTREAM3SVATIPROC glad_glVertexStream3svATI;
+PFNGLVERTEXSTREAM3IATIPROC glad_glVertexStream3iATI;
+PFNGLVERTEXSTREAM3IVATIPROC glad_glVertexStream3ivATI;
+PFNGLVERTEXSTREAM3FATIPROC glad_glVertexStream3fATI;
+PFNGLVERTEXSTREAM3FVATIPROC glad_glVertexStream3fvATI;
+PFNGLVERTEXSTREAM3DATIPROC glad_glVertexStream3dATI;
+PFNGLVERTEXSTREAM3DVATIPROC glad_glVertexStream3dvATI;
+PFNGLVERTEXSTREAM4SATIPROC glad_glVertexStream4sATI;
+PFNGLVERTEXSTREAM4SVATIPROC glad_glVertexStream4svATI;
+PFNGLVERTEXSTREAM4IATIPROC glad_glVertexStream4iATI;
+PFNGLVERTEXSTREAM4IVATIPROC glad_glVertexStream4ivATI;
+PFNGLVERTEXSTREAM4FATIPROC glad_glVertexStream4fATI;
+PFNGLVERTEXSTREAM4FVATIPROC glad_glVertexStream4fvATI;
+PFNGLVERTEXSTREAM4DATIPROC glad_glVertexStream4dATI;
+PFNGLVERTEXSTREAM4DVATIPROC glad_glVertexStream4dvATI;
+PFNGLNORMALSTREAM3BATIPROC glad_glNormalStream3bATI;
+PFNGLNORMALSTREAM3BVATIPROC glad_glNormalStream3bvATI;
+PFNGLNORMALSTREAM3SATIPROC glad_glNormalStream3sATI;
+PFNGLNORMALSTREAM3SVATIPROC glad_glNormalStream3svATI;
+PFNGLNORMALSTREAM3IATIPROC glad_glNormalStream3iATI;
+PFNGLNORMALSTREAM3IVATIPROC glad_glNormalStream3ivATI;
+PFNGLNORMALSTREAM3FATIPROC glad_glNormalStream3fATI;
+PFNGLNORMALSTREAM3FVATIPROC glad_glNormalStream3fvATI;
+PFNGLNORMALSTREAM3DATIPROC glad_glNormalStream3dATI;
+PFNGLNORMALSTREAM3DVATIPROC glad_glNormalStream3dvATI;
+PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC glad_glClientActiveVertexStreamATI;
+PFNGLVERTEXBLENDENVIATIPROC glad_glVertexBlendEnviATI;
+PFNGLVERTEXBLENDENVFATIPROC glad_glVertexBlendEnvfATI;
+PFNGLVDPAUINITNVPROC glad_glVDPAUInitNV;
+PFNGLVDPAUFININVPROC glad_glVDPAUFiniNV;
+PFNGLVDPAUREGISTERVIDEOSURFACENVPROC glad_glVDPAURegisterVideoSurfaceNV;
+PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC glad_glVDPAURegisterOutputSurfaceNV;
+PFNGLVDPAUISSURFACENVPROC glad_glVDPAUIsSurfaceNV;
+PFNGLVDPAUUNREGISTERSURFACENVPROC glad_glVDPAUUnregisterSurfaceNV;
+PFNGLVDPAUGETSURFACEIVNVPROC glad_glVDPAUGetSurfaceivNV;
+PFNGLVDPAUSURFACEACCESSNVPROC glad_glVDPAUSurfaceAccessNV;
+PFNGLVDPAUMAPSURFACESNVPROC glad_glVDPAUMapSurfacesNV;
+PFNGLVDPAUUNMAPSURFACESNVPROC glad_glVDPAUUnmapSurfacesNV;
+PFNGLCOLOR4UBVERTEX2FSUNPROC glad_glColor4ubVertex2fSUN;
+PFNGLCOLOR4UBVERTEX2FVSUNPROC glad_glColor4ubVertex2fvSUN;
+PFNGLCOLOR4UBVERTEX3FSUNPROC glad_glColor4ubVertex3fSUN;
+PFNGLCOLOR4UBVERTEX3FVSUNPROC glad_glColor4ubVertex3fvSUN;
+PFNGLCOLOR3FVERTEX3FSUNPROC glad_glColor3fVertex3fSUN;
+PFNGLCOLOR3FVERTEX3FVSUNPROC glad_glColor3fVertex3fvSUN;
+PFNGLNORMAL3FVERTEX3FSUNPROC glad_glNormal3fVertex3fSUN;
+PFNGLNORMAL3FVERTEX3FVSUNPROC glad_glNormal3fVertex3fvSUN;
+PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glColor4fNormal3fVertex3fSUN;
+PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glColor4fNormal3fVertex3fvSUN;
+PFNGLTEXCOORD2FVERTEX3FSUNPROC glad_glTexCoord2fVertex3fSUN;
+PFNGLTEXCOORD2FVERTEX3FVSUNPROC glad_glTexCoord2fVertex3fvSUN;
+PFNGLTEXCOORD4FVERTEX4FSUNPROC glad_glTexCoord4fVertex4fSUN;
+PFNGLTEXCOORD4FVERTEX4FVSUNPROC glad_glTexCoord4fVertex4fvSUN;
+PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC glad_glTexCoord2fColor4ubVertex3fSUN;
+PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC glad_glTexCoord2fColor4ubVertex3fvSUN;
+PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC glad_glTexCoord2fColor3fVertex3fSUN;
+PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC glad_glTexCoord2fColor3fVertex3fvSUN;
+PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC glad_glTexCoord2fNormal3fVertex3fSUN;
+PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC glad_glTexCoord2fNormal3fVertex3fvSUN;
+PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glTexCoord2fColor4fNormal3fVertex3fSUN;
+PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glTexCoord2fColor4fNormal3fVertex3fvSUN;
+PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC glad_glTexCoord4fColor4fNormal3fVertex4fSUN;
+PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC glad_glTexCoord4fColor4fNormal3fVertex4fvSUN;
+PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC glad_glReplacementCodeuiVertex3fSUN;
+PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC glad_glReplacementCodeuiVertex3fvSUN;
+PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC glad_glReplacementCodeuiColor4ubVertex3fSUN;
+PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC glad_glReplacementCodeuiColor4ubVertex3fvSUN;
+PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC glad_glReplacementCodeuiColor3fVertex3fSUN;
+PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC glad_glReplacementCodeuiColor3fVertex3fvSUN;
+PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiNormal3fVertex3fSUN;
+PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiNormal3fVertex3fvSUN;
+PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiColor4fNormal3fVertex3fSUN;
+PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiColor4fNormal3fVertex3fvSUN;
+PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fVertex3fSUN;
+PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fVertex3fvSUN;
+PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;
+PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;
+PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;
+PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;
+PFNGLIGLOOINTERFACESGIXPROC glad_glIglooInterfaceSGIX;
+PFNGLVERTEXATTRIBI1IEXTPROC glad_glVertexAttribI1iEXT;
+PFNGLVERTEXATTRIBI2IEXTPROC glad_glVertexAttribI2iEXT;
+PFNGLVERTEXATTRIBI3IEXTPROC glad_glVertexAttribI3iEXT;
+PFNGLVERTEXATTRIBI4IEXTPROC glad_glVertexAttribI4iEXT;
+PFNGLVERTEXATTRIBI1UIEXTPROC glad_glVertexAttribI1uiEXT;
+PFNGLVERTEXATTRIBI2UIEXTPROC glad_glVertexAttribI2uiEXT;
+PFNGLVERTEXATTRIBI3UIEXTPROC glad_glVertexAttribI3uiEXT;
+PFNGLVERTEXATTRIBI4UIEXTPROC glad_glVertexAttribI4uiEXT;
+PFNGLVERTEXATTRIBI1IVEXTPROC glad_glVertexAttribI1ivEXT;
+PFNGLVERTEXATTRIBI2IVEXTPROC glad_glVertexAttribI2ivEXT;
+PFNGLVERTEXATTRIBI3IVEXTPROC glad_glVertexAttribI3ivEXT;
+PFNGLVERTEXATTRIBI4IVEXTPROC glad_glVertexAttribI4ivEXT;
+PFNGLVERTEXATTRIBI1UIVEXTPROC glad_glVertexAttribI1uivEXT;
+PFNGLVERTEXATTRIBI2UIVEXTPROC glad_glVertexAttribI2uivEXT;
+PFNGLVERTEXATTRIBI3UIVEXTPROC glad_glVertexAttribI3uivEXT;
+PFNGLVERTEXATTRIBI4UIVEXTPROC glad_glVertexAttribI4uivEXT;
+PFNGLVERTEXATTRIBI4BVEXTPROC glad_glVertexAttribI4bvEXT;
+PFNGLVERTEXATTRIBI4SVEXTPROC glad_glVertexAttribI4svEXT;
+PFNGLVERTEXATTRIBI4UBVEXTPROC glad_glVertexAttribI4ubvEXT;
+PFNGLVERTEXATTRIBI4USVEXTPROC glad_glVertexAttribI4usvEXT;
+PFNGLVERTEXATTRIBIPOINTEREXTPROC glad_glVertexAttribIPointerEXT;
+PFNGLGETVERTEXATTRIBIIVEXTPROC glad_glGetVertexAttribIivEXT;
+PFNGLGETVERTEXATTRIBIUIVEXTPROC glad_glGetVertexAttribIuivEXT;
+PFNGLFOGFUNCSGISPROC glad_glFogFuncSGIS;
+PFNGLGETFOGFUNCSGISPROC glad_glGetFogFuncSGIS;
+PFNGLIMPORTSYNCEXTPROC glad_glImportSyncEXT;
+PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC glad_glDispatchComputeGroupSizeARB;
+PFNGLALPHAFUNCXOESPROC glad_glAlphaFuncxOES;
+PFNGLCLEARCOLORXOESPROC glad_glClearColorxOES;
+PFNGLCLEARDEPTHXOESPROC glad_glClearDepthxOES;
+PFNGLCLIPPLANEXOESPROC glad_glClipPlanexOES;
+PFNGLCOLOR4XOESPROC glad_glColor4xOES;
+PFNGLDEPTHRANGEXOESPROC glad_glDepthRangexOES;
+PFNGLFOGXOESPROC glad_glFogxOES;
+PFNGLFOGXVOESPROC glad_glFogxvOES;
+PFNGLFRUSTUMXOESPROC glad_glFrustumxOES;
+PFNGLGETCLIPPLANEXOESPROC glad_glGetClipPlanexOES;
+PFNGLGETFIXEDVOESPROC glad_glGetFixedvOES;
+PFNGLGETTEXENVXVOESPROC glad_glGetTexEnvxvOES;
+PFNGLGETTEXPARAMETERXVOESPROC glad_glGetTexParameterxvOES;
+PFNGLLIGHTMODELXOESPROC glad_glLightModelxOES;
+PFNGLLIGHTMODELXVOESPROC glad_glLightModelxvOES;
+PFNGLLIGHTXOESPROC glad_glLightxOES;
+PFNGLLIGHTXVOESPROC glad_glLightxvOES;
+PFNGLLINEWIDTHXOESPROC glad_glLineWidthxOES;
+PFNGLLOADMATRIXXOESPROC glad_glLoadMatrixxOES;
+PFNGLMATERIALXOESPROC glad_glMaterialxOES;
+PFNGLMATERIALXVOESPROC glad_glMaterialxvOES;
+PFNGLMULTMATRIXXOESPROC glad_glMultMatrixxOES;
+PFNGLMULTITEXCOORD4XOESPROC glad_glMultiTexCoord4xOES;
+PFNGLNORMAL3XOESPROC glad_glNormal3xOES;
+PFNGLORTHOXOESPROC glad_glOrthoxOES;
+PFNGLPOINTPARAMETERXVOESPROC glad_glPointParameterxvOES;
+PFNGLPOINTSIZEXOESPROC glad_glPointSizexOES;
+PFNGLPOLYGONOFFSETXOESPROC glad_glPolygonOffsetxOES;
+PFNGLROTATEXOESPROC glad_glRotatexOES;
+PFNGLSAMPLECOVERAGEOESPROC glad_glSampleCoverageOES;
+PFNGLSCALEXOESPROC glad_glScalexOES;
+PFNGLTEXENVXOESPROC glad_glTexEnvxOES;
+PFNGLTEXENVXVOESPROC glad_glTexEnvxvOES;
+PFNGLTEXPARAMETERXOESPROC glad_glTexParameterxOES;
+PFNGLTEXPARAMETERXVOESPROC glad_glTexParameterxvOES;
+PFNGLTRANSLATEXOESPROC glad_glTranslatexOES;
+PFNGLGETLIGHTXVOESPROC glad_glGetLightxvOES;
+PFNGLGETMATERIALXVOESPROC glad_glGetMaterialxvOES;
+PFNGLPOINTPARAMETERXOESPROC glad_glPointParameterxOES;
+PFNGLSAMPLECOVERAGEXOESPROC glad_glSampleCoveragexOES;
+PFNGLACCUMXOESPROC glad_glAccumxOES;
+PFNGLBITMAPXOESPROC glad_glBitmapxOES;
+PFNGLBLENDCOLORXOESPROC glad_glBlendColorxOES;
+PFNGLCLEARACCUMXOESPROC glad_glClearAccumxOES;
+PFNGLCOLOR3XOESPROC glad_glColor3xOES;
+PFNGLCOLOR3XVOESPROC glad_glColor3xvOES;
+PFNGLCOLOR4XVOESPROC glad_glColor4xvOES;
+PFNGLCONVOLUTIONPARAMETERXOESPROC glad_glConvolutionParameterxOES;
+PFNGLCONVOLUTIONPARAMETERXVOESPROC glad_glConvolutionParameterxvOES;
+PFNGLEVALCOORD1XOESPROC glad_glEvalCoord1xOES;
+PFNGLEVALCOORD1XVOESPROC glad_glEvalCoord1xvOES;
+PFNGLEVALCOORD2XOESPROC glad_glEvalCoord2xOES;
+PFNGLEVALCOORD2XVOESPROC glad_glEvalCoord2xvOES;
+PFNGLFEEDBACKBUFFERXOESPROC glad_glFeedbackBufferxOES;
+PFNGLGETCONVOLUTIONPARAMETERXVOESPROC glad_glGetConvolutionParameterxvOES;
+PFNGLGETHISTOGRAMPARAMETERXVOESPROC glad_glGetHistogramParameterxvOES;
+PFNGLGETLIGHTXOESPROC glad_glGetLightxOES;
+PFNGLGETMAPXVOESPROC glad_glGetMapxvOES;
+PFNGLGETMATERIALXOESPROC glad_glGetMaterialxOES;
+PFNGLGETPIXELMAPXVPROC glad_glGetPixelMapxv;
+PFNGLGETTEXGENXVOESPROC glad_glGetTexGenxvOES;
+PFNGLGETTEXLEVELPARAMETERXVOESPROC glad_glGetTexLevelParameterxvOES;
+PFNGLINDEXXOESPROC glad_glIndexxOES;
+PFNGLINDEXXVOESPROC glad_glIndexxvOES;
+PFNGLLOADTRANSPOSEMATRIXXOESPROC glad_glLoadTransposeMatrixxOES;
+PFNGLMAP1XOESPROC glad_glMap1xOES;
+PFNGLMAP2XOESPROC glad_glMap2xOES;
+PFNGLMAPGRID1XOESPROC glad_glMapGrid1xOES;
+PFNGLMAPGRID2XOESPROC glad_glMapGrid2xOES;
+PFNGLMULTTRANSPOSEMATRIXXOESPROC glad_glMultTransposeMatrixxOES;
+PFNGLMULTITEXCOORD1XOESPROC glad_glMultiTexCoord1xOES;
+PFNGLMULTITEXCOORD1XVOESPROC glad_glMultiTexCoord1xvOES;
+PFNGLMULTITEXCOORD2XOESPROC glad_glMultiTexCoord2xOES;
+PFNGLMULTITEXCOORD2XVOESPROC glad_glMultiTexCoord2xvOES;
+PFNGLMULTITEXCOORD3XOESPROC glad_glMultiTexCoord3xOES;
+PFNGLMULTITEXCOORD3XVOESPROC glad_glMultiTexCoord3xvOES;
+PFNGLMULTITEXCOORD4XVOESPROC glad_glMultiTexCoord4xvOES;
+PFNGLNORMAL3XVOESPROC glad_glNormal3xvOES;
+PFNGLPASSTHROUGHXOESPROC glad_glPassThroughxOES;
+PFNGLPIXELMAPXPROC glad_glPixelMapx;
+PFNGLPIXELSTOREXPROC glad_glPixelStorex;
+PFNGLPIXELTRANSFERXOESPROC glad_glPixelTransferxOES;
+PFNGLPIXELZOOMXOESPROC glad_glPixelZoomxOES;
+PFNGLPRIORITIZETEXTURESXOESPROC glad_glPrioritizeTexturesxOES;
+PFNGLRASTERPOS2XOESPROC glad_glRasterPos2xOES;
+PFNGLRASTERPOS2XVOESPROC glad_glRasterPos2xvOES;
+PFNGLRASTERPOS3XOESPROC glad_glRasterPos3xOES;
+PFNGLRASTERPOS3XVOESPROC glad_glRasterPos3xvOES;
+PFNGLRASTERPOS4XOESPROC glad_glRasterPos4xOES;
+PFNGLRASTERPOS4XVOESPROC glad_glRasterPos4xvOES;
+PFNGLRECTXOESPROC glad_glRectxOES;
+PFNGLRECTXVOESPROC glad_glRectxvOES;
+PFNGLTEXCOORD1XOESPROC glad_glTexCoord1xOES;
+PFNGLTEXCOORD1XVOESPROC glad_glTexCoord1xvOES;
+PFNGLTEXCOORD2XOESPROC glad_glTexCoord2xOES;
+PFNGLTEXCOORD2XVOESPROC glad_glTexCoord2xvOES;
+PFNGLTEXCOORD3XOESPROC glad_glTexCoord3xOES;
+PFNGLTEXCOORD3XVOESPROC glad_glTexCoord3xvOES;
+PFNGLTEXCOORD4XOESPROC glad_glTexCoord4xOES;
+PFNGLTEXCOORD4XVOESPROC glad_glTexCoord4xvOES;
+PFNGLTEXGENXOESPROC glad_glTexGenxOES;
+PFNGLTEXGENXVOESPROC glad_glTexGenxvOES;
+PFNGLVERTEX2XOESPROC glad_glVertex2xOES;
+PFNGLVERTEX2XVOESPROC glad_glVertex2xvOES;
+PFNGLVERTEX3XOESPROC glad_glVertex3xOES;
+PFNGLVERTEX3XVOESPROC glad_glVertex3xvOES;
+PFNGLVERTEX4XOESPROC glad_glVertex4xOES;
+PFNGLVERTEX4XVOESPROC glad_glVertex4xvOES;
+PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glad_glRenderbufferStorageMultisampleEXT;
+PFNGLTEXIMAGE4DSGISPROC glad_glTexImage4DSGIS;
+PFNGLTEXSUBIMAGE4DSGISPROC glad_glTexSubImage4DSGIS;
+PFNGLTEXIMAGE3DEXTPROC glad_glTexImage3DEXT;
+PFNGLTEXSUBIMAGE3DEXTPROC glad_glTexSubImage3DEXT;
+PFNGLSAMPLEMASKEXTPROC glad_glSampleMaskEXT;
+PFNGLSAMPLEPATTERNEXTPROC glad_glSamplePatternEXT;
+PFNGLSECONDARYCOLOR3BEXTPROC glad_glSecondaryColor3bEXT;
+PFNGLSECONDARYCOLOR3BVEXTPROC glad_glSecondaryColor3bvEXT;
+PFNGLSECONDARYCOLOR3DEXTPROC glad_glSecondaryColor3dEXT;
+PFNGLSECONDARYCOLOR3DVEXTPROC glad_glSecondaryColor3dvEXT;
+PFNGLSECONDARYCOLOR3FEXTPROC glad_glSecondaryColor3fEXT;
+PFNGLSECONDARYCOLOR3FVEXTPROC glad_glSecondaryColor3fvEXT;
+PFNGLSECONDARYCOLOR3IEXTPROC glad_glSecondaryColor3iEXT;
+PFNGLSECONDARYCOLOR3IVEXTPROC glad_glSecondaryColor3ivEXT;
+PFNGLSECONDARYCOLOR3SEXTPROC glad_glSecondaryColor3sEXT;
+PFNGLSECONDARYCOLOR3SVEXTPROC glad_glSecondaryColor3svEXT;
+PFNGLSECONDARYCOLOR3UBEXTPROC glad_glSecondaryColor3ubEXT;
+PFNGLSECONDARYCOLOR3UBVEXTPROC glad_glSecondaryColor3ubvEXT;
+PFNGLSECONDARYCOLOR3UIEXTPROC glad_glSecondaryColor3uiEXT;
+PFNGLSECONDARYCOLOR3UIVEXTPROC glad_glSecondaryColor3uivEXT;
+PFNGLSECONDARYCOLOR3USEXTPROC glad_glSecondaryColor3usEXT;
+PFNGLSECONDARYCOLOR3USVEXTPROC glad_glSecondaryColor3usvEXT;
+PFNGLSECONDARYCOLORPOINTEREXTPROC glad_glSecondaryColorPointerEXT;
+PFNGLNEWOBJECTBUFFERATIPROC glad_glNewObjectBufferATI;
+PFNGLISOBJECTBUFFERATIPROC glad_glIsObjectBufferATI;
+PFNGLUPDATEOBJECTBUFFERATIPROC glad_glUpdateObjectBufferATI;
+PFNGLGETOBJECTBUFFERFVATIPROC glad_glGetObjectBufferfvATI;
+PFNGLGETOBJECTBUFFERIVATIPROC glad_glGetObjectBufferivATI;
+PFNGLFREEOBJECTBUFFERATIPROC glad_glFreeObjectBufferATI;
+PFNGLARRAYOBJECTATIPROC glad_glArrayObjectATI;
+PFNGLGETARRAYOBJECTFVATIPROC glad_glGetArrayObjectfvATI;
+PFNGLGETARRAYOBJECTIVATIPROC glad_glGetArrayObjectivATI;
+PFNGLVARIANTARRAYOBJECTATIPROC glad_glVariantArrayObjectATI;
+PFNGLGETVARIANTARRAYOBJECTFVATIPROC glad_glGetVariantArrayObjectfvATI;
+PFNGLGETVARIANTARRAYOBJECTIVATIPROC glad_glGetVariantArrayObjectivATI;
+PFNGLTEXPAGECOMMITMENTARBPROC glad_glTexPageCommitmentARB;
+PFNGLDRAWRANGEELEMENTSEXTPROC glad_glDrawRangeElementsEXT;
+static void load_GL_VERSION_1_0(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_1_0) return;
+	glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace");
+	glad_glFrontFace = (PFNGLFRONTFACEPROC)load("glFrontFace");
+	glad_glHint = (PFNGLHINTPROC)load("glHint");
+	glad_glLineWidth = (PFNGLLINEWIDTHPROC)load("glLineWidth");
+	glad_glPointSize = (PFNGLPOINTSIZEPROC)load("glPointSize");
+	glad_glPolygonMode = (PFNGLPOLYGONMODEPROC)load("glPolygonMode");
+	glad_glScissor = (PFNGLSCISSORPROC)load("glScissor");
+	glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC)load("glTexParameterf");
+	glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC)load("glTexParameterfv");
+	glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC)load("glTexParameteri");
+	glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC)load("glTexParameteriv");
+	glad_glTexImage1D = (PFNGLTEXIMAGE1DPROC)load("glTexImage1D");
+	glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC)load("glTexImage2D");
+	glad_glDrawBuffer = (PFNGLDRAWBUFFERPROC)load("glDrawBuffer");
+	glad_glClear = (PFNGLCLEARPROC)load("glClear");
+	glad_glClearColor = (PFNGLCLEARCOLORPROC)load("glClearColor");
+	glad_glClearStencil = (PFNGLCLEARSTENCILPROC)load("glClearStencil");
+	glad_glClearDepth = (PFNGLCLEARDEPTHPROC)load("glClearDepth");
+	glad_glStencilMask = (PFNGLSTENCILMASKPROC)load("glStencilMask");
+	glad_glColorMask = (PFNGLCOLORMASKPROC)load("glColorMask");
+	glad_glDepthMask = (PFNGLDEPTHMASKPROC)load("glDepthMask");
+	glad_glDisable = (PFNGLDISABLEPROC)load("glDisable");
+	glad_glEnable = (PFNGLENABLEPROC)load("glEnable");
+	glad_glFinish = (PFNGLFINISHPROC)load("glFinish");
+	glad_glFlush = (PFNGLFLUSHPROC)load("glFlush");
+	glad_glBlendFunc = (PFNGLBLENDFUNCPROC)load("glBlendFunc");
+	glad_glLogicOp = (PFNGLLOGICOPPROC)load("glLogicOp");
+	glad_glStencilFunc = (PFNGLSTENCILFUNCPROC)load("glStencilFunc");
+	glad_glStencilOp = (PFNGLSTENCILOPPROC)load("glStencilOp");
+	glad_glDepthFunc = (PFNGLDEPTHFUNCPROC)load("glDepthFunc");
+	glad_glPixelStoref = (PFNGLPIXELSTOREFPROC)load("glPixelStoref");
+	glad_glPixelStorei = (PFNGLPIXELSTOREIPROC)load("glPixelStorei");
+	glad_glReadBuffer = (PFNGLREADBUFFERPROC)load("glReadBuffer");
+	glad_glReadPixels = (PFNGLREADPIXELSPROC)load("glReadPixels");
+	glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC)load("glGetBooleanv");
+	glad_glGetDoublev = (PFNGLGETDOUBLEVPROC)load("glGetDoublev");
+	glad_glGetError = (PFNGLGETERRORPROC)load("glGetError");
+	glad_glGetFloatv = (PFNGLGETFLOATVPROC)load("glGetFloatv");
+	glad_glGetIntegerv = (PFNGLGETINTEGERVPROC)load("glGetIntegerv");
+	glad_glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
+	glad_glGetTexImage = (PFNGLGETTEXIMAGEPROC)load("glGetTexImage");
+	glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load("glGetTexParameterfv");
+	glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load("glGetTexParameteriv");
+	glad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)load("glGetTexLevelParameterfv");
+	glad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)load("glGetTexLevelParameteriv");
+	glad_glIsEnabled = (PFNGLISENABLEDPROC)load("glIsEnabled");
+	glad_glDepthRange = (PFNGLDEPTHRANGEPROC)load("glDepthRange");
+	glad_glViewport = (PFNGLVIEWPORTPROC)load("glViewport");
+}
+static void load_GL_VERSION_1_1(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_1_1) return;
+	glad_glDrawArrays = (PFNGLDRAWARRAYSPROC)load("glDrawArrays");
+	glad_glDrawElements = (PFNGLDRAWELEMENTSPROC)load("glDrawElements");
+	glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)load("glPolygonOffset");
+	glad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC)load("glCopyTexImage1D");
+	glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)load("glCopyTexImage2D");
+	glad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC)load("glCopyTexSubImage1D");
+	glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)load("glCopyTexSubImage2D");
+	glad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC)load("glTexSubImage1D");
+	glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load("glTexSubImage2D");
+	glad_glBindTexture = (PFNGLBINDTEXTUREPROC)load("glBindTexture");
+	glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC)load("glDeleteTextures");
+	glad_glGenTextures = (PFNGLGENTEXTURESPROC)load("glGenTextures");
+	glad_glIsTexture = (PFNGLISTEXTUREPROC)load("glIsTexture");
+}
+static void load_GL_VERSION_1_2(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_1_2) return;
+	glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load("glDrawRangeElements");
+	glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)load("glTexImage3D");
+	glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)load("glTexSubImage3D");
+	glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)load("glCopyTexSubImage3D");
+}
+static void load_GL_VERSION_1_3(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_1_3) return;
+	glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)load("glActiveTexture");
+	glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load("glSampleCoverage");
+	glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)load("glCompressedTexImage3D");
+	glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)load("glCompressedTexImage2D");
+	glad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)load("glCompressedTexImage1D");
+	glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)load("glCompressedTexSubImage3D");
+	glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load("glCompressedTexSubImage2D");
+	glad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)load("glCompressedTexSubImage1D");
+	glad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)load("glGetCompressedTexImage");
+}
+static void load_GL_VERSION_1_4(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_1_4) return;
+	glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load("glBlendFuncSeparate");
+	glad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)load("glMultiDrawArrays");
+	glad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)load("glMultiDrawElements");
+	glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)load("glPointParameterf");
+	glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)load("glPointParameterfv");
+	glad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC)load("glPointParameteri");
+	glad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)load("glPointParameteriv");
+	glad_glBlendColor = (PFNGLBLENDCOLORPROC)load("glBlendColor");
+	glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load("glBlendEquation");
+}
+static void load_GL_VERSION_1_5(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_1_5) return;
+	glad_glGenQueries = (PFNGLGENQUERIESPROC)load("glGenQueries");
+	glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)load("glDeleteQueries");
+	glad_glIsQuery = (PFNGLISQUERYPROC)load("glIsQuery");
+	glad_glBeginQuery = (PFNGLBEGINQUERYPROC)load("glBeginQuery");
+	glad_glEndQuery = (PFNGLENDQUERYPROC)load("glEndQuery");
+	glad_glGetQueryiv = (PFNGLGETQUERYIVPROC)load("glGetQueryiv");
+	glad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)load("glGetQueryObjectiv");
+	glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)load("glGetQueryObjectuiv");
+	glad_glBindBuffer = (PFNGLBINDBUFFERPROC)load("glBindBuffer");
+	glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)load("glDeleteBuffers");
+	glad_glGenBuffers = (PFNGLGENBUFFERSPROC)load("glGenBuffers");
+	glad_glIsBuffer = (PFNGLISBUFFERPROC)load("glIsBuffer");
+	glad_glBufferData = (PFNGLBUFFERDATAPROC)load("glBufferData");
+	glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)load("glBufferSubData");
+	glad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)load("glGetBufferSubData");
+	glad_glMapBuffer = (PFNGLMAPBUFFERPROC)load("glMapBuffer");
+	glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)load("glUnmapBuffer");
+	glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv");
+	glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv");
+}
+static void load_GL_VERSION_2_0(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_2_0) return;
+	glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load("glBlendEquationSeparate");
+	glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)load("glDrawBuffers");
+	glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load("glStencilOpSeparate");
+	glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load("glStencilFuncSeparate");
+	glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load("glStencilMaskSeparate");
+	glad_glAttachShader = (PFNGLATTACHSHADERPROC)load("glAttachShader");
+	glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)load("glBindAttribLocation");
+	glad_glCompileShader = (PFNGLCOMPILESHADERPROC)load("glCompileShader");
+	glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)load("glCreateProgram");
+	glad_glCreateShader = (PFNGLCREATESHADERPROC)load("glCreateShader");
+	glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)load("glDeleteProgram");
+	glad_glDeleteShader = (PFNGLDELETESHADERPROC)load("glDeleteShader");
+	glad_glDetachShader = (PFNGLDETACHSHADERPROC)load("glDetachShader");
+	glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load("glDisableVertexAttribArray");
+	glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load("glEnableVertexAttribArray");
+	glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)load("glGetActiveAttrib");
+	glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)load("glGetActiveUniform");
+	glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)load("glGetAttachedShaders");
+	glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load("glGetAttribLocation");
+	glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)load("glGetProgramiv");
+	glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)load("glGetProgramInfoLog");
+	glad_glGetShaderiv = (PFNGLGETSHADERIVPROC)load("glGetShaderiv");
+	glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)load("glGetShaderInfoLog");
+	glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)load("glGetShaderSource");
+	glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load("glGetUniformLocation");
+	glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)load("glGetUniformfv");
+	glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)load("glGetUniformiv");
+	glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)load("glGetVertexAttribdv");
+	glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load("glGetVertexAttribfv");
+	glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load("glGetVertexAttribiv");
+	glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load("glGetVertexAttribPointerv");
+	glad_glIsProgram = (PFNGLISPROGRAMPROC)load("glIsProgram");
+	glad_glIsShader = (PFNGLISSHADERPROC)load("glIsShader");
+	glad_glLinkProgram = (PFNGLLINKPROGRAMPROC)load("glLinkProgram");
+	glad_glShaderSource = (PFNGLSHADERSOURCEPROC)load("glShaderSource");
+	glad_glUseProgram = (PFNGLUSEPROGRAMPROC)load("glUseProgram");
+	glad_glUniform1f = (PFNGLUNIFORM1FPROC)load("glUniform1f");
+	glad_glUniform2f = (PFNGLUNIFORM2FPROC)load("glUniform2f");
+	glad_glUniform3f = (PFNGLUNIFORM3FPROC)load("glUniform3f");
+	glad_glUniform4f = (PFNGLUNIFORM4FPROC)load("glUniform4f");
+	glad_glUniform1i = (PFNGLUNIFORM1IPROC)load("glUniform1i");
+	glad_glUniform2i = (PFNGLUNIFORM2IPROC)load("glUniform2i");
+	glad_glUniform3i = (PFNGLUNIFORM3IPROC)load("glUniform3i");
+	glad_glUniform4i = (PFNGLUNIFORM4IPROC)load("glUniform4i");
+	glad_glUniform1fv = (PFNGLUNIFORM1FVPROC)load("glUniform1fv");
+	glad_glUniform2fv = (PFNGLUNIFORM2FVPROC)load("glUniform2fv");
+	glad_glUniform3fv = (PFNGLUNIFORM3FVPROC)load("glUniform3fv");
+	glad_glUniform4fv = (PFNGLUNIFORM4FVPROC)load("glUniform4fv");
+	glad_glUniform1iv = (PFNGLUNIFORM1IVPROC)load("glUniform1iv");
+	glad_glUniform2iv = (PFNGLUNIFORM2IVPROC)load("glUniform2iv");
+	glad_glUniform3iv = (PFNGLUNIFORM3IVPROC)load("glUniform3iv");
+	glad_glUniform4iv = (PFNGLUNIFORM4IVPROC)load("glUniform4iv");
+	glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load("glUniformMatrix2fv");
+	glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load("glUniformMatrix3fv");
+	glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load("glUniformMatrix4fv");
+	glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)load("glValidateProgram");
+	glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)load("glVertexAttrib1d");
+	glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)load("glVertexAttrib1dv");
+	glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load("glVertexAttrib1f");
+	glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load("glVertexAttrib1fv");
+	glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)load("glVertexAttrib1s");
+	glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)load("glVertexAttrib1sv");
+	glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)load("glVertexAttrib2d");
+	glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)load("glVertexAttrib2dv");
+	glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load("glVertexAttrib2f");
+	glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load("glVertexAttrib2fv");
+	glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)load("glVertexAttrib2s");
+	glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)load("glVertexAttrib2sv");
+	glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)load("glVertexAttrib3d");
+	glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)load("glVertexAttrib3dv");
+	glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load("glVertexAttrib3f");
+	glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load("glVertexAttrib3fv");
+	glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)load("glVertexAttrib3s");
+	glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)load("glVertexAttrib3sv");
+	glad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)load("glVertexAttrib4Nbv");
+	glad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)load("glVertexAttrib4Niv");
+	glad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)load("glVertexAttrib4Nsv");
+	glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)load("glVertexAttrib4Nub");
+	glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)load("glVertexAttrib4Nubv");
+	glad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)load("glVertexAttrib4Nuiv");
+	glad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)load("glVertexAttrib4Nusv");
+	glad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)load("glVertexAttrib4bv");
+	glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)load("glVertexAttrib4d");
+	glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)load("glVertexAttrib4dv");
+	glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load("glVertexAttrib4f");
+	glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load("glVertexAttrib4fv");
+	glad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)load("glVertexAttrib4iv");
+	glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)load("glVertexAttrib4s");
+	glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)load("glVertexAttrib4sv");
+	glad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)load("glVertexAttrib4ubv");
+	glad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)load("glVertexAttrib4uiv");
+	glad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)load("glVertexAttrib4usv");
+	glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load("glVertexAttribPointer");
+}
+static void load_GL_VERSION_2_1(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_2_1) return;
+	glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)load("glUniformMatrix2x3fv");
+	glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)load("glUniformMatrix3x2fv");
+	glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)load("glUniformMatrix2x4fv");
+	glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)load("glUniformMatrix4x2fv");
+	glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv");
+	glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv");
+}
+static void load_GL_VERSION_3_0(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_3_0) return;
+	glad_glColorMaski = (PFNGLCOLORMASKIPROC)load("glColorMaski");
+	glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)load("glGetBooleani_v");
+	glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v");
+	glad_glEnablei = (PFNGLENABLEIPROC)load("glEnablei");
+	glad_glDisablei = (PFNGLDISABLEIPROC)load("glDisablei");
+	glad_glIsEnabledi = (PFNGLISENABLEDIPROC)load("glIsEnabledi");
+	glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load("glBeginTransformFeedback");
+	glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load("glEndTransformFeedback");
+	glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange");
+	glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase");
+	glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load("glTransformFeedbackVaryings");
+	glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load("glGetTransformFeedbackVarying");
+	glad_glClampColor = (PFNGLCLAMPCOLORPROC)load("glClampColor");
+	glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)load("glBeginConditionalRender");
+	glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)load("glEndConditionalRender");
+	glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load("glVertexAttribIPointer");
+	glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load("glGetVertexAttribIiv");
+	glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load("glGetVertexAttribIuiv");
+	glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)load("glVertexAttribI1i");
+	glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)load("glVertexAttribI2i");
+	glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)load("glVertexAttribI3i");
+	glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load("glVertexAttribI4i");
+	glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)load("glVertexAttribI1ui");
+	glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)load("glVertexAttribI2ui");
+	glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)load("glVertexAttribI3ui");
+	glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load("glVertexAttribI4ui");
+	glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)load("glVertexAttribI1iv");
+	glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)load("glVertexAttribI2iv");
+	glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)load("glVertexAttribI3iv");
+	glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load("glVertexAttribI4iv");
+	glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)load("glVertexAttribI1uiv");
+	glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)load("glVertexAttribI2uiv");
+	glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)load("glVertexAttribI3uiv");
+	glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load("glVertexAttribI4uiv");
+	glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)load("glVertexAttribI4bv");
+	glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)load("glVertexAttribI4sv");
+	glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)load("glVertexAttribI4ubv");
+	glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)load("glVertexAttribI4usv");
+	glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load("glGetUniformuiv");
+	glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)load("glBindFragDataLocation");
+	glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load("glGetFragDataLocation");
+	glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load("glUniform1ui");
+	glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load("glUniform2ui");
+	glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load("glUniform3ui");
+	glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load("glUniform4ui");
+	glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load("glUniform1uiv");
+	glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load("glUniform2uiv");
+	glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load("glUniform3uiv");
+	glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load("glUniform4uiv");
+	glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)load("glTexParameterIiv");
+	glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)load("glTexParameterIuiv");
+	glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)load("glGetTexParameterIiv");
+	glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)load("glGetTexParameterIuiv");
+	glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load("glClearBufferiv");
+	glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load("glClearBufferuiv");
+	glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load("glClearBufferfv");
+	glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load("glClearBufferfi");
+	glad_glGetStringi = (PFNGLGETSTRINGIPROC)load("glGetStringi");
+	glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer");
+	glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer");
+	glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers");
+	glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers");
+	glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage");
+	glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv");
+	glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer");
+	glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer");
+	glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers");
+	glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers");
+	glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus");
+	glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load("glFramebufferTexture1D");
+	glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D");
+	glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load("glFramebufferTexture3D");
+	glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer");
+	glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv");
+	glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap");
+	glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer");
+	glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample");
+	glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer");
+	glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange");
+	glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange");
+	glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray");
+	glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays");
+	glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays");
+	glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray");
+}
+static void load_GL_VERSION_3_1(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_3_1) return;
+	glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load("glDrawArraysInstanced");
+	glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load("glDrawElementsInstanced");
+	glad_glTexBuffer = (PFNGLTEXBUFFERPROC)load("glTexBuffer");
+	glad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)load("glPrimitiveRestartIndex");
+	glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData");
+	glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices");
+	glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv");
+	glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load("glGetActiveUniformName");
+	glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex");
+	glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv");
+	glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName");
+	glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding");
+}
+static void load_GL_VERSION_3_2(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_3_2) return;
+	glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load("glDrawElementsBaseVertex");
+	glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load("glDrawRangeElementsBaseVertex");
+	glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load("glDrawElementsInstancedBaseVertex");
+	glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load("glMultiDrawElementsBaseVertex");
+	glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load("glProvokingVertex");
+	glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync");
+	glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync");
+	glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync");
+	glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync");
+	glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync");
+	glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v");
+	glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv");
+	glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load("glGetInteger64i_v");
+	glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load("glGetBufferParameteri64v");
+	glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)load("glFramebufferTexture");
+	glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load("glTexImage2DMultisample");
+	glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load("glTexImage3DMultisample");
+	glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load("glGetMultisamplefv");
+	glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load("glSampleMaski");
+}
+static void load_GL_VERSION_3_3(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_3_3) return;
+	glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load("glBindFragDataLocationIndexed");
+	glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load("glGetFragDataIndex");
+	glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers");
+	glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers");
+	glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler");
+	glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler");
+	glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri");
+	glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv");
+	glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf");
+	glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv");
+	glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load("glSamplerParameterIiv");
+	glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load("glSamplerParameterIuiv");
+	glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv");
+	glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load("glGetSamplerParameterIiv");
+	glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv");
+	glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load("glGetSamplerParameterIuiv");
+	glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load("glQueryCounter");
+	glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load("glGetQueryObjecti64v");
+	glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load("glGetQueryObjectui64v");
+	glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load("glVertexAttribDivisor");
+	glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load("glVertexAttribP1ui");
+	glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load("glVertexAttribP1uiv");
+	glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load("glVertexAttribP2ui");
+	glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load("glVertexAttribP2uiv");
+	glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load("glVertexAttribP3ui");
+	glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load("glVertexAttribP3uiv");
+	glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load("glVertexAttribP4ui");
+	glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load("glVertexAttribP4uiv");
+	glad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load("glVertexP2ui");
+	glad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load("glVertexP2uiv");
+	glad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load("glVertexP3ui");
+	glad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load("glVertexP3uiv");
+	glad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load("glVertexP4ui");
+	glad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load("glVertexP4uiv");
+	glad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load("glTexCoordP1ui");
+	glad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load("glTexCoordP1uiv");
+	glad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load("glTexCoordP2ui");
+	glad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load("glTexCoordP2uiv");
+	glad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load("glTexCoordP3ui");
+	glad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load("glTexCoordP3uiv");
+	glad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load("glTexCoordP4ui");
+	glad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load("glTexCoordP4uiv");
+	glad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load("glMultiTexCoordP1ui");
+	glad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load("glMultiTexCoordP1uiv");
+	glad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load("glMultiTexCoordP2ui");
+	glad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load("glMultiTexCoordP2uiv");
+	glad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load("glMultiTexCoordP3ui");
+	glad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load("glMultiTexCoordP3uiv");
+	glad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load("glMultiTexCoordP4ui");
+	glad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load("glMultiTexCoordP4uiv");
+	glad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load("glNormalP3ui");
+	glad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load("glNormalP3uiv");
+	glad_glColorP3ui = (PFNGLCOLORP3UIPROC)load("glColorP3ui");
+	glad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load("glColorP3uiv");
+	glad_glColorP4ui = (PFNGLCOLORP4UIPROC)load("glColorP4ui");
+	glad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load("glColorP4uiv");
+	glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui");
+	glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv");
+}
+static void load_GL_VERSION_4_0(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_4_0) return;
+	glad_glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC)load("glMinSampleShading");
+	glad_glBlendEquationi = (PFNGLBLENDEQUATIONIPROC)load("glBlendEquationi");
+	glad_glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC)load("glBlendEquationSeparatei");
+	glad_glBlendFunci = (PFNGLBLENDFUNCIPROC)load("glBlendFunci");
+	glad_glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC)load("glBlendFuncSeparatei");
+	glad_glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC)load("glDrawArraysIndirect");
+	glad_glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC)load("glDrawElementsIndirect");
+	glad_glUniform1d = (PFNGLUNIFORM1DPROC)load("glUniform1d");
+	glad_glUniform2d = (PFNGLUNIFORM2DPROC)load("glUniform2d");
+	glad_glUniform3d = (PFNGLUNIFORM3DPROC)load("glUniform3d");
+	glad_glUniform4d = (PFNGLUNIFORM4DPROC)load("glUniform4d");
+	glad_glUniform1dv = (PFNGLUNIFORM1DVPROC)load("glUniform1dv");
+	glad_glUniform2dv = (PFNGLUNIFORM2DVPROC)load("glUniform2dv");
+	glad_glUniform3dv = (PFNGLUNIFORM3DVPROC)load("glUniform3dv");
+	glad_glUniform4dv = (PFNGLUNIFORM4DVPROC)load("glUniform4dv");
+	glad_glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC)load("glUniformMatrix2dv");
+	glad_glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC)load("glUniformMatrix3dv");
+	glad_glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC)load("glUniformMatrix4dv");
+	glad_glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC)load("glUniformMatrix2x3dv");
+	glad_glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC)load("glUniformMatrix2x4dv");
+	glad_glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC)load("glUniformMatrix3x2dv");
+	glad_glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC)load("glUniformMatrix3x4dv");
+	glad_glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC)load("glUniformMatrix4x2dv");
+	glad_glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC)load("glUniformMatrix4x3dv");
+	glad_glGetUniformdv = (PFNGLGETUNIFORMDVPROC)load("glGetUniformdv");
+	glad_glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)load("glGetSubroutineUniformLocation");
+	glad_glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC)load("glGetSubroutineIndex");
+	glad_glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)load("glGetActiveSubroutineUniformiv");
+	glad_glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)load("glGetActiveSubroutineUniformName");
+	glad_glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC)load("glGetActiveSubroutineName");
+	glad_glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC)load("glUniformSubroutinesuiv");
+	glad_glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC)load("glGetUniformSubroutineuiv");
+	glad_glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC)load("glGetProgramStageiv");
+	glad_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)load("glPatchParameteri");
+	glad_glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC)load("glPatchParameterfv");
+	glad_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)load("glBindTransformFeedback");
+	glad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)load("glDeleteTransformFeedbacks");
+	glad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)load("glGenTransformFeedbacks");
+	glad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)load("glIsTransformFeedback");
+	glad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)load("glPauseTransformFeedback");
+	glad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)load("glResumeTransformFeedback");
+	glad_glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC)load("glDrawTransformFeedback");
+	glad_glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)load("glDrawTransformFeedbackStream");
+	glad_glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC)load("glBeginQueryIndexed");
+	glad_glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC)load("glEndQueryIndexed");
+	glad_glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC)load("glGetQueryIndexediv");
+}
+static void load_GL_VERSION_4_1(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_4_1) return;
+	glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC)load("glReleaseShaderCompiler");
+	glad_glShaderBinary = (PFNGLSHADERBINARYPROC)load("glShaderBinary");
+	glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC)load("glGetShaderPrecisionFormat");
+	glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC)load("glDepthRangef");
+	glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC)load("glClearDepthf");
+	glad_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)load("glGetProgramBinary");
+	glad_glProgramBinary = (PFNGLPROGRAMBINARYPROC)load("glProgramBinary");
+	glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load("glProgramParameteri");
+	glad_glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC)load("glUseProgramStages");
+	glad_glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC)load("glActiveShaderProgram");
+	glad_glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC)load("glCreateShaderProgramv");
+	glad_glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC)load("glBindProgramPipeline");
+	glad_glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC)load("glDeleteProgramPipelines");
+	glad_glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC)load("glGenProgramPipelines");
+	glad_glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC)load("glIsProgramPipeline");
+	glad_glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC)load("glGetProgramPipelineiv");
+	glad_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)load("glProgramUniform1i");
+	glad_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)load("glProgramUniform1iv");
+	glad_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)load("glProgramUniform1f");
+	glad_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)load("glProgramUniform1fv");
+	glad_glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC)load("glProgramUniform1d");
+	glad_glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC)load("glProgramUniform1dv");
+	glad_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)load("glProgramUniform1ui");
+	glad_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)load("glProgramUniform1uiv");
+	glad_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)load("glProgramUniform2i");
+	glad_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)load("glProgramUniform2iv");
+	glad_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)load("glProgramUniform2f");
+	glad_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)load("glProgramUniform2fv");
+	glad_glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC)load("glProgramUniform2d");
+	glad_glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC)load("glProgramUniform2dv");
+	glad_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)load("glProgramUniform2ui");
+	glad_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)load("glProgramUniform2uiv");
+	glad_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)load("glProgramUniform3i");
+	glad_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)load("glProgramUniform3iv");
+	glad_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)load("glProgramUniform3f");
+	glad_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)load("glProgramUniform3fv");
+	glad_glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC)load("glProgramUniform3d");
+	glad_glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC)load("glProgramUniform3dv");
+	glad_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)load("glProgramUniform3ui");
+	glad_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)load("glProgramUniform3uiv");
+	glad_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)load("glProgramUniform4i");
+	glad_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)load("glProgramUniform4iv");
+	glad_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)load("glProgramUniform4f");
+	glad_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)load("glProgramUniform4fv");
+	glad_glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC)load("glProgramUniform4d");
+	glad_glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC)load("glProgramUniform4dv");
+	glad_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)load("glProgramUniform4ui");
+	glad_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)load("glProgramUniform4uiv");
+	glad_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)load("glProgramUniformMatrix2fv");
+	glad_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)load("glProgramUniformMatrix3fv");
+	glad_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)load("glProgramUniformMatrix4fv");
+	glad_glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC)load("glProgramUniformMatrix2dv");
+	glad_glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC)load("glProgramUniformMatrix3dv");
+	glad_glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC)load("glProgramUniformMatrix4dv");
+	glad_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)load("glProgramUniformMatrix2x3fv");
+	glad_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)load("glProgramUniformMatrix3x2fv");
+	glad_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)load("glProgramUniformMatrix2x4fv");
+	glad_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)load("glProgramUniformMatrix4x2fv");
+	glad_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)load("glProgramUniformMatrix3x4fv");
+	glad_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)load("glProgramUniformMatrix4x3fv");
+	glad_glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)load("glProgramUniformMatrix2x3dv");
+	glad_glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)load("glProgramUniformMatrix3x2dv");
+	glad_glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)load("glProgramUniformMatrix2x4dv");
+	glad_glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)load("glProgramUniformMatrix4x2dv");
+	glad_glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)load("glProgramUniformMatrix3x4dv");
+	glad_glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)load("glProgramUniformMatrix4x3dv");
+	glad_glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC)load("glValidateProgramPipeline");
+	glad_glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC)load("glGetProgramPipelineInfoLog");
+	glad_glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC)load("glVertexAttribL1d");
+	glad_glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC)load("glVertexAttribL2d");
+	glad_glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC)load("glVertexAttribL3d");
+	glad_glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC)load("glVertexAttribL4d");
+	glad_glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC)load("glVertexAttribL1dv");
+	glad_glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC)load("glVertexAttribL2dv");
+	glad_glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC)load("glVertexAttribL3dv");
+	glad_glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC)load("glVertexAttribL4dv");
+	glad_glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC)load("glVertexAttribLPointer");
+	glad_glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC)load("glGetVertexAttribLdv");
+	glad_glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC)load("glViewportArrayv");
+	glad_glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC)load("glViewportIndexedf");
+	glad_glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC)load("glViewportIndexedfv");
+	glad_glScissorArrayv = (PFNGLSCISSORARRAYVPROC)load("glScissorArrayv");
+	glad_glScissorIndexed = (PFNGLSCISSORINDEXEDPROC)load("glScissorIndexed");
+	glad_glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC)load("glScissorIndexedv");
+	glad_glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC)load("glDepthRangeArrayv");
+	glad_glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC)load("glDepthRangeIndexed");
+	glad_glGetFloati_v = (PFNGLGETFLOATI_VPROC)load("glGetFloati_v");
+	glad_glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC)load("glGetDoublei_v");
+}
+static void load_GL_VERSION_4_2(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_4_2) return;
+	glad_glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)load("glDrawArraysInstancedBaseInstance");
+	glad_glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)load("glDrawElementsInstancedBaseInstance");
+	glad_glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)load("glDrawElementsInstancedBaseVertexBaseInstance");
+	glad_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)load("glGetInternalformativ");
+	glad_glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)load("glGetActiveAtomicCounterBufferiv");
+	glad_glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)load("glBindImageTexture");
+	glad_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)load("glMemoryBarrier");
+	glad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC)load("glTexStorage1D");
+	glad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)load("glTexStorage2D");
+	glad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)load("glTexStorage3D");
+	glad_glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)load("glDrawTransformFeedbackInstanced");
+	glad_glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)load("glDrawTransformFeedbackStreamInstanced");
+}
+static void load_GL_VERSION_4_3(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_4_3) return;
+	glad_glClearBufferData = (PFNGLCLEARBUFFERDATAPROC)load("glClearBufferData");
+	glad_glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC)load("glClearBufferSubData");
+	glad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)load("glDispatchCompute");
+	glad_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)load("glDispatchComputeIndirect");
+	glad_glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC)load("glCopyImageSubData");
+	glad_glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC)load("glFramebufferParameteri");
+	glad_glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC)load("glGetFramebufferParameteriv");
+	glad_glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC)load("glGetInternalformati64v");
+	glad_glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC)load("glInvalidateTexSubImage");
+	glad_glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC)load("glInvalidateTexImage");
+	glad_glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC)load("glInvalidateBufferSubData");
+	glad_glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC)load("glInvalidateBufferData");
+	glad_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)load("glInvalidateFramebuffer");
+	glad_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)load("glInvalidateSubFramebuffer");
+	glad_glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC)load("glMultiDrawArraysIndirect");
+	glad_glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC)load("glMultiDrawElementsIndirect");
+	glad_glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC)load("glGetProgramInterfaceiv");
+	glad_glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC)load("glGetProgramResourceIndex");
+	glad_glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC)load("glGetProgramResourceName");
+	glad_glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC)load("glGetProgramResourceiv");
+	glad_glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC)load("glGetProgramResourceLocation");
+	glad_glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)load("glGetProgramResourceLocationIndex");
+	glad_glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC)load("glShaderStorageBlockBinding");
+	glad_glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC)load("glTexBufferRange");
+	glad_glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC)load("glTexStorage2DMultisample");
+	glad_glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC)load("glTexStorage3DMultisample");
+	glad_glTextureView = (PFNGLTEXTUREVIEWPROC)load("glTextureView");
+	glad_glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC)load("glBindVertexBuffer");
+	glad_glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC)load("glVertexAttribFormat");
+	glad_glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC)load("glVertexAttribIFormat");
+	glad_glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC)load("glVertexAttribLFormat");
+	glad_glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC)load("glVertexAttribBinding");
+	glad_glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC)load("glVertexBindingDivisor");
+	glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)load("glDebugMessageControl");
+	glad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)load("glDebugMessageInsert");
+	glad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)load("glDebugMessageCallback");
+	glad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)load("glGetDebugMessageLog");
+	glad_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)load("glPushDebugGroup");
+	glad_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)load("glPopDebugGroup");
+	glad_glObjectLabel = (PFNGLOBJECTLABELPROC)load("glObjectLabel");
+	glad_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC)load("glGetObjectLabel");
+	glad_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)load("glObjectPtrLabel");
+	glad_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)load("glGetObjectPtrLabel");
+}
+static void load_GL_VERSION_4_4(GLADloadproc load) {
+	if(!GLAD_GL_VERSION_4_4) return;
+	glad_glBufferStorage = (PFNGLBUFFERSTORAGEPROC)load("glBufferStorage");
+	glad_glClearTexImage = (PFNGLCLEARTEXIMAGEPROC)load("glClearTexImage");
+	glad_glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC)load("glClearTexSubImage");
+	glad_glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC)load("glBindBuffersBase");
+	glad_glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC)load("glBindBuffersRange");
+	glad_glBindTextures = (PFNGLBINDTEXTURESPROC)load("glBindTextures");
+	glad_glBindSamplers = (PFNGLBINDSAMPLERSPROC)load("glBindSamplers");
+	glad_glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC)load("glBindImageTextures");
+	glad_glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC)load("glBindVertexBuffers");
+}
+static void load_GL_NV_point_sprite(GLADloadproc load) {
+	if(!GLAD_GL_NV_point_sprite) return;
+	glad_glPointParameteriNV = (PFNGLPOINTPARAMETERINVPROC)load("glPointParameteriNV");
+	glad_glPointParameterivNV = (PFNGLPOINTPARAMETERIVNVPROC)load("glPointParameterivNV");
+}
+static void load_GL_APPLE_element_array(GLADloadproc load) {
+	if(!GLAD_GL_APPLE_element_array) return;
+	glad_glElementPointerAPPLE = (PFNGLELEMENTPOINTERAPPLEPROC)load("glElementPointerAPPLE");
+	glad_glDrawElementArrayAPPLE = (PFNGLDRAWELEMENTARRAYAPPLEPROC)load("glDrawElementArrayAPPLE");
+	glad_glDrawRangeElementArrayAPPLE = (PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC)load("glDrawRangeElementArrayAPPLE");
+	glad_glMultiDrawElementArrayAPPLE = (PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC)load("glMultiDrawElementArrayAPPLE");
+	glad_glMultiDrawRangeElementArrayAPPLE = (PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC)load("glMultiDrawRangeElementArrayAPPLE");
+}
+static void load_GL_AMD_multi_draw_indirect(GLADloadproc load) {
+	if(!GLAD_GL_AMD_multi_draw_indirect) return;
+	glad_glMultiDrawArraysIndirectAMD = (PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC)load("glMultiDrawArraysIndirectAMD");
+	glad_glMultiDrawElementsIndirectAMD = (PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC)load("glMultiDrawElementsIndirectAMD");
+}
+static void load_GL_SGIX_tag_sample_buffer(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_tag_sample_buffer) return;
+	glad_glTagSampleBufferSGIX = (PFNGLTAGSAMPLEBUFFERSGIXPROC)load("glTagSampleBufferSGIX");
+}
+static void load_GL_ATI_separate_stencil(GLADloadproc load) {
+	if(!GLAD_GL_ATI_separate_stencil) return;
+	glad_glStencilOpSeparateATI = (PFNGLSTENCILOPSEPARATEATIPROC)load("glStencilOpSeparateATI");
+	glad_glStencilFuncSeparateATI = (PFNGLSTENCILFUNCSEPARATEATIPROC)load("glStencilFuncSeparateATI");
+}
+static void load_GL_EXT_texture_buffer_object(GLADloadproc load) {
+	if(!GLAD_GL_EXT_texture_buffer_object) return;
+	glad_glTexBufferEXT = (PFNGLTEXBUFFEREXTPROC)load("glTexBufferEXT");
+}
+static void load_GL_ARB_vertex_blend(GLADloadproc load) {
+	if(!GLAD_GL_ARB_vertex_blend) return;
+	glad_glWeightbvARB = (PFNGLWEIGHTBVARBPROC)load("glWeightbvARB");
+	glad_glWeightsvARB = (PFNGLWEIGHTSVARBPROC)load("glWeightsvARB");
+	glad_glWeightivARB = (PFNGLWEIGHTIVARBPROC)load("glWeightivARB");
+	glad_glWeightfvARB = (PFNGLWEIGHTFVARBPROC)load("glWeightfvARB");
+	glad_glWeightdvARB = (PFNGLWEIGHTDVARBPROC)load("glWeightdvARB");
+	glad_glWeightubvARB = (PFNGLWEIGHTUBVARBPROC)load("glWeightubvARB");
+	glad_glWeightusvARB = (PFNGLWEIGHTUSVARBPROC)load("glWeightusvARB");
+	glad_glWeightuivARB = (PFNGLWEIGHTUIVARBPROC)load("glWeightuivARB");
+	glad_glWeightPointerARB = (PFNGLWEIGHTPOINTERARBPROC)load("glWeightPointerARB");
+	glad_glVertexBlendARB = (PFNGLVERTEXBLENDARBPROC)load("glVertexBlendARB");
+}
+static void load_GL_ARB_program_interface_query(GLADloadproc load) {
+	if(!GLAD_GL_ARB_program_interface_query) return;
+	glad_glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC)load("glGetProgramInterfaceiv");
+	glad_glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC)load("glGetProgramResourceIndex");
+	glad_glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC)load("glGetProgramResourceName");
+	glad_glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC)load("glGetProgramResourceiv");
+	glad_glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC)load("glGetProgramResourceLocation");
+	glad_glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)load("glGetProgramResourceLocationIndex");
+}
+static void load_GL_EXT_index_func(GLADloadproc load) {
+	if(!GLAD_GL_EXT_index_func) return;
+	glad_glIndexFuncEXT = (PFNGLINDEXFUNCEXTPROC)load("glIndexFuncEXT");
+}
+static void load_GL_NV_shader_buffer_load(GLADloadproc load) {
+	if(!GLAD_GL_NV_shader_buffer_load) return;
+	glad_glMakeBufferResidentNV = (PFNGLMAKEBUFFERRESIDENTNVPROC)load("glMakeBufferResidentNV");
+	glad_glMakeBufferNonResidentNV = (PFNGLMAKEBUFFERNONRESIDENTNVPROC)load("glMakeBufferNonResidentNV");
+	glad_glIsBufferResidentNV = (PFNGLISBUFFERRESIDENTNVPROC)load("glIsBufferResidentNV");
+	glad_glMakeNamedBufferResidentNV = (PFNGLMAKENAMEDBUFFERRESIDENTNVPROC)load("glMakeNamedBufferResidentNV");
+	glad_glMakeNamedBufferNonResidentNV = (PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC)load("glMakeNamedBufferNonResidentNV");
+	glad_glIsNamedBufferResidentNV = (PFNGLISNAMEDBUFFERRESIDENTNVPROC)load("glIsNamedBufferResidentNV");
+	glad_glGetBufferParameterui64vNV = (PFNGLGETBUFFERPARAMETERUI64VNVPROC)load("glGetBufferParameterui64vNV");
+	glad_glGetNamedBufferParameterui64vNV = (PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC)load("glGetNamedBufferParameterui64vNV");
+	glad_glGetIntegerui64vNV = (PFNGLGETINTEGERUI64VNVPROC)load("glGetIntegerui64vNV");
+	glad_glUniformui64NV = (PFNGLUNIFORMUI64NVPROC)load("glUniformui64NV");
+	glad_glUniformui64vNV = (PFNGLUNIFORMUI64VNVPROC)load("glUniformui64vNV");
+	glad_glGetUniformui64vNV = (PFNGLGETUNIFORMUI64VNVPROC)load("glGetUniformui64vNV");
+	glad_glProgramUniformui64NV = (PFNGLPROGRAMUNIFORMUI64NVPROC)load("glProgramUniformui64NV");
+	glad_glProgramUniformui64vNV = (PFNGLPROGRAMUNIFORMUI64VNVPROC)load("glProgramUniformui64vNV");
+}
+static void load_GL_EXT_color_subtable(GLADloadproc load) {
+	if(!GLAD_GL_EXT_color_subtable) return;
+	glad_glColorSubTableEXT = (PFNGLCOLORSUBTABLEEXTPROC)load("glColorSubTableEXT");
+	glad_glCopyColorSubTableEXT = (PFNGLCOPYCOLORSUBTABLEEXTPROC)load("glCopyColorSubTableEXT");
+}
+static void load_GL_SUNX_constant_data(GLADloadproc load) {
+	if(!GLAD_GL_SUNX_constant_data) return;
+	glad_glFinishTextureSUNX = (PFNGLFINISHTEXTURESUNXPROC)load("glFinishTextureSUNX");
+}
+static void load_GL_EXT_multi_draw_arrays(GLADloadproc load) {
+	if(!GLAD_GL_EXT_multi_draw_arrays) return;
+	glad_glMultiDrawArraysEXT = (PFNGLMULTIDRAWARRAYSEXTPROC)load("glMultiDrawArraysEXT");
+	glad_glMultiDrawElementsEXT = (PFNGLMULTIDRAWELEMENTSEXTPROC)load("glMultiDrawElementsEXT");
+}
+static void load_GL_ARB_shader_atomic_counters(GLADloadproc load) {
+	if(!GLAD_GL_ARB_shader_atomic_counters) return;
+	glad_glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)load("glGetActiveAtomicCounterBufferiv");
+}
+static void load_GL_NV_conditional_render(GLADloadproc load) {
+	if(!GLAD_GL_NV_conditional_render) return;
+	glad_glBeginConditionalRenderNV = (PFNGLBEGINCONDITIONALRENDERNVPROC)load("glBeginConditionalRenderNV");
+	glad_glEndConditionalRenderNV = (PFNGLENDCONDITIONALRENDERNVPROC)load("glEndConditionalRenderNV");
+}
+static void load_GL_MESA_resize_buffers(GLADloadproc load) {
+	if(!GLAD_GL_MESA_resize_buffers) return;
+	glad_glResizeBuffersMESA = (PFNGLRESIZEBUFFERSMESAPROC)load("glResizeBuffersMESA");
+}
+static void load_GL_ARB_texture_view(GLADloadproc load) {
+	if(!GLAD_GL_ARB_texture_view) return;
+	glad_glTextureView = (PFNGLTEXTUREVIEWPROC)load("glTextureView");
+}
+static void load_GL_ARB_map_buffer_range(GLADloadproc load) {
+	if(!GLAD_GL_ARB_map_buffer_range) return;
+	glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange");
+	glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange");
+}
+static void load_GL_EXT_convolution(GLADloadproc load) {
+	if(!GLAD_GL_EXT_convolution) return;
+	glad_glConvolutionFilter1DEXT = (PFNGLCONVOLUTIONFILTER1DEXTPROC)load("glConvolutionFilter1DEXT");
+	glad_glConvolutionFilter2DEXT = (PFNGLCONVOLUTIONFILTER2DEXTPROC)load("glConvolutionFilter2DEXT");
+	glad_glConvolutionParameterfEXT = (PFNGLCONVOLUTIONPARAMETERFEXTPROC)load("glConvolutionParameterfEXT");
+	glad_glConvolutionParameterfvEXT = (PFNGLCONVOLUTIONPARAMETERFVEXTPROC)load("glConvolutionParameterfvEXT");
+	glad_glConvolutionParameteriEXT = (PFNGLCONVOLUTIONPARAMETERIEXTPROC)load("glConvolutionParameteriEXT");
+	glad_glConvolutionParameterivEXT = (PFNGLCONVOLUTIONPARAMETERIVEXTPROC)load("glConvolutionParameterivEXT");
+	glad_glCopyConvolutionFilter1DEXT = (PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC)load("glCopyConvolutionFilter1DEXT");
+	glad_glCopyConvolutionFilter2DEXT = (PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC)load("glCopyConvolutionFilter2DEXT");
+	glad_glGetConvolutionFilterEXT = (PFNGLGETCONVOLUTIONFILTEREXTPROC)load("glGetConvolutionFilterEXT");
+	glad_glGetConvolutionParameterfvEXT = (PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC)load("glGetConvolutionParameterfvEXT");
+	glad_glGetConvolutionParameterivEXT = (PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC)load("glGetConvolutionParameterivEXT");
+	glad_glGetSeparableFilterEXT = (PFNGLGETSEPARABLEFILTEREXTPROC)load("glGetSeparableFilterEXT");
+	glad_glSeparableFilter2DEXT = (PFNGLSEPARABLEFILTER2DEXTPROC)load("glSeparableFilter2DEXT");
+}
+static void load_GL_NV_vertex_attrib_integer_64bit(GLADloadproc load) {
+	if(!GLAD_GL_NV_vertex_attrib_integer_64bit) return;
+	glad_glVertexAttribL1i64NV = (PFNGLVERTEXATTRIBL1I64NVPROC)load("glVertexAttribL1i64NV");
+	glad_glVertexAttribL2i64NV = (PFNGLVERTEXATTRIBL2I64NVPROC)load("glVertexAttribL2i64NV");
+	glad_glVertexAttribL3i64NV = (PFNGLVERTEXATTRIBL3I64NVPROC)load("glVertexAttribL3i64NV");
+	glad_glVertexAttribL4i64NV = (PFNGLVERTEXATTRIBL4I64NVPROC)load("glVertexAttribL4i64NV");
+	glad_glVertexAttribL1i64vNV = (PFNGLVERTEXATTRIBL1I64VNVPROC)load("glVertexAttribL1i64vNV");
+	glad_glVertexAttribL2i64vNV = (PFNGLVERTEXATTRIBL2I64VNVPROC)load("glVertexAttribL2i64vNV");
+	glad_glVertexAttribL3i64vNV = (PFNGLVERTEXATTRIBL3I64VNVPROC)load("glVertexAttribL3i64vNV");
+	glad_glVertexAttribL4i64vNV = (PFNGLVERTEXATTRIBL4I64VNVPROC)load("glVertexAttribL4i64vNV");
+	glad_glVertexAttribL1ui64NV = (PFNGLVERTEXATTRIBL1UI64NVPROC)load("glVertexAttribL1ui64NV");
+	glad_glVertexAttribL2ui64NV = (PFNGLVERTEXATTRIBL2UI64NVPROC)load("glVertexAttribL2ui64NV");
+	glad_glVertexAttribL3ui64NV = (PFNGLVERTEXATTRIBL3UI64NVPROC)load("glVertexAttribL3ui64NV");
+	glad_glVertexAttribL4ui64NV = (PFNGLVERTEXATTRIBL4UI64NVPROC)load("glVertexAttribL4ui64NV");
+	glad_glVertexAttribL1ui64vNV = (PFNGLVERTEXATTRIBL1UI64VNVPROC)load("glVertexAttribL1ui64vNV");
+	glad_glVertexAttribL2ui64vNV = (PFNGLVERTEXATTRIBL2UI64VNVPROC)load("glVertexAttribL2ui64vNV");
+	glad_glVertexAttribL3ui64vNV = (PFNGLVERTEXATTRIBL3UI64VNVPROC)load("glVertexAttribL3ui64vNV");
+	glad_glVertexAttribL4ui64vNV = (PFNGLVERTEXATTRIBL4UI64VNVPROC)load("glVertexAttribL4ui64vNV");
+	glad_glGetVertexAttribLi64vNV = (PFNGLGETVERTEXATTRIBLI64VNVPROC)load("glGetVertexAttribLi64vNV");
+	glad_glGetVertexAttribLui64vNV = (PFNGLGETVERTEXATTRIBLUI64VNVPROC)load("glGetVertexAttribLui64vNV");
+	glad_glVertexAttribLFormatNV = (PFNGLVERTEXATTRIBLFORMATNVPROC)load("glVertexAttribLFormatNV");
+}
+static void load_GL_EXT_paletted_texture(GLADloadproc load) {
+	if(!GLAD_GL_EXT_paletted_texture) return;
+	glad_glColorTableEXT = (PFNGLCOLORTABLEEXTPROC)load("glColorTableEXT");
+	glad_glGetColorTableEXT = (PFNGLGETCOLORTABLEEXTPROC)load("glGetColorTableEXT");
+	glad_glGetColorTableParameterivEXT = (PFNGLGETCOLORTABLEPARAMETERIVEXTPROC)load("glGetColorTableParameterivEXT");
+	glad_glGetColorTableParameterfvEXT = (PFNGLGETCOLORTABLEPARAMETERFVEXTPROC)load("glGetColorTableParameterfvEXT");
+}
+static void load_GL_ARB_texture_buffer_object(GLADloadproc load) {
+	if(!GLAD_GL_ARB_texture_buffer_object) return;
+	glad_glTexBufferARB = (PFNGLTEXBUFFERARBPROC)load("glTexBufferARB");
+}
+static void load_GL_ATI_pn_triangles(GLADloadproc load) {
+	if(!GLAD_GL_ATI_pn_triangles) return;
+	glad_glPNTrianglesiATI = (PFNGLPNTRIANGLESIATIPROC)load("glPNTrianglesiATI");
+	glad_glPNTrianglesfATI = (PFNGLPNTRIANGLESFATIPROC)load("glPNTrianglesfATI");
+}
+static void load_GL_SGIX_flush_raster(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_flush_raster) return;
+	glad_glFlushRasterSGIX = (PFNGLFLUSHRASTERSGIXPROC)load("glFlushRasterSGIX");
+}
+static void load_GL_EXT_light_texture(GLADloadproc load) {
+	if(!GLAD_GL_EXT_light_texture) return;
+	glad_glApplyTextureEXT = (PFNGLAPPLYTEXTUREEXTPROC)load("glApplyTextureEXT");
+	glad_glTextureLightEXT = (PFNGLTEXTURELIGHTEXTPROC)load("glTextureLightEXT");
+	glad_glTextureMaterialEXT = (PFNGLTEXTUREMATERIALEXTPROC)load("glTextureMaterialEXT");
+}
+static void load_GL_AMD_draw_buffers_blend(GLADloadproc load) {
+	if(!GLAD_GL_AMD_draw_buffers_blend) return;
+	glad_glBlendFuncIndexedAMD = (PFNGLBLENDFUNCINDEXEDAMDPROC)load("glBlendFuncIndexedAMD");
+	glad_glBlendFuncSeparateIndexedAMD = (PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC)load("glBlendFuncSeparateIndexedAMD");
+	glad_glBlendEquationIndexedAMD = (PFNGLBLENDEQUATIONINDEXEDAMDPROC)load("glBlendEquationIndexedAMD");
+	glad_glBlendEquationSeparateIndexedAMD = (PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC)load("glBlendEquationSeparateIndexedAMD");
+}
+static void load_GL_MESA_window_pos(GLADloadproc load) {
+	if(!GLAD_GL_MESA_window_pos) return;
+	glad_glWindowPos2dMESA = (PFNGLWINDOWPOS2DMESAPROC)load("glWindowPos2dMESA");
+	glad_glWindowPos2dvMESA = (PFNGLWINDOWPOS2DVMESAPROC)load("glWindowPos2dvMESA");
+	glad_glWindowPos2fMESA = (PFNGLWINDOWPOS2FMESAPROC)load("glWindowPos2fMESA");
+	glad_glWindowPos2fvMESA = (PFNGLWINDOWPOS2FVMESAPROC)load("glWindowPos2fvMESA");
+	glad_glWindowPos2iMESA = (PFNGLWINDOWPOS2IMESAPROC)load("glWindowPos2iMESA");
+	glad_glWindowPos2ivMESA = (PFNGLWINDOWPOS2IVMESAPROC)load("glWindowPos2ivMESA");
+	glad_glWindowPos2sMESA = (PFNGLWINDOWPOS2SMESAPROC)load("glWindowPos2sMESA");
+	glad_glWindowPos2svMESA = (PFNGLWINDOWPOS2SVMESAPROC)load("glWindowPos2svMESA");
+	glad_glWindowPos3dMESA = (PFNGLWINDOWPOS3DMESAPROC)load("glWindowPos3dMESA");
+	glad_glWindowPos3dvMESA = (PFNGLWINDOWPOS3DVMESAPROC)load("glWindowPos3dvMESA");
+	glad_glWindowPos3fMESA = (PFNGLWINDOWPOS3FMESAPROC)load("glWindowPos3fMESA");
+	glad_glWindowPos3fvMESA = (PFNGLWINDOWPOS3FVMESAPROC)load("glWindowPos3fvMESA");
+	glad_glWindowPos3iMESA = (PFNGLWINDOWPOS3IMESAPROC)load("glWindowPos3iMESA");
+	glad_glWindowPos3ivMESA = (PFNGLWINDOWPOS3IVMESAPROC)load("glWindowPos3ivMESA");
+	glad_glWindowPos3sMESA = (PFNGLWINDOWPOS3SMESAPROC)load("glWindowPos3sMESA");
+	glad_glWindowPos3svMESA = (PFNGLWINDOWPOS3SVMESAPROC)load("glWindowPos3svMESA");
+	glad_glWindowPos4dMESA = (PFNGLWINDOWPOS4DMESAPROC)load("glWindowPos4dMESA");
+	glad_glWindowPos4dvMESA = (PFNGLWINDOWPOS4DVMESAPROC)load("glWindowPos4dvMESA");
+	glad_glWindowPos4fMESA = (PFNGLWINDOWPOS4FMESAPROC)load("glWindowPos4fMESA");
+	glad_glWindowPos4fvMESA = (PFNGLWINDOWPOS4FVMESAPROC)load("glWindowPos4fvMESA");
+	glad_glWindowPos4iMESA = (PFNGLWINDOWPOS4IMESAPROC)load("glWindowPos4iMESA");
+	glad_glWindowPos4ivMESA = (PFNGLWINDOWPOS4IVMESAPROC)load("glWindowPos4ivMESA");
+	glad_glWindowPos4sMESA = (PFNGLWINDOWPOS4SMESAPROC)load("glWindowPos4sMESA");
+	glad_glWindowPos4svMESA = (PFNGLWINDOWPOS4SVMESAPROC)load("glWindowPos4svMESA");
+}
+static void load_GL_NV_texture_barrier(GLADloadproc load) {
+	if(!GLAD_GL_NV_texture_barrier) return;
+	glad_glTextureBarrierNV = (PFNGLTEXTUREBARRIERNVPROC)load("glTextureBarrierNV");
+}
+static void load_GL_ARB_vertex_type_2_10_10_10_rev(GLADloadproc load) {
+	if(!GLAD_GL_ARB_vertex_type_2_10_10_10_rev) return;
+	glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load("glVertexAttribP1ui");
+	glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load("glVertexAttribP1uiv");
+	glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load("glVertexAttribP2ui");
+	glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load("glVertexAttribP2uiv");
+	glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load("glVertexAttribP3ui");
+	glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load("glVertexAttribP3uiv");
+	glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load("glVertexAttribP4ui");
+	glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load("glVertexAttribP4uiv");
+	glad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load("glVertexP2ui");
+	glad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load("glVertexP2uiv");
+	glad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load("glVertexP3ui");
+	glad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load("glVertexP3uiv");
+	glad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load("glVertexP4ui");
+	glad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load("glVertexP4uiv");
+	glad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load("glTexCoordP1ui");
+	glad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load("glTexCoordP1uiv");
+	glad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load("glTexCoordP2ui");
+	glad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load("glTexCoordP2uiv");
+	glad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load("glTexCoordP3ui");
+	glad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load("glTexCoordP3uiv");
+	glad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load("glTexCoordP4ui");
+	glad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load("glTexCoordP4uiv");
+	glad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load("glMultiTexCoordP1ui");
+	glad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load("glMultiTexCoordP1uiv");
+	glad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load("glMultiTexCoordP2ui");
+	glad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load("glMultiTexCoordP2uiv");
+	glad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load("glMultiTexCoordP3ui");
+	glad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load("glMultiTexCoordP3uiv");
+	glad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load("glMultiTexCoordP4ui");
+	glad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load("glMultiTexCoordP4uiv");
+	glad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load("glNormalP3ui");
+	glad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load("glNormalP3uiv");
+	glad_glColorP3ui = (PFNGLCOLORP3UIPROC)load("glColorP3ui");
+	glad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load("glColorP3uiv");
+	glad_glColorP4ui = (PFNGLCOLORP4UIPROC)load("glColorP4ui");
+	glad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load("glColorP4uiv");
+	glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui");
+	glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv");
+}
+static void load_GL_3DFX_tbuffer(GLADloadproc load) {
+	if(!GLAD_GL_3DFX_tbuffer) return;
+	glad_glTbufferMask3DFX = (PFNGLTBUFFERMASK3DFXPROC)load("glTbufferMask3DFX");
+}
+static void load_GL_GREMEDY_frame_terminator(GLADloadproc load) {
+	if(!GLAD_GL_GREMEDY_frame_terminator) return;
+	glad_glFrameTerminatorGREMEDY = (PFNGLFRAMETERMINATORGREMEDYPROC)load("glFrameTerminatorGREMEDY");
+}
+static void load_GL_ARB_blend_func_extended(GLADloadproc load) {
+	if(!GLAD_GL_ARB_blend_func_extended) return;
+	glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load("glBindFragDataLocationIndexed");
+	glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load("glGetFragDataIndex");
+}
+static void load_GL_EXT_separate_shader_objects(GLADloadproc load) {
+	if(!GLAD_GL_EXT_separate_shader_objects) return;
+	glad_glUseShaderProgramEXT = (PFNGLUSESHADERPROGRAMEXTPROC)load("glUseShaderProgramEXT");
+	glad_glActiveProgramEXT = (PFNGLACTIVEPROGRAMEXTPROC)load("glActiveProgramEXT");
+	glad_glCreateShaderProgramEXT = (PFNGLCREATESHADERPROGRAMEXTPROC)load("glCreateShaderProgramEXT");
+	glad_glActiveShaderProgramEXT = (PFNGLACTIVESHADERPROGRAMEXTPROC)load("glActiveShaderProgramEXT");
+	glad_glBindProgramPipelineEXT = (PFNGLBINDPROGRAMPIPELINEEXTPROC)load("glBindProgramPipelineEXT");
+	glad_glCreateShaderProgramvEXT = (PFNGLCREATESHADERPROGRAMVEXTPROC)load("glCreateShaderProgramvEXT");
+	glad_glDeleteProgramPipelinesEXT = (PFNGLDELETEPROGRAMPIPELINESEXTPROC)load("glDeleteProgramPipelinesEXT");
+	glad_glGenProgramPipelinesEXT = (PFNGLGENPROGRAMPIPELINESEXTPROC)load("glGenProgramPipelinesEXT");
+	glad_glGetProgramPipelineInfoLogEXT = (PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC)load("glGetProgramPipelineInfoLogEXT");
+	glad_glGetProgramPipelineivEXT = (PFNGLGETPROGRAMPIPELINEIVEXTPROC)load("glGetProgramPipelineivEXT");
+	glad_glIsProgramPipelineEXT = (PFNGLISPROGRAMPIPELINEEXTPROC)load("glIsProgramPipelineEXT");
+	glad_glProgramParameteriEXT = (PFNGLPROGRAMPARAMETERIEXTPROC)load("glProgramParameteriEXT");
+	glad_glProgramUniform1fEXT = (PFNGLPROGRAMUNIFORM1FEXTPROC)load("glProgramUniform1fEXT");
+	glad_glProgramUniform1fvEXT = (PFNGLPROGRAMUNIFORM1FVEXTPROC)load("glProgramUniform1fvEXT");
+	glad_glProgramUniform1iEXT = (PFNGLPROGRAMUNIFORM1IEXTPROC)load("glProgramUniform1iEXT");
+	glad_glProgramUniform1ivEXT = (PFNGLPROGRAMUNIFORM1IVEXTPROC)load("glProgramUniform1ivEXT");
+	glad_glProgramUniform2fEXT = (PFNGLPROGRAMUNIFORM2FEXTPROC)load("glProgramUniform2fEXT");
+	glad_glProgramUniform2fvEXT = (PFNGLPROGRAMUNIFORM2FVEXTPROC)load("glProgramUniform2fvEXT");
+	glad_glProgramUniform2iEXT = (PFNGLPROGRAMUNIFORM2IEXTPROC)load("glProgramUniform2iEXT");
+	glad_glProgramUniform2ivEXT = (PFNGLPROGRAMUNIFORM2IVEXTPROC)load("glProgramUniform2ivEXT");
+	glad_glProgramUniform3fEXT = (PFNGLPROGRAMUNIFORM3FEXTPROC)load("glProgramUniform3fEXT");
+	glad_glProgramUniform3fvEXT = (PFNGLPROGRAMUNIFORM3FVEXTPROC)load("glProgramUniform3fvEXT");
+	glad_glProgramUniform3iEXT = (PFNGLPROGRAMUNIFORM3IEXTPROC)load("glProgramUniform3iEXT");
+	glad_glProgramUniform3ivEXT = (PFNGLPROGRAMUNIFORM3IVEXTPROC)load("glProgramUniform3ivEXT");
+	glad_glProgramUniform4fEXT = (PFNGLPROGRAMUNIFORM4FEXTPROC)load("glProgramUniform4fEXT");
+	glad_glProgramUniform4fvEXT = (PFNGLPROGRAMUNIFORM4FVEXTPROC)load("glProgramUniform4fvEXT");
+	glad_glProgramUniform4iEXT = (PFNGLPROGRAMUNIFORM4IEXTPROC)load("glProgramUniform4iEXT");
+	glad_glProgramUniform4ivEXT = (PFNGLPROGRAMUNIFORM4IVEXTPROC)load("glProgramUniform4ivEXT");
+	glad_glProgramUniformMatrix2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)load("glProgramUniformMatrix2fvEXT");
+	glad_glProgramUniformMatrix3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)load("glProgramUniformMatrix3fvEXT");
+	glad_glProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)load("glProgramUniformMatrix4fvEXT");
+	glad_glUseProgramStagesEXT = (PFNGLUSEPROGRAMSTAGESEXTPROC)load("glUseProgramStagesEXT");
+	glad_glValidateProgramPipelineEXT = (PFNGLVALIDATEPROGRAMPIPELINEEXTPROC)load("glValidateProgramPipelineEXT");
+	glad_glProgramUniform1uiEXT = (PFNGLPROGRAMUNIFORM1UIEXTPROC)load("glProgramUniform1uiEXT");
+	glad_glProgramUniform2uiEXT = (PFNGLPROGRAMUNIFORM2UIEXTPROC)load("glProgramUniform2uiEXT");
+	glad_glProgramUniform3uiEXT = (PFNGLPROGRAMUNIFORM3UIEXTPROC)load("glProgramUniform3uiEXT");
+	glad_glProgramUniform4uiEXT = (PFNGLPROGRAMUNIFORM4UIEXTPROC)load("glProgramUniform4uiEXT");
+	glad_glProgramUniform1uivEXT = (PFNGLPROGRAMUNIFORM1UIVEXTPROC)load("glProgramUniform1uivEXT");
+	glad_glProgramUniform2uivEXT = (PFNGLPROGRAMUNIFORM2UIVEXTPROC)load("glProgramUniform2uivEXT");
+	glad_glProgramUniform3uivEXT = (PFNGLPROGRAMUNIFORM3UIVEXTPROC)load("glProgramUniform3uivEXT");
+	glad_glProgramUniform4uivEXT = (PFNGLPROGRAMUNIFORM4UIVEXTPROC)load("glProgramUniform4uivEXT");
+	glad_glProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)load("glProgramUniformMatrix4fvEXT");
+	glad_glProgramUniformMatrix2x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)load("glProgramUniformMatrix2x3fvEXT");
+	glad_glProgramUniformMatrix3x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)load("glProgramUniformMatrix3x2fvEXT");
+	glad_glProgramUniformMatrix2x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)load("glProgramUniformMatrix2x4fvEXT");
+	glad_glProgramUniformMatrix4x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)load("glProgramUniformMatrix4x2fvEXT");
+	glad_glProgramUniformMatrix3x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)load("glProgramUniformMatrix3x4fvEXT");
+	glad_glProgramUniformMatrix4x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)load("glProgramUniformMatrix4x3fvEXT");
+}
+static void load_GL_NV_texture_multisample(GLADloadproc load) {
+	if(!GLAD_GL_NV_texture_multisample) return;
+	glad_glTexImage2DMultisampleCoverageNV = (PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC)load("glTexImage2DMultisampleCoverageNV");
+	glad_glTexImage3DMultisampleCoverageNV = (PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC)load("glTexImage3DMultisampleCoverageNV");
+	glad_glTextureImage2DMultisampleNV = (PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC)load("glTextureImage2DMultisampleNV");
+	glad_glTextureImage3DMultisampleNV = (PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC)load("glTextureImage3DMultisampleNV");
+	glad_glTextureImage2DMultisampleCoverageNV = (PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC)load("glTextureImage2DMultisampleCoverageNV");
+	glad_glTextureImage3DMultisampleCoverageNV = (PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC)load("glTextureImage3DMultisampleCoverageNV");
+}
+static void load_GL_ARB_shader_objects(GLADloadproc load) {
+	if(!GLAD_GL_ARB_shader_objects) return;
+	glad_glDeleteObjectARB = (PFNGLDELETEOBJECTARBPROC)load("glDeleteObjectARB");
+	glad_glGetHandleARB = (PFNGLGETHANDLEARBPROC)load("glGetHandleARB");
+	glad_glDetachObjectARB = (PFNGLDETACHOBJECTARBPROC)load("glDetachObjectARB");
+	glad_glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC)load("glCreateShaderObjectARB");
+	glad_glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC)load("glShaderSourceARB");
+	glad_glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC)load("glCompileShaderARB");
+	glad_glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)load("glCreateProgramObjectARB");
+	glad_glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC)load("glAttachObjectARB");
+	glad_glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC)load("glLinkProgramARB");
+	glad_glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)load("glUseProgramObjectARB");
+	glad_glValidateProgramARB = (PFNGLVALIDATEPROGRAMARBPROC)load("glValidateProgramARB");
+	glad_glUniform1fARB = (PFNGLUNIFORM1FARBPROC)load("glUniform1fARB");
+	glad_glUniform2fARB = (PFNGLUNIFORM2FARBPROC)load("glUniform2fARB");
+	glad_glUniform3fARB = (PFNGLUNIFORM3FARBPROC)load("glUniform3fARB");
+	glad_glUniform4fARB = (PFNGLUNIFORM4FARBPROC)load("glUniform4fARB");
+	glad_glUniform1iARB = (PFNGLUNIFORM1IARBPROC)load("glUniform1iARB");
+	glad_glUniform2iARB = (PFNGLUNIFORM2IARBPROC)load("glUniform2iARB");
+	glad_glUniform3iARB = (PFNGLUNIFORM3IARBPROC)load("glUniform3iARB");
+	glad_glUniform4iARB = (PFNGLUNIFORM4IARBPROC)load("glUniform4iARB");
+	glad_glUniform1fvARB = (PFNGLUNIFORM1FVARBPROC)load("glUniform1fvARB");
+	glad_glUniform2fvARB = (PFNGLUNIFORM2FVARBPROC)load("glUniform2fvARB");
+	glad_glUniform3fvARB = (PFNGLUNIFORM3FVARBPROC)load("glUniform3fvARB");
+	glad_glUniform4fvARB = (PFNGLUNIFORM4FVARBPROC)load("glUniform4fvARB");
+	glad_glUniform1ivARB = (PFNGLUNIFORM1IVARBPROC)load("glUniform1ivARB");
+	glad_glUniform2ivARB = (PFNGLUNIFORM2IVARBPROC)load("glUniform2ivARB");
+	glad_glUniform3ivARB = (PFNGLUNIFORM3IVARBPROC)load("glUniform3ivARB");
+	glad_glUniform4ivARB = (PFNGLUNIFORM4IVARBPROC)load("glUniform4ivARB");
+	glad_glUniformMatrix2fvARB = (PFNGLUNIFORMMATRIX2FVARBPROC)load("glUniformMatrix2fvARB");
+	glad_glUniformMatrix3fvARB = (PFNGLUNIFORMMATRIX3FVARBPROC)load("glUniformMatrix3fvARB");
+	glad_glUniformMatrix4fvARB = (PFNGLUNIFORMMATRIX4FVARBPROC)load("glUniformMatrix4fvARB");
+	glad_glGetObjectParameterfvARB = (PFNGLGETOBJECTPARAMETERFVARBPROC)load("glGetObjectParameterfvARB");
+	glad_glGetObjectParameterivARB = (PFNGLGETOBJECTPARAMETERIVARBPROC)load("glGetObjectParameterivARB");
+	glad_glGetInfoLogARB = (PFNGLGETINFOLOGARBPROC)load("glGetInfoLogARB");
+	glad_glGetAttachedObjectsARB = (PFNGLGETATTACHEDOBJECTSARBPROC)load("glGetAttachedObjectsARB");
+	glad_glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC)load("glGetUniformLocationARB");
+	glad_glGetActiveUniformARB = (PFNGLGETACTIVEUNIFORMARBPROC)load("glGetActiveUniformARB");
+	glad_glGetUniformfvARB = (PFNGLGETUNIFORMFVARBPROC)load("glGetUniformfvARB");
+	glad_glGetUniformivARB = (PFNGLGETUNIFORMIVARBPROC)load("glGetUniformivARB");
+	glad_glGetShaderSourceARB = (PFNGLGETSHADERSOURCEARBPROC)load("glGetShaderSourceARB");
+}
+static void load_GL_ARB_framebuffer_object(GLADloadproc load) {
+	if(!GLAD_GL_ARB_framebuffer_object) return;
+	glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer");
+	glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer");
+	glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers");
+	glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers");
+	glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage");
+	glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv");
+	glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer");
+	glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer");
+	glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers");
+	glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers");
+	glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus");
+	glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load("glFramebufferTexture1D");
+	glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D");
+	glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load("glFramebufferTexture3D");
+	glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer");
+	glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv");
+	glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap");
+	glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer");
+	glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample");
+	glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer");
+}
+static void load_GL_ATI_envmap_bumpmap(GLADloadproc load) {
+	if(!GLAD_GL_ATI_envmap_bumpmap) return;
+	glad_glTexBumpParameterivATI = (PFNGLTEXBUMPPARAMETERIVATIPROC)load("glTexBumpParameterivATI");
+	glad_glTexBumpParameterfvATI = (PFNGLTEXBUMPPARAMETERFVATIPROC)load("glTexBumpParameterfvATI");
+	glad_glGetTexBumpParameterivATI = (PFNGLGETTEXBUMPPARAMETERIVATIPROC)load("glGetTexBumpParameterivATI");
+	glad_glGetTexBumpParameterfvATI = (PFNGLGETTEXBUMPPARAMETERFVATIPROC)load("glGetTexBumpParameterfvATI");
+}
+static void load_GL_ATI_map_object_buffer(GLADloadproc load) {
+	if(!GLAD_GL_ATI_map_object_buffer) return;
+	glad_glMapObjectBufferATI = (PFNGLMAPOBJECTBUFFERATIPROC)load("glMapObjectBufferATI");
+	glad_glUnmapObjectBufferATI = (PFNGLUNMAPOBJECTBUFFERATIPROC)load("glUnmapObjectBufferATI");
+}
+static void load_GL_ARB_robustness(GLADloadproc load) {
+	if(!GLAD_GL_ARB_robustness) return;
+	glad_glGetGraphicsResetStatusARB = (PFNGLGETGRAPHICSRESETSTATUSARBPROC)load("glGetGraphicsResetStatusARB");
+	glad_glGetnTexImageARB = (PFNGLGETNTEXIMAGEARBPROC)load("glGetnTexImageARB");
+	glad_glReadnPixelsARB = (PFNGLREADNPIXELSARBPROC)load("glReadnPixelsARB");
+	glad_glGetnCompressedTexImageARB = (PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC)load("glGetnCompressedTexImageARB");
+	glad_glGetnUniformfvARB = (PFNGLGETNUNIFORMFVARBPROC)load("glGetnUniformfvARB");
+	glad_glGetnUniformivARB = (PFNGLGETNUNIFORMIVARBPROC)load("glGetnUniformivARB");
+	glad_glGetnUniformuivARB = (PFNGLGETNUNIFORMUIVARBPROC)load("glGetnUniformuivARB");
+	glad_glGetnUniformdvARB = (PFNGLGETNUNIFORMDVARBPROC)load("glGetnUniformdvARB");
+	glad_glGetnMapdvARB = (PFNGLGETNMAPDVARBPROC)load("glGetnMapdvARB");
+	glad_glGetnMapfvARB = (PFNGLGETNMAPFVARBPROC)load("glGetnMapfvARB");
+	glad_glGetnMapivARB = (PFNGLGETNMAPIVARBPROC)load("glGetnMapivARB");
+	glad_glGetnPixelMapfvARB = (PFNGLGETNPIXELMAPFVARBPROC)load("glGetnPixelMapfvARB");
+	glad_glGetnPixelMapuivARB = (PFNGLGETNPIXELMAPUIVARBPROC)load("glGetnPixelMapuivARB");
+	glad_glGetnPixelMapusvARB = (PFNGLGETNPIXELMAPUSVARBPROC)load("glGetnPixelMapusvARB");
+	glad_glGetnPolygonStippleARB = (PFNGLGETNPOLYGONSTIPPLEARBPROC)load("glGetnPolygonStippleARB");
+	glad_glGetnColorTableARB = (PFNGLGETNCOLORTABLEARBPROC)load("glGetnColorTableARB");
+	glad_glGetnConvolutionFilterARB = (PFNGLGETNCONVOLUTIONFILTERARBPROC)load("glGetnConvolutionFilterARB");
+	glad_glGetnSeparableFilterARB = (PFNGLGETNSEPARABLEFILTERARBPROC)load("glGetnSeparableFilterARB");
+	glad_glGetnHistogramARB = (PFNGLGETNHISTOGRAMARBPROC)load("glGetnHistogramARB");
+	glad_glGetnMinmaxARB = (PFNGLGETNMINMAXARBPROC)load("glGetnMinmaxARB");
+}
+static void load_GL_NV_pixel_data_range(GLADloadproc load) {
+	if(!GLAD_GL_NV_pixel_data_range) return;
+	glad_glPixelDataRangeNV = (PFNGLPIXELDATARANGENVPROC)load("glPixelDataRangeNV");
+	glad_glFlushPixelDataRangeNV = (PFNGLFLUSHPIXELDATARANGENVPROC)load("glFlushPixelDataRangeNV");
+}
+static void load_GL_EXT_framebuffer_blit(GLADloadproc load) {
+	if(!GLAD_GL_EXT_framebuffer_blit) return;
+	glad_glBlitFramebufferEXT = (PFNGLBLITFRAMEBUFFEREXTPROC)load("glBlitFramebufferEXT");
+}
+static void load_GL_ARB_gpu_shader_fp64(GLADloadproc load) {
+	if(!GLAD_GL_ARB_gpu_shader_fp64) return;
+	glad_glUniform1d = (PFNGLUNIFORM1DPROC)load("glUniform1d");
+	glad_glUniform2d = (PFNGLUNIFORM2DPROC)load("glUniform2d");
+	glad_glUniform3d = (PFNGLUNIFORM3DPROC)load("glUniform3d");
+	glad_glUniform4d = (PFNGLUNIFORM4DPROC)load("glUniform4d");
+	glad_glUniform1dv = (PFNGLUNIFORM1DVPROC)load("glUniform1dv");
+	glad_glUniform2dv = (PFNGLUNIFORM2DVPROC)load("glUniform2dv");
+	glad_glUniform3dv = (PFNGLUNIFORM3DVPROC)load("glUniform3dv");
+	glad_glUniform4dv = (PFNGLUNIFORM4DVPROC)load("glUniform4dv");
+	glad_glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC)load("glUniformMatrix2dv");
+	glad_glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC)load("glUniformMatrix3dv");
+	glad_glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC)load("glUniformMatrix4dv");
+	glad_glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC)load("glUniformMatrix2x3dv");
+	glad_glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC)load("glUniformMatrix2x4dv");
+	glad_glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC)load("glUniformMatrix3x2dv");
+	glad_glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC)load("glUniformMatrix3x4dv");
+	glad_glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC)load("glUniformMatrix4x2dv");
+	glad_glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC)load("glUniformMatrix4x3dv");
+	glad_glGetUniformdv = (PFNGLGETUNIFORMDVPROC)load("glGetUniformdv");
+}
+static void load_GL_EXT_vertex_weighting(GLADloadproc load) {
+	if(!GLAD_GL_EXT_vertex_weighting) return;
+	glad_glVertexWeightfEXT = (PFNGLVERTEXWEIGHTFEXTPROC)load("glVertexWeightfEXT");
+	glad_glVertexWeightfvEXT = (PFNGLVERTEXWEIGHTFVEXTPROC)load("glVertexWeightfvEXT");
+	glad_glVertexWeightPointerEXT = (PFNGLVERTEXWEIGHTPOINTEREXTPROC)load("glVertexWeightPointerEXT");
+}
+static void load_GL_GREMEDY_string_marker(GLADloadproc load) {
+	if(!GLAD_GL_GREMEDY_string_marker) return;
+	glad_glStringMarkerGREMEDY = (PFNGLSTRINGMARKERGREMEDYPROC)load("glStringMarkerGREMEDY");
+}
+static void load_GL_EXT_subtexture(GLADloadproc load) {
+	if(!GLAD_GL_EXT_subtexture) return;
+	glad_glTexSubImage1DEXT = (PFNGLTEXSUBIMAGE1DEXTPROC)load("glTexSubImage1DEXT");
+	glad_glTexSubImage2DEXT = (PFNGLTEXSUBIMAGE2DEXTPROC)load("glTexSubImage2DEXT");
+}
+static void load_GL_NV_evaluators(GLADloadproc load) {
+	if(!GLAD_GL_NV_evaluators) return;
+	glad_glMapControlPointsNV = (PFNGLMAPCONTROLPOINTSNVPROC)load("glMapControlPointsNV");
+	glad_glMapParameterivNV = (PFNGLMAPPARAMETERIVNVPROC)load("glMapParameterivNV");
+	glad_glMapParameterfvNV = (PFNGLMAPPARAMETERFVNVPROC)load("glMapParameterfvNV");
+	glad_glGetMapControlPointsNV = (PFNGLGETMAPCONTROLPOINTSNVPROC)load("glGetMapControlPointsNV");
+	glad_glGetMapParameterivNV = (PFNGLGETMAPPARAMETERIVNVPROC)load("glGetMapParameterivNV");
+	glad_glGetMapParameterfvNV = (PFNGLGETMAPPARAMETERFVNVPROC)load("glGetMapParameterfvNV");
+	glad_glGetMapAttribParameterivNV = (PFNGLGETMAPATTRIBPARAMETERIVNVPROC)load("glGetMapAttribParameterivNV");
+	glad_glGetMapAttribParameterfvNV = (PFNGLGETMAPATTRIBPARAMETERFVNVPROC)load("glGetMapAttribParameterfvNV");
+	glad_glEvalMapsNV = (PFNGLEVALMAPSNVPROC)load("glEvalMapsNV");
+}
+static void load_GL_SGIS_texture_filter4(GLADloadproc load) {
+	if(!GLAD_GL_SGIS_texture_filter4) return;
+	glad_glGetTexFilterFuncSGIS = (PFNGLGETTEXFILTERFUNCSGISPROC)load("glGetTexFilterFuncSGIS");
+	glad_glTexFilterFuncSGIS = (PFNGLTEXFILTERFUNCSGISPROC)load("glTexFilterFuncSGIS");
+}
+static void load_GL_AMD_performance_monitor(GLADloadproc load) {
+	if(!GLAD_GL_AMD_performance_monitor) return;
+	glad_glGetPerfMonitorGroupsAMD = (PFNGLGETPERFMONITORGROUPSAMDPROC)load("glGetPerfMonitorGroupsAMD");
+	glad_glGetPerfMonitorCountersAMD = (PFNGLGETPERFMONITORCOUNTERSAMDPROC)load("glGetPerfMonitorCountersAMD");
+	glad_glGetPerfMonitorGroupStringAMD = (PFNGLGETPERFMONITORGROUPSTRINGAMDPROC)load("glGetPerfMonitorGroupStringAMD");
+	glad_glGetPerfMonitorCounterStringAMD = (PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC)load("glGetPerfMonitorCounterStringAMD");
+	glad_glGetPerfMonitorCounterInfoAMD = (PFNGLGETPERFMONITORCOUNTERINFOAMDPROC)load("glGetPerfMonitorCounterInfoAMD");
+	glad_glGenPerfMonitorsAMD = (PFNGLGENPERFMONITORSAMDPROC)load("glGenPerfMonitorsAMD");
+	glad_glDeletePerfMonitorsAMD = (PFNGLDELETEPERFMONITORSAMDPROC)load("glDeletePerfMonitorsAMD");
+	glad_glSelectPerfMonitorCountersAMD = (PFNGLSELECTPERFMONITORCOUNTERSAMDPROC)load("glSelectPerfMonitorCountersAMD");
+	glad_glBeginPerfMonitorAMD = (PFNGLBEGINPERFMONITORAMDPROC)load("glBeginPerfMonitorAMD");
+	glad_glEndPerfMonitorAMD = (PFNGLENDPERFMONITORAMDPROC)load("glEndPerfMonitorAMD");
+	glad_glGetPerfMonitorCounterDataAMD = (PFNGLGETPERFMONITORCOUNTERDATAAMDPROC)load("glGetPerfMonitorCounterDataAMD");
+}
+static void load_GL_EXT_stencil_clear_tag(GLADloadproc load) {
+	if(!GLAD_GL_EXT_stencil_clear_tag) return;
+	glad_glStencilClearTagEXT = (PFNGLSTENCILCLEARTAGEXTPROC)load("glStencilClearTagEXT");
+}
+static void load_GL_NV_present_video(GLADloadproc load) {
+	if(!GLAD_GL_NV_present_video) return;
+	glad_glPresentFrameKeyedNV = (PFNGLPRESENTFRAMEKEYEDNVPROC)load("glPresentFrameKeyedNV");
+	glad_glPresentFrameDualFillNV = (PFNGLPRESENTFRAMEDUALFILLNVPROC)load("glPresentFrameDualFillNV");
+	glad_glGetVideoivNV = (PFNGLGETVIDEOIVNVPROC)load("glGetVideoivNV");
+	glad_glGetVideouivNV = (PFNGLGETVIDEOUIVNVPROC)load("glGetVideouivNV");
+	glad_glGetVideoi64vNV = (PFNGLGETVIDEOI64VNVPROC)load("glGetVideoi64vNV");
+	glad_glGetVideoui64vNV = (PFNGLGETVIDEOUI64VNVPROC)load("glGetVideoui64vNV");
+}
+static void load_GL_EXT_gpu_program_parameters(GLADloadproc load) {
+	if(!GLAD_GL_EXT_gpu_program_parameters) return;
+	glad_glProgramEnvParameters4fvEXT = (PFNGLPROGRAMENVPARAMETERS4FVEXTPROC)load("glProgramEnvParameters4fvEXT");
+	glad_glProgramLocalParameters4fvEXT = (PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC)load("glProgramLocalParameters4fvEXT");
+}
+static void load_GL_ARB_draw_elements_base_vertex(GLADloadproc load) {
+	if(!GLAD_GL_ARB_draw_elements_base_vertex) return;
+	glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load("glDrawElementsBaseVertex");
+	glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load("glDrawRangeElementsBaseVertex");
+	glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load("glDrawElementsInstancedBaseVertex");
+	glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load("glMultiDrawElementsBaseVertex");
+}
+static void load_GL_NV_transform_feedback(GLADloadproc load) {
+	if(!GLAD_GL_NV_transform_feedback) return;
+	glad_glBeginTransformFeedbackNV = (PFNGLBEGINTRANSFORMFEEDBACKNVPROC)load("glBeginTransformFeedbackNV");
+	glad_glEndTransformFeedbackNV = (PFNGLENDTRANSFORMFEEDBACKNVPROC)load("glEndTransformFeedbackNV");
+	glad_glTransformFeedbackAttribsNV = (PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC)load("glTransformFeedbackAttribsNV");
+	glad_glBindBufferRangeNV = (PFNGLBINDBUFFERRANGENVPROC)load("glBindBufferRangeNV");
+	glad_glBindBufferOffsetNV = (PFNGLBINDBUFFEROFFSETNVPROC)load("glBindBufferOffsetNV");
+	glad_glBindBufferBaseNV = (PFNGLBINDBUFFERBASENVPROC)load("glBindBufferBaseNV");
+	glad_glTransformFeedbackVaryingsNV = (PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC)load("glTransformFeedbackVaryingsNV");
+	glad_glActiveVaryingNV = (PFNGLACTIVEVARYINGNVPROC)load("glActiveVaryingNV");
+	glad_glGetVaryingLocationNV = (PFNGLGETVARYINGLOCATIONNVPROC)load("glGetVaryingLocationNV");
+	glad_glGetActiveVaryingNV = (PFNGLGETACTIVEVARYINGNVPROC)load("glGetActiveVaryingNV");
+	glad_glGetTransformFeedbackVaryingNV = (PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC)load("glGetTransformFeedbackVaryingNV");
+	glad_glTransformFeedbackStreamAttribsNV = (PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC)load("glTransformFeedbackStreamAttribsNV");
+}
+static void load_GL_NV_fragment_program(GLADloadproc load) {
+	if(!GLAD_GL_NV_fragment_program) return;
+	glad_glProgramNamedParameter4fNV = (PFNGLPROGRAMNAMEDPARAMETER4FNVPROC)load("glProgramNamedParameter4fNV");
+	glad_glProgramNamedParameter4fvNV = (PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC)load("glProgramNamedParameter4fvNV");
+	glad_glProgramNamedParameter4dNV = (PFNGLPROGRAMNAMEDPARAMETER4DNVPROC)load("glProgramNamedParameter4dNV");
+	glad_glProgramNamedParameter4dvNV = (PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC)load("glProgramNamedParameter4dvNV");
+	glad_glGetProgramNamedParameterfvNV = (PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC)load("glGetProgramNamedParameterfvNV");
+	glad_glGetProgramNamedParameterdvNV = (PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC)load("glGetProgramNamedParameterdvNV");
+}
+static void load_GL_AMD_stencil_operation_extended(GLADloadproc load) {
+	if(!GLAD_GL_AMD_stencil_operation_extended) return;
+	glad_glStencilOpValueAMD = (PFNGLSTENCILOPVALUEAMDPROC)load("glStencilOpValueAMD");
+}
+static void load_GL_ARB_instanced_arrays(GLADloadproc load) {
+	if(!GLAD_GL_ARB_instanced_arrays) return;
+	glad_glVertexAttribDivisorARB = (PFNGLVERTEXATTRIBDIVISORARBPROC)load("glVertexAttribDivisorARB");
+}
+static void load_GL_EXT_polygon_offset(GLADloadproc load) {
+	if(!GLAD_GL_EXT_polygon_offset) return;
+	glad_glPolygonOffsetEXT = (PFNGLPOLYGONOFFSETEXTPROC)load("glPolygonOffsetEXT");
+}
+static void load_GL_AMD_sparse_texture(GLADloadproc load) {
+	if(!GLAD_GL_AMD_sparse_texture) return;
+	glad_glTexStorageSparseAMD = (PFNGLTEXSTORAGESPARSEAMDPROC)load("glTexStorageSparseAMD");
+	glad_glTextureStorageSparseAMD = (PFNGLTEXTURESTORAGESPARSEAMDPROC)load("glTextureStorageSparseAMD");
+}
+static void load_GL_NV_fence(GLADloadproc load) {
+	if(!GLAD_GL_NV_fence) return;
+	glad_glDeleteFencesNV = (PFNGLDELETEFENCESNVPROC)load("glDeleteFencesNV");
+	glad_glGenFencesNV = (PFNGLGENFENCESNVPROC)load("glGenFencesNV");
+	glad_glIsFenceNV = (PFNGLISFENCENVPROC)load("glIsFenceNV");
+	glad_glTestFenceNV = (PFNGLTESTFENCENVPROC)load("glTestFenceNV");
+	glad_glGetFenceivNV = (PFNGLGETFENCEIVNVPROC)load("glGetFenceivNV");
+	glad_glFinishFenceNV = (PFNGLFINISHFENCENVPROC)load("glFinishFenceNV");
+	glad_glSetFenceNV = (PFNGLSETFENCENVPROC)load("glSetFenceNV");
+}
+static void load_GL_ARB_texture_buffer_range(GLADloadproc load) {
+	if(!GLAD_GL_ARB_texture_buffer_range) return;
+	glad_glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC)load("glTexBufferRange");
+}
+static void load_GL_SUN_mesh_array(GLADloadproc load) {
+	if(!GLAD_GL_SUN_mesh_array) return;
+	glad_glDrawMeshArraysSUN = (PFNGLDRAWMESHARRAYSSUNPROC)load("glDrawMeshArraysSUN");
+}
+static void load_GL_ARB_vertex_attrib_binding(GLADloadproc load) {
+	if(!GLAD_GL_ARB_vertex_attrib_binding) return;
+	glad_glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC)load("glBindVertexBuffer");
+	glad_glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC)load("glVertexAttribFormat");
+	glad_glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC)load("glVertexAttribIFormat");
+	glad_glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC)load("glVertexAttribLFormat");
+	glad_glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC)load("glVertexAttribBinding");
+	glad_glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC)load("glVertexBindingDivisor");
+}
+static void load_GL_ARB_framebuffer_no_attachments(GLADloadproc load) {
+	if(!GLAD_GL_ARB_framebuffer_no_attachments) return;
+	glad_glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC)load("glFramebufferParameteri");
+	glad_glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC)load("glGetFramebufferParameteriv");
+}
+static void load_GL_ARB_cl_event(GLADloadproc load) {
+	if(!GLAD_GL_ARB_cl_event) return;
+	glad_glCreateSyncFromCLeventARB = (PFNGLCREATESYNCFROMCLEVENTARBPROC)load("glCreateSyncFromCLeventARB");
+}
+static void load_GL_OES_single_precision(GLADloadproc load) {
+	if(!GLAD_GL_OES_single_precision) return;
+	glad_glClearDepthfOES = (PFNGLCLEARDEPTHFOESPROC)load("glClearDepthfOES");
+	glad_glClipPlanefOES = (PFNGLCLIPPLANEFOESPROC)load("glClipPlanefOES");
+	glad_glDepthRangefOES = (PFNGLDEPTHRANGEFOESPROC)load("glDepthRangefOES");
+	glad_glFrustumfOES = (PFNGLFRUSTUMFOESPROC)load("glFrustumfOES");
+	glad_glGetClipPlanefOES = (PFNGLGETCLIPPLANEFOESPROC)load("glGetClipPlanefOES");
+	glad_glOrthofOES = (PFNGLORTHOFOESPROC)load("glOrthofOES");
+}
+static void load_GL_NV_primitive_restart(GLADloadproc load) {
+	if(!GLAD_GL_NV_primitive_restart) return;
+	glad_glPrimitiveRestartNV = (PFNGLPRIMITIVERESTARTNVPROC)load("glPrimitiveRestartNV");
+	glad_glPrimitiveRestartIndexNV = (PFNGLPRIMITIVERESTARTINDEXNVPROC)load("glPrimitiveRestartIndexNV");
+}
+static void load_GL_SUN_global_alpha(GLADloadproc load) {
+	if(!GLAD_GL_SUN_global_alpha) return;
+	glad_glGlobalAlphaFactorbSUN = (PFNGLGLOBALALPHAFACTORBSUNPROC)load("glGlobalAlphaFactorbSUN");
+	glad_glGlobalAlphaFactorsSUN = (PFNGLGLOBALALPHAFACTORSSUNPROC)load("glGlobalAlphaFactorsSUN");
+	glad_glGlobalAlphaFactoriSUN = (PFNGLGLOBALALPHAFACTORISUNPROC)load("glGlobalAlphaFactoriSUN");
+	glad_glGlobalAlphaFactorfSUN = (PFNGLGLOBALALPHAFACTORFSUNPROC)load("glGlobalAlphaFactorfSUN");
+	glad_glGlobalAlphaFactordSUN = (PFNGLGLOBALALPHAFACTORDSUNPROC)load("glGlobalAlphaFactordSUN");
+	glad_glGlobalAlphaFactorubSUN = (PFNGLGLOBALALPHAFACTORUBSUNPROC)load("glGlobalAlphaFactorubSUN");
+	glad_glGlobalAlphaFactorusSUN = (PFNGLGLOBALALPHAFACTORUSSUNPROC)load("glGlobalAlphaFactorusSUN");
+	glad_glGlobalAlphaFactoruiSUN = (PFNGLGLOBALALPHAFACTORUISUNPROC)load("glGlobalAlphaFactoruiSUN");
+}
+static void load_GL_EXT_texture_object(GLADloadproc load) {
+	if(!GLAD_GL_EXT_texture_object) return;
+	glad_glAreTexturesResidentEXT = (PFNGLARETEXTURESRESIDENTEXTPROC)load("glAreTexturesResidentEXT");
+	glad_glBindTextureEXT = (PFNGLBINDTEXTUREEXTPROC)load("glBindTextureEXT");
+	glad_glDeleteTexturesEXT = (PFNGLDELETETEXTURESEXTPROC)load("glDeleteTexturesEXT");
+	glad_glGenTexturesEXT = (PFNGLGENTEXTURESEXTPROC)load("glGenTexturesEXT");
+	glad_glIsTextureEXT = (PFNGLISTEXTUREEXTPROC)load("glIsTextureEXT");
+	glad_glPrioritizeTexturesEXT = (PFNGLPRIORITIZETEXTURESEXTPROC)load("glPrioritizeTexturesEXT");
+}
+static void load_GL_AMD_name_gen_delete(GLADloadproc load) {
+	if(!GLAD_GL_AMD_name_gen_delete) return;
+	glad_glGenNamesAMD = (PFNGLGENNAMESAMDPROC)load("glGenNamesAMD");
+	glad_glDeleteNamesAMD = (PFNGLDELETENAMESAMDPROC)load("glDeleteNamesAMD");
+	glad_glIsNameAMD = (PFNGLISNAMEAMDPROC)load("glIsNameAMD");
+}
+static void load_GL_ARB_buffer_storage(GLADloadproc load) {
+	if(!GLAD_GL_ARB_buffer_storage) return;
+	glad_glBufferStorage = (PFNGLBUFFERSTORAGEPROC)load("glBufferStorage");
+}
+static void load_GL_APPLE_vertex_program_evaluators(GLADloadproc load) {
+	if(!GLAD_GL_APPLE_vertex_program_evaluators) return;
+	glad_glEnableVertexAttribAPPLE = (PFNGLENABLEVERTEXATTRIBAPPLEPROC)load("glEnableVertexAttribAPPLE");
+	glad_glDisableVertexAttribAPPLE = (PFNGLDISABLEVERTEXATTRIBAPPLEPROC)load("glDisableVertexAttribAPPLE");
+	glad_glIsVertexAttribEnabledAPPLE = (PFNGLISVERTEXATTRIBENABLEDAPPLEPROC)load("glIsVertexAttribEnabledAPPLE");
+	glad_glMapVertexAttrib1dAPPLE = (PFNGLMAPVERTEXATTRIB1DAPPLEPROC)load("glMapVertexAttrib1dAPPLE");
+	glad_glMapVertexAttrib1fAPPLE = (PFNGLMAPVERTEXATTRIB1FAPPLEPROC)load("glMapVertexAttrib1fAPPLE");
+	glad_glMapVertexAttrib2dAPPLE = (PFNGLMAPVERTEXATTRIB2DAPPLEPROC)load("glMapVertexAttrib2dAPPLE");
+	glad_glMapVertexAttrib2fAPPLE = (PFNGLMAPVERTEXATTRIB2FAPPLEPROC)load("glMapVertexAttrib2fAPPLE");
+}
+static void load_GL_ARB_multi_bind(GLADloadproc load) {
+	if(!GLAD_GL_ARB_multi_bind) return;
+	glad_glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC)load("glBindBuffersBase");
+	glad_glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC)load("glBindBuffersRange");
+	glad_glBindTextures = (PFNGLBINDTEXTURESPROC)load("glBindTextures");
+	glad_glBindSamplers = (PFNGLBINDSAMPLERSPROC)load("glBindSamplers");
+	glad_glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC)load("glBindImageTextures");
+	glad_glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC)load("glBindVertexBuffers");
+}
+static void load_GL_SGIX_list_priority(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_list_priority) return;
+	glad_glGetListParameterfvSGIX = (PFNGLGETLISTPARAMETERFVSGIXPROC)load("glGetListParameterfvSGIX");
+	glad_glGetListParameterivSGIX = (PFNGLGETLISTPARAMETERIVSGIXPROC)load("glGetListParameterivSGIX");
+	glad_glListParameterfSGIX = (PFNGLLISTPARAMETERFSGIXPROC)load("glListParameterfSGIX");
+	glad_glListParameterfvSGIX = (PFNGLLISTPARAMETERFVSGIXPROC)load("glListParameterfvSGIX");
+	glad_glListParameteriSGIX = (PFNGLLISTPARAMETERISGIXPROC)load("glListParameteriSGIX");
+	glad_glListParameterivSGIX = (PFNGLLISTPARAMETERIVSGIXPROC)load("glListParameterivSGIX");
+}
+static void load_GL_NV_vertex_buffer_unified_memory(GLADloadproc load) {
+	if(!GLAD_GL_NV_vertex_buffer_unified_memory) return;
+	glad_glBufferAddressRangeNV = (PFNGLBUFFERADDRESSRANGENVPROC)load("glBufferAddressRangeNV");
+	glad_glVertexFormatNV = (PFNGLVERTEXFORMATNVPROC)load("glVertexFormatNV");
+	glad_glNormalFormatNV = (PFNGLNORMALFORMATNVPROC)load("glNormalFormatNV");
+	glad_glColorFormatNV = (PFNGLCOLORFORMATNVPROC)load("glColorFormatNV");
+	glad_glIndexFormatNV = (PFNGLINDEXFORMATNVPROC)load("glIndexFormatNV");
+	glad_glTexCoordFormatNV = (PFNGLTEXCOORDFORMATNVPROC)load("glTexCoordFormatNV");
+	glad_glEdgeFlagFormatNV = (PFNGLEDGEFLAGFORMATNVPROC)load("glEdgeFlagFormatNV");
+	glad_glSecondaryColorFormatNV = (PFNGLSECONDARYCOLORFORMATNVPROC)load("glSecondaryColorFormatNV");
+	glad_glFogCoordFormatNV = (PFNGLFOGCOORDFORMATNVPROC)load("glFogCoordFormatNV");
+	glad_glVertexAttribFormatNV = (PFNGLVERTEXATTRIBFORMATNVPROC)load("glVertexAttribFormatNV");
+	glad_glVertexAttribIFormatNV = (PFNGLVERTEXATTRIBIFORMATNVPROC)load("glVertexAttribIFormatNV");
+	glad_glGetIntegerui64i_vNV = (PFNGLGETINTEGERUI64I_VNVPROC)load("glGetIntegerui64i_vNV");
+}
+static void load_GL_NV_blend_equation_advanced(GLADloadproc load) {
+	if(!GLAD_GL_NV_blend_equation_advanced) return;
+	glad_glBlendParameteriNV = (PFNGLBLENDPARAMETERINVPROC)load("glBlendParameteriNV");
+	glad_glBlendBarrierNV = (PFNGLBLENDBARRIERNVPROC)load("glBlendBarrierNV");
+}
+static void load_GL_SGIS_sharpen_texture(GLADloadproc load) {
+	if(!GLAD_GL_SGIS_sharpen_texture) return;
+	glad_glSharpenTexFuncSGIS = (PFNGLSHARPENTEXFUNCSGISPROC)load("glSharpenTexFuncSGIS");
+	glad_glGetSharpenTexFuncSGIS = (PFNGLGETSHARPENTEXFUNCSGISPROC)load("glGetSharpenTexFuncSGIS");
+}
+static void load_GL_ARB_vertex_program(GLADloadproc load) {
+	if(!GLAD_GL_ARB_vertex_program) return;
+	glad_glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC)load("glVertexAttrib1dARB");
+	glad_glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC)load("glVertexAttrib1dvARB");
+	glad_glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC)load("glVertexAttrib1fARB");
+	glad_glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC)load("glVertexAttrib1fvARB");
+	glad_glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC)load("glVertexAttrib1sARB");
+	glad_glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC)load("glVertexAttrib1svARB");
+	glad_glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC)load("glVertexAttrib2dARB");
+	glad_glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC)load("glVertexAttrib2dvARB");
+	glad_glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC)load("glVertexAttrib2fARB");
+	glad_glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC)load("glVertexAttrib2fvARB");
+	glad_glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC)load("glVertexAttrib2sARB");
+	glad_glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC)load("glVertexAttrib2svARB");
+	glad_glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC)load("glVertexAttrib3dARB");
+	glad_glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC)load("glVertexAttrib3dvARB");
+	glad_glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC)load("glVertexAttrib3fARB");
+	glad_glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC)load("glVertexAttrib3fvARB");
+	glad_glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC)load("glVertexAttrib3sARB");
+	glad_glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC)load("glVertexAttrib3svARB");
+	glad_glVertexAttrib4NbvARB = (PFNGLVERTEXATTRIB4NBVARBPROC)load("glVertexAttrib4NbvARB");
+	glad_glVertexAttrib4NivARB = (PFNGLVERTEXATTRIB4NIVARBPROC)load("glVertexAttrib4NivARB");
+	glad_glVertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC)load("glVertexAttrib4NsvARB");
+	glad_glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC)load("glVertexAttrib4NubARB");
+	glad_glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC)load("glVertexAttrib4NubvARB");
+	glad_glVertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC)load("glVertexAttrib4NuivARB");
+	glad_glVertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC)load("glVertexAttrib4NusvARB");
+	glad_glVertexAttrib4bvARB = (PFNGLVERTEXATTRIB4BVARBPROC)load("glVertexAttrib4bvARB");
+	glad_glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC)load("glVertexAttrib4dARB");
+	glad_glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC)load("glVertexAttrib4dvARB");
+	glad_glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC)load("glVertexAttrib4fARB");
+	glad_glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC)load("glVertexAttrib4fvARB");
+	glad_glVertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC)load("glVertexAttrib4ivARB");
+	glad_glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC)load("glVertexAttrib4sARB");
+	glad_glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC)load("glVertexAttrib4svARB");
+	glad_glVertexAttrib4ubvARB = (PFNGLVERTEXATTRIB4UBVARBPROC)load("glVertexAttrib4ubvARB");
+	glad_glVertexAttrib4uivARB = (PFNGLVERTEXATTRIB4UIVARBPROC)load("glVertexAttrib4uivARB");
+	glad_glVertexAttrib4usvARB = (PFNGLVERTEXATTRIB4USVARBPROC)load("glVertexAttrib4usvARB");
+	glad_glVertexAttribPointerARB = (PFNGLVERTEXATTRIBPOINTERARBPROC)load("glVertexAttribPointerARB");
+	glad_glEnableVertexAttribArrayARB = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC)load("glEnableVertexAttribArrayARB");
+	glad_glDisableVertexAttribArrayARB = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)load("glDisableVertexAttribArrayARB");
+	glad_glProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC)load("glProgramStringARB");
+	glad_glBindProgramARB = (PFNGLBINDPROGRAMARBPROC)load("glBindProgramARB");
+	glad_glDeleteProgramsARB = (PFNGLDELETEPROGRAMSARBPROC)load("glDeleteProgramsARB");
+	glad_glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC)load("glGenProgramsARB");
+	glad_glProgramEnvParameter4dARB = (PFNGLPROGRAMENVPARAMETER4DARBPROC)load("glProgramEnvParameter4dARB");
+	glad_glProgramEnvParameter4dvARB = (PFNGLPROGRAMENVPARAMETER4DVARBPROC)load("glProgramEnvParameter4dvARB");
+	glad_glProgramEnvParameter4fARB = (PFNGLPROGRAMENVPARAMETER4FARBPROC)load("glProgramEnvParameter4fARB");
+	glad_glProgramEnvParameter4fvARB = (PFNGLPROGRAMENVPARAMETER4FVARBPROC)load("glProgramEnvParameter4fvARB");
+	glad_glProgramLocalParameter4dARB = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC)load("glProgramLocalParameter4dARB");
+	glad_glProgramLocalParameter4dvARB = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)load("glProgramLocalParameter4dvARB");
+	glad_glProgramLocalParameter4fARB = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC)load("glProgramLocalParameter4fARB");
+	glad_glProgramLocalParameter4fvARB = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)load("glProgramLocalParameter4fvARB");
+	glad_glGetProgramEnvParameterdvARB = (PFNGLGETPROGRAMENVPARAMETERDVARBPROC)load("glGetProgramEnvParameterdvARB");
+	glad_glGetProgramEnvParameterfvARB = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC)load("glGetProgramEnvParameterfvARB");
+	glad_glGetProgramLocalParameterdvARB = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)load("glGetProgramLocalParameterdvARB");
+	glad_glGetProgramLocalParameterfvARB = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)load("glGetProgramLocalParameterfvARB");
+	glad_glGetProgramivARB = (PFNGLGETPROGRAMIVARBPROC)load("glGetProgramivARB");
+	glad_glGetProgramStringARB = (PFNGLGETPROGRAMSTRINGARBPROC)load("glGetProgramStringARB");
+	glad_glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC)load("glGetVertexAttribdvARB");
+	glad_glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC)load("glGetVertexAttribfvARB");
+	glad_glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC)load("glGetVertexAttribivARB");
+	glad_glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)load("glGetVertexAttribPointervARB");
+	glad_glIsProgramARB = (PFNGLISPROGRAMARBPROC)load("glIsProgramARB");
+}
+static void load_GL_ARB_vertex_buffer_object(GLADloadproc load) {
+	if(!GLAD_GL_ARB_vertex_buffer_object) return;
+	glad_glBindBufferARB = (PFNGLBINDBUFFERARBPROC)load("glBindBufferARB");
+	glad_glDeleteBuffersARB = (PFNGLDELETEBUFFERSARBPROC)load("glDeleteBuffersARB");
+	glad_glGenBuffersARB = (PFNGLGENBUFFERSARBPROC)load("glGenBuffersARB");
+	glad_glIsBufferARB = (PFNGLISBUFFERARBPROC)load("glIsBufferARB");
+	glad_glBufferDataARB = (PFNGLBUFFERDATAARBPROC)load("glBufferDataARB");
+	glad_glBufferSubDataARB = (PFNGLBUFFERSUBDATAARBPROC)load("glBufferSubDataARB");
+	glad_glGetBufferSubDataARB = (PFNGLGETBUFFERSUBDATAARBPROC)load("glGetBufferSubDataARB");
+	glad_glMapBufferARB = (PFNGLMAPBUFFERARBPROC)load("glMapBufferARB");
+	glad_glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC)load("glUnmapBufferARB");
+	glad_glGetBufferParameterivARB = (PFNGLGETBUFFERPARAMETERIVARBPROC)load("glGetBufferParameterivARB");
+	glad_glGetBufferPointervARB = (PFNGLGETBUFFERPOINTERVARBPROC)load("glGetBufferPointervARB");
+}
+static void load_GL_NV_vertex_array_range(GLADloadproc load) {
+	if(!GLAD_GL_NV_vertex_array_range) return;
+	glad_glFlushVertexArrayRangeNV = (PFNGLFLUSHVERTEXARRAYRANGENVPROC)load("glFlushVertexArrayRangeNV");
+	glad_glVertexArrayRangeNV = (PFNGLVERTEXARRAYRANGENVPROC)load("glVertexArrayRangeNV");
+}
+static void load_GL_SGIX_fragment_lighting(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_fragment_lighting) return;
+	glad_glFragmentColorMaterialSGIX = (PFNGLFRAGMENTCOLORMATERIALSGIXPROC)load("glFragmentColorMaterialSGIX");
+	glad_glFragmentLightfSGIX = (PFNGLFRAGMENTLIGHTFSGIXPROC)load("glFragmentLightfSGIX");
+	glad_glFragmentLightfvSGIX = (PFNGLFRAGMENTLIGHTFVSGIXPROC)load("glFragmentLightfvSGIX");
+	glad_glFragmentLightiSGIX = (PFNGLFRAGMENTLIGHTISGIXPROC)load("glFragmentLightiSGIX");
+	glad_glFragmentLightivSGIX = (PFNGLFRAGMENTLIGHTIVSGIXPROC)load("glFragmentLightivSGIX");
+	glad_glFragmentLightModelfSGIX = (PFNGLFRAGMENTLIGHTMODELFSGIXPROC)load("glFragmentLightModelfSGIX");
+	glad_glFragmentLightModelfvSGIX = (PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)load("glFragmentLightModelfvSGIX");
+	glad_glFragmentLightModeliSGIX = (PFNGLFRAGMENTLIGHTMODELISGIXPROC)load("glFragmentLightModeliSGIX");
+	glad_glFragmentLightModelivSGIX = (PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)load("glFragmentLightModelivSGIX");
+	glad_glFragmentMaterialfSGIX = (PFNGLFRAGMENTMATERIALFSGIXPROC)load("glFragmentMaterialfSGIX");
+	glad_glFragmentMaterialfvSGIX = (PFNGLFRAGMENTMATERIALFVSGIXPROC)load("glFragmentMaterialfvSGIX");
+	glad_glFragmentMaterialiSGIX = (PFNGLFRAGMENTMATERIALISGIXPROC)load("glFragmentMaterialiSGIX");
+	glad_glFragmentMaterialivSGIX = (PFNGLFRAGMENTMATERIALIVSGIXPROC)load("glFragmentMaterialivSGIX");
+	glad_glGetFragmentLightfvSGIX = (PFNGLGETFRAGMENTLIGHTFVSGIXPROC)load("glGetFragmentLightfvSGIX");
+	glad_glGetFragmentLightivSGIX = (PFNGLGETFRAGMENTLIGHTIVSGIXPROC)load("glGetFragmentLightivSGIX");
+	glad_glGetFragmentMaterialfvSGIX = (PFNGLGETFRAGMENTMATERIALFVSGIXPROC)load("glGetFragmentMaterialfvSGIX");
+	glad_glGetFragmentMaterialivSGIX = (PFNGLGETFRAGMENTMATERIALIVSGIXPROC)load("glGetFragmentMaterialivSGIX");
+	glad_glLightEnviSGIX = (PFNGLLIGHTENVISGIXPROC)load("glLightEnviSGIX");
+}
+static void load_GL_NV_framebuffer_multisample_coverage(GLADloadproc load) {
+	if(!GLAD_GL_NV_framebuffer_multisample_coverage) return;
+	glad_glRenderbufferStorageMultisampleCoverageNV = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC)load("glRenderbufferStorageMultisampleCoverageNV");
+}
+static void load_GL_EXT_timer_query(GLADloadproc load) {
+	if(!GLAD_GL_EXT_timer_query) return;
+	glad_glGetQueryObjecti64vEXT = (PFNGLGETQUERYOBJECTI64VEXTPROC)load("glGetQueryObjecti64vEXT");
+	glad_glGetQueryObjectui64vEXT = (PFNGLGETQUERYOBJECTUI64VEXTPROC)load("glGetQueryObjectui64vEXT");
+}
+static void load_GL_NV_bindless_texture(GLADloadproc load) {
+	if(!GLAD_GL_NV_bindless_texture) return;
+	glad_glGetTextureHandleNV = (PFNGLGETTEXTUREHANDLENVPROC)load("glGetTextureHandleNV");
+	glad_glGetTextureSamplerHandleNV = (PFNGLGETTEXTURESAMPLERHANDLENVPROC)load("glGetTextureSamplerHandleNV");
+	glad_glMakeTextureHandleResidentNV = (PFNGLMAKETEXTUREHANDLERESIDENTNVPROC)load("glMakeTextureHandleResidentNV");
+	glad_glMakeTextureHandleNonResidentNV = (PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC)load("glMakeTextureHandleNonResidentNV");
+	glad_glGetImageHandleNV = (PFNGLGETIMAGEHANDLENVPROC)load("glGetImageHandleNV");
+	glad_glMakeImageHandleResidentNV = (PFNGLMAKEIMAGEHANDLERESIDENTNVPROC)load("glMakeImageHandleResidentNV");
+	glad_glMakeImageHandleNonResidentNV = (PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC)load("glMakeImageHandleNonResidentNV");
+	glad_glUniformHandleui64NV = (PFNGLUNIFORMHANDLEUI64NVPROC)load("glUniformHandleui64NV");
+	glad_glUniformHandleui64vNV = (PFNGLUNIFORMHANDLEUI64VNVPROC)load("glUniformHandleui64vNV");
+	glad_glProgramUniformHandleui64NV = (PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC)load("glProgramUniformHandleui64NV");
+	glad_glProgramUniformHandleui64vNV = (PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC)load("glProgramUniformHandleui64vNV");
+	glad_glIsTextureHandleResidentNV = (PFNGLISTEXTUREHANDLERESIDENTNVPROC)load("glIsTextureHandleResidentNV");
+	glad_glIsImageHandleResidentNV = (PFNGLISIMAGEHANDLERESIDENTNVPROC)load("glIsImageHandleResidentNV");
+}
+static void load_GL_KHR_debug(GLADloadproc load) {
+	if(!GLAD_GL_KHR_debug) return;
+	glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)load("glDebugMessageControl");
+	glad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)load("glDebugMessageInsert");
+	glad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)load("glDebugMessageCallback");
+	glad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)load("glGetDebugMessageLog");
+	glad_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)load("glPushDebugGroup");
+	glad_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)load("glPopDebugGroup");
+	glad_glObjectLabel = (PFNGLOBJECTLABELPROC)load("glObjectLabel");
+	glad_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC)load("glGetObjectLabel");
+	glad_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)load("glObjectPtrLabel");
+	glad_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)load("glGetObjectPtrLabel");
+	glad_glGetPointerv = (PFNGLGETPOINTERVPROC)load("glGetPointerv");
+	glad_glDebugMessageControlKHR = (PFNGLDEBUGMESSAGECONTROLKHRPROC)load("glDebugMessageControlKHR");
+	glad_glDebugMessageInsertKHR = (PFNGLDEBUGMESSAGEINSERTKHRPROC)load("glDebugMessageInsertKHR");
+	glad_glDebugMessageCallbackKHR = (PFNGLDEBUGMESSAGECALLBACKKHRPROC)load("glDebugMessageCallbackKHR");
+	glad_glGetDebugMessageLogKHR = (PFNGLGETDEBUGMESSAGELOGKHRPROC)load("glGetDebugMessageLogKHR");
+	glad_glPushDebugGroupKHR = (PFNGLPUSHDEBUGGROUPKHRPROC)load("glPushDebugGroupKHR");
+	glad_glPopDebugGroupKHR = (PFNGLPOPDEBUGGROUPKHRPROC)load("glPopDebugGroupKHR");
+	glad_glObjectLabelKHR = (PFNGLOBJECTLABELKHRPROC)load("glObjectLabelKHR");
+	glad_glGetObjectLabelKHR = (PFNGLGETOBJECTLABELKHRPROC)load("glGetObjectLabelKHR");
+	glad_glObjectPtrLabelKHR = (PFNGLOBJECTPTRLABELKHRPROC)load("glObjectPtrLabelKHR");
+	glad_glGetObjectPtrLabelKHR = (PFNGLGETOBJECTPTRLABELKHRPROC)load("glGetObjectPtrLabelKHR");
+	glad_glGetPointervKHR = (PFNGLGETPOINTERVKHRPROC)load("glGetPointervKHR");
+}
+static void load_GL_ATI_vertex_attrib_array_object(GLADloadproc load) {
+	if(!GLAD_GL_ATI_vertex_attrib_array_object) return;
+	glad_glVertexAttribArrayObjectATI = (PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)load("glVertexAttribArrayObjectATI");
+	glad_glGetVertexAttribArrayObjectfvATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)load("glGetVertexAttribArrayObjectfvATI");
+	glad_glGetVertexAttribArrayObjectivATI = (PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)load("glGetVertexAttribArrayObjectivATI");
+}
+static void load_GL_EXT_geometry_shader4(GLADloadproc load) {
+	if(!GLAD_GL_EXT_geometry_shader4) return;
+	glad_glProgramParameteriEXT = (PFNGLPROGRAMPARAMETERIEXTPROC)load("glProgramParameteriEXT");
+}
+static void load_GL_EXT_bindable_uniform(GLADloadproc load) {
+	if(!GLAD_GL_EXT_bindable_uniform) return;
+	glad_glUniformBufferEXT = (PFNGLUNIFORMBUFFEREXTPROC)load("glUniformBufferEXT");
+	glad_glGetUniformBufferSizeEXT = (PFNGLGETUNIFORMBUFFERSIZEEXTPROC)load("glGetUniformBufferSizeEXT");
+	glad_glGetUniformOffsetEXT = (PFNGLGETUNIFORMOFFSETEXTPROC)load("glGetUniformOffsetEXT");
+}
+static void load_GL_ATI_element_array(GLADloadproc load) {
+	if(!GLAD_GL_ATI_element_array) return;
+	glad_glElementPointerATI = (PFNGLELEMENTPOINTERATIPROC)load("glElementPointerATI");
+	glad_glDrawElementArrayATI = (PFNGLDRAWELEMENTARRAYATIPROC)load("glDrawElementArrayATI");
+	glad_glDrawRangeElementArrayATI = (PFNGLDRAWRANGEELEMENTARRAYATIPROC)load("glDrawRangeElementArrayATI");
+}
+static void load_GL_SGIX_reference_plane(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_reference_plane) return;
+	glad_glReferencePlaneSGIX = (PFNGLREFERENCEPLANESGIXPROC)load("glReferencePlaneSGIX");
+}
+static void load_GL_EXT_stencil_two_side(GLADloadproc load) {
+	if(!GLAD_GL_EXT_stencil_two_side) return;
+	glad_glActiveStencilFaceEXT = (PFNGLACTIVESTENCILFACEEXTPROC)load("glActiveStencilFaceEXT");
+}
+static void load_GL_NV_explicit_multisample(GLADloadproc load) {
+	if(!GLAD_GL_NV_explicit_multisample) return;
+	glad_glGetMultisamplefvNV = (PFNGLGETMULTISAMPLEFVNVPROC)load("glGetMultisamplefvNV");
+	glad_glSampleMaskIndexedNV = (PFNGLSAMPLEMASKINDEXEDNVPROC)load("glSampleMaskIndexedNV");
+	glad_glTexRenderbufferNV = (PFNGLTEXRENDERBUFFERNVPROC)load("glTexRenderbufferNV");
+}
+static void load_GL_IBM_static_data(GLADloadproc load) {
+	if(!GLAD_GL_IBM_static_data) return;
+	glad_glFlushStaticDataIBM = (PFNGLFLUSHSTATICDATAIBMPROC)load("glFlushStaticDataIBM");
+}
+static void load_GL_EXT_texture_perturb_normal(GLADloadproc load) {
+	if(!GLAD_GL_EXT_texture_perturb_normal) return;
+	glad_glTextureNormalEXT = (PFNGLTEXTURENORMALEXTPROC)load("glTextureNormalEXT");
+}
+static void load_GL_EXT_point_parameters(GLADloadproc load) {
+	if(!GLAD_GL_EXT_point_parameters) return;
+	glad_glPointParameterfEXT = (PFNGLPOINTPARAMETERFEXTPROC)load("glPointParameterfEXT");
+	glad_glPointParameterfvEXT = (PFNGLPOINTPARAMETERFVEXTPROC)load("glPointParameterfvEXT");
+}
+static void load_GL_PGI_misc_hints(GLADloadproc load) {
+	if(!GLAD_GL_PGI_misc_hints) return;
+	glad_glHintPGI = (PFNGLHINTPGIPROC)load("glHintPGI");
+}
+static void load_GL_ARB_vertex_shader(GLADloadproc load) {
+	if(!GLAD_GL_ARB_vertex_shader) return;
+	glad_glVertexAttrib1fARB = (PFNGLVERTEXATTRIB1FARBPROC)load("glVertexAttrib1fARB");
+	glad_glVertexAttrib1sARB = (PFNGLVERTEXATTRIB1SARBPROC)load("glVertexAttrib1sARB");
+	glad_glVertexAttrib1dARB = (PFNGLVERTEXATTRIB1DARBPROC)load("glVertexAttrib1dARB");
+	glad_glVertexAttrib2fARB = (PFNGLVERTEXATTRIB2FARBPROC)load("glVertexAttrib2fARB");
+	glad_glVertexAttrib2sARB = (PFNGLVERTEXATTRIB2SARBPROC)load("glVertexAttrib2sARB");
+	glad_glVertexAttrib2dARB = (PFNGLVERTEXATTRIB2DARBPROC)load("glVertexAttrib2dARB");
+	glad_glVertexAttrib3fARB = (PFNGLVERTEXATTRIB3FARBPROC)load("glVertexAttrib3fARB");
+	glad_glVertexAttrib3sARB = (PFNGLVERTEXATTRIB3SARBPROC)load("glVertexAttrib3sARB");
+	glad_glVertexAttrib3dARB = (PFNGLVERTEXATTRIB3DARBPROC)load("glVertexAttrib3dARB");
+	glad_glVertexAttrib4fARB = (PFNGLVERTEXATTRIB4FARBPROC)load("glVertexAttrib4fARB");
+	glad_glVertexAttrib4sARB = (PFNGLVERTEXATTRIB4SARBPROC)load("glVertexAttrib4sARB");
+	glad_glVertexAttrib4dARB = (PFNGLVERTEXATTRIB4DARBPROC)load("glVertexAttrib4dARB");
+	glad_glVertexAttrib4NubARB = (PFNGLVERTEXATTRIB4NUBARBPROC)load("glVertexAttrib4NubARB");
+	glad_glVertexAttrib1fvARB = (PFNGLVERTEXATTRIB1FVARBPROC)load("glVertexAttrib1fvARB");
+	glad_glVertexAttrib1svARB = (PFNGLVERTEXATTRIB1SVARBPROC)load("glVertexAttrib1svARB");
+	glad_glVertexAttrib1dvARB = (PFNGLVERTEXATTRIB1DVARBPROC)load("glVertexAttrib1dvARB");
+	glad_glVertexAttrib2fvARB = (PFNGLVERTEXATTRIB2FVARBPROC)load("glVertexAttrib2fvARB");
+	glad_glVertexAttrib2svARB = (PFNGLVERTEXATTRIB2SVARBPROC)load("glVertexAttrib2svARB");
+	glad_glVertexAttrib2dvARB = (PFNGLVERTEXATTRIB2DVARBPROC)load("glVertexAttrib2dvARB");
+	glad_glVertexAttrib3fvARB = (PFNGLVERTEXATTRIB3FVARBPROC)load("glVertexAttrib3fvARB");
+	glad_glVertexAttrib3svARB = (PFNGLVERTEXATTRIB3SVARBPROC)load("glVertexAttrib3svARB");
+	glad_glVertexAttrib3dvARB = (PFNGLVERTEXATTRIB3DVARBPROC)load("glVertexAttrib3dvARB");
+	glad_glVertexAttrib4fvARB = (PFNGLVERTEXATTRIB4FVARBPROC)load("glVertexAttrib4fvARB");
+	glad_glVertexAttrib4svARB = (PFNGLVERTEXATTRIB4SVARBPROC)load("glVertexAttrib4svARB");
+	glad_glVertexAttrib4dvARB = (PFNGLVERTEXATTRIB4DVARBPROC)load("glVertexAttrib4dvARB");
+	glad_glVertexAttrib4ivARB = (PFNGLVERTEXATTRIB4IVARBPROC)load("glVertexAttrib4ivARB");
+	glad_glVertexAttrib4bvARB = (PFNGLVERTEXATTRIB4BVARBPROC)load("glVertexAttrib4bvARB");
+	glad_glVertexAttrib4ubvARB = (PFNGLVERTEXATTRIB4UBVARBPROC)load("glVertexAttrib4ubvARB");
+	glad_glVertexAttrib4usvARB = (PFNGLVERTEXATTRIB4USVARBPROC)load("glVertexAttrib4usvARB");
+	glad_glVertexAttrib4uivARB = (PFNGLVERTEXATTRIB4UIVARBPROC)load("glVertexAttrib4uivARB");
+	glad_glVertexAttrib4NbvARB = (PFNGLVERTEXATTRIB4NBVARBPROC)load("glVertexAttrib4NbvARB");
+	glad_glVertexAttrib4NsvARB = (PFNGLVERTEXATTRIB4NSVARBPROC)load("glVertexAttrib4NsvARB");
+	glad_glVertexAttrib4NivARB = (PFNGLVERTEXATTRIB4NIVARBPROC)load("glVertexAttrib4NivARB");
+	glad_glVertexAttrib4NubvARB = (PFNGLVERTEXATTRIB4NUBVARBPROC)load("glVertexAttrib4NubvARB");
+	glad_glVertexAttrib4NusvARB = (PFNGLVERTEXATTRIB4NUSVARBPROC)load("glVertexAttrib4NusvARB");
+	glad_glVertexAttrib4NuivARB = (PFNGLVERTEXATTRIB4NUIVARBPROC)load("glVertexAttrib4NuivARB");
+	glad_glVertexAttribPointerARB = (PFNGLVERTEXATTRIBPOINTERARBPROC)load("glVertexAttribPointerARB");
+	glad_glEnableVertexAttribArrayARB = (PFNGLENABLEVERTEXATTRIBARRAYARBPROC)load("glEnableVertexAttribArrayARB");
+	glad_glDisableVertexAttribArrayARB = (PFNGLDISABLEVERTEXATTRIBARRAYARBPROC)load("glDisableVertexAttribArrayARB");
+	glad_glBindAttribLocationARB = (PFNGLBINDATTRIBLOCATIONARBPROC)load("glBindAttribLocationARB");
+	glad_glGetActiveAttribARB = (PFNGLGETACTIVEATTRIBARBPROC)load("glGetActiveAttribARB");
+	glad_glGetAttribLocationARB = (PFNGLGETATTRIBLOCATIONARBPROC)load("glGetAttribLocationARB");
+	glad_glGetVertexAttribdvARB = (PFNGLGETVERTEXATTRIBDVARBPROC)load("glGetVertexAttribdvARB");
+	glad_glGetVertexAttribfvARB = (PFNGLGETVERTEXATTRIBFVARBPROC)load("glGetVertexAttribfvARB");
+	glad_glGetVertexAttribivARB = (PFNGLGETVERTEXATTRIBIVARBPROC)load("glGetVertexAttribivARB");
+	glad_glGetVertexAttribPointervARB = (PFNGLGETVERTEXATTRIBPOINTERVARBPROC)load("glGetVertexAttribPointervARB");
+}
+static void load_GL_ARB_tessellation_shader(GLADloadproc load) {
+	if(!GLAD_GL_ARB_tessellation_shader) return;
+	glad_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)load("glPatchParameteri");
+	glad_glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC)load("glPatchParameterfv");
+}
+static void load_GL_EXT_draw_buffers2(GLADloadproc load) {
+	if(!GLAD_GL_EXT_draw_buffers2) return;
+	glad_glColorMaskIndexedEXT = (PFNGLCOLORMASKINDEXEDEXTPROC)load("glColorMaskIndexedEXT");
+	glad_glGetBooleanIndexedvEXT = (PFNGLGETBOOLEANINDEXEDVEXTPROC)load("glGetBooleanIndexedvEXT");
+	glad_glGetIntegerIndexedvEXT = (PFNGLGETINTEGERINDEXEDVEXTPROC)load("glGetIntegerIndexedvEXT");
+	glad_glEnableIndexedEXT = (PFNGLENABLEINDEXEDEXTPROC)load("glEnableIndexedEXT");
+	glad_glDisableIndexedEXT = (PFNGLDISABLEINDEXEDEXTPROC)load("glDisableIndexedEXT");
+	glad_glIsEnabledIndexedEXT = (PFNGLISENABLEDINDEXEDEXTPROC)load("glIsEnabledIndexedEXT");
+}
+static void load_GL_ARB_vertex_attrib_64bit(GLADloadproc load) {
+	if(!GLAD_GL_ARB_vertex_attrib_64bit) return;
+	glad_glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC)load("glVertexAttribL1d");
+	glad_glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC)load("glVertexAttribL2d");
+	glad_glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC)load("glVertexAttribL3d");
+	glad_glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC)load("glVertexAttribL4d");
+	glad_glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC)load("glVertexAttribL1dv");
+	glad_glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC)load("glVertexAttribL2dv");
+	glad_glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC)load("glVertexAttribL3dv");
+	glad_glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC)load("glVertexAttribL4dv");
+	glad_glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC)load("glVertexAttribLPointer");
+	glad_glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC)load("glGetVertexAttribLdv");
+}
+static void load_GL_AMD_interleaved_elements(GLADloadproc load) {
+	if(!GLAD_GL_AMD_interleaved_elements) return;
+	glad_glVertexAttribParameteriAMD = (PFNGLVERTEXATTRIBPARAMETERIAMDPROC)load("glVertexAttribParameteriAMD");
+}
+static void load_GL_ARB_fragment_program(GLADloadproc load) {
+	if(!GLAD_GL_ARB_fragment_program) return;
+	glad_glProgramStringARB = (PFNGLPROGRAMSTRINGARBPROC)load("glProgramStringARB");
+	glad_glBindProgramARB = (PFNGLBINDPROGRAMARBPROC)load("glBindProgramARB");
+	glad_glDeleteProgramsARB = (PFNGLDELETEPROGRAMSARBPROC)load("glDeleteProgramsARB");
+	glad_glGenProgramsARB = (PFNGLGENPROGRAMSARBPROC)load("glGenProgramsARB");
+	glad_glProgramEnvParameter4dARB = (PFNGLPROGRAMENVPARAMETER4DARBPROC)load("glProgramEnvParameter4dARB");
+	glad_glProgramEnvParameter4dvARB = (PFNGLPROGRAMENVPARAMETER4DVARBPROC)load("glProgramEnvParameter4dvARB");
+	glad_glProgramEnvParameter4fARB = (PFNGLPROGRAMENVPARAMETER4FARBPROC)load("glProgramEnvParameter4fARB");
+	glad_glProgramEnvParameter4fvARB = (PFNGLPROGRAMENVPARAMETER4FVARBPROC)load("glProgramEnvParameter4fvARB");
+	glad_glProgramLocalParameter4dARB = (PFNGLPROGRAMLOCALPARAMETER4DARBPROC)load("glProgramLocalParameter4dARB");
+	glad_glProgramLocalParameter4dvARB = (PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)load("glProgramLocalParameter4dvARB");
+	glad_glProgramLocalParameter4fARB = (PFNGLPROGRAMLOCALPARAMETER4FARBPROC)load("glProgramLocalParameter4fARB");
+	glad_glProgramLocalParameter4fvARB = (PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)load("glProgramLocalParameter4fvARB");
+	glad_glGetProgramEnvParameterdvARB = (PFNGLGETPROGRAMENVPARAMETERDVARBPROC)load("glGetProgramEnvParameterdvARB");
+	glad_glGetProgramEnvParameterfvARB = (PFNGLGETPROGRAMENVPARAMETERFVARBPROC)load("glGetProgramEnvParameterfvARB");
+	glad_glGetProgramLocalParameterdvARB = (PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)load("glGetProgramLocalParameterdvARB");
+	glad_glGetProgramLocalParameterfvARB = (PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)load("glGetProgramLocalParameterfvARB");
+	glad_glGetProgramivARB = (PFNGLGETPROGRAMIVARBPROC)load("glGetProgramivARB");
+	glad_glGetProgramStringARB = (PFNGLGETPROGRAMSTRINGARBPROC)load("glGetProgramStringARB");
+	glad_glIsProgramARB = (PFNGLISPROGRAMARBPROC)load("glIsProgramARB");
+}
+static void load_GL_ARB_texture_storage(GLADloadproc load) {
+	if(!GLAD_GL_ARB_texture_storage) return;
+	glad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC)load("glTexStorage1D");
+	glad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)load("glTexStorage2D");
+	glad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)load("glTexStorage3D");
+}
+static void load_GL_ARB_copy_image(GLADloadproc load) {
+	if(!GLAD_GL_ARB_copy_image) return;
+	glad_glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC)load("glCopyImageSubData");
+}
+static void load_GL_SGIS_pixel_texture(GLADloadproc load) {
+	if(!GLAD_GL_SGIS_pixel_texture) return;
+	glad_glPixelTexGenParameteriSGIS = (PFNGLPIXELTEXGENPARAMETERISGISPROC)load("glPixelTexGenParameteriSGIS");
+	glad_glPixelTexGenParameterivSGIS = (PFNGLPIXELTEXGENPARAMETERIVSGISPROC)load("glPixelTexGenParameterivSGIS");
+	glad_glPixelTexGenParameterfSGIS = (PFNGLPIXELTEXGENPARAMETERFSGISPROC)load("glPixelTexGenParameterfSGIS");
+	glad_glPixelTexGenParameterfvSGIS = (PFNGLPIXELTEXGENPARAMETERFVSGISPROC)load("glPixelTexGenParameterfvSGIS");
+	glad_glGetPixelTexGenParameterivSGIS = (PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC)load("glGetPixelTexGenParameterivSGIS");
+	glad_glGetPixelTexGenParameterfvSGIS = (PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC)load("glGetPixelTexGenParameterfvSGIS");
+}
+static void load_GL_SGIX_instruments(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_instruments) return;
+	glad_glGetInstrumentsSGIX = (PFNGLGETINSTRUMENTSSGIXPROC)load("glGetInstrumentsSGIX");
+	glad_glInstrumentsBufferSGIX = (PFNGLINSTRUMENTSBUFFERSGIXPROC)load("glInstrumentsBufferSGIX");
+	glad_glPollInstrumentsSGIX = (PFNGLPOLLINSTRUMENTSSGIXPROC)load("glPollInstrumentsSGIX");
+	glad_glReadInstrumentsSGIX = (PFNGLREADINSTRUMENTSSGIXPROC)load("glReadInstrumentsSGIX");
+	glad_glStartInstrumentsSGIX = (PFNGLSTARTINSTRUMENTSSGIXPROC)load("glStartInstrumentsSGIX");
+	glad_glStopInstrumentsSGIX = (PFNGLSTOPINSTRUMENTSSGIXPROC)load("glStopInstrumentsSGIX");
+}
+static void load_GL_ARB_shader_storage_buffer_object(GLADloadproc load) {
+	if(!GLAD_GL_ARB_shader_storage_buffer_object) return;
+	glad_glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC)load("glShaderStorageBlockBinding");
+}
+static void load_GL_EXT_blend_minmax(GLADloadproc load) {
+	if(!GLAD_GL_EXT_blend_minmax) return;
+	glad_glBlendEquationEXT = (PFNGLBLENDEQUATIONEXTPROC)load("glBlendEquationEXT");
+}
+static void load_GL_ARB_base_instance(GLADloadproc load) {
+	if(!GLAD_GL_ARB_base_instance) return;
+	glad_glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)load("glDrawArraysInstancedBaseInstance");
+	glad_glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)load("glDrawElementsInstancedBaseInstance");
+	glad_glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)load("glDrawElementsInstancedBaseVertexBaseInstance");
+}
+static void load_GL_EXT_texture_integer(GLADloadproc load) {
+	if(!GLAD_GL_EXT_texture_integer) return;
+	glad_glTexParameterIivEXT = (PFNGLTEXPARAMETERIIVEXTPROC)load("glTexParameterIivEXT");
+	glad_glTexParameterIuivEXT = (PFNGLTEXPARAMETERIUIVEXTPROC)load("glTexParameterIuivEXT");
+	glad_glGetTexParameterIivEXT = (PFNGLGETTEXPARAMETERIIVEXTPROC)load("glGetTexParameterIivEXT");
+	glad_glGetTexParameterIuivEXT = (PFNGLGETTEXPARAMETERIUIVEXTPROC)load("glGetTexParameterIuivEXT");
+	glad_glClearColorIiEXT = (PFNGLCLEARCOLORIIEXTPROC)load("glClearColorIiEXT");
+	glad_glClearColorIuiEXT = (PFNGLCLEARCOLORIUIEXTPROC)load("glClearColorIuiEXT");
+}
+static void load_GL_ARB_texture_multisample(GLADloadproc load) {
+	if(!GLAD_GL_ARB_texture_multisample) return;
+	glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load("glTexImage2DMultisample");
+	glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load("glTexImage3DMultisample");
+	glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load("glGetMultisamplefv");
+	glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load("glSampleMaski");
+}
+static void load_GL_AMD_vertex_shader_tessellator(GLADloadproc load) {
+	if(!GLAD_GL_AMD_vertex_shader_tessellator) return;
+	glad_glTessellationFactorAMD = (PFNGLTESSELLATIONFACTORAMDPROC)load("glTessellationFactorAMD");
+	glad_glTessellationModeAMD = (PFNGLTESSELLATIONMODEAMDPROC)load("glTessellationModeAMD");
+}
+static void load_GL_ARB_invalidate_subdata(GLADloadproc load) {
+	if(!GLAD_GL_ARB_invalidate_subdata) return;
+	glad_glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC)load("glInvalidateTexSubImage");
+	glad_glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC)load("glInvalidateTexImage");
+	glad_glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC)load("glInvalidateBufferSubData");
+	glad_glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC)load("glInvalidateBufferData");
+	glad_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)load("glInvalidateFramebuffer");
+	glad_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)load("glInvalidateSubFramebuffer");
+}
+static void load_GL_EXT_index_material(GLADloadproc load) {
+	if(!GLAD_GL_EXT_index_material) return;
+	glad_glIndexMaterialEXT = (PFNGLINDEXMATERIALEXTPROC)load("glIndexMaterialEXT");
+}
+static void load_GL_INTEL_parallel_arrays(GLADloadproc load) {
+	if(!GLAD_GL_INTEL_parallel_arrays) return;
+	glad_glVertexPointervINTEL = (PFNGLVERTEXPOINTERVINTELPROC)load("glVertexPointervINTEL");
+	glad_glNormalPointervINTEL = (PFNGLNORMALPOINTERVINTELPROC)load("glNormalPointervINTEL");
+	glad_glColorPointervINTEL = (PFNGLCOLORPOINTERVINTELPROC)load("glColorPointervINTEL");
+	glad_glTexCoordPointervINTEL = (PFNGLTEXCOORDPOINTERVINTELPROC)load("glTexCoordPointervINTEL");
+}
+static void load_GL_ATI_draw_buffers(GLADloadproc load) {
+	if(!GLAD_GL_ATI_draw_buffers) return;
+	glad_glDrawBuffersATI = (PFNGLDRAWBUFFERSATIPROC)load("glDrawBuffersATI");
+}
+static void load_GL_SGIX_pixel_texture(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_pixel_texture) return;
+	glad_glPixelTexGenSGIX = (PFNGLPIXELTEXGENSGIXPROC)load("glPixelTexGenSGIX");
+}
+static void load_GL_ARB_timer_query(GLADloadproc load) {
+	if(!GLAD_GL_ARB_timer_query) return;
+	glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load("glQueryCounter");
+	glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load("glGetQueryObjecti64v");
+	glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load("glGetQueryObjectui64v");
+}
+static void load_GL_NV_parameter_buffer_object(GLADloadproc load) {
+	if(!GLAD_GL_NV_parameter_buffer_object) return;
+	glad_glProgramBufferParametersfvNV = (PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC)load("glProgramBufferParametersfvNV");
+	glad_glProgramBufferParametersIivNV = (PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC)load("glProgramBufferParametersIivNV");
+	glad_glProgramBufferParametersIuivNV = (PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC)load("glProgramBufferParametersIuivNV");
+}
+static void load_GL_ARB_uniform_buffer_object(GLADloadproc load) {
+	if(!GLAD_GL_ARB_uniform_buffer_object) return;
+	glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices");
+	glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv");
+	glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load("glGetActiveUniformName");
+	glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex");
+	glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv");
+	glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName");
+	glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding");
+}
+static void load_GL_NV_transform_feedback2(GLADloadproc load) {
+	if(!GLAD_GL_NV_transform_feedback2) return;
+	glad_glBindTransformFeedbackNV = (PFNGLBINDTRANSFORMFEEDBACKNVPROC)load("glBindTransformFeedbackNV");
+	glad_glDeleteTransformFeedbacksNV = (PFNGLDELETETRANSFORMFEEDBACKSNVPROC)load("glDeleteTransformFeedbacksNV");
+	glad_glGenTransformFeedbacksNV = (PFNGLGENTRANSFORMFEEDBACKSNVPROC)load("glGenTransformFeedbacksNV");
+	glad_glIsTransformFeedbackNV = (PFNGLISTRANSFORMFEEDBACKNVPROC)load("glIsTransformFeedbackNV");
+	glad_glPauseTransformFeedbackNV = (PFNGLPAUSETRANSFORMFEEDBACKNVPROC)load("glPauseTransformFeedbackNV");
+	glad_glResumeTransformFeedbackNV = (PFNGLRESUMETRANSFORMFEEDBACKNVPROC)load("glResumeTransformFeedbackNV");
+	glad_glDrawTransformFeedbackNV = (PFNGLDRAWTRANSFORMFEEDBACKNVPROC)load("glDrawTransformFeedbackNV");
+}
+static void load_GL_EXT_blend_color(GLADloadproc load) {
+	if(!GLAD_GL_EXT_blend_color) return;
+	glad_glBlendColorEXT = (PFNGLBLENDCOLOREXTPROC)load("glBlendColorEXT");
+}
+static void load_GL_EXT_histogram(GLADloadproc load) {
+	if(!GLAD_GL_EXT_histogram) return;
+	glad_glGetHistogramEXT = (PFNGLGETHISTOGRAMEXTPROC)load("glGetHistogramEXT");
+	glad_glGetHistogramParameterfvEXT = (PFNGLGETHISTOGRAMPARAMETERFVEXTPROC)load("glGetHistogramParameterfvEXT");
+	glad_glGetHistogramParameterivEXT = (PFNGLGETHISTOGRAMPARAMETERIVEXTPROC)load("glGetHistogramParameterivEXT");
+	glad_glGetMinmaxEXT = (PFNGLGETMINMAXEXTPROC)load("glGetMinmaxEXT");
+	glad_glGetMinmaxParameterfvEXT = (PFNGLGETMINMAXPARAMETERFVEXTPROC)load("glGetMinmaxParameterfvEXT");
+	glad_glGetMinmaxParameterivEXT = (PFNGLGETMINMAXPARAMETERIVEXTPROC)load("glGetMinmaxParameterivEXT");
+	glad_glHistogramEXT = (PFNGLHISTOGRAMEXTPROC)load("glHistogramEXT");
+	glad_glMinmaxEXT = (PFNGLMINMAXEXTPROC)load("glMinmaxEXT");
+	glad_glResetHistogramEXT = (PFNGLRESETHISTOGRAMEXTPROC)load("glResetHistogramEXT");
+	glad_glResetMinmaxEXT = (PFNGLRESETMINMAXEXTPROC)load("glResetMinmaxEXT");
+}
+static void load_GL_SGIS_point_parameters(GLADloadproc load) {
+	if(!GLAD_GL_SGIS_point_parameters) return;
+	glad_glPointParameterfSGIS = (PFNGLPOINTPARAMETERFSGISPROC)load("glPointParameterfSGIS");
+	glad_glPointParameterfvSGIS = (PFNGLPOINTPARAMETERFVSGISPROC)load("glPointParameterfvSGIS");
+}
+static void load_GL_EXT_direct_state_access(GLADloadproc load) {
+	if(!GLAD_GL_EXT_direct_state_access) return;
+	glad_glMatrixLoadfEXT = (PFNGLMATRIXLOADFEXTPROC)load("glMatrixLoadfEXT");
+	glad_glMatrixLoaddEXT = (PFNGLMATRIXLOADDEXTPROC)load("glMatrixLoaddEXT");
+	glad_glMatrixMultfEXT = (PFNGLMATRIXMULTFEXTPROC)load("glMatrixMultfEXT");
+	glad_glMatrixMultdEXT = (PFNGLMATRIXMULTDEXTPROC)load("glMatrixMultdEXT");
+	glad_glMatrixLoadIdentityEXT = (PFNGLMATRIXLOADIDENTITYEXTPROC)load("glMatrixLoadIdentityEXT");
+	glad_glMatrixRotatefEXT = (PFNGLMATRIXROTATEFEXTPROC)load("glMatrixRotatefEXT");
+	glad_glMatrixRotatedEXT = (PFNGLMATRIXROTATEDEXTPROC)load("glMatrixRotatedEXT");
+	glad_glMatrixScalefEXT = (PFNGLMATRIXSCALEFEXTPROC)load("glMatrixScalefEXT");
+	glad_glMatrixScaledEXT = (PFNGLMATRIXSCALEDEXTPROC)load("glMatrixScaledEXT");
+	glad_glMatrixTranslatefEXT = (PFNGLMATRIXTRANSLATEFEXTPROC)load("glMatrixTranslatefEXT");
+	glad_glMatrixTranslatedEXT = (PFNGLMATRIXTRANSLATEDEXTPROC)load("glMatrixTranslatedEXT");
+	glad_glMatrixFrustumEXT = (PFNGLMATRIXFRUSTUMEXTPROC)load("glMatrixFrustumEXT");
+	glad_glMatrixOrthoEXT = (PFNGLMATRIXORTHOEXTPROC)load("glMatrixOrthoEXT");
+	glad_glMatrixPopEXT = (PFNGLMATRIXPOPEXTPROC)load("glMatrixPopEXT");
+	glad_glMatrixPushEXT = (PFNGLMATRIXPUSHEXTPROC)load("glMatrixPushEXT");
+	glad_glClientAttribDefaultEXT = (PFNGLCLIENTATTRIBDEFAULTEXTPROC)load("glClientAttribDefaultEXT");
+	glad_glPushClientAttribDefaultEXT = (PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC)load("glPushClientAttribDefaultEXT");
+	glad_glTextureParameterfEXT = (PFNGLTEXTUREPARAMETERFEXTPROC)load("glTextureParameterfEXT");
+	glad_glTextureParameterfvEXT = (PFNGLTEXTUREPARAMETERFVEXTPROC)load("glTextureParameterfvEXT");
+	glad_glTextureParameteriEXT = (PFNGLTEXTUREPARAMETERIEXTPROC)load("glTextureParameteriEXT");
+	glad_glTextureParameterivEXT = (PFNGLTEXTUREPARAMETERIVEXTPROC)load("glTextureParameterivEXT");
+	glad_glTextureImage1DEXT = (PFNGLTEXTUREIMAGE1DEXTPROC)load("glTextureImage1DEXT");
+	glad_glTextureImage2DEXT = (PFNGLTEXTUREIMAGE2DEXTPROC)load("glTextureImage2DEXT");
+	glad_glTextureSubImage1DEXT = (PFNGLTEXTURESUBIMAGE1DEXTPROC)load("glTextureSubImage1DEXT");
+	glad_glTextureSubImage2DEXT = (PFNGLTEXTURESUBIMAGE2DEXTPROC)load("glTextureSubImage2DEXT");
+	glad_glCopyTextureImage1DEXT = (PFNGLCOPYTEXTUREIMAGE1DEXTPROC)load("glCopyTextureImage1DEXT");
+	glad_glCopyTextureImage2DEXT = (PFNGLCOPYTEXTUREIMAGE2DEXTPROC)load("glCopyTextureImage2DEXT");
+	glad_glCopyTextureSubImage1DEXT = (PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC)load("glCopyTextureSubImage1DEXT");
+	glad_glCopyTextureSubImage2DEXT = (PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC)load("glCopyTextureSubImage2DEXT");
+	glad_glGetTextureImageEXT = (PFNGLGETTEXTUREIMAGEEXTPROC)load("glGetTextureImageEXT");
+	glad_glGetTextureParameterfvEXT = (PFNGLGETTEXTUREPARAMETERFVEXTPROC)load("glGetTextureParameterfvEXT");
+	glad_glGetTextureParameterivEXT = (PFNGLGETTEXTUREPARAMETERIVEXTPROC)load("glGetTextureParameterivEXT");
+	glad_glGetTextureLevelParameterfvEXT = (PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC)load("glGetTextureLevelParameterfvEXT");
+	glad_glGetTextureLevelParameterivEXT = (PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC)load("glGetTextureLevelParameterivEXT");
+	glad_glTextureImage3DEXT = (PFNGLTEXTUREIMAGE3DEXTPROC)load("glTextureImage3DEXT");
+	glad_glTextureSubImage3DEXT = (PFNGLTEXTURESUBIMAGE3DEXTPROC)load("glTextureSubImage3DEXT");
+	glad_glCopyTextureSubImage3DEXT = (PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC)load("glCopyTextureSubImage3DEXT");
+	glad_glBindMultiTextureEXT = (PFNGLBINDMULTITEXTUREEXTPROC)load("glBindMultiTextureEXT");
+	glad_glMultiTexCoordPointerEXT = (PFNGLMULTITEXCOORDPOINTEREXTPROC)load("glMultiTexCoordPointerEXT");
+	glad_glMultiTexEnvfEXT = (PFNGLMULTITEXENVFEXTPROC)load("glMultiTexEnvfEXT");
+	glad_glMultiTexEnvfvEXT = (PFNGLMULTITEXENVFVEXTPROC)load("glMultiTexEnvfvEXT");
+	glad_glMultiTexEnviEXT = (PFNGLMULTITEXENVIEXTPROC)load("glMultiTexEnviEXT");
+	glad_glMultiTexEnvivEXT = (PFNGLMULTITEXENVIVEXTPROC)load("glMultiTexEnvivEXT");
+	glad_glMultiTexGendEXT = (PFNGLMULTITEXGENDEXTPROC)load("glMultiTexGendEXT");
+	glad_glMultiTexGendvEXT = (PFNGLMULTITEXGENDVEXTPROC)load("glMultiTexGendvEXT");
+	glad_glMultiTexGenfEXT = (PFNGLMULTITEXGENFEXTPROC)load("glMultiTexGenfEXT");
+	glad_glMultiTexGenfvEXT = (PFNGLMULTITEXGENFVEXTPROC)load("glMultiTexGenfvEXT");
+	glad_glMultiTexGeniEXT = (PFNGLMULTITEXGENIEXTPROC)load("glMultiTexGeniEXT");
+	glad_glMultiTexGenivEXT = (PFNGLMULTITEXGENIVEXTPROC)load("glMultiTexGenivEXT");
+	glad_glGetMultiTexEnvfvEXT = (PFNGLGETMULTITEXENVFVEXTPROC)load("glGetMultiTexEnvfvEXT");
+	glad_glGetMultiTexEnvivEXT = (PFNGLGETMULTITEXENVIVEXTPROC)load("glGetMultiTexEnvivEXT");
+	glad_glGetMultiTexGendvEXT = (PFNGLGETMULTITEXGENDVEXTPROC)load("glGetMultiTexGendvEXT");
+	glad_glGetMultiTexGenfvEXT = (PFNGLGETMULTITEXGENFVEXTPROC)load("glGetMultiTexGenfvEXT");
+	glad_glGetMultiTexGenivEXT = (PFNGLGETMULTITEXGENIVEXTPROC)load("glGetMultiTexGenivEXT");
+	glad_glMultiTexParameteriEXT = (PFNGLMULTITEXPARAMETERIEXTPROC)load("glMultiTexParameteriEXT");
+	glad_glMultiTexParameterivEXT = (PFNGLMULTITEXPARAMETERIVEXTPROC)load("glMultiTexParameterivEXT");
+	glad_glMultiTexParameterfEXT = (PFNGLMULTITEXPARAMETERFEXTPROC)load("glMultiTexParameterfEXT");
+	glad_glMultiTexParameterfvEXT = (PFNGLMULTITEXPARAMETERFVEXTPROC)load("glMultiTexParameterfvEXT");
+	glad_glMultiTexImage1DEXT = (PFNGLMULTITEXIMAGE1DEXTPROC)load("glMultiTexImage1DEXT");
+	glad_glMultiTexImage2DEXT = (PFNGLMULTITEXIMAGE2DEXTPROC)load("glMultiTexImage2DEXT");
+	glad_glMultiTexSubImage1DEXT = (PFNGLMULTITEXSUBIMAGE1DEXTPROC)load("glMultiTexSubImage1DEXT");
+	glad_glMultiTexSubImage2DEXT = (PFNGLMULTITEXSUBIMAGE2DEXTPROC)load("glMultiTexSubImage2DEXT");
+	glad_glCopyMultiTexImage1DEXT = (PFNGLCOPYMULTITEXIMAGE1DEXTPROC)load("glCopyMultiTexImage1DEXT");
+	glad_glCopyMultiTexImage2DEXT = (PFNGLCOPYMULTITEXIMAGE2DEXTPROC)load("glCopyMultiTexImage2DEXT");
+	glad_glCopyMultiTexSubImage1DEXT = (PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC)load("glCopyMultiTexSubImage1DEXT");
+	glad_glCopyMultiTexSubImage2DEXT = (PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC)load("glCopyMultiTexSubImage2DEXT");
+	glad_glGetMultiTexImageEXT = (PFNGLGETMULTITEXIMAGEEXTPROC)load("glGetMultiTexImageEXT");
+	glad_glGetMultiTexParameterfvEXT = (PFNGLGETMULTITEXPARAMETERFVEXTPROC)load("glGetMultiTexParameterfvEXT");
+	glad_glGetMultiTexParameterivEXT = (PFNGLGETMULTITEXPARAMETERIVEXTPROC)load("glGetMultiTexParameterivEXT");
+	glad_glGetMultiTexLevelParameterfvEXT = (PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC)load("glGetMultiTexLevelParameterfvEXT");
+	glad_glGetMultiTexLevelParameterivEXT = (PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC)load("glGetMultiTexLevelParameterivEXT");
+	glad_glMultiTexImage3DEXT = (PFNGLMULTITEXIMAGE3DEXTPROC)load("glMultiTexImage3DEXT");
+	glad_glMultiTexSubImage3DEXT = (PFNGLMULTITEXSUBIMAGE3DEXTPROC)load("glMultiTexSubImage3DEXT");
+	glad_glCopyMultiTexSubImage3DEXT = (PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC)load("glCopyMultiTexSubImage3DEXT");
+	glad_glEnableClientStateIndexedEXT = (PFNGLENABLECLIENTSTATEINDEXEDEXTPROC)load("glEnableClientStateIndexedEXT");
+	glad_glDisableClientStateIndexedEXT = (PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC)load("glDisableClientStateIndexedEXT");
+	glad_glGetFloatIndexedvEXT = (PFNGLGETFLOATINDEXEDVEXTPROC)load("glGetFloatIndexedvEXT");
+	glad_glGetDoubleIndexedvEXT = (PFNGLGETDOUBLEINDEXEDVEXTPROC)load("glGetDoubleIndexedvEXT");
+	glad_glGetPointerIndexedvEXT = (PFNGLGETPOINTERINDEXEDVEXTPROC)load("glGetPointerIndexedvEXT");
+	glad_glEnableIndexedEXT = (PFNGLENABLEINDEXEDEXTPROC)load("glEnableIndexedEXT");
+	glad_glDisableIndexedEXT = (PFNGLDISABLEINDEXEDEXTPROC)load("glDisableIndexedEXT");
+	glad_glIsEnabledIndexedEXT = (PFNGLISENABLEDINDEXEDEXTPROC)load("glIsEnabledIndexedEXT");
+	glad_glGetIntegerIndexedvEXT = (PFNGLGETINTEGERINDEXEDVEXTPROC)load("glGetIntegerIndexedvEXT");
+	glad_glGetBooleanIndexedvEXT = (PFNGLGETBOOLEANINDEXEDVEXTPROC)load("glGetBooleanIndexedvEXT");
+	glad_glCompressedTextureImage3DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC)load("glCompressedTextureImage3DEXT");
+	glad_glCompressedTextureImage2DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC)load("glCompressedTextureImage2DEXT");
+	glad_glCompressedTextureImage1DEXT = (PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC)load("glCompressedTextureImage1DEXT");
+	glad_glCompressedTextureSubImage3DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC)load("glCompressedTextureSubImage3DEXT");
+	glad_glCompressedTextureSubImage2DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC)load("glCompressedTextureSubImage2DEXT");
+	glad_glCompressedTextureSubImage1DEXT = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC)load("glCompressedTextureSubImage1DEXT");
+	glad_glGetCompressedTextureImageEXT = (PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC)load("glGetCompressedTextureImageEXT");
+	glad_glCompressedMultiTexImage3DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC)load("glCompressedMultiTexImage3DEXT");
+	glad_glCompressedMultiTexImage2DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC)load("glCompressedMultiTexImage2DEXT");
+	glad_glCompressedMultiTexImage1DEXT = (PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC)load("glCompressedMultiTexImage1DEXT");
+	glad_glCompressedMultiTexSubImage3DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC)load("glCompressedMultiTexSubImage3DEXT");
+	glad_glCompressedMultiTexSubImage2DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC)load("glCompressedMultiTexSubImage2DEXT");
+	glad_glCompressedMultiTexSubImage1DEXT = (PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC)load("glCompressedMultiTexSubImage1DEXT");
+	glad_glGetCompressedMultiTexImageEXT = (PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC)load("glGetCompressedMultiTexImageEXT");
+	glad_glMatrixLoadTransposefEXT = (PFNGLMATRIXLOADTRANSPOSEFEXTPROC)load("glMatrixLoadTransposefEXT");
+	glad_glMatrixLoadTransposedEXT = (PFNGLMATRIXLOADTRANSPOSEDEXTPROC)load("glMatrixLoadTransposedEXT");
+	glad_glMatrixMultTransposefEXT = (PFNGLMATRIXMULTTRANSPOSEFEXTPROC)load("glMatrixMultTransposefEXT");
+	glad_glMatrixMultTransposedEXT = (PFNGLMATRIXMULTTRANSPOSEDEXTPROC)load("glMatrixMultTransposedEXT");
+	glad_glNamedBufferDataEXT = (PFNGLNAMEDBUFFERDATAEXTPROC)load("glNamedBufferDataEXT");
+	glad_glNamedBufferSubDataEXT = (PFNGLNAMEDBUFFERSUBDATAEXTPROC)load("glNamedBufferSubDataEXT");
+	glad_glMapNamedBufferEXT = (PFNGLMAPNAMEDBUFFEREXTPROC)load("glMapNamedBufferEXT");
+	glad_glUnmapNamedBufferEXT = (PFNGLUNMAPNAMEDBUFFEREXTPROC)load("glUnmapNamedBufferEXT");
+	glad_glGetNamedBufferParameterivEXT = (PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC)load("glGetNamedBufferParameterivEXT");
+	glad_glGetNamedBufferPointervEXT = (PFNGLGETNAMEDBUFFERPOINTERVEXTPROC)load("glGetNamedBufferPointervEXT");
+	glad_glGetNamedBufferSubDataEXT = (PFNGLGETNAMEDBUFFERSUBDATAEXTPROC)load("glGetNamedBufferSubDataEXT");
+	glad_glProgramUniform1fEXT = (PFNGLPROGRAMUNIFORM1FEXTPROC)load("glProgramUniform1fEXT");
+	glad_glProgramUniform2fEXT = (PFNGLPROGRAMUNIFORM2FEXTPROC)load("glProgramUniform2fEXT");
+	glad_glProgramUniform3fEXT = (PFNGLPROGRAMUNIFORM3FEXTPROC)load("glProgramUniform3fEXT");
+	glad_glProgramUniform4fEXT = (PFNGLPROGRAMUNIFORM4FEXTPROC)load("glProgramUniform4fEXT");
+	glad_glProgramUniform1iEXT = (PFNGLPROGRAMUNIFORM1IEXTPROC)load("glProgramUniform1iEXT");
+	glad_glProgramUniform2iEXT = (PFNGLPROGRAMUNIFORM2IEXTPROC)load("glProgramUniform2iEXT");
+	glad_glProgramUniform3iEXT = (PFNGLPROGRAMUNIFORM3IEXTPROC)load("glProgramUniform3iEXT");
+	glad_glProgramUniform4iEXT = (PFNGLPROGRAMUNIFORM4IEXTPROC)load("glProgramUniform4iEXT");
+	glad_glProgramUniform1fvEXT = (PFNGLPROGRAMUNIFORM1FVEXTPROC)load("glProgramUniform1fvEXT");
+	glad_glProgramUniform2fvEXT = (PFNGLPROGRAMUNIFORM2FVEXTPROC)load("glProgramUniform2fvEXT");
+	glad_glProgramUniform3fvEXT = (PFNGLPROGRAMUNIFORM3FVEXTPROC)load("glProgramUniform3fvEXT");
+	glad_glProgramUniform4fvEXT = (PFNGLPROGRAMUNIFORM4FVEXTPROC)load("glProgramUniform4fvEXT");
+	glad_glProgramUniform1ivEXT = (PFNGLPROGRAMUNIFORM1IVEXTPROC)load("glProgramUniform1ivEXT");
+	glad_glProgramUniform2ivEXT = (PFNGLPROGRAMUNIFORM2IVEXTPROC)load("glProgramUniform2ivEXT");
+	glad_glProgramUniform3ivEXT = (PFNGLPROGRAMUNIFORM3IVEXTPROC)load("glProgramUniform3ivEXT");
+	glad_glProgramUniform4ivEXT = (PFNGLPROGRAMUNIFORM4IVEXTPROC)load("glProgramUniform4ivEXT");
+	glad_glProgramUniformMatrix2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC)load("glProgramUniformMatrix2fvEXT");
+	glad_glProgramUniformMatrix3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC)load("glProgramUniformMatrix3fvEXT");
+	glad_glProgramUniformMatrix4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC)load("glProgramUniformMatrix4fvEXT");
+	glad_glProgramUniformMatrix2x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC)load("glProgramUniformMatrix2x3fvEXT");
+	glad_glProgramUniformMatrix3x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC)load("glProgramUniformMatrix3x2fvEXT");
+	glad_glProgramUniformMatrix2x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC)load("glProgramUniformMatrix2x4fvEXT");
+	glad_glProgramUniformMatrix4x2fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC)load("glProgramUniformMatrix4x2fvEXT");
+	glad_glProgramUniformMatrix3x4fvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC)load("glProgramUniformMatrix3x4fvEXT");
+	glad_glProgramUniformMatrix4x3fvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC)load("glProgramUniformMatrix4x3fvEXT");
+	glad_glTextureBufferEXT = (PFNGLTEXTUREBUFFEREXTPROC)load("glTextureBufferEXT");
+	glad_glMultiTexBufferEXT = (PFNGLMULTITEXBUFFEREXTPROC)load("glMultiTexBufferEXT");
+	glad_glTextureParameterIivEXT = (PFNGLTEXTUREPARAMETERIIVEXTPROC)load("glTextureParameterIivEXT");
+	glad_glTextureParameterIuivEXT = (PFNGLTEXTUREPARAMETERIUIVEXTPROC)load("glTextureParameterIuivEXT");
+	glad_glGetTextureParameterIivEXT = (PFNGLGETTEXTUREPARAMETERIIVEXTPROC)load("glGetTextureParameterIivEXT");
+	glad_glGetTextureParameterIuivEXT = (PFNGLGETTEXTUREPARAMETERIUIVEXTPROC)load("glGetTextureParameterIuivEXT");
+	glad_glMultiTexParameterIivEXT = (PFNGLMULTITEXPARAMETERIIVEXTPROC)load("glMultiTexParameterIivEXT");
+	glad_glMultiTexParameterIuivEXT = (PFNGLMULTITEXPARAMETERIUIVEXTPROC)load("glMultiTexParameterIuivEXT");
+	glad_glGetMultiTexParameterIivEXT = (PFNGLGETMULTITEXPARAMETERIIVEXTPROC)load("glGetMultiTexParameterIivEXT");
+	glad_glGetMultiTexParameterIuivEXT = (PFNGLGETMULTITEXPARAMETERIUIVEXTPROC)load("glGetMultiTexParameterIuivEXT");
+	glad_glProgramUniform1uiEXT = (PFNGLPROGRAMUNIFORM1UIEXTPROC)load("glProgramUniform1uiEXT");
+	glad_glProgramUniform2uiEXT = (PFNGLPROGRAMUNIFORM2UIEXTPROC)load("glProgramUniform2uiEXT");
+	glad_glProgramUniform3uiEXT = (PFNGLPROGRAMUNIFORM3UIEXTPROC)load("glProgramUniform3uiEXT");
+	glad_glProgramUniform4uiEXT = (PFNGLPROGRAMUNIFORM4UIEXTPROC)load("glProgramUniform4uiEXT");
+	glad_glProgramUniform1uivEXT = (PFNGLPROGRAMUNIFORM1UIVEXTPROC)load("glProgramUniform1uivEXT");
+	glad_glProgramUniform2uivEXT = (PFNGLPROGRAMUNIFORM2UIVEXTPROC)load("glProgramUniform2uivEXT");
+	glad_glProgramUniform3uivEXT = (PFNGLPROGRAMUNIFORM3UIVEXTPROC)load("glProgramUniform3uivEXT");
+	glad_glProgramUniform4uivEXT = (PFNGLPROGRAMUNIFORM4UIVEXTPROC)load("glProgramUniform4uivEXT");
+	glad_glNamedProgramLocalParameters4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC)load("glNamedProgramLocalParameters4fvEXT");
+	glad_glNamedProgramLocalParameterI4iEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC)load("glNamedProgramLocalParameterI4iEXT");
+	glad_glNamedProgramLocalParameterI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC)load("glNamedProgramLocalParameterI4ivEXT");
+	glad_glNamedProgramLocalParametersI4ivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC)load("glNamedProgramLocalParametersI4ivEXT");
+	glad_glNamedProgramLocalParameterI4uiEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC)load("glNamedProgramLocalParameterI4uiEXT");
+	glad_glNamedProgramLocalParameterI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC)load("glNamedProgramLocalParameterI4uivEXT");
+	glad_glNamedProgramLocalParametersI4uivEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC)load("glNamedProgramLocalParametersI4uivEXT");
+	glad_glGetNamedProgramLocalParameterIivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC)load("glGetNamedProgramLocalParameterIivEXT");
+	glad_glGetNamedProgramLocalParameterIuivEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC)load("glGetNamedProgramLocalParameterIuivEXT");
+	glad_glEnableClientStateiEXT = (PFNGLENABLECLIENTSTATEIEXTPROC)load("glEnableClientStateiEXT");
+	glad_glDisableClientStateiEXT = (PFNGLDISABLECLIENTSTATEIEXTPROC)load("glDisableClientStateiEXT");
+	glad_glGetFloati_vEXT = (PFNGLGETFLOATI_VEXTPROC)load("glGetFloati_vEXT");
+	glad_glGetDoublei_vEXT = (PFNGLGETDOUBLEI_VEXTPROC)load("glGetDoublei_vEXT");
+	glad_glGetPointeri_vEXT = (PFNGLGETPOINTERI_VEXTPROC)load("glGetPointeri_vEXT");
+	glad_glNamedProgramStringEXT = (PFNGLNAMEDPROGRAMSTRINGEXTPROC)load("glNamedProgramStringEXT");
+	glad_glNamedProgramLocalParameter4dEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC)load("glNamedProgramLocalParameter4dEXT");
+	glad_glNamedProgramLocalParameter4dvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC)load("glNamedProgramLocalParameter4dvEXT");
+	glad_glNamedProgramLocalParameter4fEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC)load("glNamedProgramLocalParameter4fEXT");
+	glad_glNamedProgramLocalParameter4fvEXT = (PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC)load("glNamedProgramLocalParameter4fvEXT");
+	glad_glGetNamedProgramLocalParameterdvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC)load("glGetNamedProgramLocalParameterdvEXT");
+	glad_glGetNamedProgramLocalParameterfvEXT = (PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC)load("glGetNamedProgramLocalParameterfvEXT");
+	glad_glGetNamedProgramivEXT = (PFNGLGETNAMEDPROGRAMIVEXTPROC)load("glGetNamedProgramivEXT");
+	glad_glGetNamedProgramStringEXT = (PFNGLGETNAMEDPROGRAMSTRINGEXTPROC)load("glGetNamedProgramStringEXT");
+	glad_glNamedRenderbufferStorageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC)load("glNamedRenderbufferStorageEXT");
+	glad_glGetNamedRenderbufferParameterivEXT = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC)load("glGetNamedRenderbufferParameterivEXT");
+	glad_glNamedRenderbufferStorageMultisampleEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)load("glNamedRenderbufferStorageMultisampleEXT");
+	glad_glNamedRenderbufferStorageMultisampleCoverageEXT = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC)load("glNamedRenderbufferStorageMultisampleCoverageEXT");
+	glad_glCheckNamedFramebufferStatusEXT = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC)load("glCheckNamedFramebufferStatusEXT");
+	glad_glNamedFramebufferTexture1DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC)load("glNamedFramebufferTexture1DEXT");
+	glad_glNamedFramebufferTexture2DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC)load("glNamedFramebufferTexture2DEXT");
+	glad_glNamedFramebufferTexture3DEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC)load("glNamedFramebufferTexture3DEXT");
+	glad_glNamedFramebufferRenderbufferEXT = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC)load("glNamedFramebufferRenderbufferEXT");
+	glad_glGetNamedFramebufferAttachmentParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)load("glGetNamedFramebufferAttachmentParameterivEXT");
+	glad_glGenerateTextureMipmapEXT = (PFNGLGENERATETEXTUREMIPMAPEXTPROC)load("glGenerateTextureMipmapEXT");
+	glad_glGenerateMultiTexMipmapEXT = (PFNGLGENERATEMULTITEXMIPMAPEXTPROC)load("glGenerateMultiTexMipmapEXT");
+	glad_glFramebufferDrawBufferEXT = (PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC)load("glFramebufferDrawBufferEXT");
+	glad_glFramebufferDrawBuffersEXT = (PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC)load("glFramebufferDrawBuffersEXT");
+	glad_glFramebufferReadBufferEXT = (PFNGLFRAMEBUFFERREADBUFFEREXTPROC)load("glFramebufferReadBufferEXT");
+	glad_glGetFramebufferParameterivEXT = (PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC)load("glGetFramebufferParameterivEXT");
+	glad_glNamedCopyBufferSubDataEXT = (PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC)load("glNamedCopyBufferSubDataEXT");
+	glad_glNamedFramebufferTextureEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC)load("glNamedFramebufferTextureEXT");
+	glad_glNamedFramebufferTextureLayerEXT = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC)load("glNamedFramebufferTextureLayerEXT");
+	glad_glNamedFramebufferTextureFaceEXT = (PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC)load("glNamedFramebufferTextureFaceEXT");
+	glad_glTextureRenderbufferEXT = (PFNGLTEXTURERENDERBUFFEREXTPROC)load("glTextureRenderbufferEXT");
+	glad_glMultiTexRenderbufferEXT = (PFNGLMULTITEXRENDERBUFFEREXTPROC)load("glMultiTexRenderbufferEXT");
+	glad_glVertexArrayVertexOffsetEXT = (PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC)load("glVertexArrayVertexOffsetEXT");
+	glad_glVertexArrayColorOffsetEXT = (PFNGLVERTEXARRAYCOLOROFFSETEXTPROC)load("glVertexArrayColorOffsetEXT");
+	glad_glVertexArrayEdgeFlagOffsetEXT = (PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC)load("glVertexArrayEdgeFlagOffsetEXT");
+	glad_glVertexArrayIndexOffsetEXT = (PFNGLVERTEXARRAYINDEXOFFSETEXTPROC)load("glVertexArrayIndexOffsetEXT");
+	glad_glVertexArrayNormalOffsetEXT = (PFNGLVERTEXARRAYNORMALOFFSETEXTPROC)load("glVertexArrayNormalOffsetEXT");
+	glad_glVertexArrayTexCoordOffsetEXT = (PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC)load("glVertexArrayTexCoordOffsetEXT");
+	glad_glVertexArrayMultiTexCoordOffsetEXT = (PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC)load("glVertexArrayMultiTexCoordOffsetEXT");
+	glad_glVertexArrayFogCoordOffsetEXT = (PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC)load("glVertexArrayFogCoordOffsetEXT");
+	glad_glVertexArraySecondaryColorOffsetEXT = (PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC)load("glVertexArraySecondaryColorOffsetEXT");
+	glad_glVertexArrayVertexAttribOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC)load("glVertexArrayVertexAttribOffsetEXT");
+	glad_glVertexArrayVertexAttribIOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC)load("glVertexArrayVertexAttribIOffsetEXT");
+	glad_glEnableVertexArrayEXT = (PFNGLENABLEVERTEXARRAYEXTPROC)load("glEnableVertexArrayEXT");
+	glad_glDisableVertexArrayEXT = (PFNGLDISABLEVERTEXARRAYEXTPROC)load("glDisableVertexArrayEXT");
+	glad_glEnableVertexArrayAttribEXT = (PFNGLENABLEVERTEXARRAYATTRIBEXTPROC)load("glEnableVertexArrayAttribEXT");
+	glad_glDisableVertexArrayAttribEXT = (PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC)load("glDisableVertexArrayAttribEXT");
+	glad_glGetVertexArrayIntegervEXT = (PFNGLGETVERTEXARRAYINTEGERVEXTPROC)load("glGetVertexArrayIntegervEXT");
+	glad_glGetVertexArrayPointervEXT = (PFNGLGETVERTEXARRAYPOINTERVEXTPROC)load("glGetVertexArrayPointervEXT");
+	glad_glGetVertexArrayIntegeri_vEXT = (PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC)load("glGetVertexArrayIntegeri_vEXT");
+	glad_glGetVertexArrayPointeri_vEXT = (PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC)load("glGetVertexArrayPointeri_vEXT");
+	glad_glMapNamedBufferRangeEXT = (PFNGLMAPNAMEDBUFFERRANGEEXTPROC)load("glMapNamedBufferRangeEXT");
+	glad_glFlushMappedNamedBufferRangeEXT = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC)load("glFlushMappedNamedBufferRangeEXT");
+	glad_glNamedBufferStorageEXT = (PFNGLNAMEDBUFFERSTORAGEEXTPROC)load("glNamedBufferStorageEXT");
+	glad_glClearNamedBufferDataEXT = (PFNGLCLEARNAMEDBUFFERDATAEXTPROC)load("glClearNamedBufferDataEXT");
+	glad_glClearNamedBufferSubDataEXT = (PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)load("glClearNamedBufferSubDataEXT");
+	glad_glNamedFramebufferParameteriEXT = (PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC)load("glNamedFramebufferParameteriEXT");
+	glad_glGetNamedFramebufferParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)load("glGetNamedFramebufferParameterivEXT");
+	glad_glProgramUniform1dEXT = (PFNGLPROGRAMUNIFORM1DEXTPROC)load("glProgramUniform1dEXT");
+	glad_glProgramUniform2dEXT = (PFNGLPROGRAMUNIFORM2DEXTPROC)load("glProgramUniform2dEXT");
+	glad_glProgramUniform3dEXT = (PFNGLPROGRAMUNIFORM3DEXTPROC)load("glProgramUniform3dEXT");
+	glad_glProgramUniform4dEXT = (PFNGLPROGRAMUNIFORM4DEXTPROC)load("glProgramUniform4dEXT");
+	glad_glProgramUniform1dvEXT = (PFNGLPROGRAMUNIFORM1DVEXTPROC)load("glProgramUniform1dvEXT");
+	glad_glProgramUniform2dvEXT = (PFNGLPROGRAMUNIFORM2DVEXTPROC)load("glProgramUniform2dvEXT");
+	glad_glProgramUniform3dvEXT = (PFNGLPROGRAMUNIFORM3DVEXTPROC)load("glProgramUniform3dvEXT");
+	glad_glProgramUniform4dvEXT = (PFNGLPROGRAMUNIFORM4DVEXTPROC)load("glProgramUniform4dvEXT");
+	glad_glProgramUniformMatrix2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC)load("glProgramUniformMatrix2dvEXT");
+	glad_glProgramUniformMatrix3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC)load("glProgramUniformMatrix3dvEXT");
+	glad_glProgramUniformMatrix4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC)load("glProgramUniformMatrix4dvEXT");
+	glad_glProgramUniformMatrix2x3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC)load("glProgramUniformMatrix2x3dvEXT");
+	glad_glProgramUniformMatrix2x4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC)load("glProgramUniformMatrix2x4dvEXT");
+	glad_glProgramUniformMatrix3x2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC)load("glProgramUniformMatrix3x2dvEXT");
+	glad_glProgramUniformMatrix3x4dvEXT = (PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC)load("glProgramUniformMatrix3x4dvEXT");
+	glad_glProgramUniformMatrix4x2dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC)load("glProgramUniformMatrix4x2dvEXT");
+	glad_glProgramUniformMatrix4x3dvEXT = (PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC)load("glProgramUniformMatrix4x3dvEXT");
+	glad_glTextureBufferRangeEXT = (PFNGLTEXTUREBUFFERRANGEEXTPROC)load("glTextureBufferRangeEXT");
+	glad_glTextureStorage1DEXT = (PFNGLTEXTURESTORAGE1DEXTPROC)load("glTextureStorage1DEXT");
+	glad_glTextureStorage2DEXT = (PFNGLTEXTURESTORAGE2DEXTPROC)load("glTextureStorage2DEXT");
+	glad_glTextureStorage3DEXT = (PFNGLTEXTURESTORAGE3DEXTPROC)load("glTextureStorage3DEXT");
+	glad_glTextureStorage2DMultisampleEXT = (PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC)load("glTextureStorage2DMultisampleEXT");
+	glad_glTextureStorage3DMultisampleEXT = (PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC)load("glTextureStorage3DMultisampleEXT");
+	glad_glVertexArrayBindVertexBufferEXT = (PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC)load("glVertexArrayBindVertexBufferEXT");
+	glad_glVertexArrayVertexAttribFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC)load("glVertexArrayVertexAttribFormatEXT");
+	glad_glVertexArrayVertexAttribIFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC)load("glVertexArrayVertexAttribIFormatEXT");
+	glad_glVertexArrayVertexAttribLFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC)load("glVertexArrayVertexAttribLFormatEXT");
+	glad_glVertexArrayVertexAttribBindingEXT = (PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC)load("glVertexArrayVertexAttribBindingEXT");
+	glad_glVertexArrayVertexBindingDivisorEXT = (PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC)load("glVertexArrayVertexBindingDivisorEXT");
+	glad_glVertexArrayVertexAttribLOffsetEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC)load("glVertexArrayVertexAttribLOffsetEXT");
+	glad_glTexturePageCommitmentEXT = (PFNGLTEXTUREPAGECOMMITMENTEXTPROC)load("glTexturePageCommitmentEXT");
+	glad_glVertexArrayVertexAttribDivisorEXT = (PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC)load("glVertexArrayVertexAttribDivisorEXT");
+}
+static void load_GL_AMD_sample_positions(GLADloadproc load) {
+	if(!GLAD_GL_AMD_sample_positions) return;
+	glad_glSetMultisamplefvAMD = (PFNGLSETMULTISAMPLEFVAMDPROC)load("glSetMultisamplefvAMD");
+}
+static void load_GL_NV_vertex_program(GLADloadproc load) {
+	if(!GLAD_GL_NV_vertex_program) return;
+	glad_glAreProgramsResidentNV = (PFNGLAREPROGRAMSRESIDENTNVPROC)load("glAreProgramsResidentNV");
+	glad_glBindProgramNV = (PFNGLBINDPROGRAMNVPROC)load("glBindProgramNV");
+	glad_glDeleteProgramsNV = (PFNGLDELETEPROGRAMSNVPROC)load("glDeleteProgramsNV");
+	glad_glExecuteProgramNV = (PFNGLEXECUTEPROGRAMNVPROC)load("glExecuteProgramNV");
+	glad_glGenProgramsNV = (PFNGLGENPROGRAMSNVPROC)load("glGenProgramsNV");
+	glad_glGetProgramParameterdvNV = (PFNGLGETPROGRAMPARAMETERDVNVPROC)load("glGetProgramParameterdvNV");
+	glad_glGetProgramParameterfvNV = (PFNGLGETPROGRAMPARAMETERFVNVPROC)load("glGetProgramParameterfvNV");
+	glad_glGetProgramivNV = (PFNGLGETPROGRAMIVNVPROC)load("glGetProgramivNV");
+	glad_glGetProgramStringNV = (PFNGLGETPROGRAMSTRINGNVPROC)load("glGetProgramStringNV");
+	glad_glGetTrackMatrixivNV = (PFNGLGETTRACKMATRIXIVNVPROC)load("glGetTrackMatrixivNV");
+	glad_glGetVertexAttribdvNV = (PFNGLGETVERTEXATTRIBDVNVPROC)load("glGetVertexAttribdvNV");
+	glad_glGetVertexAttribfvNV = (PFNGLGETVERTEXATTRIBFVNVPROC)load("glGetVertexAttribfvNV");
+	glad_glGetVertexAttribivNV = (PFNGLGETVERTEXATTRIBIVNVPROC)load("glGetVertexAttribivNV");
+	glad_glGetVertexAttribPointervNV = (PFNGLGETVERTEXATTRIBPOINTERVNVPROC)load("glGetVertexAttribPointervNV");
+	glad_glIsProgramNV = (PFNGLISPROGRAMNVPROC)load("glIsProgramNV");
+	glad_glLoadProgramNV = (PFNGLLOADPROGRAMNVPROC)load("glLoadProgramNV");
+	glad_glProgramParameter4dNV = (PFNGLPROGRAMPARAMETER4DNVPROC)load("glProgramParameter4dNV");
+	glad_glProgramParameter4dvNV = (PFNGLPROGRAMPARAMETER4DVNVPROC)load("glProgramParameter4dvNV");
+	glad_glProgramParameter4fNV = (PFNGLPROGRAMPARAMETER4FNVPROC)load("glProgramParameter4fNV");
+	glad_glProgramParameter4fvNV = (PFNGLPROGRAMPARAMETER4FVNVPROC)load("glProgramParameter4fvNV");
+	glad_glProgramParameters4dvNV = (PFNGLPROGRAMPARAMETERS4DVNVPROC)load("glProgramParameters4dvNV");
+	glad_glProgramParameters4fvNV = (PFNGLPROGRAMPARAMETERS4FVNVPROC)load("glProgramParameters4fvNV");
+	glad_glRequestResidentProgramsNV = (PFNGLREQUESTRESIDENTPROGRAMSNVPROC)load("glRequestResidentProgramsNV");
+	glad_glTrackMatrixNV = (PFNGLTRACKMATRIXNVPROC)load("glTrackMatrixNV");
+	glad_glVertexAttribPointerNV = (PFNGLVERTEXATTRIBPOINTERNVPROC)load("glVertexAttribPointerNV");
+	glad_glVertexAttrib1dNV = (PFNGLVERTEXATTRIB1DNVPROC)load("glVertexAttrib1dNV");
+	glad_glVertexAttrib1dvNV = (PFNGLVERTEXATTRIB1DVNVPROC)load("glVertexAttrib1dvNV");
+	glad_glVertexAttrib1fNV = (PFNGLVERTEXATTRIB1FNVPROC)load("glVertexAttrib1fNV");
+	glad_glVertexAttrib1fvNV = (PFNGLVERTEXATTRIB1FVNVPROC)load("glVertexAttrib1fvNV");
+	glad_glVertexAttrib1sNV = (PFNGLVERTEXATTRIB1SNVPROC)load("glVertexAttrib1sNV");
+	glad_glVertexAttrib1svNV = (PFNGLVERTEXATTRIB1SVNVPROC)load("glVertexAttrib1svNV");
+	glad_glVertexAttrib2dNV = (PFNGLVERTEXATTRIB2DNVPROC)load("glVertexAttrib2dNV");
+	glad_glVertexAttrib2dvNV = (PFNGLVERTEXATTRIB2DVNVPROC)load("glVertexAttrib2dvNV");
+	glad_glVertexAttrib2fNV = (PFNGLVERTEXATTRIB2FNVPROC)load("glVertexAttrib2fNV");
+	glad_glVertexAttrib2fvNV = (PFNGLVERTEXATTRIB2FVNVPROC)load("glVertexAttrib2fvNV");
+	glad_glVertexAttrib2sNV = (PFNGLVERTEXATTRIB2SNVPROC)load("glVertexAttrib2sNV");
+	glad_glVertexAttrib2svNV = (PFNGLVERTEXATTRIB2SVNVPROC)load("glVertexAttrib2svNV");
+	glad_glVertexAttrib3dNV = (PFNGLVERTEXATTRIB3DNVPROC)load("glVertexAttrib3dNV");
+	glad_glVertexAttrib3dvNV = (PFNGLVERTEXATTRIB3DVNVPROC)load("glVertexAttrib3dvNV");
+	glad_glVertexAttrib3fNV = (PFNGLVERTEXATTRIB3FNVPROC)load("glVertexAttrib3fNV");
+	glad_glVertexAttrib3fvNV = (PFNGLVERTEXATTRIB3FVNVPROC)load("glVertexAttrib3fvNV");
+	glad_glVertexAttrib3sNV = (PFNGLVERTEXATTRIB3SNVPROC)load("glVertexAttrib3sNV");
+	glad_glVertexAttrib3svNV = (PFNGLVERTEXATTRIB3SVNVPROC)load("glVertexAttrib3svNV");
+	glad_glVertexAttrib4dNV = (PFNGLVERTEXATTRIB4DNVPROC)load("glVertexAttrib4dNV");
+	glad_glVertexAttrib4dvNV = (PFNGLVERTEXATTRIB4DVNVPROC)load("glVertexAttrib4dvNV");
+	glad_glVertexAttrib4fNV = (PFNGLVERTEXATTRIB4FNVPROC)load("glVertexAttrib4fNV");
+	glad_glVertexAttrib4fvNV = (PFNGLVERTEXATTRIB4FVNVPROC)load("glVertexAttrib4fvNV");
+	glad_glVertexAttrib4sNV = (PFNGLVERTEXATTRIB4SNVPROC)load("glVertexAttrib4sNV");
+	glad_glVertexAttrib4svNV = (PFNGLVERTEXATTRIB4SVNVPROC)load("glVertexAttrib4svNV");
+	glad_glVertexAttrib4ubNV = (PFNGLVERTEXATTRIB4UBNVPROC)load("glVertexAttrib4ubNV");
+	glad_glVertexAttrib4ubvNV = (PFNGLVERTEXATTRIB4UBVNVPROC)load("glVertexAttrib4ubvNV");
+	glad_glVertexAttribs1dvNV = (PFNGLVERTEXATTRIBS1DVNVPROC)load("glVertexAttribs1dvNV");
+	glad_glVertexAttribs1fvNV = (PFNGLVERTEXATTRIBS1FVNVPROC)load("glVertexAttribs1fvNV");
+	glad_glVertexAttribs1svNV = (PFNGLVERTEXATTRIBS1SVNVPROC)load("glVertexAttribs1svNV");
+	glad_glVertexAttribs2dvNV = (PFNGLVERTEXATTRIBS2DVNVPROC)load("glVertexAttribs2dvNV");
+	glad_glVertexAttribs2fvNV = (PFNGLVERTEXATTRIBS2FVNVPROC)load("glVertexAttribs2fvNV");
+	glad_glVertexAttribs2svNV = (PFNGLVERTEXATTRIBS2SVNVPROC)load("glVertexAttribs2svNV");
+	glad_glVertexAttribs3dvNV = (PFNGLVERTEXATTRIBS3DVNVPROC)load("glVertexAttribs3dvNV");
+	glad_glVertexAttribs3fvNV = (PFNGLVERTEXATTRIBS3FVNVPROC)load("glVertexAttribs3fvNV");
+	glad_glVertexAttribs3svNV = (PFNGLVERTEXATTRIBS3SVNVPROC)load("glVertexAttribs3svNV");
+	glad_glVertexAttribs4dvNV = (PFNGLVERTEXATTRIBS4DVNVPROC)load("glVertexAttribs4dvNV");
+	glad_glVertexAttribs4fvNV = (PFNGLVERTEXATTRIBS4FVNVPROC)load("glVertexAttribs4fvNV");
+	glad_glVertexAttribs4svNV = (PFNGLVERTEXATTRIBS4SVNVPROC)load("glVertexAttribs4svNV");
+	glad_glVertexAttribs4ubvNV = (PFNGLVERTEXATTRIBS4UBVNVPROC)load("glVertexAttribs4ubvNV");
+}
+static void load_GL_NVX_conditional_render(GLADloadproc load) {
+	if(!GLAD_GL_NVX_conditional_render) return;
+	glad_glBeginConditionalRenderNVX = (PFNGLBEGINCONDITIONALRENDERNVXPROC)load("glBeginConditionalRenderNVX");
+	glad_glEndConditionalRenderNVX = (PFNGLENDCONDITIONALRENDERNVXPROC)load("glEndConditionalRenderNVX");
+}
+static void load_GL_EXT_vertex_shader(GLADloadproc load) {
+	if(!GLAD_GL_EXT_vertex_shader) return;
+	glad_glBeginVertexShaderEXT = (PFNGLBEGINVERTEXSHADEREXTPROC)load("glBeginVertexShaderEXT");
+	glad_glEndVertexShaderEXT = (PFNGLENDVERTEXSHADEREXTPROC)load("glEndVertexShaderEXT");
+	glad_glBindVertexShaderEXT = (PFNGLBINDVERTEXSHADEREXTPROC)load("glBindVertexShaderEXT");
+	glad_glGenVertexShadersEXT = (PFNGLGENVERTEXSHADERSEXTPROC)load("glGenVertexShadersEXT");
+	glad_glDeleteVertexShaderEXT = (PFNGLDELETEVERTEXSHADEREXTPROC)load("glDeleteVertexShaderEXT");
+	glad_glShaderOp1EXT = (PFNGLSHADEROP1EXTPROC)load("glShaderOp1EXT");
+	glad_glShaderOp2EXT = (PFNGLSHADEROP2EXTPROC)load("glShaderOp2EXT");
+	glad_glShaderOp3EXT = (PFNGLSHADEROP3EXTPROC)load("glShaderOp3EXT");
+	glad_glSwizzleEXT = (PFNGLSWIZZLEEXTPROC)load("glSwizzleEXT");
+	glad_glWriteMaskEXT = (PFNGLWRITEMASKEXTPROC)load("glWriteMaskEXT");
+	glad_glInsertComponentEXT = (PFNGLINSERTCOMPONENTEXTPROC)load("glInsertComponentEXT");
+	glad_glExtractComponentEXT = (PFNGLEXTRACTCOMPONENTEXTPROC)load("glExtractComponentEXT");
+	glad_glGenSymbolsEXT = (PFNGLGENSYMBOLSEXTPROC)load("glGenSymbolsEXT");
+	glad_glSetInvariantEXT = (PFNGLSETINVARIANTEXTPROC)load("glSetInvariantEXT");
+	glad_glSetLocalConstantEXT = (PFNGLSETLOCALCONSTANTEXTPROC)load("glSetLocalConstantEXT");
+	glad_glVariantbvEXT = (PFNGLVARIANTBVEXTPROC)load("glVariantbvEXT");
+	glad_glVariantsvEXT = (PFNGLVARIANTSVEXTPROC)load("glVariantsvEXT");
+	glad_glVariantivEXT = (PFNGLVARIANTIVEXTPROC)load("glVariantivEXT");
+	glad_glVariantfvEXT = (PFNGLVARIANTFVEXTPROC)load("glVariantfvEXT");
+	glad_glVariantdvEXT = (PFNGLVARIANTDVEXTPROC)load("glVariantdvEXT");
+	glad_glVariantubvEXT = (PFNGLVARIANTUBVEXTPROC)load("glVariantubvEXT");
+	glad_glVariantusvEXT = (PFNGLVARIANTUSVEXTPROC)load("glVariantusvEXT");
+	glad_glVariantuivEXT = (PFNGLVARIANTUIVEXTPROC)load("glVariantuivEXT");
+	glad_glVariantPointerEXT = (PFNGLVARIANTPOINTEREXTPROC)load("glVariantPointerEXT");
+	glad_glEnableVariantClientStateEXT = (PFNGLENABLEVARIANTCLIENTSTATEEXTPROC)load("glEnableVariantClientStateEXT");
+	glad_glDisableVariantClientStateEXT = (PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC)load("glDisableVariantClientStateEXT");
+	glad_glBindLightParameterEXT = (PFNGLBINDLIGHTPARAMETEREXTPROC)load("glBindLightParameterEXT");
+	glad_glBindMaterialParameterEXT = (PFNGLBINDMATERIALPARAMETEREXTPROC)load("glBindMaterialParameterEXT");
+	glad_glBindTexGenParameterEXT = (PFNGLBINDTEXGENPARAMETEREXTPROC)load("glBindTexGenParameterEXT");
+	glad_glBindTextureUnitParameterEXT = (PFNGLBINDTEXTUREUNITPARAMETEREXTPROC)load("glBindTextureUnitParameterEXT");
+	glad_glBindParameterEXT = (PFNGLBINDPARAMETEREXTPROC)load("glBindParameterEXT");
+	glad_glIsVariantEnabledEXT = (PFNGLISVARIANTENABLEDEXTPROC)load("glIsVariantEnabledEXT");
+	glad_glGetVariantBooleanvEXT = (PFNGLGETVARIANTBOOLEANVEXTPROC)load("glGetVariantBooleanvEXT");
+	glad_glGetVariantIntegervEXT = (PFNGLGETVARIANTINTEGERVEXTPROC)load("glGetVariantIntegervEXT");
+	glad_glGetVariantFloatvEXT = (PFNGLGETVARIANTFLOATVEXTPROC)load("glGetVariantFloatvEXT");
+	glad_glGetVariantPointervEXT = (PFNGLGETVARIANTPOINTERVEXTPROC)load("glGetVariantPointervEXT");
+	glad_glGetInvariantBooleanvEXT = (PFNGLGETINVARIANTBOOLEANVEXTPROC)load("glGetInvariantBooleanvEXT");
+	glad_glGetInvariantIntegervEXT = (PFNGLGETINVARIANTINTEGERVEXTPROC)load("glGetInvariantIntegervEXT");
+	glad_glGetInvariantFloatvEXT = (PFNGLGETINVARIANTFLOATVEXTPROC)load("glGetInvariantFloatvEXT");
+	glad_glGetLocalConstantBooleanvEXT = (PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC)load("glGetLocalConstantBooleanvEXT");
+	glad_glGetLocalConstantIntegervEXT = (PFNGLGETLOCALCONSTANTINTEGERVEXTPROC)load("glGetLocalConstantIntegervEXT");
+	glad_glGetLocalConstantFloatvEXT = (PFNGLGETLOCALCONSTANTFLOATVEXTPROC)load("glGetLocalConstantFloatvEXT");
+}
+static void load_GL_EXT_blend_func_separate(GLADloadproc load) {
+	if(!GLAD_GL_EXT_blend_func_separate) return;
+	glad_glBlendFuncSeparateEXT = (PFNGLBLENDFUNCSEPARATEEXTPROC)load("glBlendFuncSeparateEXT");
+}
+static void load_GL_APPLE_fence(GLADloadproc load) {
+	if(!GLAD_GL_APPLE_fence) return;
+	glad_glGenFencesAPPLE = (PFNGLGENFENCESAPPLEPROC)load("glGenFencesAPPLE");
+	glad_glDeleteFencesAPPLE = (PFNGLDELETEFENCESAPPLEPROC)load("glDeleteFencesAPPLE");
+	glad_glSetFenceAPPLE = (PFNGLSETFENCEAPPLEPROC)load("glSetFenceAPPLE");
+	glad_glIsFenceAPPLE = (PFNGLISFENCEAPPLEPROC)load("glIsFenceAPPLE");
+	glad_glTestFenceAPPLE = (PFNGLTESTFENCEAPPLEPROC)load("glTestFenceAPPLE");
+	glad_glFinishFenceAPPLE = (PFNGLFINISHFENCEAPPLEPROC)load("glFinishFenceAPPLE");
+	glad_glTestObjectAPPLE = (PFNGLTESTOBJECTAPPLEPROC)load("glTestObjectAPPLE");
+	glad_glFinishObjectAPPLE = (PFNGLFINISHOBJECTAPPLEPROC)load("glFinishObjectAPPLE");
+}
+static void load_GL_OES_byte_coordinates(GLADloadproc load) {
+	if(!GLAD_GL_OES_byte_coordinates) return;
+	glad_glMultiTexCoord1bOES = (PFNGLMULTITEXCOORD1BOESPROC)load("glMultiTexCoord1bOES");
+	glad_glMultiTexCoord1bvOES = (PFNGLMULTITEXCOORD1BVOESPROC)load("glMultiTexCoord1bvOES");
+	glad_glMultiTexCoord2bOES = (PFNGLMULTITEXCOORD2BOESPROC)load("glMultiTexCoord2bOES");
+	glad_glMultiTexCoord2bvOES = (PFNGLMULTITEXCOORD2BVOESPROC)load("glMultiTexCoord2bvOES");
+	glad_glMultiTexCoord3bOES = (PFNGLMULTITEXCOORD3BOESPROC)load("glMultiTexCoord3bOES");
+	glad_glMultiTexCoord3bvOES = (PFNGLMULTITEXCOORD3BVOESPROC)load("glMultiTexCoord3bvOES");
+	glad_glMultiTexCoord4bOES = (PFNGLMULTITEXCOORD4BOESPROC)load("glMultiTexCoord4bOES");
+	glad_glMultiTexCoord4bvOES = (PFNGLMULTITEXCOORD4BVOESPROC)load("glMultiTexCoord4bvOES");
+	glad_glTexCoord1bOES = (PFNGLTEXCOORD1BOESPROC)load("glTexCoord1bOES");
+	glad_glTexCoord1bvOES = (PFNGLTEXCOORD1BVOESPROC)load("glTexCoord1bvOES");
+	glad_glTexCoord2bOES = (PFNGLTEXCOORD2BOESPROC)load("glTexCoord2bOES");
+	glad_glTexCoord2bvOES = (PFNGLTEXCOORD2BVOESPROC)load("glTexCoord2bvOES");
+	glad_glTexCoord3bOES = (PFNGLTEXCOORD3BOESPROC)load("glTexCoord3bOES");
+	glad_glTexCoord3bvOES = (PFNGLTEXCOORD3BVOESPROC)load("glTexCoord3bvOES");
+	glad_glTexCoord4bOES = (PFNGLTEXCOORD4BOESPROC)load("glTexCoord4bOES");
+	glad_glTexCoord4bvOES = (PFNGLTEXCOORD4BVOESPROC)load("glTexCoord4bvOES");
+	glad_glVertex2bOES = (PFNGLVERTEX2BOESPROC)load("glVertex2bOES");
+	glad_glVertex2bvOES = (PFNGLVERTEX2BVOESPROC)load("glVertex2bvOES");
+	glad_glVertex3bOES = (PFNGLVERTEX3BOESPROC)load("glVertex3bOES");
+	glad_glVertex3bvOES = (PFNGLVERTEX3BVOESPROC)load("glVertex3bvOES");
+	glad_glVertex4bOES = (PFNGLVERTEX4BOESPROC)load("glVertex4bOES");
+	glad_glVertex4bvOES = (PFNGLVERTEX4BVOESPROC)load("glVertex4bvOES");
+}
+static void load_GL_ARB_transpose_matrix(GLADloadproc load) {
+	if(!GLAD_GL_ARB_transpose_matrix) return;
+	glad_glLoadTransposeMatrixfARB = (PFNGLLOADTRANSPOSEMATRIXFARBPROC)load("glLoadTransposeMatrixfARB");
+	glad_glLoadTransposeMatrixdARB = (PFNGLLOADTRANSPOSEMATRIXDARBPROC)load("glLoadTransposeMatrixdARB");
+	glad_glMultTransposeMatrixfARB = (PFNGLMULTTRANSPOSEMATRIXFARBPROC)load("glMultTransposeMatrixfARB");
+	glad_glMultTransposeMatrixdARB = (PFNGLMULTTRANSPOSEMATRIXDARBPROC)load("glMultTransposeMatrixdARB");
+}
+static void load_GL_ARB_provoking_vertex(GLADloadproc load) {
+	if(!GLAD_GL_ARB_provoking_vertex) return;
+	glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load("glProvokingVertex");
+}
+static void load_GL_EXT_fog_coord(GLADloadproc load) {
+	if(!GLAD_GL_EXT_fog_coord) return;
+	glad_glFogCoordfEXT = (PFNGLFOGCOORDFEXTPROC)load("glFogCoordfEXT");
+	glad_glFogCoordfvEXT = (PFNGLFOGCOORDFVEXTPROC)load("glFogCoordfvEXT");
+	glad_glFogCoorddEXT = (PFNGLFOGCOORDDEXTPROC)load("glFogCoorddEXT");
+	glad_glFogCoorddvEXT = (PFNGLFOGCOORDDVEXTPROC)load("glFogCoorddvEXT");
+	glad_glFogCoordPointerEXT = (PFNGLFOGCOORDPOINTEREXTPROC)load("glFogCoordPointerEXT");
+}
+static void load_GL_EXT_vertex_array(GLADloadproc load) {
+	if(!GLAD_GL_EXT_vertex_array) return;
+	glad_glArrayElementEXT = (PFNGLARRAYELEMENTEXTPROC)load("glArrayElementEXT");
+	glad_glColorPointerEXT = (PFNGLCOLORPOINTEREXTPROC)load("glColorPointerEXT");
+	glad_glDrawArraysEXT = (PFNGLDRAWARRAYSEXTPROC)load("glDrawArraysEXT");
+	glad_glEdgeFlagPointerEXT = (PFNGLEDGEFLAGPOINTEREXTPROC)load("glEdgeFlagPointerEXT");
+	glad_glGetPointervEXT = (PFNGLGETPOINTERVEXTPROC)load("glGetPointervEXT");
+	glad_glIndexPointerEXT = (PFNGLINDEXPOINTEREXTPROC)load("glIndexPointerEXT");
+	glad_glNormalPointerEXT = (PFNGLNORMALPOINTEREXTPROC)load("glNormalPointerEXT");
+	glad_glTexCoordPointerEXT = (PFNGLTEXCOORDPOINTEREXTPROC)load("glTexCoordPointerEXT");
+	glad_glVertexPointerEXT = (PFNGLVERTEXPOINTEREXTPROC)load("glVertexPointerEXT");
+}
+static void load_GL_EXT_blend_equation_separate(GLADloadproc load) {
+	if(!GLAD_GL_EXT_blend_equation_separate) return;
+	glad_glBlendEquationSeparateEXT = (PFNGLBLENDEQUATIONSEPARATEEXTPROC)load("glBlendEquationSeparateEXT");
+}
+static void load_GL_ARB_multi_draw_indirect(GLADloadproc load) {
+	if(!GLAD_GL_ARB_multi_draw_indirect) return;
+	glad_glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC)load("glMultiDrawArraysIndirect");
+	glad_glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC)load("glMultiDrawElementsIndirect");
+}
+static void load_GL_NV_copy_image(GLADloadproc load) {
+	if(!GLAD_GL_NV_copy_image) return;
+	glad_glCopyImageSubDataNV = (PFNGLCOPYIMAGESUBDATANVPROC)load("glCopyImageSubDataNV");
+}
+static void load_GL_ARB_transform_feedback2(GLADloadproc load) {
+	if(!GLAD_GL_ARB_transform_feedback2) return;
+	glad_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)load("glBindTransformFeedback");
+	glad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)load("glDeleteTransformFeedbacks");
+	glad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)load("glGenTransformFeedbacks");
+	glad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)load("glIsTransformFeedback");
+	glad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)load("glPauseTransformFeedback");
+	glad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)load("glResumeTransformFeedback");
+	glad_glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC)load("glDrawTransformFeedback");
+}
+static void load_GL_ARB_transform_feedback3(GLADloadproc load) {
+	if(!GLAD_GL_ARB_transform_feedback3) return;
+	glad_glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)load("glDrawTransformFeedbackStream");
+	glad_glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC)load("glBeginQueryIndexed");
+	glad_glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC)load("glEndQueryIndexed");
+	glad_glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC)load("glGetQueryIndexediv");
+}
+static void load_GL_EXT_debug_marker(GLADloadproc load) {
+	if(!GLAD_GL_EXT_debug_marker) return;
+	glad_glInsertEventMarkerEXT = (PFNGLINSERTEVENTMARKEREXTPROC)load("glInsertEventMarkerEXT");
+	glad_glPushGroupMarkerEXT = (PFNGLPUSHGROUPMARKEREXTPROC)load("glPushGroupMarkerEXT");
+	glad_glPopGroupMarkerEXT = (PFNGLPOPGROUPMARKEREXTPROC)load("glPopGroupMarkerEXT");
+}
+static void load_GL_EXT_pixel_transform(GLADloadproc load) {
+	if(!GLAD_GL_EXT_pixel_transform) return;
+	glad_glPixelTransformParameteriEXT = (PFNGLPIXELTRANSFORMPARAMETERIEXTPROC)load("glPixelTransformParameteriEXT");
+	glad_glPixelTransformParameterfEXT = (PFNGLPIXELTRANSFORMPARAMETERFEXTPROC)load("glPixelTransformParameterfEXT");
+	glad_glPixelTransformParameterivEXT = (PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC)load("glPixelTransformParameterivEXT");
+	glad_glPixelTransformParameterfvEXT = (PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC)load("glPixelTransformParameterfvEXT");
+	glad_glGetPixelTransformParameterivEXT = (PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC)load("glGetPixelTransformParameterivEXT");
+	glad_glGetPixelTransformParameterfvEXT = (PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC)load("glGetPixelTransformParameterfvEXT");
+}
+static void load_GL_ATI_fragment_shader(GLADloadproc load) {
+	if(!GLAD_GL_ATI_fragment_shader) return;
+	glad_glGenFragmentShadersATI = (PFNGLGENFRAGMENTSHADERSATIPROC)load("glGenFragmentShadersATI");
+	glad_glBindFragmentShaderATI = (PFNGLBINDFRAGMENTSHADERATIPROC)load("glBindFragmentShaderATI");
+	glad_glDeleteFragmentShaderATI = (PFNGLDELETEFRAGMENTSHADERATIPROC)load("glDeleteFragmentShaderATI");
+	glad_glBeginFragmentShaderATI = (PFNGLBEGINFRAGMENTSHADERATIPROC)load("glBeginFragmentShaderATI");
+	glad_glEndFragmentShaderATI = (PFNGLENDFRAGMENTSHADERATIPROC)load("glEndFragmentShaderATI");
+	glad_glPassTexCoordATI = (PFNGLPASSTEXCOORDATIPROC)load("glPassTexCoordATI");
+	glad_glSampleMapATI = (PFNGLSAMPLEMAPATIPROC)load("glSampleMapATI");
+	glad_glColorFragmentOp1ATI = (PFNGLCOLORFRAGMENTOP1ATIPROC)load("glColorFragmentOp1ATI");
+	glad_glColorFragmentOp2ATI = (PFNGLCOLORFRAGMENTOP2ATIPROC)load("glColorFragmentOp2ATI");
+	glad_glColorFragmentOp3ATI = (PFNGLCOLORFRAGMENTOP3ATIPROC)load("glColorFragmentOp3ATI");
+	glad_glAlphaFragmentOp1ATI = (PFNGLALPHAFRAGMENTOP1ATIPROC)load("glAlphaFragmentOp1ATI");
+	glad_glAlphaFragmentOp2ATI = (PFNGLALPHAFRAGMENTOP2ATIPROC)load("glAlphaFragmentOp2ATI");
+	glad_glAlphaFragmentOp3ATI = (PFNGLALPHAFRAGMENTOP3ATIPROC)load("glAlphaFragmentOp3ATI");
+	glad_glSetFragmentShaderConstantATI = (PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)load("glSetFragmentShaderConstantATI");
+}
+static void load_GL_ARB_vertex_array_object(GLADloadproc load) {
+	if(!GLAD_GL_ARB_vertex_array_object) return;
+	glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray");
+	glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays");
+	glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays");
+	glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray");
+}
+static void load_GL_SUN_triangle_list(GLADloadproc load) {
+	if(!GLAD_GL_SUN_triangle_list) return;
+	glad_glReplacementCodeuiSUN = (PFNGLREPLACEMENTCODEUISUNPROC)load("glReplacementCodeuiSUN");
+	glad_glReplacementCodeusSUN = (PFNGLREPLACEMENTCODEUSSUNPROC)load("glReplacementCodeusSUN");
+	glad_glReplacementCodeubSUN = (PFNGLREPLACEMENTCODEUBSUNPROC)load("glReplacementCodeubSUN");
+	glad_glReplacementCodeuivSUN = (PFNGLREPLACEMENTCODEUIVSUNPROC)load("glReplacementCodeuivSUN");
+	glad_glReplacementCodeusvSUN = (PFNGLREPLACEMENTCODEUSVSUNPROC)load("glReplacementCodeusvSUN");
+	glad_glReplacementCodeubvSUN = (PFNGLREPLACEMENTCODEUBVSUNPROC)load("glReplacementCodeubvSUN");
+	glad_glReplacementCodePointerSUN = (PFNGLREPLACEMENTCODEPOINTERSUNPROC)load("glReplacementCodePointerSUN");
+}
+static void load_GL_ARB_transform_feedback_instanced(GLADloadproc load) {
+	if(!GLAD_GL_ARB_transform_feedback_instanced) return;
+	glad_glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)load("glDrawTransformFeedbackInstanced");
+	glad_glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)load("glDrawTransformFeedbackStreamInstanced");
+}
+static void load_GL_SGIX_async(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_async) return;
+	glad_glAsyncMarkerSGIX = (PFNGLASYNCMARKERSGIXPROC)load("glAsyncMarkerSGIX");
+	glad_glFinishAsyncSGIX = (PFNGLFINISHASYNCSGIXPROC)load("glFinishAsyncSGIX");
+	glad_glPollAsyncSGIX = (PFNGLPOLLASYNCSGIXPROC)load("glPollAsyncSGIX");
+	glad_glGenAsyncMarkersSGIX = (PFNGLGENASYNCMARKERSSGIXPROC)load("glGenAsyncMarkersSGIX");
+	glad_glDeleteAsyncMarkersSGIX = (PFNGLDELETEASYNCMARKERSSGIXPROC)load("glDeleteAsyncMarkersSGIX");
+	glad_glIsAsyncMarkerSGIX = (PFNGLISASYNCMARKERSGIXPROC)load("glIsAsyncMarkerSGIX");
+}
+static void load_GL_INTEL_performance_query(GLADloadproc load) {
+	if(!GLAD_GL_INTEL_performance_query) return;
+	glad_glBeginPerfQueryINTEL = (PFNGLBEGINPERFQUERYINTELPROC)load("glBeginPerfQueryINTEL");
+	glad_glCreatePerfQueryINTEL = (PFNGLCREATEPERFQUERYINTELPROC)load("glCreatePerfQueryINTEL");
+	glad_glDeletePerfQueryINTEL = (PFNGLDELETEPERFQUERYINTELPROC)load("glDeletePerfQueryINTEL");
+	glad_glEndPerfQueryINTEL = (PFNGLENDPERFQUERYINTELPROC)load("glEndPerfQueryINTEL");
+	glad_glGetFirstPerfQueryIdINTEL = (PFNGLGETFIRSTPERFQUERYIDINTELPROC)load("glGetFirstPerfQueryIdINTEL");
+	glad_glGetNextPerfQueryIdINTEL = (PFNGLGETNEXTPERFQUERYIDINTELPROC)load("glGetNextPerfQueryIdINTEL");
+	glad_glGetPerfCounterInfoINTEL = (PFNGLGETPERFCOUNTERINFOINTELPROC)load("glGetPerfCounterInfoINTEL");
+	glad_glGetPerfQueryDataINTEL = (PFNGLGETPERFQUERYDATAINTELPROC)load("glGetPerfQueryDataINTEL");
+	glad_glGetPerfQueryIdByNameINTEL = (PFNGLGETPERFQUERYIDBYNAMEINTELPROC)load("glGetPerfQueryIdByNameINTEL");
+	glad_glGetPerfQueryInfoINTEL = (PFNGLGETPERFQUERYINFOINTELPROC)load("glGetPerfQueryInfoINTEL");
+}
+static void load_GL_NV_gpu_shader5(GLADloadproc load) {
+	if(!GLAD_GL_NV_gpu_shader5) return;
+	glad_glUniform1i64NV = (PFNGLUNIFORM1I64NVPROC)load("glUniform1i64NV");
+	glad_glUniform2i64NV = (PFNGLUNIFORM2I64NVPROC)load("glUniform2i64NV");
+	glad_glUniform3i64NV = (PFNGLUNIFORM3I64NVPROC)load("glUniform3i64NV");
+	glad_glUniform4i64NV = (PFNGLUNIFORM4I64NVPROC)load("glUniform4i64NV");
+	glad_glUniform1i64vNV = (PFNGLUNIFORM1I64VNVPROC)load("glUniform1i64vNV");
+	glad_glUniform2i64vNV = (PFNGLUNIFORM2I64VNVPROC)load("glUniform2i64vNV");
+	glad_glUniform3i64vNV = (PFNGLUNIFORM3I64VNVPROC)load("glUniform3i64vNV");
+	glad_glUniform4i64vNV = (PFNGLUNIFORM4I64VNVPROC)load("glUniform4i64vNV");
+	glad_glUniform1ui64NV = (PFNGLUNIFORM1UI64NVPROC)load("glUniform1ui64NV");
+	glad_glUniform2ui64NV = (PFNGLUNIFORM2UI64NVPROC)load("glUniform2ui64NV");
+	glad_glUniform3ui64NV = (PFNGLUNIFORM3UI64NVPROC)load("glUniform3ui64NV");
+	glad_glUniform4ui64NV = (PFNGLUNIFORM4UI64NVPROC)load("glUniform4ui64NV");
+	glad_glUniform1ui64vNV = (PFNGLUNIFORM1UI64VNVPROC)load("glUniform1ui64vNV");
+	glad_glUniform2ui64vNV = (PFNGLUNIFORM2UI64VNVPROC)load("glUniform2ui64vNV");
+	glad_glUniform3ui64vNV = (PFNGLUNIFORM3UI64VNVPROC)load("glUniform3ui64vNV");
+	glad_glUniform4ui64vNV = (PFNGLUNIFORM4UI64VNVPROC)load("glUniform4ui64vNV");
+	glad_glGetUniformi64vNV = (PFNGLGETUNIFORMI64VNVPROC)load("glGetUniformi64vNV");
+	glad_glProgramUniform1i64NV = (PFNGLPROGRAMUNIFORM1I64NVPROC)load("glProgramUniform1i64NV");
+	glad_glProgramUniform2i64NV = (PFNGLPROGRAMUNIFORM2I64NVPROC)load("glProgramUniform2i64NV");
+	glad_glProgramUniform3i64NV = (PFNGLPROGRAMUNIFORM3I64NVPROC)load("glProgramUniform3i64NV");
+	glad_glProgramUniform4i64NV = (PFNGLPROGRAMUNIFORM4I64NVPROC)load("glProgramUniform4i64NV");
+	glad_glProgramUniform1i64vNV = (PFNGLPROGRAMUNIFORM1I64VNVPROC)load("glProgramUniform1i64vNV");
+	glad_glProgramUniform2i64vNV = (PFNGLPROGRAMUNIFORM2I64VNVPROC)load("glProgramUniform2i64vNV");
+	glad_glProgramUniform3i64vNV = (PFNGLPROGRAMUNIFORM3I64VNVPROC)load("glProgramUniform3i64vNV");
+	glad_glProgramUniform4i64vNV = (PFNGLPROGRAMUNIFORM4I64VNVPROC)load("glProgramUniform4i64vNV");
+	glad_glProgramUniform1ui64NV = (PFNGLPROGRAMUNIFORM1UI64NVPROC)load("glProgramUniform1ui64NV");
+	glad_glProgramUniform2ui64NV = (PFNGLPROGRAMUNIFORM2UI64NVPROC)load("glProgramUniform2ui64NV");
+	glad_glProgramUniform3ui64NV = (PFNGLPROGRAMUNIFORM3UI64NVPROC)load("glProgramUniform3ui64NV");
+	glad_glProgramUniform4ui64NV = (PFNGLPROGRAMUNIFORM4UI64NVPROC)load("glProgramUniform4ui64NV");
+	glad_glProgramUniform1ui64vNV = (PFNGLPROGRAMUNIFORM1UI64VNVPROC)load("glProgramUniform1ui64vNV");
+	glad_glProgramUniform2ui64vNV = (PFNGLPROGRAMUNIFORM2UI64VNVPROC)load("glProgramUniform2ui64vNV");
+	glad_glProgramUniform3ui64vNV = (PFNGLPROGRAMUNIFORM3UI64VNVPROC)load("glProgramUniform3ui64vNV");
+	glad_glProgramUniform4ui64vNV = (PFNGLPROGRAMUNIFORM4UI64VNVPROC)load("glProgramUniform4ui64vNV");
+}
+static void load_GL_ARB_ES2_compatibility(GLADloadproc load) {
+	if(!GLAD_GL_ARB_ES2_compatibility) return;
+	glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC)load("glReleaseShaderCompiler");
+	glad_glShaderBinary = (PFNGLSHADERBINARYPROC)load("glShaderBinary");
+	glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC)load("glGetShaderPrecisionFormat");
+	glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC)load("glDepthRangef");
+	glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC)load("glClearDepthf");
+}
+static void load_GL_ARB_indirect_parameters(GLADloadproc load) {
+	if(!GLAD_GL_ARB_indirect_parameters) return;
+	glad_glMultiDrawArraysIndirectCountARB = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC)load("glMultiDrawArraysIndirectCountARB");
+	glad_glMultiDrawElementsIndirectCountARB = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC)load("glMultiDrawElementsIndirectCountARB");
+}
+static void load_GL_NV_half_float(GLADloadproc load) {
+	if(!GLAD_GL_NV_half_float) return;
+	glad_glVertex2hNV = (PFNGLVERTEX2HNVPROC)load("glVertex2hNV");
+	glad_glVertex2hvNV = (PFNGLVERTEX2HVNVPROC)load("glVertex2hvNV");
+	glad_glVertex3hNV = (PFNGLVERTEX3HNVPROC)load("glVertex3hNV");
+	glad_glVertex3hvNV = (PFNGLVERTEX3HVNVPROC)load("glVertex3hvNV");
+	glad_glVertex4hNV = (PFNGLVERTEX4HNVPROC)load("glVertex4hNV");
+	glad_glVertex4hvNV = (PFNGLVERTEX4HVNVPROC)load("glVertex4hvNV");
+	glad_glNormal3hNV = (PFNGLNORMAL3HNVPROC)load("glNormal3hNV");
+	glad_glNormal3hvNV = (PFNGLNORMAL3HVNVPROC)load("glNormal3hvNV");
+	glad_glColor3hNV = (PFNGLCOLOR3HNVPROC)load("glColor3hNV");
+	glad_glColor3hvNV = (PFNGLCOLOR3HVNVPROC)load("glColor3hvNV");
+	glad_glColor4hNV = (PFNGLCOLOR4HNVPROC)load("glColor4hNV");
+	glad_glColor4hvNV = (PFNGLCOLOR4HVNVPROC)load("glColor4hvNV");
+	glad_glTexCoord1hNV = (PFNGLTEXCOORD1HNVPROC)load("glTexCoord1hNV");
+	glad_glTexCoord1hvNV = (PFNGLTEXCOORD1HVNVPROC)load("glTexCoord1hvNV");
+	glad_glTexCoord2hNV = (PFNGLTEXCOORD2HNVPROC)load("glTexCoord2hNV");
+	glad_glTexCoord2hvNV = (PFNGLTEXCOORD2HVNVPROC)load("glTexCoord2hvNV");
+	glad_glTexCoord3hNV = (PFNGLTEXCOORD3HNVPROC)load("glTexCoord3hNV");
+	glad_glTexCoord3hvNV = (PFNGLTEXCOORD3HVNVPROC)load("glTexCoord3hvNV");
+	glad_glTexCoord4hNV = (PFNGLTEXCOORD4HNVPROC)load("glTexCoord4hNV");
+	glad_glTexCoord4hvNV = (PFNGLTEXCOORD4HVNVPROC)load("glTexCoord4hvNV");
+	glad_glMultiTexCoord1hNV = (PFNGLMULTITEXCOORD1HNVPROC)load("glMultiTexCoord1hNV");
+	glad_glMultiTexCoord1hvNV = (PFNGLMULTITEXCOORD1HVNVPROC)load("glMultiTexCoord1hvNV");
+	glad_glMultiTexCoord2hNV = (PFNGLMULTITEXCOORD2HNVPROC)load("glMultiTexCoord2hNV");
+	glad_glMultiTexCoord2hvNV = (PFNGLMULTITEXCOORD2HVNVPROC)load("glMultiTexCoord2hvNV");
+	glad_glMultiTexCoord3hNV = (PFNGLMULTITEXCOORD3HNVPROC)load("glMultiTexCoord3hNV");
+	glad_glMultiTexCoord3hvNV = (PFNGLMULTITEXCOORD3HVNVPROC)load("glMultiTexCoord3hvNV");
+	glad_glMultiTexCoord4hNV = (PFNGLMULTITEXCOORD4HNVPROC)load("glMultiTexCoord4hNV");
+	glad_glMultiTexCoord4hvNV = (PFNGLMULTITEXCOORD4HVNVPROC)load("glMultiTexCoord4hvNV");
+	glad_glFogCoordhNV = (PFNGLFOGCOORDHNVPROC)load("glFogCoordhNV");
+	glad_glFogCoordhvNV = (PFNGLFOGCOORDHVNVPROC)load("glFogCoordhvNV");
+	glad_glSecondaryColor3hNV = (PFNGLSECONDARYCOLOR3HNVPROC)load("glSecondaryColor3hNV");
+	glad_glSecondaryColor3hvNV = (PFNGLSECONDARYCOLOR3HVNVPROC)load("glSecondaryColor3hvNV");
+	glad_glVertexWeighthNV = (PFNGLVERTEXWEIGHTHNVPROC)load("glVertexWeighthNV");
+	glad_glVertexWeighthvNV = (PFNGLVERTEXWEIGHTHVNVPROC)load("glVertexWeighthvNV");
+	glad_glVertexAttrib1hNV = (PFNGLVERTEXATTRIB1HNVPROC)load("glVertexAttrib1hNV");
+	glad_glVertexAttrib1hvNV = (PFNGLVERTEXATTRIB1HVNVPROC)load("glVertexAttrib1hvNV");
+	glad_glVertexAttrib2hNV = (PFNGLVERTEXATTRIB2HNVPROC)load("glVertexAttrib2hNV");
+	glad_glVertexAttrib2hvNV = (PFNGLVERTEXATTRIB2HVNVPROC)load("glVertexAttrib2hvNV");
+	glad_glVertexAttrib3hNV = (PFNGLVERTEXATTRIB3HNVPROC)load("glVertexAttrib3hNV");
+	glad_glVertexAttrib3hvNV = (PFNGLVERTEXATTRIB3HVNVPROC)load("glVertexAttrib3hvNV");
+	glad_glVertexAttrib4hNV = (PFNGLVERTEXATTRIB4HNVPROC)load("glVertexAttrib4hNV");
+	glad_glVertexAttrib4hvNV = (PFNGLVERTEXATTRIB4HVNVPROC)load("glVertexAttrib4hvNV");
+	glad_glVertexAttribs1hvNV = (PFNGLVERTEXATTRIBS1HVNVPROC)load("glVertexAttribs1hvNV");
+	glad_glVertexAttribs2hvNV = (PFNGLVERTEXATTRIBS2HVNVPROC)load("glVertexAttribs2hvNV");
+	glad_glVertexAttribs3hvNV = (PFNGLVERTEXATTRIBS3HVNVPROC)load("glVertexAttribs3hvNV");
+	glad_glVertexAttribs4hvNV = (PFNGLVERTEXATTRIBS4HVNVPROC)load("glVertexAttribs4hvNV");
+}
+static void load_GL_EXT_coordinate_frame(GLADloadproc load) {
+	if(!GLAD_GL_EXT_coordinate_frame) return;
+	glad_glTangent3bEXT = (PFNGLTANGENT3BEXTPROC)load("glTangent3bEXT");
+	glad_glTangent3bvEXT = (PFNGLTANGENT3BVEXTPROC)load("glTangent3bvEXT");
+	glad_glTangent3dEXT = (PFNGLTANGENT3DEXTPROC)load("glTangent3dEXT");
+	glad_glTangent3dvEXT = (PFNGLTANGENT3DVEXTPROC)load("glTangent3dvEXT");
+	glad_glTangent3fEXT = (PFNGLTANGENT3FEXTPROC)load("glTangent3fEXT");
+	glad_glTangent3fvEXT = (PFNGLTANGENT3FVEXTPROC)load("glTangent3fvEXT");
+	glad_glTangent3iEXT = (PFNGLTANGENT3IEXTPROC)load("glTangent3iEXT");
+	glad_glTangent3ivEXT = (PFNGLTANGENT3IVEXTPROC)load("glTangent3ivEXT");
+	glad_glTangent3sEXT = (PFNGLTANGENT3SEXTPROC)load("glTangent3sEXT");
+	glad_glTangent3svEXT = (PFNGLTANGENT3SVEXTPROC)load("glTangent3svEXT");
+	glad_glBinormal3bEXT = (PFNGLBINORMAL3BEXTPROC)load("glBinormal3bEXT");
+	glad_glBinormal3bvEXT = (PFNGLBINORMAL3BVEXTPROC)load("glBinormal3bvEXT");
+	glad_glBinormal3dEXT = (PFNGLBINORMAL3DEXTPROC)load("glBinormal3dEXT");
+	glad_glBinormal3dvEXT = (PFNGLBINORMAL3DVEXTPROC)load("glBinormal3dvEXT");
+	glad_glBinormal3fEXT = (PFNGLBINORMAL3FEXTPROC)load("glBinormal3fEXT");
+	glad_glBinormal3fvEXT = (PFNGLBINORMAL3FVEXTPROC)load("glBinormal3fvEXT");
+	glad_glBinormal3iEXT = (PFNGLBINORMAL3IEXTPROC)load("glBinormal3iEXT");
+	glad_glBinormal3ivEXT = (PFNGLBINORMAL3IVEXTPROC)load("glBinormal3ivEXT");
+	glad_glBinormal3sEXT = (PFNGLBINORMAL3SEXTPROC)load("glBinormal3sEXT");
+	glad_glBinormal3svEXT = (PFNGLBINORMAL3SVEXTPROC)load("glBinormal3svEXT");
+	glad_glTangentPointerEXT = (PFNGLTANGENTPOINTEREXTPROC)load("glTangentPointerEXT");
+	glad_glBinormalPointerEXT = (PFNGLBINORMALPOINTEREXTPROC)load("glBinormalPointerEXT");
+}
+static void load_GL_EXT_compiled_vertex_array(GLADloadproc load) {
+	if(!GLAD_GL_EXT_compiled_vertex_array) return;
+	glad_glLockArraysEXT = (PFNGLLOCKARRAYSEXTPROC)load("glLockArraysEXT");
+	glad_glUnlockArraysEXT = (PFNGLUNLOCKARRAYSEXTPROC)load("glUnlockArraysEXT");
+}
+static void load_GL_NV_depth_buffer_float(GLADloadproc load) {
+	if(!GLAD_GL_NV_depth_buffer_float) return;
+	glad_glDepthRangedNV = (PFNGLDEPTHRANGEDNVPROC)load("glDepthRangedNV");
+	glad_glClearDepthdNV = (PFNGLCLEARDEPTHDNVPROC)load("glClearDepthdNV");
+	glad_glDepthBoundsdNV = (PFNGLDEPTHBOUNDSDNVPROC)load("glDepthBoundsdNV");
+}
+static void load_GL_NV_occlusion_query(GLADloadproc load) {
+	if(!GLAD_GL_NV_occlusion_query) return;
+	glad_glGenOcclusionQueriesNV = (PFNGLGENOCCLUSIONQUERIESNVPROC)load("glGenOcclusionQueriesNV");
+	glad_glDeleteOcclusionQueriesNV = (PFNGLDELETEOCCLUSIONQUERIESNVPROC)load("glDeleteOcclusionQueriesNV");
+	glad_glIsOcclusionQueryNV = (PFNGLISOCCLUSIONQUERYNVPROC)load("glIsOcclusionQueryNV");
+	glad_glBeginOcclusionQueryNV = (PFNGLBEGINOCCLUSIONQUERYNVPROC)load("glBeginOcclusionQueryNV");
+	glad_glEndOcclusionQueryNV = (PFNGLENDOCCLUSIONQUERYNVPROC)load("glEndOcclusionQueryNV");
+	glad_glGetOcclusionQueryivNV = (PFNGLGETOCCLUSIONQUERYIVNVPROC)load("glGetOcclusionQueryivNV");
+	glad_glGetOcclusionQueryuivNV = (PFNGLGETOCCLUSIONQUERYUIVNVPROC)load("glGetOcclusionQueryuivNV");
+}
+static void load_GL_APPLE_flush_buffer_range(GLADloadproc load) {
+	if(!GLAD_GL_APPLE_flush_buffer_range) return;
+	glad_glBufferParameteriAPPLE = (PFNGLBUFFERPARAMETERIAPPLEPROC)load("glBufferParameteriAPPLE");
+	glad_glFlushMappedBufferRangeAPPLE = (PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC)load("glFlushMappedBufferRangeAPPLE");
+}
+static void load_GL_ARB_imaging(GLADloadproc load) {
+	if(!GLAD_GL_ARB_imaging) return;
+	glad_glBlendColor = (PFNGLBLENDCOLORPROC)load("glBlendColor");
+	glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load("glBlendEquation");
+	glad_glColorTable = (PFNGLCOLORTABLEPROC)load("glColorTable");
+	glad_glColorTableParameterfv = (PFNGLCOLORTABLEPARAMETERFVPROC)load("glColorTableParameterfv");
+	glad_glColorTableParameteriv = (PFNGLCOLORTABLEPARAMETERIVPROC)load("glColorTableParameteriv");
+	glad_glCopyColorTable = (PFNGLCOPYCOLORTABLEPROC)load("glCopyColorTable");
+	glad_glGetColorTable = (PFNGLGETCOLORTABLEPROC)load("glGetColorTable");
+	glad_glGetColorTableParameterfv = (PFNGLGETCOLORTABLEPARAMETERFVPROC)load("glGetColorTableParameterfv");
+	glad_glGetColorTableParameteriv = (PFNGLGETCOLORTABLEPARAMETERIVPROC)load("glGetColorTableParameteriv");
+	glad_glColorSubTable = (PFNGLCOLORSUBTABLEPROC)load("glColorSubTable");
+	glad_glCopyColorSubTable = (PFNGLCOPYCOLORSUBTABLEPROC)load("glCopyColorSubTable");
+	glad_glConvolutionFilter1D = (PFNGLCONVOLUTIONFILTER1DPROC)load("glConvolutionFilter1D");
+	glad_glConvolutionFilter2D = (PFNGLCONVOLUTIONFILTER2DPROC)load("glConvolutionFilter2D");
+	glad_glConvolutionParameterf = (PFNGLCONVOLUTIONPARAMETERFPROC)load("glConvolutionParameterf");
+	glad_glConvolutionParameterfv = (PFNGLCONVOLUTIONPARAMETERFVPROC)load("glConvolutionParameterfv");
+	glad_glConvolutionParameteri = (PFNGLCONVOLUTIONPARAMETERIPROC)load("glConvolutionParameteri");
+	glad_glConvolutionParameteriv = (PFNGLCONVOLUTIONPARAMETERIVPROC)load("glConvolutionParameteriv");
+	glad_glCopyConvolutionFilter1D = (PFNGLCOPYCONVOLUTIONFILTER1DPROC)load("glCopyConvolutionFilter1D");
+	glad_glCopyConvolutionFilter2D = (PFNGLCOPYCONVOLUTIONFILTER2DPROC)load("glCopyConvolutionFilter2D");
+	glad_glGetConvolutionFilter = (PFNGLGETCONVOLUTIONFILTERPROC)load("glGetConvolutionFilter");
+	glad_glGetConvolutionParameterfv = (PFNGLGETCONVOLUTIONPARAMETERFVPROC)load("glGetConvolutionParameterfv");
+	glad_glGetConvolutionParameteriv = (PFNGLGETCONVOLUTIONPARAMETERIVPROC)load("glGetConvolutionParameteriv");
+	glad_glGetSeparableFilter = (PFNGLGETSEPARABLEFILTERPROC)load("glGetSeparableFilter");
+	glad_glSeparableFilter2D = (PFNGLSEPARABLEFILTER2DPROC)load("glSeparableFilter2D");
+	glad_glGetHistogram = (PFNGLGETHISTOGRAMPROC)load("glGetHistogram");
+	glad_glGetHistogramParameterfv = (PFNGLGETHISTOGRAMPARAMETERFVPROC)load("glGetHistogramParameterfv");
+	glad_glGetHistogramParameteriv = (PFNGLGETHISTOGRAMPARAMETERIVPROC)load("glGetHistogramParameteriv");
+	glad_glGetMinmax = (PFNGLGETMINMAXPROC)load("glGetMinmax");
+	glad_glGetMinmaxParameterfv = (PFNGLGETMINMAXPARAMETERFVPROC)load("glGetMinmaxParameterfv");
+	glad_glGetMinmaxParameteriv = (PFNGLGETMINMAXPARAMETERIVPROC)load("glGetMinmaxParameteriv");
+	glad_glHistogram = (PFNGLHISTOGRAMPROC)load("glHistogram");
+	glad_glMinmax = (PFNGLMINMAXPROC)load("glMinmax");
+	glad_glResetHistogram = (PFNGLRESETHISTOGRAMPROC)load("glResetHistogram");
+	glad_glResetMinmax = (PFNGLRESETMINMAXPROC)load("glResetMinmax");
+}
+static void load_GL_ARB_draw_buffers_blend(GLADloadproc load) {
+	if(!GLAD_GL_ARB_draw_buffers_blend) return;
+	glad_glBlendEquationiARB = (PFNGLBLENDEQUATIONIARBPROC)load("glBlendEquationiARB");
+	glad_glBlendEquationSeparateiARB = (PFNGLBLENDEQUATIONSEPARATEIARBPROC)load("glBlendEquationSeparateiARB");
+	glad_glBlendFunciARB = (PFNGLBLENDFUNCIARBPROC)load("glBlendFunciARB");
+	glad_glBlendFuncSeparateiARB = (PFNGLBLENDFUNCSEPARATEIARBPROC)load("glBlendFuncSeparateiARB");
+}
+static void load_GL_ARB_clear_buffer_object(GLADloadproc load) {
+	if(!GLAD_GL_ARB_clear_buffer_object) return;
+	glad_glClearBufferData = (PFNGLCLEARBUFFERDATAPROC)load("glClearBufferData");
+	glad_glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC)load("glClearBufferSubData");
+}
+static void load_GL_ARB_multisample(GLADloadproc load) {
+	if(!GLAD_GL_ARB_multisample) return;
+	glad_glSampleCoverageARB = (PFNGLSAMPLECOVERAGEARBPROC)load("glSampleCoverageARB");
+}
+static void load_GL_EXT_debug_label(GLADloadproc load) {
+	if(!GLAD_GL_EXT_debug_label) return;
+	glad_glLabelObjectEXT = (PFNGLLABELOBJECTEXTPROC)load("glLabelObjectEXT");
+	glad_glGetObjectLabelEXT = (PFNGLGETOBJECTLABELEXTPROC)load("glGetObjectLabelEXT");
+}
+static void load_GL_ARB_sample_shading(GLADloadproc load) {
+	if(!GLAD_GL_ARB_sample_shading) return;
+	glad_glMinSampleShadingARB = (PFNGLMINSAMPLESHADINGARBPROC)load("glMinSampleShadingARB");
+}
+static void load_GL_INTEL_map_texture(GLADloadproc load) {
+	if(!GLAD_GL_INTEL_map_texture) return;
+	glad_glSyncTextureINTEL = (PFNGLSYNCTEXTUREINTELPROC)load("glSyncTextureINTEL");
+	glad_glUnmapTexture2DINTEL = (PFNGLUNMAPTEXTURE2DINTELPROC)load("glUnmapTexture2DINTEL");
+	glad_glMapTexture2DINTEL = (PFNGLMAPTEXTURE2DINTELPROC)load("glMapTexture2DINTEL");
+}
+static void load_GL_ARB_compute_shader(GLADloadproc load) {
+	if(!GLAD_GL_ARB_compute_shader) return;
+	glad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)load("glDispatchCompute");
+	glad_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)load("glDispatchComputeIndirect");
+}
+static void load_GL_IBM_vertex_array_lists(GLADloadproc load) {
+	if(!GLAD_GL_IBM_vertex_array_lists) return;
+	glad_glColorPointerListIBM = (PFNGLCOLORPOINTERLISTIBMPROC)load("glColorPointerListIBM");
+	glad_glSecondaryColorPointerListIBM = (PFNGLSECONDARYCOLORPOINTERLISTIBMPROC)load("glSecondaryColorPointerListIBM");
+	glad_glEdgeFlagPointerListIBM = (PFNGLEDGEFLAGPOINTERLISTIBMPROC)load("glEdgeFlagPointerListIBM");
+	glad_glFogCoordPointerListIBM = (PFNGLFOGCOORDPOINTERLISTIBMPROC)load("glFogCoordPointerListIBM");
+	glad_glIndexPointerListIBM = (PFNGLINDEXPOINTERLISTIBMPROC)load("glIndexPointerListIBM");
+	glad_glNormalPointerListIBM = (PFNGLNORMALPOINTERLISTIBMPROC)load("glNormalPointerListIBM");
+	glad_glTexCoordPointerListIBM = (PFNGLTEXCOORDPOINTERLISTIBMPROC)load("glTexCoordPointerListIBM");
+	glad_glVertexPointerListIBM = (PFNGLVERTEXPOINTERLISTIBMPROC)load("glVertexPointerListIBM");
+}
+static void load_GL_ARB_color_buffer_float(GLADloadproc load) {
+	if(!GLAD_GL_ARB_color_buffer_float) return;
+	glad_glClampColorARB = (PFNGLCLAMPCOLORARBPROC)load("glClampColorARB");
+}
+static void load_GL_ARB_bindless_texture(GLADloadproc load) {
+	if(!GLAD_GL_ARB_bindless_texture) return;
+	glad_glGetTextureHandleARB = (PFNGLGETTEXTUREHANDLEARBPROC)load("glGetTextureHandleARB");
+	glad_glGetTextureSamplerHandleARB = (PFNGLGETTEXTURESAMPLERHANDLEARBPROC)load("glGetTextureSamplerHandleARB");
+	glad_glMakeTextureHandleResidentARB = (PFNGLMAKETEXTUREHANDLERESIDENTARBPROC)load("glMakeTextureHandleResidentARB");
+	glad_glMakeTextureHandleNonResidentARB = (PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC)load("glMakeTextureHandleNonResidentARB");
+	glad_glGetImageHandleARB = (PFNGLGETIMAGEHANDLEARBPROC)load("glGetImageHandleARB");
+	glad_glMakeImageHandleResidentARB = (PFNGLMAKEIMAGEHANDLERESIDENTARBPROC)load("glMakeImageHandleResidentARB");
+	glad_glMakeImageHandleNonResidentARB = (PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC)load("glMakeImageHandleNonResidentARB");
+	glad_glUniformHandleui64ARB = (PFNGLUNIFORMHANDLEUI64ARBPROC)load("glUniformHandleui64ARB");
+	glad_glUniformHandleui64vARB = (PFNGLUNIFORMHANDLEUI64VARBPROC)load("glUniformHandleui64vARB");
+	glad_glProgramUniformHandleui64ARB = (PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC)load("glProgramUniformHandleui64ARB");
+	glad_glProgramUniformHandleui64vARB = (PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC)load("glProgramUniformHandleui64vARB");
+	glad_glIsTextureHandleResidentARB = (PFNGLISTEXTUREHANDLERESIDENTARBPROC)load("glIsTextureHandleResidentARB");
+	glad_glIsImageHandleResidentARB = (PFNGLISIMAGEHANDLERESIDENTARBPROC)load("glIsImageHandleResidentARB");
+	glad_glVertexAttribL1ui64ARB = (PFNGLVERTEXATTRIBL1UI64ARBPROC)load("glVertexAttribL1ui64ARB");
+	glad_glVertexAttribL1ui64vARB = (PFNGLVERTEXATTRIBL1UI64VARBPROC)load("glVertexAttribL1ui64vARB");
+	glad_glGetVertexAttribLui64vARB = (PFNGLGETVERTEXATTRIBLUI64VARBPROC)load("glGetVertexAttribLui64vARB");
+}
+static void load_GL_ARB_window_pos(GLADloadproc load) {
+	if(!GLAD_GL_ARB_window_pos) return;
+	glad_glWindowPos2dARB = (PFNGLWINDOWPOS2DARBPROC)load("glWindowPos2dARB");
+	glad_glWindowPos2dvARB = (PFNGLWINDOWPOS2DVARBPROC)load("glWindowPos2dvARB");
+	glad_glWindowPos2fARB = (PFNGLWINDOWPOS2FARBPROC)load("glWindowPos2fARB");
+	glad_glWindowPos2fvARB = (PFNGLWINDOWPOS2FVARBPROC)load("glWindowPos2fvARB");
+	glad_glWindowPos2iARB = (PFNGLWINDOWPOS2IARBPROC)load("glWindowPos2iARB");
+	glad_glWindowPos2ivARB = (PFNGLWINDOWPOS2IVARBPROC)load("glWindowPos2ivARB");
+	glad_glWindowPos2sARB = (PFNGLWINDOWPOS2SARBPROC)load("glWindowPos2sARB");
+	glad_glWindowPos2svARB = (PFNGLWINDOWPOS2SVARBPROC)load("glWindowPos2svARB");
+	glad_glWindowPos3dARB = (PFNGLWINDOWPOS3DARBPROC)load("glWindowPos3dARB");
+	glad_glWindowPos3dvARB = (PFNGLWINDOWPOS3DVARBPROC)load("glWindowPos3dvARB");
+	glad_glWindowPos3fARB = (PFNGLWINDOWPOS3FARBPROC)load("glWindowPos3fARB");
+	glad_glWindowPos3fvARB = (PFNGLWINDOWPOS3FVARBPROC)load("glWindowPos3fvARB");
+	glad_glWindowPos3iARB = (PFNGLWINDOWPOS3IARBPROC)load("glWindowPos3iARB");
+	glad_glWindowPos3ivARB = (PFNGLWINDOWPOS3IVARBPROC)load("glWindowPos3ivARB");
+	glad_glWindowPos3sARB = (PFNGLWINDOWPOS3SARBPROC)load("glWindowPos3sARB");
+	glad_glWindowPos3svARB = (PFNGLWINDOWPOS3SVARBPROC)load("glWindowPos3svARB");
+}
+static void load_GL_ARB_internalformat_query(GLADloadproc load) {
+	if(!GLAD_GL_ARB_internalformat_query) return;
+	glad_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)load("glGetInternalformativ");
+}
+static void load_GL_EXT_shader_image_load_store(GLADloadproc load) {
+	if(!GLAD_GL_EXT_shader_image_load_store) return;
+	glad_glBindImageTextureEXT = (PFNGLBINDIMAGETEXTUREEXTPROC)load("glBindImageTextureEXT");
+	glad_glMemoryBarrierEXT = (PFNGLMEMORYBARRIEREXTPROC)load("glMemoryBarrierEXT");
+}
+static void load_GL_EXT_copy_texture(GLADloadproc load) {
+	if(!GLAD_GL_EXT_copy_texture) return;
+	glad_glCopyTexImage1DEXT = (PFNGLCOPYTEXIMAGE1DEXTPROC)load("glCopyTexImage1DEXT");
+	glad_glCopyTexImage2DEXT = (PFNGLCOPYTEXIMAGE2DEXTPROC)load("glCopyTexImage2DEXT");
+	glad_glCopyTexSubImage1DEXT = (PFNGLCOPYTEXSUBIMAGE1DEXTPROC)load("glCopyTexSubImage1DEXT");
+	glad_glCopyTexSubImage2DEXT = (PFNGLCOPYTEXSUBIMAGE2DEXTPROC)load("glCopyTexSubImage2DEXT");
+	glad_glCopyTexSubImage3DEXT = (PFNGLCOPYTEXSUBIMAGE3DEXTPROC)load("glCopyTexSubImage3DEXT");
+}
+static void load_GL_NV_register_combiners2(GLADloadproc load) {
+	if(!GLAD_GL_NV_register_combiners2) return;
+	glad_glCombinerStageParameterfvNV = (PFNGLCOMBINERSTAGEPARAMETERFVNVPROC)load("glCombinerStageParameterfvNV");
+	glad_glGetCombinerStageParameterfvNV = (PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC)load("glGetCombinerStageParameterfvNV");
+}
+static void load_GL_NV_draw_texture(GLADloadproc load) {
+	if(!GLAD_GL_NV_draw_texture) return;
+	glad_glDrawTextureNV = (PFNGLDRAWTEXTURENVPROC)load("glDrawTextureNV");
+}
+static void load_GL_EXT_draw_instanced(GLADloadproc load) {
+	if(!GLAD_GL_EXT_draw_instanced) return;
+	glad_glDrawArraysInstancedEXT = (PFNGLDRAWARRAYSINSTANCEDEXTPROC)load("glDrawArraysInstancedEXT");
+	glad_glDrawElementsInstancedEXT = (PFNGLDRAWELEMENTSINSTANCEDEXTPROC)load("glDrawElementsInstancedEXT");
+}
+static void load_GL_ARB_viewport_array(GLADloadproc load) {
+	if(!GLAD_GL_ARB_viewport_array) return;
+	glad_glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC)load("glViewportArrayv");
+	glad_glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC)load("glViewportIndexedf");
+	glad_glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC)load("glViewportIndexedfv");
+	glad_glScissorArrayv = (PFNGLSCISSORARRAYVPROC)load("glScissorArrayv");
+	glad_glScissorIndexed = (PFNGLSCISSORINDEXEDPROC)load("glScissorIndexed");
+	glad_glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC)load("glScissorIndexedv");
+	glad_glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC)load("glDepthRangeArrayv");
+	glad_glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC)load("glDepthRangeIndexed");
+	glad_glGetFloati_v = (PFNGLGETFLOATI_VPROC)load("glGetFloati_v");
+	glad_glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC)load("glGetDoublei_v");
+}
+static void load_GL_ARB_separate_shader_objects(GLADloadproc load) {
+	if(!GLAD_GL_ARB_separate_shader_objects) return;
+	glad_glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC)load("glUseProgramStages");
+	glad_glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC)load("glActiveShaderProgram");
+	glad_glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC)load("glCreateShaderProgramv");
+	glad_glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC)load("glBindProgramPipeline");
+	glad_glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC)load("glDeleteProgramPipelines");
+	glad_glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC)load("glGenProgramPipelines");
+	glad_glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC)load("glIsProgramPipeline");
+	glad_glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC)load("glGetProgramPipelineiv");
+	glad_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)load("glProgramUniform1i");
+	glad_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)load("glProgramUniform1iv");
+	glad_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)load("glProgramUniform1f");
+	glad_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)load("glProgramUniform1fv");
+	glad_glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC)load("glProgramUniform1d");
+	glad_glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC)load("glProgramUniform1dv");
+	glad_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)load("glProgramUniform1ui");
+	glad_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)load("glProgramUniform1uiv");
+	glad_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)load("glProgramUniform2i");
+	glad_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)load("glProgramUniform2iv");
+	glad_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)load("glProgramUniform2f");
+	glad_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)load("glProgramUniform2fv");
+	glad_glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC)load("glProgramUniform2d");
+	glad_glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC)load("glProgramUniform2dv");
+	glad_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)load("glProgramUniform2ui");
+	glad_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)load("glProgramUniform2uiv");
+	glad_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)load("glProgramUniform3i");
+	glad_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)load("glProgramUniform3iv");
+	glad_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)load("glProgramUniform3f");
+	glad_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)load("glProgramUniform3fv");
+	glad_glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC)load("glProgramUniform3d");
+	glad_glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC)load("glProgramUniform3dv");
+	glad_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)load("glProgramUniform3ui");
+	glad_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)load("glProgramUniform3uiv");
+	glad_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)load("glProgramUniform4i");
+	glad_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)load("glProgramUniform4iv");
+	glad_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)load("glProgramUniform4f");
+	glad_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)load("glProgramUniform4fv");
+	glad_glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC)load("glProgramUniform4d");
+	glad_glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC)load("glProgramUniform4dv");
+	glad_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)load("glProgramUniform4ui");
+	glad_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)load("glProgramUniform4uiv");
+	glad_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)load("glProgramUniformMatrix2fv");
+	glad_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)load("glProgramUniformMatrix3fv");
+	glad_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)load("glProgramUniformMatrix4fv");
+	glad_glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC)load("glProgramUniformMatrix2dv");
+	glad_glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC)load("glProgramUniformMatrix3dv");
+	glad_glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC)load("glProgramUniformMatrix4dv");
+	glad_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)load("glProgramUniformMatrix2x3fv");
+	glad_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)load("glProgramUniformMatrix3x2fv");
+	glad_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)load("glProgramUniformMatrix2x4fv");
+	glad_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)load("glProgramUniformMatrix4x2fv");
+	glad_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)load("glProgramUniformMatrix3x4fv");
+	glad_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)load("glProgramUniformMatrix4x3fv");
+	glad_glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)load("glProgramUniformMatrix2x3dv");
+	glad_glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)load("glProgramUniformMatrix3x2dv");
+	glad_glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)load("glProgramUniformMatrix2x4dv");
+	glad_glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)load("glProgramUniformMatrix4x2dv");
+	glad_glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)load("glProgramUniformMatrix3x4dv");
+	glad_glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)load("glProgramUniformMatrix4x3dv");
+	glad_glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC)load("glValidateProgramPipeline");
+	glad_glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC)load("glGetProgramPipelineInfoLog");
+}
+static void load_GL_EXT_depth_bounds_test(GLADloadproc load) {
+	if(!GLAD_GL_EXT_depth_bounds_test) return;
+	glad_glDepthBoundsEXT = (PFNGLDEPTHBOUNDSEXTPROC)load("glDepthBoundsEXT");
+}
+static void load_GL_HP_image_transform(GLADloadproc load) {
+	if(!GLAD_GL_HP_image_transform) return;
+	glad_glImageTransformParameteriHP = (PFNGLIMAGETRANSFORMPARAMETERIHPPROC)load("glImageTransformParameteriHP");
+	glad_glImageTransformParameterfHP = (PFNGLIMAGETRANSFORMPARAMETERFHPPROC)load("glImageTransformParameterfHP");
+	glad_glImageTransformParameterivHP = (PFNGLIMAGETRANSFORMPARAMETERIVHPPROC)load("glImageTransformParameterivHP");
+	glad_glImageTransformParameterfvHP = (PFNGLIMAGETRANSFORMPARAMETERFVHPPROC)load("glImageTransformParameterfvHP");
+	glad_glGetImageTransformParameterivHP = (PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC)load("glGetImageTransformParameterivHP");
+	glad_glGetImageTransformParameterfvHP = (PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC)load("glGetImageTransformParameterfvHP");
+}
+static void load_GL_NV_video_capture(GLADloadproc load) {
+	if(!GLAD_GL_NV_video_capture) return;
+	glad_glBeginVideoCaptureNV = (PFNGLBEGINVIDEOCAPTURENVPROC)load("glBeginVideoCaptureNV");
+	glad_glBindVideoCaptureStreamBufferNV = (PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC)load("glBindVideoCaptureStreamBufferNV");
+	glad_glBindVideoCaptureStreamTextureNV = (PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC)load("glBindVideoCaptureStreamTextureNV");
+	glad_glEndVideoCaptureNV = (PFNGLENDVIDEOCAPTURENVPROC)load("glEndVideoCaptureNV");
+	glad_glGetVideoCaptureivNV = (PFNGLGETVIDEOCAPTUREIVNVPROC)load("glGetVideoCaptureivNV");
+	glad_glGetVideoCaptureStreamivNV = (PFNGLGETVIDEOCAPTURESTREAMIVNVPROC)load("glGetVideoCaptureStreamivNV");
+	glad_glGetVideoCaptureStreamfvNV = (PFNGLGETVIDEOCAPTURESTREAMFVNVPROC)load("glGetVideoCaptureStreamfvNV");
+	glad_glGetVideoCaptureStreamdvNV = (PFNGLGETVIDEOCAPTURESTREAMDVNVPROC)load("glGetVideoCaptureStreamdvNV");
+	glad_glVideoCaptureNV = (PFNGLVIDEOCAPTURENVPROC)load("glVideoCaptureNV");
+	glad_glVideoCaptureStreamParameterivNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC)load("glVideoCaptureStreamParameterivNV");
+	glad_glVideoCaptureStreamParameterfvNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC)load("glVideoCaptureStreamParameterfvNV");
+	glad_glVideoCaptureStreamParameterdvNV = (PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC)load("glVideoCaptureStreamParameterdvNV");
+}
+static void load_GL_ARB_sampler_objects(GLADloadproc load) {
+	if(!GLAD_GL_ARB_sampler_objects) return;
+	glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers");
+	glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers");
+	glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler");
+	glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler");
+	glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri");
+	glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv");
+	glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf");
+	glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv");
+	glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load("glSamplerParameterIiv");
+	glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load("glSamplerParameterIuiv");
+	glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv");
+	glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load("glGetSamplerParameterIiv");
+	glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv");
+	glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load("glGetSamplerParameterIuiv");
+}
+static void load_GL_ARB_matrix_palette(GLADloadproc load) {
+	if(!GLAD_GL_ARB_matrix_palette) return;
+	glad_glCurrentPaletteMatrixARB = (PFNGLCURRENTPALETTEMATRIXARBPROC)load("glCurrentPaletteMatrixARB");
+	glad_glMatrixIndexubvARB = (PFNGLMATRIXINDEXUBVARBPROC)load("glMatrixIndexubvARB");
+	glad_glMatrixIndexusvARB = (PFNGLMATRIXINDEXUSVARBPROC)load("glMatrixIndexusvARB");
+	glad_glMatrixIndexuivARB = (PFNGLMATRIXINDEXUIVARBPROC)load("glMatrixIndexuivARB");
+	glad_glMatrixIndexPointerARB = (PFNGLMATRIXINDEXPOINTERARBPROC)load("glMatrixIndexPointerARB");
+}
+static void load_GL_SGIS_texture_color_mask(GLADloadproc load) {
+	if(!GLAD_GL_SGIS_texture_color_mask) return;
+	glad_glTextureColorMaskSGIS = (PFNGLTEXTURECOLORMASKSGISPROC)load("glTextureColorMaskSGIS");
+}
+static void load_GL_ARB_texture_compression(GLADloadproc load) {
+	if(!GLAD_GL_ARB_texture_compression) return;
+	glad_glCompressedTexImage3DARB = (PFNGLCOMPRESSEDTEXIMAGE3DARBPROC)load("glCompressedTexImage3DARB");
+	glad_glCompressedTexImage2DARB = (PFNGLCOMPRESSEDTEXIMAGE2DARBPROC)load("glCompressedTexImage2DARB");
+	glad_glCompressedTexImage1DARB = (PFNGLCOMPRESSEDTEXIMAGE1DARBPROC)load("glCompressedTexImage1DARB");
+	glad_glCompressedTexSubImage3DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC)load("glCompressedTexSubImage3DARB");
+	glad_glCompressedTexSubImage2DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC)load("glCompressedTexSubImage2DARB");
+	glad_glCompressedTexSubImage1DARB = (PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC)load("glCompressedTexSubImage1DARB");
+	glad_glGetCompressedTexImageARB = (PFNGLGETCOMPRESSEDTEXIMAGEARBPROC)load("glGetCompressedTexImageARB");
+}
+static void load_GL_ARB_shader_subroutine(GLADloadproc load) {
+	if(!GLAD_GL_ARB_shader_subroutine) return;
+	glad_glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)load("glGetSubroutineUniformLocation");
+	glad_glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC)load("glGetSubroutineIndex");
+	glad_glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)load("glGetActiveSubroutineUniformiv");
+	glad_glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)load("glGetActiveSubroutineUniformName");
+	glad_glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC)load("glGetActiveSubroutineName");
+	glad_glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC)load("glUniformSubroutinesuiv");
+	glad_glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC)load("glGetUniformSubroutineuiv");
+	glad_glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC)load("glGetProgramStageiv");
+}
+static void load_GL_ARB_texture_storage_multisample(GLADloadproc load) {
+	if(!GLAD_GL_ARB_texture_storage_multisample) return;
+	glad_glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC)load("glTexStorage2DMultisample");
+	glad_glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC)load("glTexStorage3DMultisample");
+}
+static void load_GL_EXT_vertex_attrib_64bit(GLADloadproc load) {
+	if(!GLAD_GL_EXT_vertex_attrib_64bit) return;
+	glad_glVertexAttribL1dEXT = (PFNGLVERTEXATTRIBL1DEXTPROC)load("glVertexAttribL1dEXT");
+	glad_glVertexAttribL2dEXT = (PFNGLVERTEXATTRIBL2DEXTPROC)load("glVertexAttribL2dEXT");
+	glad_glVertexAttribL3dEXT = (PFNGLVERTEXATTRIBL3DEXTPROC)load("glVertexAttribL3dEXT");
+	glad_glVertexAttribL4dEXT = (PFNGLVERTEXATTRIBL4DEXTPROC)load("glVertexAttribL4dEXT");
+	glad_glVertexAttribL1dvEXT = (PFNGLVERTEXATTRIBL1DVEXTPROC)load("glVertexAttribL1dvEXT");
+	glad_glVertexAttribL2dvEXT = (PFNGLVERTEXATTRIBL2DVEXTPROC)load("glVertexAttribL2dvEXT");
+	glad_glVertexAttribL3dvEXT = (PFNGLVERTEXATTRIBL3DVEXTPROC)load("glVertexAttribL3dvEXT");
+	glad_glVertexAttribL4dvEXT = (PFNGLVERTEXATTRIBL4DVEXTPROC)load("glVertexAttribL4dvEXT");
+	glad_glVertexAttribLPointerEXT = (PFNGLVERTEXATTRIBLPOINTEREXTPROC)load("glVertexAttribLPointerEXT");
+	glad_glGetVertexAttribLdvEXT = (PFNGLGETVERTEXATTRIBLDVEXTPROC)load("glGetVertexAttribLdvEXT");
+}
+static void load_GL_OES_query_matrix(GLADloadproc load) {
+	if(!GLAD_GL_OES_query_matrix) return;
+	glad_glQueryMatrixxOES = (PFNGLQUERYMATRIXXOESPROC)load("glQueryMatrixxOES");
+}
+static void load_GL_APPLE_texture_range(GLADloadproc load) {
+	if(!GLAD_GL_APPLE_texture_range) return;
+	glad_glTextureRangeAPPLE = (PFNGLTEXTURERANGEAPPLEPROC)load("glTextureRangeAPPLE");
+	glad_glGetTexParameterPointervAPPLE = (PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC)load("glGetTexParameterPointervAPPLE");
+}
+static void load_GL_ARB_copy_buffer(GLADloadproc load) {
+	if(!GLAD_GL_ARB_copy_buffer) return;
+	glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData");
+}
+static void load_GL_APPLE_object_purgeable(GLADloadproc load) {
+	if(!GLAD_GL_APPLE_object_purgeable) return;
+	glad_glObjectPurgeableAPPLE = (PFNGLOBJECTPURGEABLEAPPLEPROC)load("glObjectPurgeableAPPLE");
+	glad_glObjectUnpurgeableAPPLE = (PFNGLOBJECTUNPURGEABLEAPPLEPROC)load("glObjectUnpurgeableAPPLE");
+	glad_glGetObjectParameterivAPPLE = (PFNGLGETOBJECTPARAMETERIVAPPLEPROC)load("glGetObjectParameterivAPPLE");
+}
+static void load_GL_ARB_occlusion_query(GLADloadproc load) {
+	if(!GLAD_GL_ARB_occlusion_query) return;
+	glad_glGenQueriesARB = (PFNGLGENQUERIESARBPROC)load("glGenQueriesARB");
+	glad_glDeleteQueriesARB = (PFNGLDELETEQUERIESARBPROC)load("glDeleteQueriesARB");
+	glad_glIsQueryARB = (PFNGLISQUERYARBPROC)load("glIsQueryARB");
+	glad_glBeginQueryARB = (PFNGLBEGINQUERYARBPROC)load("glBeginQueryARB");
+	glad_glEndQueryARB = (PFNGLENDQUERYARBPROC)load("glEndQueryARB");
+	glad_glGetQueryivARB = (PFNGLGETQUERYIVARBPROC)load("glGetQueryivARB");
+	glad_glGetQueryObjectivARB = (PFNGLGETQUERYOBJECTIVARBPROC)load("glGetQueryObjectivARB");
+	glad_glGetQueryObjectuivARB = (PFNGLGETQUERYOBJECTUIVARBPROC)load("glGetQueryObjectuivARB");
+}
+static void load_GL_SGI_color_table(GLADloadproc load) {
+	if(!GLAD_GL_SGI_color_table) return;
+	glad_glColorTableSGI = (PFNGLCOLORTABLESGIPROC)load("glColorTableSGI");
+	glad_glColorTableParameterfvSGI = (PFNGLCOLORTABLEPARAMETERFVSGIPROC)load("glColorTableParameterfvSGI");
+	glad_glColorTableParameterivSGI = (PFNGLCOLORTABLEPARAMETERIVSGIPROC)load("glColorTableParameterivSGI");
+	glad_glCopyColorTableSGI = (PFNGLCOPYCOLORTABLESGIPROC)load("glCopyColorTableSGI");
+	glad_glGetColorTableSGI = (PFNGLGETCOLORTABLESGIPROC)load("glGetColorTableSGI");
+	glad_glGetColorTableParameterfvSGI = (PFNGLGETCOLORTABLEPARAMETERFVSGIPROC)load("glGetColorTableParameterfvSGI");
+	glad_glGetColorTableParameterivSGI = (PFNGLGETCOLORTABLEPARAMETERIVSGIPROC)load("glGetColorTableParameterivSGI");
+}
+static void load_GL_EXT_gpu_shader4(GLADloadproc load) {
+	if(!GLAD_GL_EXT_gpu_shader4) return;
+	glad_glGetUniformuivEXT = (PFNGLGETUNIFORMUIVEXTPROC)load("glGetUniformuivEXT");
+	glad_glBindFragDataLocationEXT = (PFNGLBINDFRAGDATALOCATIONEXTPROC)load("glBindFragDataLocationEXT");
+	glad_glGetFragDataLocationEXT = (PFNGLGETFRAGDATALOCATIONEXTPROC)load("glGetFragDataLocationEXT");
+	glad_glUniform1uiEXT = (PFNGLUNIFORM1UIEXTPROC)load("glUniform1uiEXT");
+	glad_glUniform2uiEXT = (PFNGLUNIFORM2UIEXTPROC)load("glUniform2uiEXT");
+	glad_glUniform3uiEXT = (PFNGLUNIFORM3UIEXTPROC)load("glUniform3uiEXT");
+	glad_glUniform4uiEXT = (PFNGLUNIFORM4UIEXTPROC)load("glUniform4uiEXT");
+	glad_glUniform1uivEXT = (PFNGLUNIFORM1UIVEXTPROC)load("glUniform1uivEXT");
+	glad_glUniform2uivEXT = (PFNGLUNIFORM2UIVEXTPROC)load("glUniform2uivEXT");
+	glad_glUniform3uivEXT = (PFNGLUNIFORM3UIVEXTPROC)load("glUniform3uivEXT");
+	glad_glUniform4uivEXT = (PFNGLUNIFORM4UIVEXTPROC)load("glUniform4uivEXT");
+}
+static void load_GL_NV_geometry_program4(GLADloadproc load) {
+	if(!GLAD_GL_NV_geometry_program4) return;
+	glad_glProgramVertexLimitNV = (PFNGLPROGRAMVERTEXLIMITNVPROC)load("glProgramVertexLimitNV");
+	glad_glFramebufferTextureEXT = (PFNGLFRAMEBUFFERTEXTUREEXTPROC)load("glFramebufferTextureEXT");
+	glad_glFramebufferTextureLayerEXT = (PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC)load("glFramebufferTextureLayerEXT");
+	glad_glFramebufferTextureFaceEXT = (PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC)load("glFramebufferTextureFaceEXT");
+}
+static void load_GL_AMD_debug_output(GLADloadproc load) {
+	if(!GLAD_GL_AMD_debug_output) return;
+	glad_glDebugMessageEnableAMD = (PFNGLDEBUGMESSAGEENABLEAMDPROC)load("glDebugMessageEnableAMD");
+	glad_glDebugMessageInsertAMD = (PFNGLDEBUGMESSAGEINSERTAMDPROC)load("glDebugMessageInsertAMD");
+	glad_glDebugMessageCallbackAMD = (PFNGLDEBUGMESSAGECALLBACKAMDPROC)load("glDebugMessageCallbackAMD");
+	glad_glGetDebugMessageLogAMD = (PFNGLGETDEBUGMESSAGELOGAMDPROC)load("glGetDebugMessageLogAMD");
+}
+static void load_GL_ARB_multitexture(GLADloadproc load) {
+	if(!GLAD_GL_ARB_multitexture) return;
+	glad_glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC)load("glActiveTextureARB");
+	glad_glClientActiveTextureARB = (PFNGLCLIENTACTIVETEXTUREARBPROC)load("glClientActiveTextureARB");
+	glad_glMultiTexCoord1dARB = (PFNGLMULTITEXCOORD1DARBPROC)load("glMultiTexCoord1dARB");
+	glad_glMultiTexCoord1dvARB = (PFNGLMULTITEXCOORD1DVARBPROC)load("glMultiTexCoord1dvARB");
+	glad_glMultiTexCoord1fARB = (PFNGLMULTITEXCOORD1FARBPROC)load("glMultiTexCoord1fARB");
+	glad_glMultiTexCoord1fvARB = (PFNGLMULTITEXCOORD1FVARBPROC)load("glMultiTexCoord1fvARB");
+	glad_glMultiTexCoord1iARB = (PFNGLMULTITEXCOORD1IARBPROC)load("glMultiTexCoord1iARB");
+	glad_glMultiTexCoord1ivARB = (PFNGLMULTITEXCOORD1IVARBPROC)load("glMultiTexCoord1ivARB");
+	glad_glMultiTexCoord1sARB = (PFNGLMULTITEXCOORD1SARBPROC)load("glMultiTexCoord1sARB");
+	glad_glMultiTexCoord1svARB = (PFNGLMULTITEXCOORD1SVARBPROC)load("glMultiTexCoord1svARB");
+	glad_glMultiTexCoord2dARB = (PFNGLMULTITEXCOORD2DARBPROC)load("glMultiTexCoord2dARB");
+	glad_glMultiTexCoord2dvARB = (PFNGLMULTITEXCOORD2DVARBPROC)load("glMultiTexCoord2dvARB");
+	glad_glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC)load("glMultiTexCoord2fARB");
+	glad_glMultiTexCoord2fvARB = (PFNGLMULTITEXCOORD2FVARBPROC)load("glMultiTexCoord2fvARB");
+	glad_glMultiTexCoord2iARB = (PFNGLMULTITEXCOORD2IARBPROC)load("glMultiTexCoord2iARB");
+	glad_glMultiTexCoord2ivARB = (PFNGLMULTITEXCOORD2IVARBPROC)load("glMultiTexCoord2ivARB");
+	glad_glMultiTexCoord2sARB = (PFNGLMULTITEXCOORD2SARBPROC)load("glMultiTexCoord2sARB");
+	glad_glMultiTexCoord2svARB = (PFNGLMULTITEXCOORD2SVARBPROC)load("glMultiTexCoord2svARB");
+	glad_glMultiTexCoord3dARB = (PFNGLMULTITEXCOORD3DARBPROC)load("glMultiTexCoord3dARB");
+	glad_glMultiTexCoord3dvARB = (PFNGLMULTITEXCOORD3DVARBPROC)load("glMultiTexCoord3dvARB");
+	glad_glMultiTexCoord3fARB = (PFNGLMULTITEXCOORD3FARBPROC)load("glMultiTexCoord3fARB");
+	glad_glMultiTexCoord3fvARB = (PFNGLMULTITEXCOORD3FVARBPROC)load("glMultiTexCoord3fvARB");
+	glad_glMultiTexCoord3iARB = (PFNGLMULTITEXCOORD3IARBPROC)load("glMultiTexCoord3iARB");
+	glad_glMultiTexCoord3ivARB = (PFNGLMULTITEXCOORD3IVARBPROC)load("glMultiTexCoord3ivARB");
+	glad_glMultiTexCoord3sARB = (PFNGLMULTITEXCOORD3SARBPROC)load("glMultiTexCoord3sARB");
+	glad_glMultiTexCoord3svARB = (PFNGLMULTITEXCOORD3SVARBPROC)load("glMultiTexCoord3svARB");
+	glad_glMultiTexCoord4dARB = (PFNGLMULTITEXCOORD4DARBPROC)load("glMultiTexCoord4dARB");
+	glad_glMultiTexCoord4dvARB = (PFNGLMULTITEXCOORD4DVARBPROC)load("glMultiTexCoord4dvARB");
+	glad_glMultiTexCoord4fARB = (PFNGLMULTITEXCOORD4FARBPROC)load("glMultiTexCoord4fARB");
+	glad_glMultiTexCoord4fvARB = (PFNGLMULTITEXCOORD4FVARBPROC)load("glMultiTexCoord4fvARB");
+	glad_glMultiTexCoord4iARB = (PFNGLMULTITEXCOORD4IARBPROC)load("glMultiTexCoord4iARB");
+	glad_glMultiTexCoord4ivARB = (PFNGLMULTITEXCOORD4IVARBPROC)load("glMultiTexCoord4ivARB");
+	glad_glMultiTexCoord4sARB = (PFNGLMULTITEXCOORD4SARBPROC)load("glMultiTexCoord4sARB");
+	glad_glMultiTexCoord4svARB = (PFNGLMULTITEXCOORD4SVARBPROC)load("glMultiTexCoord4svARB");
+}
+static void load_GL_SGIX_polynomial_ffd(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_polynomial_ffd) return;
+	glad_glDeformationMap3dSGIX = (PFNGLDEFORMATIONMAP3DSGIXPROC)load("glDeformationMap3dSGIX");
+	glad_glDeformationMap3fSGIX = (PFNGLDEFORMATIONMAP3FSGIXPROC)load("glDeformationMap3fSGIX");
+	glad_glDeformSGIX = (PFNGLDEFORMSGIXPROC)load("glDeformSGIX");
+	glad_glLoadIdentityDeformationMapSGIX = (PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC)load("glLoadIdentityDeformationMapSGIX");
+}
+static void load_GL_EXT_provoking_vertex(GLADloadproc load) {
+	if(!GLAD_GL_EXT_provoking_vertex) return;
+	glad_glProvokingVertexEXT = (PFNGLPROVOKINGVERTEXEXTPROC)load("glProvokingVertexEXT");
+}
+static void load_GL_ARB_point_parameters(GLADloadproc load) {
+	if(!GLAD_GL_ARB_point_parameters) return;
+	glad_glPointParameterfARB = (PFNGLPOINTPARAMETERFARBPROC)load("glPointParameterfARB");
+	glad_glPointParameterfvARB = (PFNGLPOINTPARAMETERFVARBPROC)load("glPointParameterfvARB");
+}
+static void load_GL_ARB_shader_image_load_store(GLADloadproc load) {
+	if(!GLAD_GL_ARB_shader_image_load_store) return;
+	glad_glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)load("glBindImageTexture");
+	glad_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)load("glMemoryBarrier");
+}
+static void load_GL_SGIX_framezoom(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_framezoom) return;
+	glad_glFrameZoomSGIX = (PFNGLFRAMEZOOMSGIXPROC)load("glFrameZoomSGIX");
+}
+static void load_GL_NV_bindless_multi_draw_indirect(GLADloadproc load) {
+	if(!GLAD_GL_NV_bindless_multi_draw_indirect) return;
+	glad_glMultiDrawArraysIndirectBindlessNV = (PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC)load("glMultiDrawArraysIndirectBindlessNV");
+	glad_glMultiDrawElementsIndirectBindlessNV = (PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC)load("glMultiDrawElementsIndirectBindlessNV");
+}
+static void load_GL_EXT_transform_feedback(GLADloadproc load) {
+	if(!GLAD_GL_EXT_transform_feedback) return;
+	glad_glBeginTransformFeedbackEXT = (PFNGLBEGINTRANSFORMFEEDBACKEXTPROC)load("glBeginTransformFeedbackEXT");
+	glad_glEndTransformFeedbackEXT = (PFNGLENDTRANSFORMFEEDBACKEXTPROC)load("glEndTransformFeedbackEXT");
+	glad_glBindBufferRangeEXT = (PFNGLBINDBUFFERRANGEEXTPROC)load("glBindBufferRangeEXT");
+	glad_glBindBufferOffsetEXT = (PFNGLBINDBUFFEROFFSETEXTPROC)load("glBindBufferOffsetEXT");
+	glad_glBindBufferBaseEXT = (PFNGLBINDBUFFERBASEEXTPROC)load("glBindBufferBaseEXT");
+	glad_glTransformFeedbackVaryingsEXT = (PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC)load("glTransformFeedbackVaryingsEXT");
+	glad_glGetTransformFeedbackVaryingEXT = (PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC)load("glGetTransformFeedbackVaryingEXT");
+}
+static void load_GL_NV_gpu_program4(GLADloadproc load) {
+	if(!GLAD_GL_NV_gpu_program4) return;
+	glad_glProgramLocalParameterI4iNV = (PFNGLPROGRAMLOCALPARAMETERI4INVPROC)load("glProgramLocalParameterI4iNV");
+	glad_glProgramLocalParameterI4ivNV = (PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC)load("glProgramLocalParameterI4ivNV");
+	glad_glProgramLocalParametersI4ivNV = (PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC)load("glProgramLocalParametersI4ivNV");
+	glad_glProgramLocalParameterI4uiNV = (PFNGLPROGRAMLOCALPARAMETERI4UINVPROC)load("glProgramLocalParameterI4uiNV");
+	glad_glProgramLocalParameterI4uivNV = (PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC)load("glProgramLocalParameterI4uivNV");
+	glad_glProgramLocalParametersI4uivNV = (PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC)load("glProgramLocalParametersI4uivNV");
+	glad_glProgramEnvParameterI4iNV = (PFNGLPROGRAMENVPARAMETERI4INVPROC)load("glProgramEnvParameterI4iNV");
+	glad_glProgramEnvParameterI4ivNV = (PFNGLPROGRAMENVPARAMETERI4IVNVPROC)load("glProgramEnvParameterI4ivNV");
+	glad_glProgramEnvParametersI4ivNV = (PFNGLPROGRAMENVPARAMETERSI4IVNVPROC)load("glProgramEnvParametersI4ivNV");
+	glad_glProgramEnvParameterI4uiNV = (PFNGLPROGRAMENVPARAMETERI4UINVPROC)load("glProgramEnvParameterI4uiNV");
+	glad_glProgramEnvParameterI4uivNV = (PFNGLPROGRAMENVPARAMETERI4UIVNVPROC)load("glProgramEnvParameterI4uivNV");
+	glad_glProgramEnvParametersI4uivNV = (PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC)load("glProgramEnvParametersI4uivNV");
+	glad_glGetProgramLocalParameterIivNV = (PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC)load("glGetProgramLocalParameterIivNV");
+	glad_glGetProgramLocalParameterIuivNV = (PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC)load("glGetProgramLocalParameterIuivNV");
+	glad_glGetProgramEnvParameterIivNV = (PFNGLGETPROGRAMENVPARAMETERIIVNVPROC)load("glGetProgramEnvParameterIivNV");
+	glad_glGetProgramEnvParameterIuivNV = (PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC)load("glGetProgramEnvParameterIuivNV");
+}
+static void load_GL_NV_gpu_program5(GLADloadproc load) {
+	if(!GLAD_GL_NV_gpu_program5) return;
+	glad_glProgramSubroutineParametersuivNV = (PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC)load("glProgramSubroutineParametersuivNV");
+	glad_glGetProgramSubroutineParameteruivNV = (PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC)load("glGetProgramSubroutineParameteruivNV");
+}
+static void load_GL_ARB_geometry_shader4(GLADloadproc load) {
+	if(!GLAD_GL_ARB_geometry_shader4) return;
+	glad_glProgramParameteriARB = (PFNGLPROGRAMPARAMETERIARBPROC)load("glProgramParameteriARB");
+	glad_glFramebufferTextureARB = (PFNGLFRAMEBUFFERTEXTUREARBPROC)load("glFramebufferTextureARB");
+	glad_glFramebufferTextureLayerARB = (PFNGLFRAMEBUFFERTEXTURELAYERARBPROC)load("glFramebufferTextureLayerARB");
+	glad_glFramebufferTextureFaceARB = (PFNGLFRAMEBUFFERTEXTUREFACEARBPROC)load("glFramebufferTextureFaceARB");
+}
+static void load_GL_SGIX_sprite(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_sprite) return;
+	glad_glSpriteParameterfSGIX = (PFNGLSPRITEPARAMETERFSGIXPROC)load("glSpriteParameterfSGIX");
+	glad_glSpriteParameterfvSGIX = (PFNGLSPRITEPARAMETERFVSGIXPROC)load("glSpriteParameterfvSGIX");
+	glad_glSpriteParameteriSGIX = (PFNGLSPRITEPARAMETERISGIXPROC)load("glSpriteParameteriSGIX");
+	glad_glSpriteParameterivSGIX = (PFNGLSPRITEPARAMETERIVSGIXPROC)load("glSpriteParameterivSGIX");
+}
+static void load_GL_ARB_get_program_binary(GLADloadproc load) {
+	if(!GLAD_GL_ARB_get_program_binary) return;
+	glad_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)load("glGetProgramBinary");
+	glad_glProgramBinary = (PFNGLPROGRAMBINARYPROC)load("glProgramBinary");
+	glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load("glProgramParameteri");
+}
+static void load_GL_AMD_occlusion_query_event(GLADloadproc load) {
+	if(!GLAD_GL_AMD_occlusion_query_event) return;
+	glad_glQueryObjectParameteruiAMD = (PFNGLQUERYOBJECTPARAMETERUIAMDPROC)load("glQueryObjectParameteruiAMD");
+}
+static void load_GL_SGIS_multisample(GLADloadproc load) {
+	if(!GLAD_GL_SGIS_multisample) return;
+	glad_glSampleMaskSGIS = (PFNGLSAMPLEMASKSGISPROC)load("glSampleMaskSGIS");
+	glad_glSamplePatternSGIS = (PFNGLSAMPLEPATTERNSGISPROC)load("glSamplePatternSGIS");
+}
+static void load_GL_EXT_framebuffer_object(GLADloadproc load) {
+	if(!GLAD_GL_EXT_framebuffer_object) return;
+	glad_glIsRenderbufferEXT = (PFNGLISRENDERBUFFEREXTPROC)load("glIsRenderbufferEXT");
+	glad_glBindRenderbufferEXT = (PFNGLBINDRENDERBUFFEREXTPROC)load("glBindRenderbufferEXT");
+	glad_glDeleteRenderbuffersEXT = (PFNGLDELETERENDERBUFFERSEXTPROC)load("glDeleteRenderbuffersEXT");
+	glad_glGenRenderbuffersEXT = (PFNGLGENRENDERBUFFERSEXTPROC)load("glGenRenderbuffersEXT");
+	glad_glRenderbufferStorageEXT = (PFNGLRENDERBUFFERSTORAGEEXTPROC)load("glRenderbufferStorageEXT");
+	glad_glGetRenderbufferParameterivEXT = (PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC)load("glGetRenderbufferParameterivEXT");
+	glad_glIsFramebufferEXT = (PFNGLISFRAMEBUFFEREXTPROC)load("glIsFramebufferEXT");
+	glad_glBindFramebufferEXT = (PFNGLBINDFRAMEBUFFEREXTPROC)load("glBindFramebufferEXT");
+	glad_glDeleteFramebuffersEXT = (PFNGLDELETEFRAMEBUFFERSEXTPROC)load("glDeleteFramebuffersEXT");
+	glad_glGenFramebuffersEXT = (PFNGLGENFRAMEBUFFERSEXTPROC)load("glGenFramebuffersEXT");
+	glad_glCheckFramebufferStatusEXT = (PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC)load("glCheckFramebufferStatusEXT");
+	glad_glFramebufferTexture1DEXT = (PFNGLFRAMEBUFFERTEXTURE1DEXTPROC)load("glFramebufferTexture1DEXT");
+	glad_glFramebufferTexture2DEXT = (PFNGLFRAMEBUFFERTEXTURE2DEXTPROC)load("glFramebufferTexture2DEXT");
+	glad_glFramebufferTexture3DEXT = (PFNGLFRAMEBUFFERTEXTURE3DEXTPROC)load("glFramebufferTexture3DEXT");
+	glad_glFramebufferRenderbufferEXT = (PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC)load("glFramebufferRenderbufferEXT");
+	glad_glGetFramebufferAttachmentParameterivEXT = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC)load("glGetFramebufferAttachmentParameterivEXT");
+	glad_glGenerateMipmapEXT = (PFNGLGENERATEMIPMAPEXTPROC)load("glGenerateMipmapEXT");
+}
+static void load_GL_APPLE_vertex_array_range(GLADloadproc load) {
+	if(!GLAD_GL_APPLE_vertex_array_range) return;
+	glad_glVertexArrayRangeAPPLE = (PFNGLVERTEXARRAYRANGEAPPLEPROC)load("glVertexArrayRangeAPPLE");
+	glad_glFlushVertexArrayRangeAPPLE = (PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC)load("glFlushVertexArrayRangeAPPLE");
+	glad_glVertexArrayParameteriAPPLE = (PFNGLVERTEXARRAYPARAMETERIAPPLEPROC)load("glVertexArrayParameteriAPPLE");
+}
+static void load_GL_NV_register_combiners(GLADloadproc load) {
+	if(!GLAD_GL_NV_register_combiners) return;
+	glad_glCombinerParameterfvNV = (PFNGLCOMBINERPARAMETERFVNVPROC)load("glCombinerParameterfvNV");
+	glad_glCombinerParameterfNV = (PFNGLCOMBINERPARAMETERFNVPROC)load("glCombinerParameterfNV");
+	glad_glCombinerParameterivNV = (PFNGLCOMBINERPARAMETERIVNVPROC)load("glCombinerParameterivNV");
+	glad_glCombinerParameteriNV = (PFNGLCOMBINERPARAMETERINVPROC)load("glCombinerParameteriNV");
+	glad_glCombinerInputNV = (PFNGLCOMBINERINPUTNVPROC)load("glCombinerInputNV");
+	glad_glCombinerOutputNV = (PFNGLCOMBINEROUTPUTNVPROC)load("glCombinerOutputNV");
+	glad_glFinalCombinerInputNV = (PFNGLFINALCOMBINERINPUTNVPROC)load("glFinalCombinerInputNV");
+	glad_glGetCombinerInputParameterfvNV = (PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC)load("glGetCombinerInputParameterfvNV");
+	glad_glGetCombinerInputParameterivNV = (PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC)load("glGetCombinerInputParameterivNV");
+	glad_glGetCombinerOutputParameterfvNV = (PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC)load("glGetCombinerOutputParameterfvNV");
+	glad_glGetCombinerOutputParameterivNV = (PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC)load("glGetCombinerOutputParameterivNV");
+	glad_glGetFinalCombinerInputParameterfvNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC)load("glGetFinalCombinerInputParameterfvNV");
+	glad_glGetFinalCombinerInputParameterivNV = (PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC)load("glGetFinalCombinerInputParameterivNV");
+}
+static void load_GL_ARB_draw_buffers(GLADloadproc load) {
+	if(!GLAD_GL_ARB_draw_buffers) return;
+	glad_glDrawBuffersARB = (PFNGLDRAWBUFFERSARBPROC)load("glDrawBuffersARB");
+}
+static void load_GL_ARB_clear_texture(GLADloadproc load) {
+	if(!GLAD_GL_ARB_clear_texture) return;
+	glad_glClearTexImage = (PFNGLCLEARTEXIMAGEPROC)load("glClearTexImage");
+	glad_glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC)load("glClearTexSubImage");
+}
+static void load_GL_ARB_debug_output(GLADloadproc load) {
+	if(!GLAD_GL_ARB_debug_output) return;
+	glad_glDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC)load("glDebugMessageControlARB");
+	glad_glDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC)load("glDebugMessageInsertARB");
+	glad_glDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC)load("glDebugMessageCallbackARB");
+	glad_glGetDebugMessageLogARB = (PFNGLGETDEBUGMESSAGELOGARBPROC)load("glGetDebugMessageLogARB");
+}
+static void load_GL_EXT_cull_vertex(GLADloadproc load) {
+	if(!GLAD_GL_EXT_cull_vertex) return;
+	glad_glCullParameterdvEXT = (PFNGLCULLPARAMETERDVEXTPROC)load("glCullParameterdvEXT");
+	glad_glCullParameterfvEXT = (PFNGLCULLPARAMETERFVEXTPROC)load("glCullParameterfvEXT");
+}
+static void load_GL_IBM_multimode_draw_arrays(GLADloadproc load) {
+	if(!GLAD_GL_IBM_multimode_draw_arrays) return;
+	glad_glMultiModeDrawArraysIBM = (PFNGLMULTIMODEDRAWARRAYSIBMPROC)load("glMultiModeDrawArraysIBM");
+	glad_glMultiModeDrawElementsIBM = (PFNGLMULTIMODEDRAWELEMENTSIBMPROC)load("glMultiModeDrawElementsIBM");
+}
+static void load_GL_APPLE_vertex_array_object(GLADloadproc load) {
+	if(!GLAD_GL_APPLE_vertex_array_object) return;
+	glad_glBindVertexArrayAPPLE = (PFNGLBINDVERTEXARRAYAPPLEPROC)load("glBindVertexArrayAPPLE");
+	glad_glDeleteVertexArraysAPPLE = (PFNGLDELETEVERTEXARRAYSAPPLEPROC)load("glDeleteVertexArraysAPPLE");
+	glad_glGenVertexArraysAPPLE = (PFNGLGENVERTEXARRAYSAPPLEPROC)load("glGenVertexArraysAPPLE");
+	glad_glIsVertexArrayAPPLE = (PFNGLISVERTEXARRAYAPPLEPROC)load("glIsVertexArrayAPPLE");
+}
+static void load_GL_SGIS_detail_texture(GLADloadproc load) {
+	if(!GLAD_GL_SGIS_detail_texture) return;
+	glad_glDetailTexFuncSGIS = (PFNGLDETAILTEXFUNCSGISPROC)load("glDetailTexFuncSGIS");
+	glad_glGetDetailTexFuncSGIS = (PFNGLGETDETAILTEXFUNCSGISPROC)load("glGetDetailTexFuncSGIS");
+}
+static void load_GL_ARB_draw_instanced(GLADloadproc load) {
+	if(!GLAD_GL_ARB_draw_instanced) return;
+	glad_glDrawArraysInstancedARB = (PFNGLDRAWARRAYSINSTANCEDARBPROC)load("glDrawArraysInstancedARB");
+	glad_glDrawElementsInstancedARB = (PFNGLDRAWELEMENTSINSTANCEDARBPROC)load("glDrawElementsInstancedARB");
+}
+static void load_GL_ARB_shading_language_include(GLADloadproc load) {
+	if(!GLAD_GL_ARB_shading_language_include) return;
+	glad_glNamedStringARB = (PFNGLNAMEDSTRINGARBPROC)load("glNamedStringARB");
+	glad_glDeleteNamedStringARB = (PFNGLDELETENAMEDSTRINGARBPROC)load("glDeleteNamedStringARB");
+	glad_glCompileShaderIncludeARB = (PFNGLCOMPILESHADERINCLUDEARBPROC)load("glCompileShaderIncludeARB");
+	glad_glIsNamedStringARB = (PFNGLISNAMEDSTRINGARBPROC)load("glIsNamedStringARB");
+	glad_glGetNamedStringARB = (PFNGLGETNAMEDSTRINGARBPROC)load("glGetNamedStringARB");
+	glad_glGetNamedStringivARB = (PFNGLGETNAMEDSTRINGIVARBPROC)load("glGetNamedStringivARB");
+}
+static void load_GL_INGR_blend_func_separate(GLADloadproc load) {
+	if(!GLAD_GL_INGR_blend_func_separate) return;
+	glad_glBlendFuncSeparateINGR = (PFNGLBLENDFUNCSEPARATEINGRPROC)load("glBlendFuncSeparateINGR");
+}
+static void load_GL_NV_path_rendering(GLADloadproc load) {
+	if(!GLAD_GL_NV_path_rendering) return;
+	glad_glGenPathsNV = (PFNGLGENPATHSNVPROC)load("glGenPathsNV");
+	glad_glDeletePathsNV = (PFNGLDELETEPATHSNVPROC)load("glDeletePathsNV");
+	glad_glIsPathNV = (PFNGLISPATHNVPROC)load("glIsPathNV");
+	glad_glPathCommandsNV = (PFNGLPATHCOMMANDSNVPROC)load("glPathCommandsNV");
+	glad_glPathCoordsNV = (PFNGLPATHCOORDSNVPROC)load("glPathCoordsNV");
+	glad_glPathSubCommandsNV = (PFNGLPATHSUBCOMMANDSNVPROC)load("glPathSubCommandsNV");
+	glad_glPathSubCoordsNV = (PFNGLPATHSUBCOORDSNVPROC)load("glPathSubCoordsNV");
+	glad_glPathStringNV = (PFNGLPATHSTRINGNVPROC)load("glPathStringNV");
+	glad_glPathGlyphsNV = (PFNGLPATHGLYPHSNVPROC)load("glPathGlyphsNV");
+	glad_glPathGlyphRangeNV = (PFNGLPATHGLYPHRANGENVPROC)load("glPathGlyphRangeNV");
+	glad_glWeightPathsNV = (PFNGLWEIGHTPATHSNVPROC)load("glWeightPathsNV");
+	glad_glCopyPathNV = (PFNGLCOPYPATHNVPROC)load("glCopyPathNV");
+	glad_glInterpolatePathsNV = (PFNGLINTERPOLATEPATHSNVPROC)load("glInterpolatePathsNV");
+	glad_glTransformPathNV = (PFNGLTRANSFORMPATHNVPROC)load("glTransformPathNV");
+	glad_glPathParameterivNV = (PFNGLPATHPARAMETERIVNVPROC)load("glPathParameterivNV");
+	glad_glPathParameteriNV = (PFNGLPATHPARAMETERINVPROC)load("glPathParameteriNV");
+	glad_glPathParameterfvNV = (PFNGLPATHPARAMETERFVNVPROC)load("glPathParameterfvNV");
+	glad_glPathParameterfNV = (PFNGLPATHPARAMETERFNVPROC)load("glPathParameterfNV");
+	glad_glPathDashArrayNV = (PFNGLPATHDASHARRAYNVPROC)load("glPathDashArrayNV");
+	glad_glPathStencilFuncNV = (PFNGLPATHSTENCILFUNCNVPROC)load("glPathStencilFuncNV");
+	glad_glPathStencilDepthOffsetNV = (PFNGLPATHSTENCILDEPTHOFFSETNVPROC)load("glPathStencilDepthOffsetNV");
+	glad_glStencilFillPathNV = (PFNGLSTENCILFILLPATHNVPROC)load("glStencilFillPathNV");
+	glad_glStencilStrokePathNV = (PFNGLSTENCILSTROKEPATHNVPROC)load("glStencilStrokePathNV");
+	glad_glStencilFillPathInstancedNV = (PFNGLSTENCILFILLPATHINSTANCEDNVPROC)load("glStencilFillPathInstancedNV");
+	glad_glStencilStrokePathInstancedNV = (PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC)load("glStencilStrokePathInstancedNV");
+	glad_glPathCoverDepthFuncNV = (PFNGLPATHCOVERDEPTHFUNCNVPROC)load("glPathCoverDepthFuncNV");
+	glad_glPathColorGenNV = (PFNGLPATHCOLORGENNVPROC)load("glPathColorGenNV");
+	glad_glPathTexGenNV = (PFNGLPATHTEXGENNVPROC)load("glPathTexGenNV");
+	glad_glPathFogGenNV = (PFNGLPATHFOGGENNVPROC)load("glPathFogGenNV");
+	glad_glCoverFillPathNV = (PFNGLCOVERFILLPATHNVPROC)load("glCoverFillPathNV");
+	glad_glCoverStrokePathNV = (PFNGLCOVERSTROKEPATHNVPROC)load("glCoverStrokePathNV");
+	glad_glCoverFillPathInstancedNV = (PFNGLCOVERFILLPATHINSTANCEDNVPROC)load("glCoverFillPathInstancedNV");
+	glad_glCoverStrokePathInstancedNV = (PFNGLCOVERSTROKEPATHINSTANCEDNVPROC)load("glCoverStrokePathInstancedNV");
+	glad_glGetPathParameterivNV = (PFNGLGETPATHPARAMETERIVNVPROC)load("glGetPathParameterivNV");
+	glad_glGetPathParameterfvNV = (PFNGLGETPATHPARAMETERFVNVPROC)load("glGetPathParameterfvNV");
+	glad_glGetPathCommandsNV = (PFNGLGETPATHCOMMANDSNVPROC)load("glGetPathCommandsNV");
+	glad_glGetPathCoordsNV = (PFNGLGETPATHCOORDSNVPROC)load("glGetPathCoordsNV");
+	glad_glGetPathDashArrayNV = (PFNGLGETPATHDASHARRAYNVPROC)load("glGetPathDashArrayNV");
+	glad_glGetPathMetricsNV = (PFNGLGETPATHMETRICSNVPROC)load("glGetPathMetricsNV");
+	glad_glGetPathMetricRangeNV = (PFNGLGETPATHMETRICRANGENVPROC)load("glGetPathMetricRangeNV");
+	glad_glGetPathSpacingNV = (PFNGLGETPATHSPACINGNVPROC)load("glGetPathSpacingNV");
+	glad_glGetPathColorGenivNV = (PFNGLGETPATHCOLORGENIVNVPROC)load("glGetPathColorGenivNV");
+	glad_glGetPathColorGenfvNV = (PFNGLGETPATHCOLORGENFVNVPROC)load("glGetPathColorGenfvNV");
+	glad_glGetPathTexGenivNV = (PFNGLGETPATHTEXGENIVNVPROC)load("glGetPathTexGenivNV");
+	glad_glGetPathTexGenfvNV = (PFNGLGETPATHTEXGENFVNVPROC)load("glGetPathTexGenfvNV");
+	glad_glIsPointInFillPathNV = (PFNGLISPOINTINFILLPATHNVPROC)load("glIsPointInFillPathNV");
+	glad_glIsPointInStrokePathNV = (PFNGLISPOINTINSTROKEPATHNVPROC)load("glIsPointInStrokePathNV");
+	glad_glGetPathLengthNV = (PFNGLGETPATHLENGTHNVPROC)load("glGetPathLengthNV");
+	glad_glPointAlongPathNV = (PFNGLPOINTALONGPATHNVPROC)load("glPointAlongPathNV");
+}
+static void load_GL_ATI_vertex_streams(GLADloadproc load) {
+	if(!GLAD_GL_ATI_vertex_streams) return;
+	glad_glVertexStream1sATI = (PFNGLVERTEXSTREAM1SATIPROC)load("glVertexStream1sATI");
+	glad_glVertexStream1svATI = (PFNGLVERTEXSTREAM1SVATIPROC)load("glVertexStream1svATI");
+	glad_glVertexStream1iATI = (PFNGLVERTEXSTREAM1IATIPROC)load("glVertexStream1iATI");
+	glad_glVertexStream1ivATI = (PFNGLVERTEXSTREAM1IVATIPROC)load("glVertexStream1ivATI");
+	glad_glVertexStream1fATI = (PFNGLVERTEXSTREAM1FATIPROC)load("glVertexStream1fATI");
+	glad_glVertexStream1fvATI = (PFNGLVERTEXSTREAM1FVATIPROC)load("glVertexStream1fvATI");
+	glad_glVertexStream1dATI = (PFNGLVERTEXSTREAM1DATIPROC)load("glVertexStream1dATI");
+	glad_glVertexStream1dvATI = (PFNGLVERTEXSTREAM1DVATIPROC)load("glVertexStream1dvATI");
+	glad_glVertexStream2sATI = (PFNGLVERTEXSTREAM2SATIPROC)load("glVertexStream2sATI");
+	glad_glVertexStream2svATI = (PFNGLVERTEXSTREAM2SVATIPROC)load("glVertexStream2svATI");
+	glad_glVertexStream2iATI = (PFNGLVERTEXSTREAM2IATIPROC)load("glVertexStream2iATI");
+	glad_glVertexStream2ivATI = (PFNGLVERTEXSTREAM2IVATIPROC)load("glVertexStream2ivATI");
+	glad_glVertexStream2fATI = (PFNGLVERTEXSTREAM2FATIPROC)load("glVertexStream2fATI");
+	glad_glVertexStream2fvATI = (PFNGLVERTEXSTREAM2FVATIPROC)load("glVertexStream2fvATI");
+	glad_glVertexStream2dATI = (PFNGLVERTEXSTREAM2DATIPROC)load("glVertexStream2dATI");
+	glad_glVertexStream2dvATI = (PFNGLVERTEXSTREAM2DVATIPROC)load("glVertexStream2dvATI");
+	glad_glVertexStream3sATI = (PFNGLVERTEXSTREAM3SATIPROC)load("glVertexStream3sATI");
+	glad_glVertexStream3svATI = (PFNGLVERTEXSTREAM3SVATIPROC)load("glVertexStream3svATI");
+	glad_glVertexStream3iATI = (PFNGLVERTEXSTREAM3IATIPROC)load("glVertexStream3iATI");
+	glad_glVertexStream3ivATI = (PFNGLVERTEXSTREAM3IVATIPROC)load("glVertexStream3ivATI");
+	glad_glVertexStream3fATI = (PFNGLVERTEXSTREAM3FATIPROC)load("glVertexStream3fATI");
+	glad_glVertexStream3fvATI = (PFNGLVERTEXSTREAM3FVATIPROC)load("glVertexStream3fvATI");
+	glad_glVertexStream3dATI = (PFNGLVERTEXSTREAM3DATIPROC)load("glVertexStream3dATI");
+	glad_glVertexStream3dvATI = (PFNGLVERTEXSTREAM3DVATIPROC)load("glVertexStream3dvATI");
+	glad_glVertexStream4sATI = (PFNGLVERTEXSTREAM4SATIPROC)load("glVertexStream4sATI");
+	glad_glVertexStream4svATI = (PFNGLVERTEXSTREAM4SVATIPROC)load("glVertexStream4svATI");
+	glad_glVertexStream4iATI = (PFNGLVERTEXSTREAM4IATIPROC)load("glVertexStream4iATI");
+	glad_glVertexStream4ivATI = (PFNGLVERTEXSTREAM4IVATIPROC)load("glVertexStream4ivATI");
+	glad_glVertexStream4fATI = (PFNGLVERTEXSTREAM4FATIPROC)load("glVertexStream4fATI");
+	glad_glVertexStream4fvATI = (PFNGLVERTEXSTREAM4FVATIPROC)load("glVertexStream4fvATI");
+	glad_glVertexStream4dATI = (PFNGLVERTEXSTREAM4DATIPROC)load("glVertexStream4dATI");
+	glad_glVertexStream4dvATI = (PFNGLVERTEXSTREAM4DVATIPROC)load("glVertexStream4dvATI");
+	glad_glNormalStream3bATI = (PFNGLNORMALSTREAM3BATIPROC)load("glNormalStream3bATI");
+	glad_glNormalStream3bvATI = (PFNGLNORMALSTREAM3BVATIPROC)load("glNormalStream3bvATI");
+	glad_glNormalStream3sATI = (PFNGLNORMALSTREAM3SATIPROC)load("glNormalStream3sATI");
+	glad_glNormalStream3svATI = (PFNGLNORMALSTREAM3SVATIPROC)load("glNormalStream3svATI");
+	glad_glNormalStream3iATI = (PFNGLNORMALSTREAM3IATIPROC)load("glNormalStream3iATI");
+	glad_glNormalStream3ivATI = (PFNGLNORMALSTREAM3IVATIPROC)load("glNormalStream3ivATI");
+	glad_glNormalStream3fATI = (PFNGLNORMALSTREAM3FATIPROC)load("glNormalStream3fATI");
+	glad_glNormalStream3fvATI = (PFNGLNORMALSTREAM3FVATIPROC)load("glNormalStream3fvATI");
+	glad_glNormalStream3dATI = (PFNGLNORMALSTREAM3DATIPROC)load("glNormalStream3dATI");
+	glad_glNormalStream3dvATI = (PFNGLNORMALSTREAM3DVATIPROC)load("glNormalStream3dvATI");
+	glad_glClientActiveVertexStreamATI = (PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC)load("glClientActiveVertexStreamATI");
+	glad_glVertexBlendEnviATI = (PFNGLVERTEXBLENDENVIATIPROC)load("glVertexBlendEnviATI");
+	glad_glVertexBlendEnvfATI = (PFNGLVERTEXBLENDENVFATIPROC)load("glVertexBlendEnvfATI");
+}
+static void load_GL_NV_vdpau_interop(GLADloadproc load) {
+	if(!GLAD_GL_NV_vdpau_interop) return;
+	glad_glVDPAUInitNV = (PFNGLVDPAUINITNVPROC)load("glVDPAUInitNV");
+	glad_glVDPAUFiniNV = (PFNGLVDPAUFININVPROC)load("glVDPAUFiniNV");
+	glad_glVDPAURegisterVideoSurfaceNV = (PFNGLVDPAUREGISTERVIDEOSURFACENVPROC)load("glVDPAURegisterVideoSurfaceNV");
+	glad_glVDPAURegisterOutputSurfaceNV = (PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC)load("glVDPAURegisterOutputSurfaceNV");
+	glad_glVDPAUIsSurfaceNV = (PFNGLVDPAUISSURFACENVPROC)load("glVDPAUIsSurfaceNV");
+	glad_glVDPAUUnregisterSurfaceNV = (PFNGLVDPAUUNREGISTERSURFACENVPROC)load("glVDPAUUnregisterSurfaceNV");
+	glad_glVDPAUGetSurfaceivNV = (PFNGLVDPAUGETSURFACEIVNVPROC)load("glVDPAUGetSurfaceivNV");
+	glad_glVDPAUSurfaceAccessNV = (PFNGLVDPAUSURFACEACCESSNVPROC)load("glVDPAUSurfaceAccessNV");
+	glad_glVDPAUMapSurfacesNV = (PFNGLVDPAUMAPSURFACESNVPROC)load("glVDPAUMapSurfacesNV");
+	glad_glVDPAUUnmapSurfacesNV = (PFNGLVDPAUUNMAPSURFACESNVPROC)load("glVDPAUUnmapSurfacesNV");
+}
+static void load_GL_ARB_internalformat_query2(GLADloadproc load) {
+	if(!GLAD_GL_ARB_internalformat_query2) return;
+	glad_glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC)load("glGetInternalformati64v");
+}
+static void load_GL_SUN_vertex(GLADloadproc load) {
+	if(!GLAD_GL_SUN_vertex) return;
+	glad_glColor4ubVertex2fSUN = (PFNGLCOLOR4UBVERTEX2FSUNPROC)load("glColor4ubVertex2fSUN");
+	glad_glColor4ubVertex2fvSUN = (PFNGLCOLOR4UBVERTEX2FVSUNPROC)load("glColor4ubVertex2fvSUN");
+	glad_glColor4ubVertex3fSUN = (PFNGLCOLOR4UBVERTEX3FSUNPROC)load("glColor4ubVertex3fSUN");
+	glad_glColor4ubVertex3fvSUN = (PFNGLCOLOR4UBVERTEX3FVSUNPROC)load("glColor4ubVertex3fvSUN");
+	glad_glColor3fVertex3fSUN = (PFNGLCOLOR3FVERTEX3FSUNPROC)load("glColor3fVertex3fSUN");
+	glad_glColor3fVertex3fvSUN = (PFNGLCOLOR3FVERTEX3FVSUNPROC)load("glColor3fVertex3fvSUN");
+	glad_glNormal3fVertex3fSUN = (PFNGLNORMAL3FVERTEX3FSUNPROC)load("glNormal3fVertex3fSUN");
+	glad_glNormal3fVertex3fvSUN = (PFNGLNORMAL3FVERTEX3FVSUNPROC)load("glNormal3fVertex3fvSUN");
+	glad_glColor4fNormal3fVertex3fSUN = (PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC)load("glColor4fNormal3fVertex3fSUN");
+	glad_glColor4fNormal3fVertex3fvSUN = (PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC)load("glColor4fNormal3fVertex3fvSUN");
+	glad_glTexCoord2fVertex3fSUN = (PFNGLTEXCOORD2FVERTEX3FSUNPROC)load("glTexCoord2fVertex3fSUN");
+	glad_glTexCoord2fVertex3fvSUN = (PFNGLTEXCOORD2FVERTEX3FVSUNPROC)load("glTexCoord2fVertex3fvSUN");
+	glad_glTexCoord4fVertex4fSUN = (PFNGLTEXCOORD4FVERTEX4FSUNPROC)load("glTexCoord4fVertex4fSUN");
+	glad_glTexCoord4fVertex4fvSUN = (PFNGLTEXCOORD4FVERTEX4FVSUNPROC)load("glTexCoord4fVertex4fvSUN");
+	glad_glTexCoord2fColor4ubVertex3fSUN = (PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC)load("glTexCoord2fColor4ubVertex3fSUN");
+	glad_glTexCoord2fColor4ubVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC)load("glTexCoord2fColor4ubVertex3fvSUN");
+	glad_glTexCoord2fColor3fVertex3fSUN = (PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC)load("glTexCoord2fColor3fVertex3fSUN");
+	glad_glTexCoord2fColor3fVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC)load("glTexCoord2fColor3fVertex3fvSUN");
+	glad_glTexCoord2fNormal3fVertex3fSUN = (PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC)load("glTexCoord2fNormal3fVertex3fSUN");
+	glad_glTexCoord2fNormal3fVertex3fvSUN = (PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)load("glTexCoord2fNormal3fVertex3fvSUN");
+	glad_glTexCoord2fColor4fNormal3fVertex3fSUN = (PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)load("glTexCoord2fColor4fNormal3fVertex3fSUN");
+	glad_glTexCoord2fColor4fNormal3fVertex3fvSUN = (PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)load("glTexCoord2fColor4fNormal3fVertex3fvSUN");
+	glad_glTexCoord4fColor4fNormal3fVertex4fSUN = (PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC)load("glTexCoord4fColor4fNormal3fVertex4fSUN");
+	glad_glTexCoord4fColor4fNormal3fVertex4fvSUN = (PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC)load("glTexCoord4fColor4fNormal3fVertex4fvSUN");
+	glad_glReplacementCodeuiVertex3fSUN = (PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC)load("glReplacementCodeuiVertex3fSUN");
+	glad_glReplacementCodeuiVertex3fvSUN = (PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC)load("glReplacementCodeuiVertex3fvSUN");
+	glad_glReplacementCodeuiColor4ubVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC)load("glReplacementCodeuiColor4ubVertex3fSUN");
+	glad_glReplacementCodeuiColor4ubVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC)load("glReplacementCodeuiColor4ubVertex3fvSUN");
+	glad_glReplacementCodeuiColor3fVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC)load("glReplacementCodeuiColor3fVertex3fSUN");
+	glad_glReplacementCodeuiColor3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC)load("glReplacementCodeuiColor3fVertex3fvSUN");
+	glad_glReplacementCodeuiNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC)load("glReplacementCodeuiNormal3fVertex3fSUN");
+	glad_glReplacementCodeuiNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC)load("glReplacementCodeuiNormal3fVertex3fvSUN");
+	glad_glReplacementCodeuiColor4fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC)load("glReplacementCodeuiColor4fNormal3fVertex3fSUN");
+	glad_glReplacementCodeuiColor4fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC)load("glReplacementCodeuiColor4fNormal3fVertex3fvSUN");
+	glad_glReplacementCodeuiTexCoord2fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC)load("glReplacementCodeuiTexCoord2fVertex3fSUN");
+	glad_glReplacementCodeuiTexCoord2fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC)load("glReplacementCodeuiTexCoord2fVertex3fvSUN");
+	glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC)load("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN");
+	glad_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC)load("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN");
+	glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC)load("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN");
+	glad_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = (PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC)load("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN");
+}
+static void load_GL_SGIX_igloo_interface(GLADloadproc load) {
+	if(!GLAD_GL_SGIX_igloo_interface) return;
+	glad_glIglooInterfaceSGIX = (PFNGLIGLOOINTERFACESGIXPROC)load("glIglooInterfaceSGIX");
+}
+static void load_GL_ARB_draw_indirect(GLADloadproc load) {
+	if(!GLAD_GL_ARB_draw_indirect) return;
+	glad_glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC)load("glDrawArraysIndirect");
+	glad_glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC)load("glDrawElementsIndirect");
+}
+static void load_GL_NV_vertex_program4(GLADloadproc load) {
+	if(!GLAD_GL_NV_vertex_program4) return;
+	glad_glVertexAttribI1iEXT = (PFNGLVERTEXATTRIBI1IEXTPROC)load("glVertexAttribI1iEXT");
+	glad_glVertexAttribI2iEXT = (PFNGLVERTEXATTRIBI2IEXTPROC)load("glVertexAttribI2iEXT");
+	glad_glVertexAttribI3iEXT = (PFNGLVERTEXATTRIBI3IEXTPROC)load("glVertexAttribI3iEXT");
+	glad_glVertexAttribI4iEXT = (PFNGLVERTEXATTRIBI4IEXTPROC)load("glVertexAttribI4iEXT");
+	glad_glVertexAttribI1uiEXT = (PFNGLVERTEXATTRIBI1UIEXTPROC)load("glVertexAttribI1uiEXT");
+	glad_glVertexAttribI2uiEXT = (PFNGLVERTEXATTRIBI2UIEXTPROC)load("glVertexAttribI2uiEXT");
+	glad_glVertexAttribI3uiEXT = (PFNGLVERTEXATTRIBI3UIEXTPROC)load("glVertexAttribI3uiEXT");
+	glad_glVertexAttribI4uiEXT = (PFNGLVERTEXATTRIBI4UIEXTPROC)load("glVertexAttribI4uiEXT");
+	glad_glVertexAttribI1ivEXT = (PFNGLVERTEXATTRIBI1IVEXTPROC)load("glVertexAttribI1ivEXT");
+	glad_glVertexAttribI2ivEXT = (PFNGLVERTEXATTRIBI2IVEXTPROC)load("glVertexAttribI2ivEXT");
+	glad_glVertexAttribI3ivEXT = (PFNGLVERTEXATTRIBI3IVEXTPROC)load("glVertexAttribI3ivEXT");
+	glad_glVertexAttribI4ivEXT = (PFNGLVERTEXATTRIBI4IVEXTPROC)load("glVertexAttribI4ivEXT");
+	glad_glVertexAttribI1uivEXT = (PFNGLVERTEXATTRIBI1UIVEXTPROC)load("glVertexAttribI1uivEXT");
+	glad_glVertexAttribI2uivEXT = (PFNGLVERTEXATTRIBI2UIVEXTPROC)load("glVertexAttribI2uivEXT");
+	glad_glVertexAttribI3uivEXT = (PFNGLVERTEXATTRIBI3UIVEXTPROC)load("glVertexAttribI3uivEXT");
+	glad_glVertexAttribI4uivEXT = (PFNGLVERTEXATTRIBI4UIVEXTPROC)load("glVertexAttribI4uivEXT");
+	glad_glVertexAttribI4bvEXT = (PFNGLVERTEXATTRIBI4BVEXTPROC)load("glVertexAttribI4bvEXT");
+	glad_glVertexAttribI4svEXT = (PFNGLVERTEXATTRIBI4SVEXTPROC)load("glVertexAttribI4svEXT");
+	glad_glVertexAttribI4ubvEXT = (PFNGLVERTEXATTRIBI4UBVEXTPROC)load("glVertexAttribI4ubvEXT");
+	glad_glVertexAttribI4usvEXT = (PFNGLVERTEXATTRIBI4USVEXTPROC)load("glVertexAttribI4usvEXT");
+	glad_glVertexAttribIPointerEXT = (PFNGLVERTEXATTRIBIPOINTEREXTPROC)load("glVertexAttribIPointerEXT");
+	glad_glGetVertexAttribIivEXT = (PFNGLGETVERTEXATTRIBIIVEXTPROC)load("glGetVertexAttribIivEXT");
+	glad_glGetVertexAttribIuivEXT = (PFNGLGETVERTEXATTRIBIUIVEXTPROC)load("glGetVertexAttribIuivEXT");
+}
+static void load_GL_SGIS_fog_function(GLADloadproc load) {
+	if(!GLAD_GL_SGIS_fog_function) return;
+	glad_glFogFuncSGIS = (PFNGLFOGFUNCSGISPROC)load("glFogFuncSGIS");
+	glad_glGetFogFuncSGIS = (PFNGLGETFOGFUNCSGISPROC)load("glGetFogFuncSGIS");
+}
+static void load_GL_EXT_x11_sync_object(GLADloadproc load) {
+	if(!GLAD_GL_EXT_x11_sync_object) return;
+	glad_glImportSyncEXT = (PFNGLIMPORTSYNCEXTPROC)load("glImportSyncEXT");
+}
+static void load_GL_ARB_sync(GLADloadproc load) {
+	if(!GLAD_GL_ARB_sync) return;
+	glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync");
+	glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync");
+	glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync");
+	glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync");
+	glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync");
+	glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v");
+	glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv");
+}
+static void load_GL_ARB_compute_variable_group_size(GLADloadproc load) {
+	if(!GLAD_GL_ARB_compute_variable_group_size) return;
+	glad_glDispatchComputeGroupSizeARB = (PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC)load("glDispatchComputeGroupSizeARB");
+}
+static void load_GL_OES_fixed_point(GLADloadproc load) {
+	if(!GLAD_GL_OES_fixed_point) return;
+	glad_glAlphaFuncxOES = (PFNGLALPHAFUNCXOESPROC)load("glAlphaFuncxOES");
+	glad_glClearColorxOES = (PFNGLCLEARCOLORXOESPROC)load("glClearColorxOES");
+	glad_glClearDepthxOES = (PFNGLCLEARDEPTHXOESPROC)load("glClearDepthxOES");
+	glad_glClipPlanexOES = (PFNGLCLIPPLANEXOESPROC)load("glClipPlanexOES");
+	glad_glColor4xOES = (PFNGLCOLOR4XOESPROC)load("glColor4xOES");
+	glad_glDepthRangexOES = (PFNGLDEPTHRANGEXOESPROC)load("glDepthRangexOES");
+	glad_glFogxOES = (PFNGLFOGXOESPROC)load("glFogxOES");
+	glad_glFogxvOES = (PFNGLFOGXVOESPROC)load("glFogxvOES");
+	glad_glFrustumxOES = (PFNGLFRUSTUMXOESPROC)load("glFrustumxOES");
+	glad_glGetClipPlanexOES = (PFNGLGETCLIPPLANEXOESPROC)load("glGetClipPlanexOES");
+	glad_glGetFixedvOES = (PFNGLGETFIXEDVOESPROC)load("glGetFixedvOES");
+	glad_glGetTexEnvxvOES = (PFNGLGETTEXENVXVOESPROC)load("glGetTexEnvxvOES");
+	glad_glGetTexParameterxvOES = (PFNGLGETTEXPARAMETERXVOESPROC)load("glGetTexParameterxvOES");
+	glad_glLightModelxOES = (PFNGLLIGHTMODELXOESPROC)load("glLightModelxOES");
+	glad_glLightModelxvOES = (PFNGLLIGHTMODELXVOESPROC)load("glLightModelxvOES");
+	glad_glLightxOES = (PFNGLLIGHTXOESPROC)load("glLightxOES");
+	glad_glLightxvOES = (PFNGLLIGHTXVOESPROC)load("glLightxvOES");
+	glad_glLineWidthxOES = (PFNGLLINEWIDTHXOESPROC)load("glLineWidthxOES");
+	glad_glLoadMatrixxOES = (PFNGLLOADMATRIXXOESPROC)load("glLoadMatrixxOES");
+	glad_glMaterialxOES = (PFNGLMATERIALXOESPROC)load("glMaterialxOES");
+	glad_glMaterialxvOES = (PFNGLMATERIALXVOESPROC)load("glMaterialxvOES");
+	glad_glMultMatrixxOES = (PFNGLMULTMATRIXXOESPROC)load("glMultMatrixxOES");
+	glad_glMultiTexCoord4xOES = (PFNGLMULTITEXCOORD4XOESPROC)load("glMultiTexCoord4xOES");
+	glad_glNormal3xOES = (PFNGLNORMAL3XOESPROC)load("glNormal3xOES");
+	glad_glOrthoxOES = (PFNGLORTHOXOESPROC)load("glOrthoxOES");
+	glad_glPointParameterxvOES = (PFNGLPOINTPARAMETERXVOESPROC)load("glPointParameterxvOES");
+	glad_glPointSizexOES = (PFNGLPOINTSIZEXOESPROC)load("glPointSizexOES");
+	glad_glPolygonOffsetxOES = (PFNGLPOLYGONOFFSETXOESPROC)load("glPolygonOffsetxOES");
+	glad_glRotatexOES = (PFNGLROTATEXOESPROC)load("glRotatexOES");
+	glad_glSampleCoverageOES = (PFNGLSAMPLECOVERAGEOESPROC)load("glSampleCoverageOES");
+	glad_glScalexOES = (PFNGLSCALEXOESPROC)load("glScalexOES");
+	glad_glTexEnvxOES = (PFNGLTEXENVXOESPROC)load("glTexEnvxOES");
+	glad_glTexEnvxvOES = (PFNGLTEXENVXVOESPROC)load("glTexEnvxvOES");
+	glad_glTexParameterxOES = (PFNGLTEXPARAMETERXOESPROC)load("glTexParameterxOES");
+	glad_glTexParameterxvOES = (PFNGLTEXPARAMETERXVOESPROC)load("glTexParameterxvOES");
+	glad_glTranslatexOES = (PFNGLTRANSLATEXOESPROC)load("glTranslatexOES");
+	glad_glGetLightxvOES = (PFNGLGETLIGHTXVOESPROC)load("glGetLightxvOES");
+	glad_glGetMaterialxvOES = (PFNGLGETMATERIALXVOESPROC)load("glGetMaterialxvOES");
+	glad_glPointParameterxOES = (PFNGLPOINTPARAMETERXOESPROC)load("glPointParameterxOES");
+	glad_glSampleCoveragexOES = (PFNGLSAMPLECOVERAGEXOESPROC)load("glSampleCoveragexOES");
+	glad_glAccumxOES = (PFNGLACCUMXOESPROC)load("glAccumxOES");
+	glad_glBitmapxOES = (PFNGLBITMAPXOESPROC)load("glBitmapxOES");
+	glad_glBlendColorxOES = (PFNGLBLENDCOLORXOESPROC)load("glBlendColorxOES");
+	glad_glClearAccumxOES = (PFNGLCLEARACCUMXOESPROC)load("glClearAccumxOES");
+	glad_glColor3xOES = (PFNGLCOLOR3XOESPROC)load("glColor3xOES");
+	glad_glColor3xvOES = (PFNGLCOLOR3XVOESPROC)load("glColor3xvOES");
+	glad_glColor4xvOES = (PFNGLCOLOR4XVOESPROC)load("glColor4xvOES");
+	glad_glConvolutionParameterxOES = (PFNGLCONVOLUTIONPARAMETERXOESPROC)load("glConvolutionParameterxOES");
+	glad_glConvolutionParameterxvOES = (PFNGLCONVOLUTIONPARAMETERXVOESPROC)load("glConvolutionParameterxvOES");
+	glad_glEvalCoord1xOES = (PFNGLEVALCOORD1XOESPROC)load("glEvalCoord1xOES");
+	glad_glEvalCoord1xvOES = (PFNGLEVALCOORD1XVOESPROC)load("glEvalCoord1xvOES");
+	glad_glEvalCoord2xOES = (PFNGLEVALCOORD2XOESPROC)load("glEvalCoord2xOES");
+	glad_glEvalCoord2xvOES = (PFNGLEVALCOORD2XVOESPROC)load("glEvalCoord2xvOES");
+	glad_glFeedbackBufferxOES = (PFNGLFEEDBACKBUFFERXOESPROC)load("glFeedbackBufferxOES");
+	glad_glGetConvolutionParameterxvOES = (PFNGLGETCONVOLUTIONPARAMETERXVOESPROC)load("glGetConvolutionParameterxvOES");
+	glad_glGetHistogramParameterxvOES = (PFNGLGETHISTOGRAMPARAMETERXVOESPROC)load("glGetHistogramParameterxvOES");
+	glad_glGetLightxOES = (PFNGLGETLIGHTXOESPROC)load("glGetLightxOES");
+	glad_glGetMapxvOES = (PFNGLGETMAPXVOESPROC)load("glGetMapxvOES");
+	glad_glGetMaterialxOES = (PFNGLGETMATERIALXOESPROC)load("glGetMaterialxOES");
+	glad_glGetPixelMapxv = (PFNGLGETPIXELMAPXVPROC)load("glGetPixelMapxv");
+	glad_glGetTexGenxvOES = (PFNGLGETTEXGENXVOESPROC)load("glGetTexGenxvOES");
+	glad_glGetTexLevelParameterxvOES = (PFNGLGETTEXLEVELPARAMETERXVOESPROC)load("glGetTexLevelParameterxvOES");
+	glad_glIndexxOES = (PFNGLINDEXXOESPROC)load("glIndexxOES");
+	glad_glIndexxvOES = (PFNGLINDEXXVOESPROC)load("glIndexxvOES");
+	glad_glLoadTransposeMatrixxOES = (PFNGLLOADTRANSPOSEMATRIXXOESPROC)load("glLoadTransposeMatrixxOES");
+	glad_glMap1xOES = (PFNGLMAP1XOESPROC)load("glMap1xOES");
+	glad_glMap2xOES = (PFNGLMAP2XOESPROC)load("glMap2xOES");
+	glad_glMapGrid1xOES = (PFNGLMAPGRID1XOESPROC)load("glMapGrid1xOES");
+	glad_glMapGrid2xOES = (PFNGLMAPGRID2XOESPROC)load("glMapGrid2xOES");
+	glad_glMultTransposeMatrixxOES = (PFNGLMULTTRANSPOSEMATRIXXOESPROC)load("glMultTransposeMatrixxOES");
+	glad_glMultiTexCoord1xOES = (PFNGLMULTITEXCOORD1XOESPROC)load("glMultiTexCoord1xOES");
+	glad_glMultiTexCoord1xvOES = (PFNGLMULTITEXCOORD1XVOESPROC)load("glMultiTexCoord1xvOES");
+	glad_glMultiTexCoord2xOES = (PFNGLMULTITEXCOORD2XOESPROC)load("glMultiTexCoord2xOES");
+	glad_glMultiTexCoord2xvOES = (PFNGLMULTITEXCOORD2XVOESPROC)load("glMultiTexCoord2xvOES");
+	glad_glMultiTexCoord3xOES = (PFNGLMULTITEXCOORD3XOESPROC)load("glMultiTexCoord3xOES");
+	glad_glMultiTexCoord3xvOES = (PFNGLMULTITEXCOORD3XVOESPROC)load("glMultiTexCoord3xvOES");
+	glad_glMultiTexCoord4xvOES = (PFNGLMULTITEXCOORD4XVOESPROC)load("glMultiTexCoord4xvOES");
+	glad_glNormal3xvOES = (PFNGLNORMAL3XVOESPROC)load("glNormal3xvOES");
+	glad_glPassThroughxOES = (PFNGLPASSTHROUGHXOESPROC)load("glPassThroughxOES");
+	glad_glPixelMapx = (PFNGLPIXELMAPXPROC)load("glPixelMapx");
+	glad_glPixelStorex = (PFNGLPIXELSTOREXPROC)load("glPixelStorex");
+	glad_glPixelTransferxOES = (PFNGLPIXELTRANSFERXOESPROC)load("glPixelTransferxOES");
+	glad_glPixelZoomxOES = (PFNGLPIXELZOOMXOESPROC)load("glPixelZoomxOES");
+	glad_glPrioritizeTexturesxOES = (PFNGLPRIORITIZETEXTURESXOESPROC)load("glPrioritizeTexturesxOES");
+	glad_glRasterPos2xOES = (PFNGLRASTERPOS2XOESPROC)load("glRasterPos2xOES");
+	glad_glRasterPos2xvOES = (PFNGLRASTERPOS2XVOESPROC)load("glRasterPos2xvOES");
+	glad_glRasterPos3xOES = (PFNGLRASTERPOS3XOESPROC)load("glRasterPos3xOES");
+	glad_glRasterPos3xvOES = (PFNGLRASTERPOS3XVOESPROC)load("glRasterPos3xvOES");
+	glad_glRasterPos4xOES = (PFNGLRASTERPOS4XOESPROC)load("glRasterPos4xOES");
+	glad_glRasterPos4xvOES = (PFNGLRASTERPOS4XVOESPROC)load("glRasterPos4xvOES");
+	glad_glRectxOES = (PFNGLRECTXOESPROC)load("glRectxOES");
+	glad_glRectxvOES = (PFNGLRECTXVOESPROC)load("glRectxvOES");
+	glad_glTexCoord1xOES = (PFNGLTEXCOORD1XOESPROC)load("glTexCoord1xOES");
+	glad_glTexCoord1xvOES = (PFNGLTEXCOORD1XVOESPROC)load("glTexCoord1xvOES");
+	glad_glTexCoord2xOES = (PFNGLTEXCOORD2XOESPROC)load("glTexCoord2xOES");
+	glad_glTexCoord2xvOES = (PFNGLTEXCOORD2XVOESPROC)load("glTexCoord2xvOES");
+	glad_glTexCoord3xOES = (PFNGLTEXCOORD3XOESPROC)load("glTexCoord3xOES");
+	glad_glTexCoord3xvOES = (PFNGLTEXCOORD3XVOESPROC)load("glTexCoord3xvOES");
+	glad_glTexCoord4xOES = (PFNGLTEXCOORD4XOESPROC)load("glTexCoord4xOES");
+	glad_glTexCoord4xvOES = (PFNGLTEXCOORD4XVOESPROC)load("glTexCoord4xvOES");
+	glad_glTexGenxOES = (PFNGLTEXGENXOESPROC)load("glTexGenxOES");
+	glad_glTexGenxvOES = (PFNGLTEXGENXVOESPROC)load("glTexGenxvOES");
+	glad_glVertex2xOES = (PFNGLVERTEX2XOESPROC)load("glVertex2xOES");
+	glad_glVertex2xvOES = (PFNGLVERTEX2XVOESPROC)load("glVertex2xvOES");
+	glad_glVertex3xOES = (PFNGLVERTEX3XOESPROC)load("glVertex3xOES");
+	glad_glVertex3xvOES = (PFNGLVERTEX3XVOESPROC)load("glVertex3xvOES");
+	glad_glVertex4xOES = (PFNGLVERTEX4XOESPROC)load("glVertex4xOES");
+	glad_glVertex4xvOES = (PFNGLVERTEX4XVOESPROC)load("glVertex4xvOES");
+}
+static void load_GL_EXT_framebuffer_multisample(GLADloadproc load) {
+	if(!GLAD_GL_EXT_framebuffer_multisample) return;
+	glad_glRenderbufferStorageMultisampleEXT = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)load("glRenderbufferStorageMultisampleEXT");
+}
+static void load_GL_SGIS_texture4D(GLADloadproc load) {
+	if(!GLAD_GL_SGIS_texture4D) return;
+	glad_glTexImage4DSGIS = (PFNGLTEXIMAGE4DSGISPROC)load("glTexImage4DSGIS");
+	glad_glTexSubImage4DSGIS = (PFNGLTEXSUBIMAGE4DSGISPROC)load("glTexSubImage4DSGIS");
+}
+static void load_GL_EXT_texture3D(GLADloadproc load) {
+	if(!GLAD_GL_EXT_texture3D) return;
+	glad_glTexImage3DEXT = (PFNGLTEXIMAGE3DEXTPROC)load("glTexImage3DEXT");
+	glad_glTexSubImage3DEXT = (PFNGLTEXSUBIMAGE3DEXTPROC)load("glTexSubImage3DEXT");
+}
+static void load_GL_EXT_multisample(GLADloadproc load) {
+	if(!GLAD_GL_EXT_multisample) return;
+	glad_glSampleMaskEXT = (PFNGLSAMPLEMASKEXTPROC)load("glSampleMaskEXT");
+	glad_glSamplePatternEXT = (PFNGLSAMPLEPATTERNEXTPROC)load("glSamplePatternEXT");
+}
+static void load_GL_EXT_secondary_color(GLADloadproc load) {
+	if(!GLAD_GL_EXT_secondary_color) return;
+	glad_glSecondaryColor3bEXT = (PFNGLSECONDARYCOLOR3BEXTPROC)load("glSecondaryColor3bEXT");
+	glad_glSecondaryColor3bvEXT = (PFNGLSECONDARYCOLOR3BVEXTPROC)load("glSecondaryColor3bvEXT");
+	glad_glSecondaryColor3dEXT = (PFNGLSECONDARYCOLOR3DEXTPROC)load("glSecondaryColor3dEXT");
+	glad_glSecondaryColor3dvEXT = (PFNGLSECONDARYCOLOR3DVEXTPROC)load("glSecondaryColor3dvEXT");
+	glad_glSecondaryColor3fEXT = (PFNGLSECONDARYCOLOR3FEXTPROC)load("glSecondaryColor3fEXT");
+	glad_glSecondaryColor3fvEXT = (PFNGLSECONDARYCOLOR3FVEXTPROC)load("glSecondaryColor3fvEXT");
+	glad_glSecondaryColor3iEXT = (PFNGLSECONDARYCOLOR3IEXTPROC)load("glSecondaryColor3iEXT");
+	glad_glSecondaryColor3ivEXT = (PFNGLSECONDARYCOLOR3IVEXTPROC)load("glSecondaryColor3ivEXT");
+	glad_glSecondaryColor3sEXT = (PFNGLSECONDARYCOLOR3SEXTPROC)load("glSecondaryColor3sEXT");
+	glad_glSecondaryColor3svEXT = (PFNGLSECONDARYCOLOR3SVEXTPROC)load("glSecondaryColor3svEXT");
+	glad_glSecondaryColor3ubEXT = (PFNGLSECONDARYCOLOR3UBEXTPROC)load("glSecondaryColor3ubEXT");
+	glad_glSecondaryColor3ubvEXT = (PFNGLSECONDARYCOLOR3UBVEXTPROC)load("glSecondaryColor3ubvEXT");
+	glad_glSecondaryColor3uiEXT = (PFNGLSECONDARYCOLOR3UIEXTPROC)load("glSecondaryColor3uiEXT");
+	glad_glSecondaryColor3uivEXT = (PFNGLSECONDARYCOLOR3UIVEXTPROC)load("glSecondaryColor3uivEXT");
+	glad_glSecondaryColor3usEXT = (PFNGLSECONDARYCOLOR3USEXTPROC)load("glSecondaryColor3usEXT");
+	glad_glSecondaryColor3usvEXT = (PFNGLSECONDARYCOLOR3USVEXTPROC)load("glSecondaryColor3usvEXT");
+	glad_glSecondaryColorPointerEXT = (PFNGLSECONDARYCOLORPOINTEREXTPROC)load("glSecondaryColorPointerEXT");
+}
+static void load_GL_ATI_vertex_array_object(GLADloadproc load) {
+	if(!GLAD_GL_ATI_vertex_array_object) return;
+	glad_glNewObjectBufferATI = (PFNGLNEWOBJECTBUFFERATIPROC)load("glNewObjectBufferATI");
+	glad_glIsObjectBufferATI = (PFNGLISOBJECTBUFFERATIPROC)load("glIsObjectBufferATI");
+	glad_glUpdateObjectBufferATI = (PFNGLUPDATEOBJECTBUFFERATIPROC)load("glUpdateObjectBufferATI");
+	glad_glGetObjectBufferfvATI = (PFNGLGETOBJECTBUFFERFVATIPROC)load("glGetObjectBufferfvATI");
+	glad_glGetObjectBufferivATI = (PFNGLGETOBJECTBUFFERIVATIPROC)load("glGetObjectBufferivATI");
+	glad_glFreeObjectBufferATI = (PFNGLFREEOBJECTBUFFERATIPROC)load("glFreeObjectBufferATI");
+	glad_glArrayObjectATI = (PFNGLARRAYOBJECTATIPROC)load("glArrayObjectATI");
+	glad_glGetArrayObjectfvATI = (PFNGLGETARRAYOBJECTFVATIPROC)load("glGetArrayObjectfvATI");
+	glad_glGetArrayObjectivATI = (PFNGLGETARRAYOBJECTIVATIPROC)load("glGetArrayObjectivATI");
+	glad_glVariantArrayObjectATI = (PFNGLVARIANTARRAYOBJECTATIPROC)load("glVariantArrayObjectATI");
+	glad_glGetVariantArrayObjectfvATI = (PFNGLGETVARIANTARRAYOBJECTFVATIPROC)load("glGetVariantArrayObjectfvATI");
+	glad_glGetVariantArrayObjectivATI = (PFNGLGETVARIANTARRAYOBJECTIVATIPROC)load("glGetVariantArrayObjectivATI");
+}
+static void load_GL_ARB_sparse_texture(GLADloadproc load) {
+	if(!GLAD_GL_ARB_sparse_texture) return;
+	glad_glTexPageCommitmentARB = (PFNGLTEXPAGECOMMITMENTARBPROC)load("glTexPageCommitmentARB");
+}
+static void load_GL_EXT_draw_range_elements(GLADloadproc load) {
+	if(!GLAD_GL_EXT_draw_range_elements) return;
+	glad_glDrawRangeElementsEXT = (PFNGLDRAWRANGEELEMENTSEXTPROC)load("glDrawRangeElementsEXT");
+}
+static void find_extensionsGL(void) {
+	GLAD_GL_SGIX_pixel_tiles = has_ext("GL_SGIX_pixel_tiles");
+	GLAD_GL_NV_point_sprite = has_ext("GL_NV_point_sprite");
+	GLAD_GL_APPLE_element_array = has_ext("GL_APPLE_element_array");
+	GLAD_GL_AMD_multi_draw_indirect = has_ext("GL_AMD_multi_draw_indirect");
+	GLAD_GL_EXT_blend_subtract = has_ext("GL_EXT_blend_subtract");
+	GLAD_GL_SGIX_tag_sample_buffer = has_ext("GL_SGIX_tag_sample_buffer");
+	GLAD_GL_IBM_texture_mirrored_repeat = has_ext("GL_IBM_texture_mirrored_repeat");
+	GLAD_GL_APPLE_transform_hint = has_ext("GL_APPLE_transform_hint");
+	GLAD_GL_ATI_separate_stencil = has_ext("GL_ATI_separate_stencil");
+	GLAD_GL_NV_vertex_program2_option = has_ext("GL_NV_vertex_program2_option");
+	GLAD_GL_EXT_texture_buffer_object = has_ext("GL_EXT_texture_buffer_object");
+	GLAD_GL_ARB_vertex_blend = has_ext("GL_ARB_vertex_blend");
+	GLAD_GL_NV_vertex_program2 = has_ext("GL_NV_vertex_program2");
+	GLAD_GL_ARB_program_interface_query = has_ext("GL_ARB_program_interface_query");
+	GLAD_GL_EXT_misc_attribute = has_ext("GL_EXT_misc_attribute");
+	GLAD_GL_NV_multisample_coverage = has_ext("GL_NV_multisample_coverage");
+	GLAD_GL_ARB_shading_language_packing = has_ext("GL_ARB_shading_language_packing");
+	GLAD_GL_EXT_texture_cube_map = has_ext("GL_EXT_texture_cube_map");
+	GLAD_GL_ARB_texture_stencil8 = has_ext("GL_ARB_texture_stencil8");
+	GLAD_GL_EXT_index_func = has_ext("GL_EXT_index_func");
+	GLAD_GL_OES_compressed_paletted_texture = has_ext("GL_OES_compressed_paletted_texture");
+	GLAD_GL_NV_depth_clamp = has_ext("GL_NV_depth_clamp");
+	GLAD_GL_NV_shader_buffer_load = has_ext("GL_NV_shader_buffer_load");
+	GLAD_GL_EXT_color_subtable = has_ext("GL_EXT_color_subtable");
+	GLAD_GL_SUNX_constant_data = has_ext("GL_SUNX_constant_data");
+	GLAD_GL_EXT_multi_draw_arrays = has_ext("GL_EXT_multi_draw_arrays");
+	GLAD_GL_ARB_shader_atomic_counters = has_ext("GL_ARB_shader_atomic_counters");
+	GLAD_GL_ARB_arrays_of_arrays = has_ext("GL_ARB_arrays_of_arrays");
+	GLAD_GL_NV_conditional_render = has_ext("GL_NV_conditional_render");
+	GLAD_GL_EXT_texture_env_combine = has_ext("GL_EXT_texture_env_combine");
+	GLAD_GL_NV_fog_distance = has_ext("GL_NV_fog_distance");
+	GLAD_GL_SGIX_async_histogram = has_ext("GL_SGIX_async_histogram");
+	GLAD_GL_MESA_resize_buffers = has_ext("GL_MESA_resize_buffers");
+	GLAD_GL_NV_light_max_exponent = has_ext("GL_NV_light_max_exponent");
+	GLAD_GL_NV_texture_env_combine4 = has_ext("GL_NV_texture_env_combine4");
+	GLAD_GL_ARB_texture_view = has_ext("GL_ARB_texture_view");
+	GLAD_GL_ARB_texture_env_combine = has_ext("GL_ARB_texture_env_combine");
+	GLAD_GL_ARB_map_buffer_range = has_ext("GL_ARB_map_buffer_range");
+	GLAD_GL_EXT_convolution = has_ext("GL_EXT_convolution");
+	GLAD_GL_NV_compute_program5 = has_ext("GL_NV_compute_program5");
+	GLAD_GL_NV_vertex_attrib_integer_64bit = has_ext("GL_NV_vertex_attrib_integer_64bit");
+	GLAD_GL_EXT_paletted_texture = has_ext("GL_EXT_paletted_texture");
+	GLAD_GL_ARB_texture_buffer_object = has_ext("GL_ARB_texture_buffer_object");
+	GLAD_GL_ATI_pn_triangles = has_ext("GL_ATI_pn_triangles");
+	GLAD_GL_SGIX_resample = has_ext("GL_SGIX_resample");
+	GLAD_GL_SGIX_flush_raster = has_ext("GL_SGIX_flush_raster");
+	GLAD_GL_EXT_light_texture = has_ext("GL_EXT_light_texture");
+	GLAD_GL_ARB_point_sprite = has_ext("GL_ARB_point_sprite");
+	GLAD_GL_ARB_half_float_pixel = has_ext("GL_ARB_half_float_pixel");
+	GLAD_GL_NV_tessellation_program5 = has_ext("GL_NV_tessellation_program5");
+	GLAD_GL_REND_screen_coordinates = has_ext("GL_REND_screen_coordinates");
+	GLAD_GL_EXT_shared_texture_palette = has_ext("GL_EXT_shared_texture_palette");
+	GLAD_GL_EXT_packed_float = has_ext("GL_EXT_packed_float");
+	GLAD_GL_OML_subsample = has_ext("GL_OML_subsample");
+	GLAD_GL_SGIX_vertex_preclip = has_ext("GL_SGIX_vertex_preclip");
+	GLAD_GL_SGIX_texture_scale_bias = has_ext("GL_SGIX_texture_scale_bias");
+	GLAD_GL_AMD_draw_buffers_blend = has_ext("GL_AMD_draw_buffers_blend");
+	GLAD_GL_MESA_window_pos = has_ext("GL_MESA_window_pos");
+	GLAD_GL_EXT_texture_array = has_ext("GL_EXT_texture_array");
+	GLAD_GL_NV_texture_barrier = has_ext("GL_NV_texture_barrier");
+	GLAD_GL_ARB_texture_query_levels = has_ext("GL_ARB_texture_query_levels");
+	GLAD_GL_NV_texgen_emboss = has_ext("GL_NV_texgen_emboss");
+	GLAD_GL_EXT_texture_swizzle = has_ext("GL_EXT_texture_swizzle");
+	GLAD_GL_ARB_texture_rg = has_ext("GL_ARB_texture_rg");
+	GLAD_GL_ARB_vertex_type_2_10_10_10_rev = has_ext("GL_ARB_vertex_type_2_10_10_10_rev");
+	GLAD_GL_ARB_fragment_shader = has_ext("GL_ARB_fragment_shader");
+	GLAD_GL_3DFX_tbuffer = has_ext("GL_3DFX_tbuffer");
+	GLAD_GL_GREMEDY_frame_terminator = has_ext("GL_GREMEDY_frame_terminator");
+	GLAD_GL_ARB_blend_func_extended = has_ext("GL_ARB_blend_func_extended");
+	GLAD_GL_EXT_separate_shader_objects = has_ext("GL_EXT_separate_shader_objects");
+	GLAD_GL_NV_texture_multisample = has_ext("GL_NV_texture_multisample");
+	GLAD_GL_ARB_shader_objects = has_ext("GL_ARB_shader_objects");
+	GLAD_GL_ARB_framebuffer_object = has_ext("GL_ARB_framebuffer_object");
+	GLAD_GL_ATI_envmap_bumpmap = has_ext("GL_ATI_envmap_bumpmap");
+	GLAD_GL_ARB_robust_buffer_access_behavior = has_ext("GL_ARB_robust_buffer_access_behavior");
+	GLAD_GL_ARB_shader_stencil_export = has_ext("GL_ARB_shader_stencil_export");
+	GLAD_GL_NV_texture_rectangle = has_ext("GL_NV_texture_rectangle");
+	GLAD_GL_ARB_enhanced_layouts = has_ext("GL_ARB_enhanced_layouts");
+	GLAD_GL_ARB_texture_rectangle = has_ext("GL_ARB_texture_rectangle");
+	GLAD_GL_SGI_texture_color_table = has_ext("GL_SGI_texture_color_table");
+	GLAD_GL_ATI_map_object_buffer = has_ext("GL_ATI_map_object_buffer");
+	GLAD_GL_ARB_robustness = has_ext("GL_ARB_robustness");
+	GLAD_GL_NV_pixel_data_range = has_ext("GL_NV_pixel_data_range");
+	GLAD_GL_EXT_framebuffer_blit = has_ext("GL_EXT_framebuffer_blit");
+	GLAD_GL_ARB_gpu_shader_fp64 = has_ext("GL_ARB_gpu_shader_fp64");
+	GLAD_GL_SGIX_depth_texture = has_ext("GL_SGIX_depth_texture");
+	GLAD_GL_EXT_vertex_weighting = has_ext("GL_EXT_vertex_weighting");
+	GLAD_GL_GREMEDY_string_marker = has_ext("GL_GREMEDY_string_marker");
+	GLAD_GL_ARB_texture_compression_bptc = has_ext("GL_ARB_texture_compression_bptc");
+	GLAD_GL_EXT_subtexture = has_ext("GL_EXT_subtexture");
+	GLAD_GL_EXT_pixel_transform_color_table = has_ext("GL_EXT_pixel_transform_color_table");
+	GLAD_GL_EXT_texture_compression_rgtc = has_ext("GL_EXT_texture_compression_rgtc");
+	GLAD_GL_SGIX_depth_pass_instrument = has_ext("GL_SGIX_depth_pass_instrument");
+	GLAD_GL_ARB_shader_precision = has_ext("GL_ARB_shader_precision");
+	GLAD_GL_NV_evaluators = has_ext("GL_NV_evaluators");
+	GLAD_GL_SGIS_texture_filter4 = has_ext("GL_SGIS_texture_filter4");
+	GLAD_GL_AMD_performance_monitor = has_ext("GL_AMD_performance_monitor");
+	GLAD_GL_NV_geometry_shader4 = has_ext("GL_NV_geometry_shader4");
+	GLAD_GL_EXT_stencil_clear_tag = has_ext("GL_EXT_stencil_clear_tag");
+	GLAD_GL_NV_vertex_program1_1 = has_ext("GL_NV_vertex_program1_1");
+	GLAD_GL_NV_present_video = has_ext("GL_NV_present_video");
+	GLAD_GL_ARB_texture_compression_rgtc = has_ext("GL_ARB_texture_compression_rgtc");
+	GLAD_GL_HP_convolution_border_modes = has_ext("GL_HP_convolution_border_modes");
+	GLAD_GL_EXT_gpu_program_parameters = has_ext("GL_EXT_gpu_program_parameters");
+	GLAD_GL_EXT_shader_integer_mix = has_ext("GL_EXT_shader_integer_mix");
+	GLAD_GL_ARB_stencil_texturing = has_ext("GL_ARB_stencil_texturing");
+	GLAD_GL_SGIX_fog_offset = has_ext("GL_SGIX_fog_offset");
+	GLAD_GL_ARB_draw_elements_base_vertex = has_ext("GL_ARB_draw_elements_base_vertex");
+	GLAD_GL_INGR_interlace_read = has_ext("GL_INGR_interlace_read");
+	GLAD_GL_NV_transform_feedback = has_ext("GL_NV_transform_feedback");
+	GLAD_GL_NV_fragment_program = has_ext("GL_NV_fragment_program");
+	GLAD_GL_AMD_stencil_operation_extended = has_ext("GL_AMD_stencil_operation_extended");
+	GLAD_GL_ARB_seamless_cubemap_per_texture = has_ext("GL_ARB_seamless_cubemap_per_texture");
+	GLAD_GL_ARB_instanced_arrays = has_ext("GL_ARB_instanced_arrays");
+	GLAD_GL_EXT_polygon_offset = has_ext("GL_EXT_polygon_offset");
+	GLAD_GL_NV_vertex_array_range2 = has_ext("GL_NV_vertex_array_range2");
+	GLAD_GL_AMD_sparse_texture = has_ext("GL_AMD_sparse_texture");
+	GLAD_GL_NV_fence = has_ext("GL_NV_fence");
+	GLAD_GL_ARB_texture_buffer_range = has_ext("GL_ARB_texture_buffer_range");
+	GLAD_GL_SUN_mesh_array = has_ext("GL_SUN_mesh_array");
+	GLAD_GL_ARB_vertex_attrib_binding = has_ext("GL_ARB_vertex_attrib_binding");
+	GLAD_GL_ARB_framebuffer_no_attachments = has_ext("GL_ARB_framebuffer_no_attachments");
+	GLAD_GL_ARB_cl_event = has_ext("GL_ARB_cl_event");
+	GLAD_GL_NV_packed_depth_stencil = has_ext("GL_NV_packed_depth_stencil");
+	GLAD_GL_OES_single_precision = has_ext("GL_OES_single_precision");
+	GLAD_GL_NV_primitive_restart = has_ext("GL_NV_primitive_restart");
+	GLAD_GL_SUN_global_alpha = has_ext("GL_SUN_global_alpha");
+	GLAD_GL_EXT_texture_object = has_ext("GL_EXT_texture_object");
+	GLAD_GL_AMD_name_gen_delete = has_ext("GL_AMD_name_gen_delete");
+	GLAD_GL_NV_texture_compression_vtc = has_ext("GL_NV_texture_compression_vtc");
+	GLAD_GL_SGIX_ycrcb_subsample = has_ext("GL_SGIX_ycrcb_subsample");
+	GLAD_GL_NV_texture_shader3 = has_ext("GL_NV_texture_shader3");
+	GLAD_GL_NV_texture_shader2 = has_ext("GL_NV_texture_shader2");
+	GLAD_GL_EXT_texture = has_ext("GL_EXT_texture");
+	GLAD_GL_ARB_buffer_storage = has_ext("GL_ARB_buffer_storage");
+	GLAD_GL_AMD_shader_atomic_counter_ops = has_ext("GL_AMD_shader_atomic_counter_ops");
+	GLAD_GL_APPLE_vertex_program_evaluators = has_ext("GL_APPLE_vertex_program_evaluators");
+	GLAD_GL_ARB_multi_bind = has_ext("GL_ARB_multi_bind");
+	GLAD_GL_ARB_explicit_uniform_location = has_ext("GL_ARB_explicit_uniform_location");
+	GLAD_GL_ARB_depth_buffer_float = has_ext("GL_ARB_depth_buffer_float");
+	GLAD_GL_SGIX_shadow_ambient = has_ext("GL_SGIX_shadow_ambient");
+	GLAD_GL_ARB_texture_cube_map = has_ext("GL_ARB_texture_cube_map");
+	GLAD_GL_AMD_vertex_shader_viewport_index = has_ext("GL_AMD_vertex_shader_viewport_index");
+	GLAD_GL_SGIX_list_priority = has_ext("GL_SGIX_list_priority");
+	GLAD_GL_NV_vertex_buffer_unified_memory = has_ext("GL_NV_vertex_buffer_unified_memory");
+	GLAD_GL_EXT_texture_env_dot3 = has_ext("GL_EXT_texture_env_dot3");
+	GLAD_GL_ATI_texture_env_combine3 = has_ext("GL_ATI_texture_env_combine3");
+	GLAD_GL_ARB_map_buffer_alignment = has_ext("GL_ARB_map_buffer_alignment");
+	GLAD_GL_NV_blend_equation_advanced = has_ext("GL_NV_blend_equation_advanced");
+	GLAD_GL_SGIS_sharpen_texture = has_ext("GL_SGIS_sharpen_texture");
+	GLAD_GL_ARB_vertex_program = has_ext("GL_ARB_vertex_program");
+	GLAD_GL_ARB_texture_rgb10_a2ui = has_ext("GL_ARB_texture_rgb10_a2ui");
+	GLAD_GL_OML_interlace = has_ext("GL_OML_interlace");
+	GLAD_GL_ATI_pixel_format_float = has_ext("GL_ATI_pixel_format_float");
+	GLAD_GL_ARB_vertex_buffer_object = has_ext("GL_ARB_vertex_buffer_object");
+	GLAD_GL_EXT_shadow_funcs = has_ext("GL_EXT_shadow_funcs");
+	GLAD_GL_ATI_text_fragment_shader = has_ext("GL_ATI_text_fragment_shader");
+	GLAD_GL_NV_vertex_array_range = has_ext("GL_NV_vertex_array_range");
+	GLAD_GL_SGIX_fragment_lighting = has_ext("GL_SGIX_fragment_lighting");
+	GLAD_GL_NV_texture_expand_normal = has_ext("GL_NV_texture_expand_normal");
+	GLAD_GL_NV_framebuffer_multisample_coverage = has_ext("GL_NV_framebuffer_multisample_coverage");
+	GLAD_GL_EXT_timer_query = has_ext("GL_EXT_timer_query");
+	GLAD_GL_EXT_vertex_array_bgra = has_ext("GL_EXT_vertex_array_bgra");
+	GLAD_GL_NV_bindless_texture = has_ext("GL_NV_bindless_texture");
+	GLAD_GL_KHR_debug = has_ext("GL_KHR_debug");
+	GLAD_GL_SGIS_texture_border_clamp = has_ext("GL_SGIS_texture_border_clamp");
+	GLAD_GL_ATI_vertex_attrib_array_object = has_ext("GL_ATI_vertex_attrib_array_object");
+	GLAD_GL_SGIX_clipmap = has_ext("GL_SGIX_clipmap");
+	GLAD_GL_EXT_geometry_shader4 = has_ext("GL_EXT_geometry_shader4");
+	GLAD_GL_MESA_ycbcr_texture = has_ext("GL_MESA_ycbcr_texture");
+	GLAD_GL_MESAX_texture_stack = has_ext("GL_MESAX_texture_stack");
+	GLAD_GL_AMD_seamless_cubemap_per_texture = has_ext("GL_AMD_seamless_cubemap_per_texture");
+	GLAD_GL_EXT_bindable_uniform = has_ext("GL_EXT_bindable_uniform");
+	GLAD_GL_KHR_texture_compression_astc_hdr = has_ext("GL_KHR_texture_compression_astc_hdr");
+	GLAD_GL_ARB_fragment_program_shadow = has_ext("GL_ARB_fragment_program_shadow");
+	GLAD_GL_ATI_element_array = has_ext("GL_ATI_element_array");
+	GLAD_GL_AMD_texture_texture4 = has_ext("GL_AMD_texture_texture4");
+	GLAD_GL_SGIX_reference_plane = has_ext("GL_SGIX_reference_plane");
+	GLAD_GL_EXT_stencil_two_side = has_ext("GL_EXT_stencil_two_side");
+	GLAD_GL_SGIX_texture_lod_bias = has_ext("GL_SGIX_texture_lod_bias");
+	GLAD_GL_NV_explicit_multisample = has_ext("GL_NV_explicit_multisample");
+	GLAD_GL_IBM_static_data = has_ext("GL_IBM_static_data");
+	GLAD_GL_EXT_clip_volume_hint = has_ext("GL_EXT_clip_volume_hint");
+	GLAD_GL_EXT_texture_perturb_normal = has_ext("GL_EXT_texture_perturb_normal");
+	GLAD_GL_NV_fragment_program2 = has_ext("GL_NV_fragment_program2");
+	GLAD_GL_NV_fragment_program4 = has_ext("GL_NV_fragment_program4");
+	GLAD_GL_EXT_point_parameters = has_ext("GL_EXT_point_parameters");
+	GLAD_GL_PGI_misc_hints = has_ext("GL_PGI_misc_hints");
+	GLAD_GL_SGIX_subsample = has_ext("GL_SGIX_subsample");
+	GLAD_GL_AMD_shader_stencil_export = has_ext("GL_AMD_shader_stencil_export");
+	GLAD_GL_ARB_shader_texture_lod = has_ext("GL_ARB_shader_texture_lod");
+	GLAD_GL_ARB_vertex_shader = has_ext("GL_ARB_vertex_shader");
+	GLAD_GL_ARB_depth_clamp = has_ext("GL_ARB_depth_clamp");
+	GLAD_GL_SGIS_texture_select = has_ext("GL_SGIS_texture_select");
+	GLAD_GL_NV_texture_shader = has_ext("GL_NV_texture_shader");
+	GLAD_GL_ARB_tessellation_shader = has_ext("GL_ARB_tessellation_shader");
+	GLAD_GL_EXT_draw_buffers2 = has_ext("GL_EXT_draw_buffers2");
+	GLAD_GL_ARB_vertex_attrib_64bit = has_ext("GL_ARB_vertex_attrib_64bit");
+	GLAD_GL_WIN_specular_fog = has_ext("GL_WIN_specular_fog");
+	GLAD_GL_AMD_interleaved_elements = has_ext("GL_AMD_interleaved_elements");
+	GLAD_GL_ARB_fragment_program = has_ext("GL_ARB_fragment_program");
+	GLAD_GL_OML_resample = has_ext("GL_OML_resample");
+	GLAD_GL_APPLE_ycbcr_422 = has_ext("GL_APPLE_ycbcr_422");
+	GLAD_GL_SGIX_texture_add_env = has_ext("GL_SGIX_texture_add_env");
+	GLAD_GL_ARB_shadow_ambient = has_ext("GL_ARB_shadow_ambient");
+	GLAD_GL_ARB_texture_storage = has_ext("GL_ARB_texture_storage");
+	GLAD_GL_EXT_pixel_buffer_object = has_ext("GL_EXT_pixel_buffer_object");
+	GLAD_GL_ARB_copy_image = has_ext("GL_ARB_copy_image");
+	GLAD_GL_SGIS_pixel_texture = has_ext("GL_SGIS_pixel_texture");
+	GLAD_GL_SGIS_generate_mipmap = has_ext("GL_SGIS_generate_mipmap");
+	GLAD_GL_SGIX_instruments = has_ext("GL_SGIX_instruments");
+	GLAD_GL_HP_texture_lighting = has_ext("GL_HP_texture_lighting");
+	GLAD_GL_ARB_shader_storage_buffer_object = has_ext("GL_ARB_shader_storage_buffer_object");
+	GLAD_GL_EXT_blend_minmax = has_ext("GL_EXT_blend_minmax");
+	GLAD_GL_MESA_pack_invert = has_ext("GL_MESA_pack_invert");
+	GLAD_GL_ARB_base_instance = has_ext("GL_ARB_base_instance");
+	GLAD_GL_SGIX_convolution_accuracy = has_ext("GL_SGIX_convolution_accuracy");
+	GLAD_GL_PGI_vertex_hints = has_ext("GL_PGI_vertex_hints");
+	GLAD_GL_EXT_texture_integer = has_ext("GL_EXT_texture_integer");
+	GLAD_GL_ARB_texture_multisample = has_ext("GL_ARB_texture_multisample");
+	GLAD_GL_S3_s3tc = has_ext("GL_S3_s3tc");
+	GLAD_GL_ARB_query_buffer_object = has_ext("GL_ARB_query_buffer_object");
+	GLAD_GL_AMD_vertex_shader_tessellator = has_ext("GL_AMD_vertex_shader_tessellator");
+	GLAD_GL_ARB_invalidate_subdata = has_ext("GL_ARB_invalidate_subdata");
+	GLAD_GL_EXT_index_material = has_ext("GL_EXT_index_material");
+	GLAD_GL_NV_blend_equation_advanced_coherent = has_ext("GL_NV_blend_equation_advanced_coherent");
+	GLAD_GL_INTEL_parallel_arrays = has_ext("GL_INTEL_parallel_arrays");
+	GLAD_GL_ATI_draw_buffers = has_ext("GL_ATI_draw_buffers");
+	GLAD_GL_EXT_cmyka = has_ext("GL_EXT_cmyka");
+	GLAD_GL_SGIX_pixel_texture = has_ext("GL_SGIX_pixel_texture");
+	GLAD_GL_APPLE_specular_vector = has_ext("GL_APPLE_specular_vector");
+	GLAD_GL_ARB_compatibility = has_ext("GL_ARB_compatibility");
+	GLAD_GL_ARB_timer_query = has_ext("GL_ARB_timer_query");
+	GLAD_GL_SGIX_interlace = has_ext("GL_SGIX_interlace");
+	GLAD_GL_NV_parameter_buffer_object = has_ext("GL_NV_parameter_buffer_object");
+	GLAD_GL_AMD_shader_trinary_minmax = has_ext("GL_AMD_shader_trinary_minmax");
+	GLAD_GL_EXT_rescale_normal = has_ext("GL_EXT_rescale_normal");
+	GLAD_GL_ARB_pixel_buffer_object = has_ext("GL_ARB_pixel_buffer_object");
+	GLAD_GL_ARB_uniform_buffer_object = has_ext("GL_ARB_uniform_buffer_object");
+	GLAD_GL_ARB_vertex_type_10f_11f_11f_rev = has_ext("GL_ARB_vertex_type_10f_11f_11f_rev");
+	GLAD_GL_ARB_texture_swizzle = has_ext("GL_ARB_texture_swizzle");
+	GLAD_GL_NV_transform_feedback2 = has_ext("GL_NV_transform_feedback2");
+	GLAD_GL_SGIX_async_pixel = has_ext("GL_SGIX_async_pixel");
+	GLAD_GL_NV_fragment_program_option = has_ext("GL_NV_fragment_program_option");
+	GLAD_GL_ARB_explicit_attrib_location = has_ext("GL_ARB_explicit_attrib_location");
+	GLAD_GL_EXT_blend_color = has_ext("GL_EXT_blend_color");
+	GLAD_GL_NV_shader_thread_group = has_ext("GL_NV_shader_thread_group");
+	GLAD_GL_EXT_stencil_wrap = has_ext("GL_EXT_stencil_wrap");
+	GLAD_GL_EXT_index_array_formats = has_ext("GL_EXT_index_array_formats");
+	GLAD_GL_EXT_histogram = has_ext("GL_EXT_histogram");
+	GLAD_GL_SGIS_point_parameters = has_ext("GL_SGIS_point_parameters");
+	GLAD_GL_EXT_direct_state_access = has_ext("GL_EXT_direct_state_access");
+	GLAD_GL_AMD_sample_positions = has_ext("GL_AMD_sample_positions");
+	GLAD_GL_NV_vertex_program = has_ext("GL_NV_vertex_program");
+	GLAD_GL_NV_shader_thread_shuffle = has_ext("GL_NV_shader_thread_shuffle");
+	GLAD_GL_NVX_conditional_render = has_ext("GL_NVX_conditional_render");
+	GLAD_GL_EXT_vertex_shader = has_ext("GL_EXT_vertex_shader");
+	GLAD_GL_EXT_blend_func_separate = has_ext("GL_EXT_blend_func_separate");
+	GLAD_GL_APPLE_fence = has_ext("GL_APPLE_fence");
+	GLAD_GL_OES_byte_coordinates = has_ext("GL_OES_byte_coordinates");
+	GLAD_GL_ARB_transpose_matrix = has_ext("GL_ARB_transpose_matrix");
+	GLAD_GL_ARB_provoking_vertex = has_ext("GL_ARB_provoking_vertex");
+	GLAD_GL_EXT_fog_coord = has_ext("GL_EXT_fog_coord");
+	GLAD_GL_EXT_vertex_array = has_ext("GL_EXT_vertex_array");
+	GLAD_GL_ARB_half_float_vertex = has_ext("GL_ARB_half_float_vertex");
+	GLAD_GL_EXT_blend_equation_separate = has_ext("GL_EXT_blend_equation_separate");
+	GLAD_GL_ARB_multi_draw_indirect = has_ext("GL_ARB_multi_draw_indirect");
+	GLAD_GL_NV_copy_image = has_ext("GL_NV_copy_image");
+	GLAD_GL_ARB_fragment_layer_viewport = has_ext("GL_ARB_fragment_layer_viewport");
+	GLAD_GL_ARB_transform_feedback2 = has_ext("GL_ARB_transform_feedback2");
+	GLAD_GL_ARB_transform_feedback3 = has_ext("GL_ARB_transform_feedback3");
+	GLAD_GL_SGIX_ycrcba = has_ext("GL_SGIX_ycrcba");
+	GLAD_GL_EXT_debug_marker = has_ext("GL_EXT_debug_marker");
+	GLAD_GL_EXT_bgra = has_ext("GL_EXT_bgra");
+	GLAD_GL_EXT_texture_compression_s3tc = has_ext("GL_EXT_texture_compression_s3tc");
+	GLAD_GL_EXT_pixel_transform = has_ext("GL_EXT_pixel_transform");
+	GLAD_GL_ARB_conservative_depth = has_ext("GL_ARB_conservative_depth");
+	GLAD_GL_ATI_fragment_shader = has_ext("GL_ATI_fragment_shader");
+	GLAD_GL_ARB_vertex_array_object = has_ext("GL_ARB_vertex_array_object");
+	GLAD_GL_SUN_triangle_list = has_ext("GL_SUN_triangle_list");
+	GLAD_GL_EXT_texture_env_add = has_ext("GL_EXT_texture_env_add");
+	GLAD_GL_EXT_packed_depth_stencil = has_ext("GL_EXT_packed_depth_stencil");
+	GLAD_GL_EXT_texture_mirror_clamp = has_ext("GL_EXT_texture_mirror_clamp");
+	GLAD_GL_NV_multisample_filter_hint = has_ext("GL_NV_multisample_filter_hint");
+	GLAD_GL_APPLE_float_pixels = has_ext("GL_APPLE_float_pixels");
+	GLAD_GL_ARB_transform_feedback_instanced = has_ext("GL_ARB_transform_feedback_instanced");
+	GLAD_GL_SGIX_async = has_ext("GL_SGIX_async");
+	GLAD_GL_EXT_texture_compression_latc = has_ext("GL_EXT_texture_compression_latc");
+	GLAD_GL_NV_shader_atomic_float = has_ext("GL_NV_shader_atomic_float");
+	GLAD_GL_ARB_shading_language_100 = has_ext("GL_ARB_shading_language_100");
+	GLAD_GL_INTEL_performance_query = has_ext("GL_INTEL_performance_query");
+	GLAD_GL_ARB_texture_mirror_clamp_to_edge = has_ext("GL_ARB_texture_mirror_clamp_to_edge");
+	GLAD_GL_NV_gpu_shader5 = has_ext("GL_NV_gpu_shader5");
+	GLAD_GL_ARB_ES2_compatibility = has_ext("GL_ARB_ES2_compatibility");
+	GLAD_GL_ARB_indirect_parameters = has_ext("GL_ARB_indirect_parameters");
+	GLAD_GL_NV_half_float = has_ext("GL_NV_half_float");
+	GLAD_GL_EXT_coordinate_frame = has_ext("GL_EXT_coordinate_frame");
+	GLAD_GL_ATI_texture_mirror_once = has_ext("GL_ATI_texture_mirror_once");
+	GLAD_GL_IBM_rasterpos_clip = has_ext("GL_IBM_rasterpos_clip");
+	GLAD_GL_SGIX_shadow = has_ext("GL_SGIX_shadow");
+	GLAD_GL_NV_deep_texture3D = has_ext("GL_NV_deep_texture3D");
+	GLAD_GL_ARB_shader_draw_parameters = has_ext("GL_ARB_shader_draw_parameters");
+	GLAD_GL_SGIX_calligraphic_fragment = has_ext("GL_SGIX_calligraphic_fragment");
+	GLAD_GL_ARB_shader_bit_encoding = has_ext("GL_ARB_shader_bit_encoding");
+	GLAD_GL_EXT_compiled_vertex_array = has_ext("GL_EXT_compiled_vertex_array");
+	GLAD_GL_NV_depth_buffer_float = has_ext("GL_NV_depth_buffer_float");
+	GLAD_GL_NV_occlusion_query = has_ext("GL_NV_occlusion_query");
+	GLAD_GL_APPLE_flush_buffer_range = has_ext("GL_APPLE_flush_buffer_range");
+	GLAD_GL_ARB_imaging = has_ext("GL_ARB_imaging");
+	GLAD_GL_ARB_draw_buffers_blend = has_ext("GL_ARB_draw_buffers_blend");
+	GLAD_GL_NV_blend_square = has_ext("GL_NV_blend_square");
+	GLAD_GL_AMD_blend_minmax_factor = has_ext("GL_AMD_blend_minmax_factor");
+	GLAD_GL_EXT_texture_sRGB_decode = has_ext("GL_EXT_texture_sRGB_decode");
+	GLAD_GL_ARB_shading_language_420pack = has_ext("GL_ARB_shading_language_420pack");
+	GLAD_GL_ATI_meminfo = has_ext("GL_ATI_meminfo");
+	GLAD_GL_EXT_abgr = has_ext("GL_EXT_abgr");
+	GLAD_GL_AMD_pinned_memory = has_ext("GL_AMD_pinned_memory");
+	GLAD_GL_EXT_texture_snorm = has_ext("GL_EXT_texture_snorm");
+	GLAD_GL_SGIX_texture_coordinate_clamp = has_ext("GL_SGIX_texture_coordinate_clamp");
+	GLAD_GL_ARB_clear_buffer_object = has_ext("GL_ARB_clear_buffer_object");
+	GLAD_GL_ARB_multisample = has_ext("GL_ARB_multisample");
+	GLAD_GL_EXT_debug_label = has_ext("GL_EXT_debug_label");
+	GLAD_GL_ARB_sample_shading = has_ext("GL_ARB_sample_shading");
+	GLAD_GL_INTEL_map_texture = has_ext("GL_INTEL_map_texture");
+	GLAD_GL_ARB_texture_env_crossbar = has_ext("GL_ARB_texture_env_crossbar");
+	GLAD_GL_EXT_422_pixels = has_ext("GL_EXT_422_pixels");
+	GLAD_GL_ARB_compute_shader = has_ext("GL_ARB_compute_shader");
+	GLAD_GL_EXT_blend_logic_op = has_ext("GL_EXT_blend_logic_op");
+	GLAD_GL_IBM_cull_vertex = has_ext("GL_IBM_cull_vertex");
+	GLAD_GL_IBM_vertex_array_lists = has_ext("GL_IBM_vertex_array_lists");
+	GLAD_GL_ARB_color_buffer_float = has_ext("GL_ARB_color_buffer_float");
+	GLAD_GL_ARB_bindless_texture = has_ext("GL_ARB_bindless_texture");
+	GLAD_GL_ARB_window_pos = has_ext("GL_ARB_window_pos");
+	GLAD_GL_ARB_internalformat_query = has_ext("GL_ARB_internalformat_query");
+	GLAD_GL_ARB_shadow = has_ext("GL_ARB_shadow");
+	GLAD_GL_ARB_texture_mirrored_repeat = has_ext("GL_ARB_texture_mirrored_repeat");
+	GLAD_GL_EXT_shader_image_load_store = has_ext("GL_EXT_shader_image_load_store");
+	GLAD_GL_EXT_copy_texture = has_ext("GL_EXT_copy_texture");
+	GLAD_GL_NV_register_combiners2 = has_ext("GL_NV_register_combiners2");
+	GLAD_GL_SGIX_ir_instrument1 = has_ext("GL_SGIX_ir_instrument1");
+	GLAD_GL_NV_draw_texture = has_ext("GL_NV_draw_texture");
+	GLAD_GL_EXT_texture_shared_exponent = has_ext("GL_EXT_texture_shared_exponent");
+	GLAD_GL_EXT_draw_instanced = has_ext("GL_EXT_draw_instanced");
+	GLAD_GL_NV_copy_depth_to_color = has_ext("GL_NV_copy_depth_to_color");
+	GLAD_GL_ARB_viewport_array = has_ext("GL_ARB_viewport_array");
+	GLAD_GL_ARB_separate_shader_objects = has_ext("GL_ARB_separate_shader_objects");
+	GLAD_GL_EXT_depth_bounds_test = has_ext("GL_EXT_depth_bounds_test");
+	GLAD_GL_HP_image_transform = has_ext("GL_HP_image_transform");
+	GLAD_GL_ARB_texture_env_add = has_ext("GL_ARB_texture_env_add");
+	GLAD_GL_NV_video_capture = has_ext("GL_NV_video_capture");
+	GLAD_GL_ARB_sampler_objects = has_ext("GL_ARB_sampler_objects");
+	GLAD_GL_ARB_matrix_palette = has_ext("GL_ARB_matrix_palette");
+	GLAD_GL_SGIS_texture_color_mask = has_ext("GL_SGIS_texture_color_mask");
+	GLAD_GL_EXT_packed_pixels = has_ext("GL_EXT_packed_pixels");
+	GLAD_GL_ARB_texture_compression = has_ext("GL_ARB_texture_compression");
+	GLAD_GL_APPLE_aux_depth_stencil = has_ext("GL_APPLE_aux_depth_stencil");
+	GLAD_GL_ARB_shader_subroutine = has_ext("GL_ARB_shader_subroutine");
+	GLAD_GL_EXT_framebuffer_sRGB = has_ext("GL_EXT_framebuffer_sRGB");
+	GLAD_GL_ARB_texture_storage_multisample = has_ext("GL_ARB_texture_storage_multisample");
+	GLAD_GL_EXT_vertex_attrib_64bit = has_ext("GL_EXT_vertex_attrib_64bit");
+	GLAD_GL_ARB_depth_texture = has_ext("GL_ARB_depth_texture");
+	GLAD_GL_NV_shader_buffer_store = has_ext("GL_NV_shader_buffer_store");
+	GLAD_GL_OES_query_matrix = has_ext("GL_OES_query_matrix");
+	GLAD_GL_APPLE_texture_range = has_ext("GL_APPLE_texture_range");
+	GLAD_GL_NV_shader_storage_buffer_object = has_ext("GL_NV_shader_storage_buffer_object");
+	GLAD_GL_ARB_texture_query_lod = has_ext("GL_ARB_texture_query_lod");
+	GLAD_GL_ARB_copy_buffer = has_ext("GL_ARB_copy_buffer");
+	GLAD_GL_ARB_shader_image_size = has_ext("GL_ARB_shader_image_size");
+	GLAD_GL_NV_shader_atomic_counters = has_ext("GL_NV_shader_atomic_counters");
+	GLAD_GL_APPLE_object_purgeable = has_ext("GL_APPLE_object_purgeable");
+	GLAD_GL_ARB_occlusion_query = has_ext("GL_ARB_occlusion_query");
+	GLAD_GL_INGR_color_clamp = has_ext("GL_INGR_color_clamp");
+	GLAD_GL_SGI_color_table = has_ext("GL_SGI_color_table");
+	GLAD_GL_NV_gpu_program5_mem_extended = has_ext("GL_NV_gpu_program5_mem_extended");
+	GLAD_GL_ARB_texture_cube_map_array = has_ext("GL_ARB_texture_cube_map_array");
+	GLAD_GL_SGIX_scalebias_hint = has_ext("GL_SGIX_scalebias_hint");
+	GLAD_GL_EXT_gpu_shader4 = has_ext("GL_EXT_gpu_shader4");
+	GLAD_GL_NV_geometry_program4 = has_ext("GL_NV_geometry_program4");
+	GLAD_GL_EXT_framebuffer_multisample_blit_scaled = has_ext("GL_EXT_framebuffer_multisample_blit_scaled");
+	GLAD_GL_AMD_debug_output = has_ext("GL_AMD_debug_output");
+	GLAD_GL_ARB_texture_border_clamp = has_ext("GL_ARB_texture_border_clamp");
+	GLAD_GL_ARB_fragment_coord_conventions = has_ext("GL_ARB_fragment_coord_conventions");
+	GLAD_GL_ARB_multitexture = has_ext("GL_ARB_multitexture");
+	GLAD_GL_SGIX_polynomial_ffd = has_ext("GL_SGIX_polynomial_ffd");
+	GLAD_GL_EXT_provoking_vertex = has_ext("GL_EXT_provoking_vertex");
+	GLAD_GL_ARB_point_parameters = has_ext("GL_ARB_point_parameters");
+	GLAD_GL_ARB_shader_image_load_store = has_ext("GL_ARB_shader_image_load_store");
+	GLAD_GL_HP_occlusion_test = has_ext("GL_HP_occlusion_test");
+	GLAD_GL_ARB_ES3_compatibility = has_ext("GL_ARB_ES3_compatibility");
+	GLAD_GL_SGIX_framezoom = has_ext("GL_SGIX_framezoom");
+	GLAD_GL_ARB_texture_buffer_object_rgb32 = has_ext("GL_ARB_texture_buffer_object_rgb32");
+	GLAD_GL_NV_bindless_multi_draw_indirect = has_ext("GL_NV_bindless_multi_draw_indirect");
+	GLAD_GL_SGIX_texture_multi_buffer = has_ext("GL_SGIX_texture_multi_buffer");
+	GLAD_GL_EXT_transform_feedback = has_ext("GL_EXT_transform_feedback");
+	GLAD_GL_KHR_texture_compression_astc_ldr = has_ext("GL_KHR_texture_compression_astc_ldr");
+	GLAD_GL_3DFX_multisample = has_ext("GL_3DFX_multisample");
+	GLAD_GL_INTEL_fragment_shader_ordering = has_ext("GL_INTEL_fragment_shader_ordering");
+	GLAD_GL_ARB_texture_env_dot3 = has_ext("GL_ARB_texture_env_dot3");
+	GLAD_GL_NV_gpu_program4 = has_ext("GL_NV_gpu_program4");
+	GLAD_GL_NV_gpu_program5 = has_ext("GL_NV_gpu_program5");
+	GLAD_GL_NV_float_buffer = has_ext("GL_NV_float_buffer");
+	GLAD_GL_SGIS_texture_edge_clamp = has_ext("GL_SGIS_texture_edge_clamp");
+	GLAD_GL_ARB_framebuffer_sRGB = has_ext("GL_ARB_framebuffer_sRGB");
+	GLAD_GL_SUN_slice_accum = has_ext("GL_SUN_slice_accum");
+	GLAD_GL_EXT_index_texture = has_ext("GL_EXT_index_texture");
+	GLAD_GL_EXT_shader_image_load_formatted = has_ext("GL_EXT_shader_image_load_formatted");
+	GLAD_GL_ARB_geometry_shader4 = has_ext("GL_ARB_geometry_shader4");
+	GLAD_GL_EXT_separate_specular_color = has_ext("GL_EXT_separate_specular_color");
+	GLAD_GL_AMD_depth_clamp_separate = has_ext("GL_AMD_depth_clamp_separate");
+	GLAD_GL_SUN_convolution_border_modes = has_ext("GL_SUN_convolution_border_modes");
+	GLAD_GL_SGIX_sprite = has_ext("GL_SGIX_sprite");
+	GLAD_GL_ARB_get_program_binary = has_ext("GL_ARB_get_program_binary");
+	GLAD_GL_AMD_occlusion_query_event = has_ext("GL_AMD_occlusion_query_event");
+	GLAD_GL_SGIS_multisample = has_ext("GL_SGIS_multisample");
+	GLAD_GL_EXT_framebuffer_object = has_ext("GL_EXT_framebuffer_object");
+	GLAD_GL_ARB_robustness_isolation = has_ext("GL_ARB_robustness_isolation");
+	GLAD_GL_ARB_vertex_array_bgra = has_ext("GL_ARB_vertex_array_bgra");
+	GLAD_GL_APPLE_vertex_array_range = has_ext("GL_APPLE_vertex_array_range");
+	GLAD_GL_AMD_query_buffer_object = has_ext("GL_AMD_query_buffer_object");
+	GLAD_GL_NV_register_combiners = has_ext("GL_NV_register_combiners");
+	GLAD_GL_ARB_draw_buffers = has_ext("GL_ARB_draw_buffers");
+	GLAD_GL_ARB_clear_texture = has_ext("GL_ARB_clear_texture");
+	GLAD_GL_ARB_debug_output = has_ext("GL_ARB_debug_output");
+	GLAD_GL_SGI_color_matrix = has_ext("GL_SGI_color_matrix");
+	GLAD_GL_EXT_cull_vertex = has_ext("GL_EXT_cull_vertex");
+	GLAD_GL_EXT_texture_sRGB = has_ext("GL_EXT_texture_sRGB");
+	GLAD_GL_APPLE_row_bytes = has_ext("GL_APPLE_row_bytes");
+	GLAD_GL_NV_texgen_reflection = has_ext("GL_NV_texgen_reflection");
+	GLAD_GL_IBM_multimode_draw_arrays = has_ext("GL_IBM_multimode_draw_arrays");
+	GLAD_GL_APPLE_vertex_array_object = has_ext("GL_APPLE_vertex_array_object");
+	GLAD_GL_3DFX_texture_compression_FXT1 = has_ext("GL_3DFX_texture_compression_FXT1");
+	GLAD_GL_SGIX_ycrcb = has_ext("GL_SGIX_ycrcb");
+	GLAD_GL_AMD_conservative_depth = has_ext("GL_AMD_conservative_depth");
+	GLAD_GL_ARB_texture_float = has_ext("GL_ARB_texture_float");
+	GLAD_GL_ARB_compressed_texture_pixel_storage = has_ext("GL_ARB_compressed_texture_pixel_storage");
+	GLAD_GL_SGIS_detail_texture = has_ext("GL_SGIS_detail_texture");
+	GLAD_GL_ARB_draw_instanced = has_ext("GL_ARB_draw_instanced");
+	GLAD_GL_OES_read_format = has_ext("GL_OES_read_format");
+	GLAD_GL_ATI_texture_float = has_ext("GL_ATI_texture_float");
+	GLAD_GL_ARB_texture_gather = has_ext("GL_ARB_texture_gather");
+	GLAD_GL_AMD_vertex_shader_layer = has_ext("GL_AMD_vertex_shader_layer");
+	GLAD_GL_ARB_shading_language_include = has_ext("GL_ARB_shading_language_include");
+	GLAD_GL_APPLE_client_storage = has_ext("GL_APPLE_client_storage");
+	GLAD_GL_WIN_phong_shading = has_ext("GL_WIN_phong_shading");
+	GLAD_GL_INGR_blend_func_separate = has_ext("GL_INGR_blend_func_separate");
+	GLAD_GL_NV_path_rendering = has_ext("GL_NV_path_rendering");
+	GLAD_GL_ATI_vertex_streams = has_ext("GL_ATI_vertex_streams");
+	GLAD_GL_ARB_texture_non_power_of_two = has_ext("GL_ARB_texture_non_power_of_two");
+	GLAD_GL_APPLE_rgb_422 = has_ext("GL_APPLE_rgb_422");
+	GLAD_GL_EXT_texture_lod_bias = has_ext("GL_EXT_texture_lod_bias");
+	GLAD_GL_ARB_seamless_cube_map = has_ext("GL_ARB_seamless_cube_map");
+	GLAD_GL_ARB_shader_group_vote = has_ext("GL_ARB_shader_group_vote");
+	GLAD_GL_NV_vdpau_interop = has_ext("GL_NV_vdpau_interop");
+	GLAD_GL_ARB_occlusion_query2 = has_ext("GL_ARB_occlusion_query2");
+	GLAD_GL_ARB_internalformat_query2 = has_ext("GL_ARB_internalformat_query2");
+	GLAD_GL_EXT_texture_filter_anisotropic = has_ext("GL_EXT_texture_filter_anisotropic");
+	GLAD_GL_SUN_vertex = has_ext("GL_SUN_vertex");
+	GLAD_GL_SGIX_igloo_interface = has_ext("GL_SGIX_igloo_interface");
+	GLAD_GL_SGIS_texture_lod = has_ext("GL_SGIS_texture_lod");
+	GLAD_GL_NV_vertex_program3 = has_ext("GL_NV_vertex_program3");
+	GLAD_GL_ARB_draw_indirect = has_ext("GL_ARB_draw_indirect");
+	GLAD_GL_NV_vertex_program4 = has_ext("GL_NV_vertex_program4");
+	GLAD_GL_AMD_transform_feedback3_lines_triangles = has_ext("GL_AMD_transform_feedback3_lines_triangles");
+	GLAD_GL_SGIS_fog_function = has_ext("GL_SGIS_fog_function");
+	GLAD_GL_EXT_x11_sync_object = has_ext("GL_EXT_x11_sync_object");
+	GLAD_GL_ARB_sync = has_ext("GL_ARB_sync");
+	GLAD_GL_ARB_compute_variable_group_size = has_ext("GL_ARB_compute_variable_group_size");
+	GLAD_GL_OES_fixed_point = has_ext("GL_OES_fixed_point");
+	GLAD_GL_EXT_framebuffer_multisample = has_ext("GL_EXT_framebuffer_multisample");
+	GLAD_GL_ARB_gpu_shader5 = has_ext("GL_ARB_gpu_shader5");
+	GLAD_GL_SGIS_texture4D = has_ext("GL_SGIS_texture4D");
+	GLAD_GL_EXT_texture3D = has_ext("GL_EXT_texture3D");
+	GLAD_GL_EXT_multisample = has_ext("GL_EXT_multisample");
+	GLAD_GL_EXT_secondary_color = has_ext("GL_EXT_secondary_color");
+	GLAD_GL_NV_parameter_buffer_object2 = has_ext("GL_NV_parameter_buffer_object2");
+	GLAD_GL_ATI_vertex_array_object = has_ext("GL_ATI_vertex_array_object");
+	GLAD_GL_NVX_gpu_memory_info = has_ext("GL_NVX_gpu_memory_info");
+	GLAD_GL_ARB_sparse_texture = has_ext("GL_ARB_sparse_texture");
+	GLAD_GL_SGIS_point_line_texgen = has_ext("GL_SGIS_point_line_texgen");
+	GLAD_GL_EXT_draw_range_elements = has_ext("GL_EXT_draw_range_elements");
+	GLAD_GL_SGIX_blend_alpha_minmax = has_ext("GL_SGIX_blend_alpha_minmax");
+}
+
+static void find_coreGL(void) {
+	const char *v = (const char *)glGetString(GL_VERSION);
+	int major = v[0] - '0';
+	int minor = v[2] - '0';
+	GLVersion.major = major; GLVersion.minor = minor;
+	GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1;
+	GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1;
+	GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1;
+	GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1;
+	GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1;
+	GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1;
+	GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
+	GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2;
+	GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3;
+	GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3;
+	GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3;
+	GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3;
+	GLAD_GL_VERSION_4_0 = (major == 4 && minor >= 0) || major > 4;
+	GLAD_GL_VERSION_4_1 = (major == 4 && minor >= 1) || major > 4;
+	GLAD_GL_VERSION_4_2 = (major == 4 && minor >= 2) || major > 4;
+	GLAD_GL_VERSION_4_3 = (major == 4 && minor >= 3) || major > 4;
+	GLAD_GL_VERSION_4_4 = (major == 4 && minor >= 4) || major > 4;
+}
+
+void gladLoadGLLoader(GLADloadproc load) {
+	GLVersion.major = 0; GLVersion.minor = 0;
+	glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
+	if(glGetString == NULL) return;
+	find_coreGL();
+	load_GL_VERSION_1_0(load);
+	load_GL_VERSION_1_1(load);
+	load_GL_VERSION_1_2(load);
+	load_GL_VERSION_1_3(load);
+	load_GL_VERSION_1_4(load);
+	load_GL_VERSION_1_5(load);
+	load_GL_VERSION_2_0(load);
+	load_GL_VERSION_2_1(load);
+	load_GL_VERSION_3_0(load);
+	load_GL_VERSION_3_1(load);
+	load_GL_VERSION_3_2(load);
+	load_GL_VERSION_3_3(load);
+	load_GL_VERSION_4_0(load);
+	load_GL_VERSION_4_1(load);
+	load_GL_VERSION_4_2(load);
+	load_GL_VERSION_4_3(load);
+	load_GL_VERSION_4_4(load);
+
+	find_extensionsGL();
+	load_GL_NV_point_sprite(load);
+	load_GL_APPLE_element_array(load);
+	load_GL_AMD_multi_draw_indirect(load);
+	load_GL_SGIX_tag_sample_buffer(load);
+	load_GL_ATI_separate_stencil(load);
+	load_GL_EXT_texture_buffer_object(load);
+	load_GL_ARB_vertex_blend(load);
+	load_GL_ARB_program_interface_query(load);
+	load_GL_EXT_index_func(load);
+	load_GL_NV_shader_buffer_load(load);
+	load_GL_EXT_color_subtable(load);
+	load_GL_SUNX_constant_data(load);
+	load_GL_EXT_multi_draw_arrays(load);
+	load_GL_ARB_shader_atomic_counters(load);
+	load_GL_NV_conditional_render(load);
+	load_GL_MESA_resize_buffers(load);
+	load_GL_ARB_texture_view(load);
+	load_GL_ARB_map_buffer_range(load);
+	load_GL_EXT_convolution(load);
+	load_GL_NV_vertex_attrib_integer_64bit(load);
+	load_GL_EXT_paletted_texture(load);
+	load_GL_ARB_texture_buffer_object(load);
+	load_GL_ATI_pn_triangles(load);
+	load_GL_SGIX_flush_raster(load);
+	load_GL_EXT_light_texture(load);
+	load_GL_AMD_draw_buffers_blend(load);
+	load_GL_MESA_window_pos(load);
+	load_GL_NV_texture_barrier(load);
+	load_GL_ARB_vertex_type_2_10_10_10_rev(load);
+	load_GL_3DFX_tbuffer(load);
+	load_GL_GREMEDY_frame_terminator(load);
+	load_GL_ARB_blend_func_extended(load);
+	load_GL_EXT_separate_shader_objects(load);
+	load_GL_NV_texture_multisample(load);
+	load_GL_ARB_shader_objects(load);
+	load_GL_ARB_framebuffer_object(load);
+	load_GL_ATI_envmap_bumpmap(load);
+	load_GL_ATI_map_object_buffer(load);
+	load_GL_ARB_robustness(load);
+	load_GL_NV_pixel_data_range(load);
+	load_GL_EXT_framebuffer_blit(load);
+	load_GL_ARB_gpu_shader_fp64(load);
+	load_GL_EXT_vertex_weighting(load);
+	load_GL_GREMEDY_string_marker(load);
+	load_GL_EXT_subtexture(load);
+	load_GL_NV_evaluators(load);
+	load_GL_SGIS_texture_filter4(load);
+	load_GL_AMD_performance_monitor(load);
+	load_GL_EXT_stencil_clear_tag(load);
+	load_GL_NV_present_video(load);
+	load_GL_EXT_gpu_program_parameters(load);
+	load_GL_ARB_draw_elements_base_vertex(load);
+	load_GL_NV_transform_feedback(load);
+	load_GL_NV_fragment_program(load);
+	load_GL_AMD_stencil_operation_extended(load);
+	load_GL_ARB_instanced_arrays(load);
+	load_GL_EXT_polygon_offset(load);
+	load_GL_AMD_sparse_texture(load);
+	load_GL_NV_fence(load);
+	load_GL_ARB_texture_buffer_range(load);
+	load_GL_SUN_mesh_array(load);
+	load_GL_ARB_vertex_attrib_binding(load);
+	load_GL_ARB_framebuffer_no_attachments(load);
+	load_GL_ARB_cl_event(load);
+	load_GL_OES_single_precision(load);
+	load_GL_NV_primitive_restart(load);
+	load_GL_SUN_global_alpha(load);
+	load_GL_EXT_texture_object(load);
+	load_GL_AMD_name_gen_delete(load);
+	load_GL_ARB_buffer_storage(load);
+	load_GL_APPLE_vertex_program_evaluators(load);
+	load_GL_ARB_multi_bind(load);
+	load_GL_SGIX_list_priority(load);
+	load_GL_NV_vertex_buffer_unified_memory(load);
+	load_GL_NV_blend_equation_advanced(load);
+	load_GL_SGIS_sharpen_texture(load);
+	load_GL_ARB_vertex_program(load);
+	load_GL_ARB_vertex_buffer_object(load);
+	load_GL_NV_vertex_array_range(load);
+	load_GL_SGIX_fragment_lighting(load);
+	load_GL_NV_framebuffer_multisample_coverage(load);
+	load_GL_EXT_timer_query(load);
+	load_GL_NV_bindless_texture(load);
+	load_GL_KHR_debug(load);
+	load_GL_ATI_vertex_attrib_array_object(load);
+	load_GL_EXT_geometry_shader4(load);
+	load_GL_EXT_bindable_uniform(load);
+	load_GL_ATI_element_array(load);
+	load_GL_SGIX_reference_plane(load);
+	load_GL_EXT_stencil_two_side(load);
+	load_GL_NV_explicit_multisample(load);
+	load_GL_IBM_static_data(load);
+	load_GL_EXT_texture_perturb_normal(load);
+	load_GL_EXT_point_parameters(load);
+	load_GL_PGI_misc_hints(load);
+	load_GL_ARB_vertex_shader(load);
+	load_GL_ARB_tessellation_shader(load);
+	load_GL_EXT_draw_buffers2(load);
+	load_GL_ARB_vertex_attrib_64bit(load);
+	load_GL_AMD_interleaved_elements(load);
+	load_GL_ARB_fragment_program(load);
+	load_GL_ARB_texture_storage(load);
+	load_GL_ARB_copy_image(load);
+	load_GL_SGIS_pixel_texture(load);
+	load_GL_SGIX_instruments(load);
+	load_GL_ARB_shader_storage_buffer_object(load);
+	load_GL_EXT_blend_minmax(load);
+	load_GL_ARB_base_instance(load);
+	load_GL_EXT_texture_integer(load);
+	load_GL_ARB_texture_multisample(load);
+	load_GL_AMD_vertex_shader_tessellator(load);
+	load_GL_ARB_invalidate_subdata(load);
+	load_GL_EXT_index_material(load);
+	load_GL_INTEL_parallel_arrays(load);
+	load_GL_ATI_draw_buffers(load);
+	load_GL_SGIX_pixel_texture(load);
+	load_GL_ARB_timer_query(load);
+	load_GL_NV_parameter_buffer_object(load);
+	load_GL_ARB_uniform_buffer_object(load);
+	load_GL_NV_transform_feedback2(load);
+	load_GL_EXT_blend_color(load);
+	load_GL_EXT_histogram(load);
+	load_GL_SGIS_point_parameters(load);
+	load_GL_EXT_direct_state_access(load);
+	load_GL_AMD_sample_positions(load);
+	load_GL_NV_vertex_program(load);
+	load_GL_NVX_conditional_render(load);
+	load_GL_EXT_vertex_shader(load);
+	load_GL_EXT_blend_func_separate(load);
+	load_GL_APPLE_fence(load);
+	load_GL_OES_byte_coordinates(load);
+	load_GL_ARB_transpose_matrix(load);
+	load_GL_ARB_provoking_vertex(load);
+	load_GL_EXT_fog_coord(load);
+	load_GL_EXT_vertex_array(load);
+	load_GL_EXT_blend_equation_separate(load);
+	load_GL_ARB_multi_draw_indirect(load);
+	load_GL_NV_copy_image(load);
+	load_GL_ARB_transform_feedback2(load);
+	load_GL_ARB_transform_feedback3(load);
+	load_GL_EXT_debug_marker(load);
+	load_GL_EXT_pixel_transform(load);
+	load_GL_ATI_fragment_shader(load);
+	load_GL_ARB_vertex_array_object(load);
+	load_GL_SUN_triangle_list(load);
+	load_GL_ARB_transform_feedback_instanced(load);
+	load_GL_SGIX_async(load);
+	load_GL_INTEL_performance_query(load);
+	load_GL_NV_gpu_shader5(load);
+	load_GL_ARB_ES2_compatibility(load);
+	load_GL_ARB_indirect_parameters(load);
+	load_GL_NV_half_float(load);
+	load_GL_EXT_coordinate_frame(load);
+	load_GL_EXT_compiled_vertex_array(load);
+	load_GL_NV_depth_buffer_float(load);
+	load_GL_NV_occlusion_query(load);
+	load_GL_APPLE_flush_buffer_range(load);
+	load_GL_ARB_imaging(load);
+	load_GL_ARB_draw_buffers_blend(load);
+	load_GL_ARB_clear_buffer_object(load);
+	load_GL_ARB_multisample(load);
+	load_GL_EXT_debug_label(load);
+	load_GL_ARB_sample_shading(load);
+	load_GL_INTEL_map_texture(load);
+	load_GL_ARB_compute_shader(load);
+	load_GL_IBM_vertex_array_lists(load);
+	load_GL_ARB_color_buffer_float(load);
+	load_GL_ARB_bindless_texture(load);
+	load_GL_ARB_window_pos(load);
+	load_GL_ARB_internalformat_query(load);
+	load_GL_EXT_shader_image_load_store(load);
+	load_GL_EXT_copy_texture(load);
+	load_GL_NV_register_combiners2(load);
+	load_GL_NV_draw_texture(load);
+	load_GL_EXT_draw_instanced(load);
+	load_GL_ARB_viewport_array(load);
+	load_GL_ARB_separate_shader_objects(load);
+	load_GL_EXT_depth_bounds_test(load);
+	load_GL_HP_image_transform(load);
+	load_GL_NV_video_capture(load);
+	load_GL_ARB_sampler_objects(load);
+	load_GL_ARB_matrix_palette(load);
+	load_GL_SGIS_texture_color_mask(load);
+	load_GL_ARB_texture_compression(load);
+	load_GL_ARB_shader_subroutine(load);
+	load_GL_ARB_texture_storage_multisample(load);
+	load_GL_EXT_vertex_attrib_64bit(load);
+	load_GL_OES_query_matrix(load);
+	load_GL_APPLE_texture_range(load);
+	load_GL_ARB_copy_buffer(load);
+	load_GL_APPLE_object_purgeable(load);
+	load_GL_ARB_occlusion_query(load);
+	load_GL_SGI_color_table(load);
+	load_GL_EXT_gpu_shader4(load);
+	load_GL_NV_geometry_program4(load);
+	load_GL_AMD_debug_output(load);
+	load_GL_ARB_multitexture(load);
+	load_GL_SGIX_polynomial_ffd(load);
+	load_GL_EXT_provoking_vertex(load);
+	load_GL_ARB_point_parameters(load);
+	load_GL_ARB_shader_image_load_store(load);
+	load_GL_SGIX_framezoom(load);
+	load_GL_NV_bindless_multi_draw_indirect(load);
+	load_GL_EXT_transform_feedback(load);
+	load_GL_NV_gpu_program4(load);
+	load_GL_NV_gpu_program5(load);
+	load_GL_ARB_geometry_shader4(load);
+	load_GL_SGIX_sprite(load);
+	load_GL_ARB_get_program_binary(load);
+	load_GL_AMD_occlusion_query_event(load);
+	load_GL_SGIS_multisample(load);
+	load_GL_EXT_framebuffer_object(load);
+	load_GL_APPLE_vertex_array_range(load);
+	load_GL_NV_register_combiners(load);
+	load_GL_ARB_draw_buffers(load);
+	load_GL_ARB_clear_texture(load);
+	load_GL_ARB_debug_output(load);
+	load_GL_EXT_cull_vertex(load);
+	load_GL_IBM_multimode_draw_arrays(load);
+	load_GL_APPLE_vertex_array_object(load);
+	load_GL_SGIS_detail_texture(load);
+	load_GL_ARB_draw_instanced(load);
+	load_GL_ARB_shading_language_include(load);
+	load_GL_INGR_blend_func_separate(load);
+	load_GL_NV_path_rendering(load);
+	load_GL_ATI_vertex_streams(load);
+	load_GL_NV_vdpau_interop(load);
+	load_GL_ARB_internalformat_query2(load);
+	load_GL_SUN_vertex(load);
+	load_GL_SGIX_igloo_interface(load);
+	load_GL_ARB_draw_indirect(load);
+	load_GL_NV_vertex_program4(load);
+	load_GL_SGIS_fog_function(load);
+	load_GL_EXT_x11_sync_object(load);
+	load_GL_ARB_sync(load);
+	load_GL_ARB_compute_variable_group_size(load);
+	load_GL_OES_fixed_point(load);
+	load_GL_EXT_framebuffer_multisample(load);
+	load_GL_SGIS_texture4D(load);
+	load_GL_EXT_texture3D(load);
+	load_GL_EXT_multisample(load);
+	load_GL_EXT_secondary_color(load);
+	load_GL_ATI_vertex_array_object(load);
+	load_GL_ARB_sparse_texture(load);
+	load_GL_EXT_draw_range_elements(load);
+
+	return;
+}
+

+ 693 - 0
deps/glad/src/glad_glx.c

@@ -0,0 +1,693 @@
+#include <string.h>
+#include <glad/glad_glx.h>
+
+static void* get_proc(const char *namez);
+
+#ifdef _WIN32
+#include <windows.h>
+static HMODULE libGL;
+
+typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);
+PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
+
+static
+int open_gl(void) {
+    libGL = LoadLibraryA("opengl32.dll");
+    if(libGL != NULL) {
+        gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE)GetProcAddress(
+                libGL, "wglGetProcAddress");
+        return gladGetProcAddressPtr != NULL;
+    }
+
+    return 0;
+}
+
+static
+void close_gl(void) {
+    if(libGL != NULL) {
+        FreeLibrary(libGL);
+        libGL = NULL;
+    }
+}
+#else
+#include <dlfcn.h>
+static void* libGL;
+
+#ifndef __APPLE__
+typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);
+PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
+#endif
+
+static
+int open_gl(void) {
+#ifdef __APPLE__
+    static const char *NAMES[] = {
+        "../Frameworks/OpenGL.framework/OpenGL",
+        "/Library/Frameworks/OpenGL.framework/OpenGL",
+        "/System/Library/Frameworks/OpenGL.framework/OpenGL",
+        "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL"
+    };
+#else
+    static const char *NAMES[] = {"libGL.so.1", "libGL.so"};
+#endif
+
+    unsigned int index = 0;
+    for(index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) {
+        libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);
+
+        if(libGL != NULL) {
+#ifdef __APPLE__
+            return 1;
+#else
+            gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,
+                "glXGetProcAddressARB");
+            return gladGetProcAddressPtr != NULL;
+#endif
+        }
+    }
+
+    return 0;
+}
+
+static
+void close_gl() {
+    if(libGL != NULL) {
+        dlclose(libGL);
+        libGL = NULL;
+    }
+}
+#endif
+
+static
+void* get_proc(const char *namez) {
+    void* result = NULL;
+    if(libGL == NULL) return NULL;
+
+#ifndef __APPLE__
+    if(gladGetProcAddressPtr != NULL) {
+        result = gladGetProcAddressPtr(namez);
+    }
+#endif
+    if(result == NULL) {
+#ifdef _WIN32
+        result = (void*)GetProcAddress(libGL, namez);
+#else
+        result = dlsym(libGL, namez);
+#endif
+    }
+
+    return result;
+}
+
+int gladLoadGLX(Display *dpy, int screen) {
+    if(open_gl()) {
+        gladLoadGLXLoader((GLADloadproc)get_proc, dpy, screen);
+        close_gl();
+        return 1;
+    }
+
+    return 0;
+}
+
+static Display *GLADGLXDisplay = 0;
+static int GLADGLXscreen = 0;
+
+static int has_ext(const char *ext) {
+    const char *terminator;
+    const char *loc;
+    const char *extensions;
+
+    if(!GLAD_GLX_VERSION_1_1)
+        return 0;
+
+    extensions = glXQueryExtensionsString(GLADGLXDisplay, GLADGLXscreen);
+
+    if(extensions == NULL || ext == NULL)
+        return 0;
+
+    while(1) {
+        loc = strstr(extensions, ext);
+        if(loc == NULL)
+            break;
+
+        terminator = loc + strlen(ext);
+        if((loc == extensions || *(loc - 1) == ' ') &&
+            (*terminator == ' ' || *terminator == '\0'))
+        {
+            return 1;
+        }
+        extensions = terminator;
+    }
+
+    return 0;
+}
+
+int GLAD_GLX_VERSION_1_0;
+int GLAD_GLX_VERSION_1_1;
+int GLAD_GLX_VERSION_1_2;
+int GLAD_GLX_VERSION_1_3;
+int GLAD_GLX_VERSION_1_4;
+PFNGLXGETSELECTEDEVENTPROC glad_glXGetSelectedEvent;
+PFNGLXQUERYEXTENSIONPROC glad_glXQueryExtension;
+PFNGLXMAKECURRENTPROC glad_glXMakeCurrent;
+PFNGLXSELECTEVENTPROC glad_glXSelectEvent;
+PFNGLXCREATECONTEXTPROC glad_glXCreateContext;
+PFNGLXCREATEGLXPIXMAPPROC glad_glXCreateGLXPixmap;
+PFNGLXQUERYVERSIONPROC glad_glXQueryVersion;
+PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable;
+PFNGLXDESTROYPIXMAPPROC glad_glXDestroyPixmap;
+PFNGLXGETCURRENTCONTEXTPROC glad_glXGetCurrentContext;
+PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress;
+PFNGLXWAITGLPROC glad_glXWaitGL;
+PFNGLXISDIRECTPROC glad_glXIsDirect;
+PFNGLXDESTROYWINDOWPROC glad_glXDestroyWindow;
+PFNGLXCREATEWINDOWPROC glad_glXCreateWindow;
+PFNGLXCOPYCONTEXTPROC glad_glXCopyContext;
+PFNGLXCREATEPBUFFERPROC glad_glXCreatePbuffer;
+PFNGLXSWAPBUFFERSPROC glad_glXSwapBuffers;
+PFNGLXGETCURRENTDISPLAYPROC glad_glXGetCurrentDisplay;
+PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable;
+PFNGLXQUERYCONTEXTPROC glad_glXQueryContext;
+PFNGLXCHOOSEVISUALPROC glad_glXChooseVisual;
+PFNGLXQUERYSERVERSTRINGPROC glad_glXQueryServerString;
+PFNGLXDESTROYCONTEXTPROC glad_glXDestroyContext;
+PFNGLXDESTROYGLXPIXMAPPROC glad_glXDestroyGLXPixmap;
+PFNGLXGETFBCONFIGATTRIBPROC glad_glXGetFBConfigAttrib;
+PFNGLXUSEXFONTPROC glad_glXUseXFont;
+PFNGLXDESTROYPBUFFERPROC glad_glXDestroyPbuffer;
+PFNGLXCHOOSEFBCONFIGPROC glad_glXChooseFBConfig;
+PFNGLXCREATENEWCONTEXTPROC glad_glXCreateNewContext;
+PFNGLXMAKECONTEXTCURRENTPROC glad_glXMakeContextCurrent;
+PFNGLXGETCONFIGPROC glad_glXGetConfig;
+PFNGLXGETFBCONFIGSPROC glad_glXGetFBConfigs;
+PFNGLXCREATEPIXMAPPROC glad_glXCreatePixmap;
+PFNGLXWAITXPROC glad_glXWaitX;
+PFNGLXGETVISUALFROMFBCONFIGPROC glad_glXGetVisualFromFBConfig;
+PFNGLXQUERYDRAWABLEPROC glad_glXQueryDrawable;
+PFNGLXQUERYEXTENSIONSSTRINGPROC glad_glXQueryExtensionsString;
+PFNGLXGETCLIENTSTRINGPROC glad_glXGetClientString;
+int GLAD_GLX_ARB_framebuffer_sRGB;
+int GLAD_GLX_EXT_import_context;
+int GLAD_GLX_NV_multisample_coverage;
+int GLAD_GLX_SGIS_shared_multisample;
+int GLAD_GLX_SGIX_pbuffer;
+int GLAD_GLX_NV_swap_group;
+int GLAD_GLX_ARB_fbconfig_float;
+int GLAD_GLX_SGIX_hyperpipe;
+int GLAD_GLX_ARB_robustness_share_group_isolation;
+int GLAD_GLX_INTEL_swap_event;
+int GLAD_GLX_SGIX_video_resize;
+int GLAD_GLX_EXT_create_context_es2_profile;
+int GLAD_GLX_ARB_robustness_application_isolation;
+int GLAD_GLX_NV_copy_image;
+int GLAD_GLX_OML_sync_control;
+int GLAD_GLX_EXT_framebuffer_sRGB;
+int GLAD_GLX_SGI_make_current_read;
+int GLAD_GLX_SGI_swap_control;
+int GLAD_GLX_EXT_fbconfig_packed_float;
+int GLAD_GLX_EXT_buffer_age;
+int GLAD_GLX_3DFX_multisample;
+int GLAD_GLX_EXT_visual_info;
+int GLAD_GLX_SGI_video_sync;
+int GLAD_GLX_MESA_agp_offset;
+int GLAD_GLX_SGIS_multisample;
+int GLAD_GLX_MESA_set_3dfx_mode;
+int GLAD_GLX_EXT_texture_from_pixmap;
+int GLAD_GLX_NV_video_capture;
+int GLAD_GLX_ARB_multisample;
+int GLAD_GLX_NV_delay_before_swap;
+int GLAD_GLX_SGIX_swap_group;
+int GLAD_GLX_EXT_swap_control;
+int GLAD_GLX_SGIX_video_source;
+int GLAD_GLX_MESA_query_renderer;
+int GLAD_GLX_ARB_create_context;
+int GLAD_GLX_EXT_create_context_es_profile;
+int GLAD_GLX_SGIX_fbconfig;
+int GLAD_GLX_MESA_pixmap_colormap;
+int GLAD_GLX_SGIX_visual_select_group;
+int GLAD_GLX_NV_video_output;
+int GLAD_GLX_SGIS_blended_overlay;
+int GLAD_GLX_SGIX_dmbuffer;
+int GLAD_GLX_ARB_create_context_robustness;
+int GLAD_GLX_SGIX_swap_barrier;
+int GLAD_GLX_EXT_swap_control_tear;
+int GLAD_GLX_MESA_release_buffers;
+int GLAD_GLX_EXT_visual_rating;
+int GLAD_GLX_MESA_copy_sub_buffer;
+int GLAD_GLX_SGI_cushion;
+int GLAD_GLX_NV_float_buffer;
+int GLAD_GLX_OML_swap_method;
+int GLAD_GLX_NV_present_video;
+int GLAD_GLX_SUN_get_transparent_index;
+int GLAD_GLX_AMD_gpu_association;
+int GLAD_GLX_ARB_create_context_profile;
+int GLAD_GLX_ARB_get_proc_address;
+int GLAD_GLX_ARB_vertex_buffer_object;
+PFNGLXGETCURRENTDISPLAYEXTPROC glad_glXGetCurrentDisplayEXT;
+PFNGLXQUERYCONTEXTINFOEXTPROC glad_glXQueryContextInfoEXT;
+PFNGLXGETCONTEXTIDEXTPROC glad_glXGetContextIDEXT;
+PFNGLXIMPORTCONTEXTEXTPROC glad_glXImportContextEXT;
+PFNGLXFREECONTEXTEXTPROC glad_glXFreeContextEXT;
+PFNGLXCREATEGLXPBUFFERSGIXPROC glad_glXCreateGLXPbufferSGIX;
+PFNGLXDESTROYGLXPBUFFERSGIXPROC glad_glXDestroyGLXPbufferSGIX;
+PFNGLXQUERYGLXPBUFFERSGIXPROC glad_glXQueryGLXPbufferSGIX;
+PFNGLXSELECTEVENTSGIXPROC glad_glXSelectEventSGIX;
+PFNGLXGETSELECTEDEVENTSGIXPROC glad_glXGetSelectedEventSGIX;
+PFNGLXJOINSWAPGROUPNVPROC glad_glXJoinSwapGroupNV;
+PFNGLXBINDSWAPBARRIERNVPROC glad_glXBindSwapBarrierNV;
+PFNGLXQUERYSWAPGROUPNVPROC glad_glXQuerySwapGroupNV;
+PFNGLXQUERYMAXSWAPGROUPSNVPROC glad_glXQueryMaxSwapGroupsNV;
+PFNGLXQUERYFRAMECOUNTNVPROC glad_glXQueryFrameCountNV;
+PFNGLXRESETFRAMECOUNTNVPROC glad_glXResetFrameCountNV;
+PFNGLXQUERYHYPERPIPENETWORKSGIXPROC glad_glXQueryHyperpipeNetworkSGIX;
+PFNGLXHYPERPIPECONFIGSGIXPROC glad_glXHyperpipeConfigSGIX;
+PFNGLXQUERYHYPERPIPECONFIGSGIXPROC glad_glXQueryHyperpipeConfigSGIX;
+PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC glad_glXDestroyHyperpipeConfigSGIX;
+PFNGLXBINDHYPERPIPESGIXPROC glad_glXBindHyperpipeSGIX;
+PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC glad_glXQueryHyperpipeBestAttribSGIX;
+PFNGLXHYPERPIPEATTRIBSGIXPROC glad_glXHyperpipeAttribSGIX;
+PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC glad_glXQueryHyperpipeAttribSGIX;
+PFNGLXBINDCHANNELTOWINDOWSGIXPROC glad_glXBindChannelToWindowSGIX;
+PFNGLXCHANNELRECTSGIXPROC glad_glXChannelRectSGIX;
+PFNGLXQUERYCHANNELRECTSGIXPROC glad_glXQueryChannelRectSGIX;
+PFNGLXQUERYCHANNELDELTASSGIXPROC glad_glXQueryChannelDeltasSGIX;
+PFNGLXCHANNELRECTSYNCSGIXPROC glad_glXChannelRectSyncSGIX;
+PFNGLXCOPYIMAGESUBDATANVPROC glad_glXCopyImageSubDataNV;
+PFNGLXGETSYNCVALUESOMLPROC glad_glXGetSyncValuesOML;
+PFNGLXGETMSCRATEOMLPROC glad_glXGetMscRateOML;
+PFNGLXSWAPBUFFERSMSCOMLPROC glad_glXSwapBuffersMscOML;
+PFNGLXWAITFORMSCOMLPROC glad_glXWaitForMscOML;
+PFNGLXWAITFORSBCOMLPROC glad_glXWaitForSbcOML;
+PFNGLXMAKECURRENTREADSGIPROC glad_glXMakeCurrentReadSGI;
+PFNGLXGETCURRENTREADDRAWABLESGIPROC glad_glXGetCurrentReadDrawableSGI;
+PFNGLXSWAPINTERVALSGIPROC glad_glXSwapIntervalSGI;
+PFNGLXGETVIDEOSYNCSGIPROC glad_glXGetVideoSyncSGI;
+PFNGLXWAITVIDEOSYNCSGIPROC glad_glXWaitVideoSyncSGI;
+PFNGLXGETAGPOFFSETMESAPROC glad_glXGetAGPOffsetMESA;
+PFNGLXSET3DFXMODEMESAPROC glad_glXSet3DfxModeMESA;
+PFNGLXBINDTEXIMAGEEXTPROC glad_glXBindTexImageEXT;
+PFNGLXRELEASETEXIMAGEEXTPROC glad_glXReleaseTexImageEXT;
+PFNGLXBINDVIDEOCAPTUREDEVICENVPROC glad_glXBindVideoCaptureDeviceNV;
+PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_glXEnumerateVideoCaptureDevicesNV;
+PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC glad_glXLockVideoCaptureDeviceNV;
+PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC glad_glXQueryVideoCaptureDeviceNV;
+PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC glad_glXReleaseVideoCaptureDeviceNV;
+PFNGLXDELAYBEFORESWAPNVPROC glad_glXDelayBeforeSwapNV;
+PFNGLXJOINSWAPGROUPSGIXPROC glad_glXJoinSwapGroupSGIX;
+PFNGLXSWAPINTERVALEXTPROC glad_glXSwapIntervalEXT;
+#ifdef _VL_H_
+PFNGLXCREATEGLXVIDEOSOURCESGIXPROC glad_glXCreateGLXVideoSourceSGIX;
+PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC glad_glXDestroyGLXVideoSourceSGIX;
+#endif
+PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC glad_glXQueryCurrentRendererIntegerMESA;
+PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC glad_glXQueryCurrentRendererStringMESA;
+PFNGLXQUERYRENDERERINTEGERMESAPROC glad_glXQueryRendererIntegerMESA;
+PFNGLXQUERYRENDERERSTRINGMESAPROC glad_glXQueryRendererStringMESA;
+PFNGLXCREATECONTEXTATTRIBSARBPROC glad_glXCreateContextAttribsARB;
+PFNGLXGETFBCONFIGATTRIBSGIXPROC glad_glXGetFBConfigAttribSGIX;
+PFNGLXCHOOSEFBCONFIGSGIXPROC glad_glXChooseFBConfigSGIX;
+PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC glad_glXCreateGLXPixmapWithConfigSGIX;
+PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC glad_glXCreateContextWithConfigSGIX;
+PFNGLXGETVISUALFROMFBCONFIGSGIXPROC glad_glXGetVisualFromFBConfigSGIX;
+PFNGLXGETFBCONFIGFROMVISUALSGIXPROC glad_glXGetFBConfigFromVisualSGIX;
+PFNGLXCREATEGLXPIXMAPMESAPROC glad_glXCreateGLXPixmapMESA;
+PFNGLXGETVIDEODEVICENVPROC glad_glXGetVideoDeviceNV;
+PFNGLXRELEASEVIDEODEVICENVPROC glad_glXReleaseVideoDeviceNV;
+PFNGLXBINDVIDEOIMAGENVPROC glad_glXBindVideoImageNV;
+PFNGLXRELEASEVIDEOIMAGENVPROC glad_glXReleaseVideoImageNV;
+PFNGLXSENDPBUFFERTOVIDEONVPROC glad_glXSendPbufferToVideoNV;
+PFNGLXGETVIDEOINFONVPROC glad_glXGetVideoInfoNV;
+#ifdef _DM_BUFFER_H_
+PFNGLXASSOCIATEDMPBUFFERSGIXPROC glad_glXAssociateDMPbufferSGIX;
+#endif
+PFNGLXBINDSWAPBARRIERSGIXPROC glad_glXBindSwapBarrierSGIX;
+PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC glad_glXQueryMaxSwapBarriersSGIX;
+PFNGLXRELEASEBUFFERSMESAPROC glad_glXReleaseBuffersMESA;
+PFNGLXCOPYSUBBUFFERMESAPROC glad_glXCopySubBufferMESA;
+PFNGLXCUSHIONSGIPROC glad_glXCushionSGI;
+PFNGLXENUMERATEVIDEODEVICESNVPROC glad_glXEnumerateVideoDevicesNV;
+PFNGLXBINDVIDEODEVICENVPROC glad_glXBindVideoDeviceNV;
+PFNGLXGETTRANSPARENTINDEXSUNPROC glad_glXGetTransparentIndexSUN;
+PFNGLXGETPROCADDRESSARBPROC glad_glXGetProcAddressARB;
+static void load_GLX_VERSION_1_0(GLADloadproc load) {
+	if(!GLAD_GLX_VERSION_1_0) return;
+	glad_glXChooseVisual = (PFNGLXCHOOSEVISUALPROC)load("glXChooseVisual");
+	glad_glXCreateContext = (PFNGLXCREATECONTEXTPROC)load("glXCreateContext");
+	glad_glXDestroyContext = (PFNGLXDESTROYCONTEXTPROC)load("glXDestroyContext");
+	glad_glXMakeCurrent = (PFNGLXMAKECURRENTPROC)load("glXMakeCurrent");
+	glad_glXCopyContext = (PFNGLXCOPYCONTEXTPROC)load("glXCopyContext");
+	glad_glXSwapBuffers = (PFNGLXSWAPBUFFERSPROC)load("glXSwapBuffers");
+	glad_glXCreateGLXPixmap = (PFNGLXCREATEGLXPIXMAPPROC)load("glXCreateGLXPixmap");
+	glad_glXDestroyGLXPixmap = (PFNGLXDESTROYGLXPIXMAPPROC)load("glXDestroyGLXPixmap");
+	glad_glXQueryExtension = (PFNGLXQUERYEXTENSIONPROC)load("glXQueryExtension");
+	glad_glXQueryVersion = (PFNGLXQUERYVERSIONPROC)load("glXQueryVersion");
+	glad_glXIsDirect = (PFNGLXISDIRECTPROC)load("glXIsDirect");
+	glad_glXGetConfig = (PFNGLXGETCONFIGPROC)load("glXGetConfig");
+	glad_glXGetCurrentContext = (PFNGLXGETCURRENTCONTEXTPROC)load("glXGetCurrentContext");
+	glad_glXGetCurrentDrawable = (PFNGLXGETCURRENTDRAWABLEPROC)load("glXGetCurrentDrawable");
+	glad_glXWaitGL = (PFNGLXWAITGLPROC)load("glXWaitGL");
+	glad_glXWaitX = (PFNGLXWAITXPROC)load("glXWaitX");
+	glad_glXUseXFont = (PFNGLXUSEXFONTPROC)load("glXUseXFont");
+}
+static void load_GLX_VERSION_1_1(GLADloadproc load) {
+	if(!GLAD_GLX_VERSION_1_1) return;
+	glad_glXQueryExtensionsString = (PFNGLXQUERYEXTENSIONSSTRINGPROC)load("glXQueryExtensionsString");
+	glad_glXQueryServerString = (PFNGLXQUERYSERVERSTRINGPROC)load("glXQueryServerString");
+	glad_glXGetClientString = (PFNGLXGETCLIENTSTRINGPROC)load("glXGetClientString");
+}
+static void load_GLX_VERSION_1_2(GLADloadproc load) {
+	if(!GLAD_GLX_VERSION_1_2) return;
+	glad_glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC)load("glXGetCurrentDisplay");
+}
+static void load_GLX_VERSION_1_3(GLADloadproc load) {
+	if(!GLAD_GLX_VERSION_1_3) return;
+	glad_glXGetFBConfigs = (PFNGLXGETFBCONFIGSPROC)load("glXGetFBConfigs");
+	glad_glXChooseFBConfig = (PFNGLXCHOOSEFBCONFIGPROC)load("glXChooseFBConfig");
+	glad_glXGetFBConfigAttrib = (PFNGLXGETFBCONFIGATTRIBPROC)load("glXGetFBConfigAttrib");
+	glad_glXGetVisualFromFBConfig = (PFNGLXGETVISUALFROMFBCONFIGPROC)load("glXGetVisualFromFBConfig");
+	glad_glXCreateWindow = (PFNGLXCREATEWINDOWPROC)load("glXCreateWindow");
+	glad_glXDestroyWindow = (PFNGLXDESTROYWINDOWPROC)load("glXDestroyWindow");
+	glad_glXCreatePixmap = (PFNGLXCREATEPIXMAPPROC)load("glXCreatePixmap");
+	glad_glXDestroyPixmap = (PFNGLXDESTROYPIXMAPPROC)load("glXDestroyPixmap");
+	glad_glXCreatePbuffer = (PFNGLXCREATEPBUFFERPROC)load("glXCreatePbuffer");
+	glad_glXDestroyPbuffer = (PFNGLXDESTROYPBUFFERPROC)load("glXDestroyPbuffer");
+	glad_glXQueryDrawable = (PFNGLXQUERYDRAWABLEPROC)load("glXQueryDrawable");
+	glad_glXCreateNewContext = (PFNGLXCREATENEWCONTEXTPROC)load("glXCreateNewContext");
+	glad_glXMakeContextCurrent = (PFNGLXMAKECONTEXTCURRENTPROC)load("glXMakeContextCurrent");
+	glad_glXGetCurrentReadDrawable = (PFNGLXGETCURRENTREADDRAWABLEPROC)load("glXGetCurrentReadDrawable");
+	glad_glXQueryContext = (PFNGLXQUERYCONTEXTPROC)load("glXQueryContext");
+	glad_glXSelectEvent = (PFNGLXSELECTEVENTPROC)load("glXSelectEvent");
+	glad_glXGetSelectedEvent = (PFNGLXGETSELECTEDEVENTPROC)load("glXGetSelectedEvent");
+}
+static void load_GLX_VERSION_1_4(GLADloadproc load) {
+	if(!GLAD_GLX_VERSION_1_4) return;
+	glad_glXGetProcAddress = (PFNGLXGETPROCADDRESSPROC)load("glXGetProcAddress");
+}
+static void load_GLX_EXT_import_context(GLADloadproc load) {
+	if(!GLAD_GLX_EXT_import_context) return;
+	glad_glXGetCurrentDisplayEXT = (PFNGLXGETCURRENTDISPLAYEXTPROC)load("glXGetCurrentDisplayEXT");
+	glad_glXQueryContextInfoEXT = (PFNGLXQUERYCONTEXTINFOEXTPROC)load("glXQueryContextInfoEXT");
+	glad_glXGetContextIDEXT = (PFNGLXGETCONTEXTIDEXTPROC)load("glXGetContextIDEXT");
+	glad_glXImportContextEXT = (PFNGLXIMPORTCONTEXTEXTPROC)load("glXImportContextEXT");
+	glad_glXFreeContextEXT = (PFNGLXFREECONTEXTEXTPROC)load("glXFreeContextEXT");
+}
+static void load_GLX_SGIX_pbuffer(GLADloadproc load) {
+	if(!GLAD_GLX_SGIX_pbuffer) return;
+	glad_glXCreateGLXPbufferSGIX = (PFNGLXCREATEGLXPBUFFERSGIXPROC)load("glXCreateGLXPbufferSGIX");
+	glad_glXDestroyGLXPbufferSGIX = (PFNGLXDESTROYGLXPBUFFERSGIXPROC)load("glXDestroyGLXPbufferSGIX");
+	glad_glXQueryGLXPbufferSGIX = (PFNGLXQUERYGLXPBUFFERSGIXPROC)load("glXQueryGLXPbufferSGIX");
+	glad_glXSelectEventSGIX = (PFNGLXSELECTEVENTSGIXPROC)load("glXSelectEventSGIX");
+	glad_glXGetSelectedEventSGIX = (PFNGLXGETSELECTEDEVENTSGIXPROC)load("glXGetSelectedEventSGIX");
+}
+static void load_GLX_NV_swap_group(GLADloadproc load) {
+	if(!GLAD_GLX_NV_swap_group) return;
+	glad_glXJoinSwapGroupNV = (PFNGLXJOINSWAPGROUPNVPROC)load("glXJoinSwapGroupNV");
+	glad_glXBindSwapBarrierNV = (PFNGLXBINDSWAPBARRIERNVPROC)load("glXBindSwapBarrierNV");
+	glad_glXQuerySwapGroupNV = (PFNGLXQUERYSWAPGROUPNVPROC)load("glXQuerySwapGroupNV");
+	glad_glXQueryMaxSwapGroupsNV = (PFNGLXQUERYMAXSWAPGROUPSNVPROC)load("glXQueryMaxSwapGroupsNV");
+	glad_glXQueryFrameCountNV = (PFNGLXQUERYFRAMECOUNTNVPROC)load("glXQueryFrameCountNV");
+	glad_glXResetFrameCountNV = (PFNGLXRESETFRAMECOUNTNVPROC)load("glXResetFrameCountNV");
+}
+static void load_GLX_SGIX_hyperpipe(GLADloadproc load) {
+	if(!GLAD_GLX_SGIX_hyperpipe) return;
+	glad_glXQueryHyperpipeNetworkSGIX = (PFNGLXQUERYHYPERPIPENETWORKSGIXPROC)load("glXQueryHyperpipeNetworkSGIX");
+	glad_glXHyperpipeConfigSGIX = (PFNGLXHYPERPIPECONFIGSGIXPROC)load("glXHyperpipeConfigSGIX");
+	glad_glXQueryHyperpipeConfigSGIX = (PFNGLXQUERYHYPERPIPECONFIGSGIXPROC)load("glXQueryHyperpipeConfigSGIX");
+	glad_glXDestroyHyperpipeConfigSGIX = (PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC)load("glXDestroyHyperpipeConfigSGIX");
+	glad_glXBindHyperpipeSGIX = (PFNGLXBINDHYPERPIPESGIXPROC)load("glXBindHyperpipeSGIX");
+	glad_glXQueryHyperpipeBestAttribSGIX = (PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC)load("glXQueryHyperpipeBestAttribSGIX");
+	glad_glXHyperpipeAttribSGIX = (PFNGLXHYPERPIPEATTRIBSGIXPROC)load("glXHyperpipeAttribSGIX");
+	glad_glXQueryHyperpipeAttribSGIX = (PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC)load("glXQueryHyperpipeAttribSGIX");
+}
+static void load_GLX_SGIX_video_resize(GLADloadproc load) {
+	if(!GLAD_GLX_SGIX_video_resize) return;
+	glad_glXBindChannelToWindowSGIX = (PFNGLXBINDCHANNELTOWINDOWSGIXPROC)load("glXBindChannelToWindowSGIX");
+	glad_glXChannelRectSGIX = (PFNGLXCHANNELRECTSGIXPROC)load("glXChannelRectSGIX");
+	glad_glXQueryChannelRectSGIX = (PFNGLXQUERYCHANNELRECTSGIXPROC)load("glXQueryChannelRectSGIX");
+	glad_glXQueryChannelDeltasSGIX = (PFNGLXQUERYCHANNELDELTASSGIXPROC)load("glXQueryChannelDeltasSGIX");
+	glad_glXChannelRectSyncSGIX = (PFNGLXCHANNELRECTSYNCSGIXPROC)load("glXChannelRectSyncSGIX");
+}
+static void load_GLX_NV_copy_image(GLADloadproc load) {
+	if(!GLAD_GLX_NV_copy_image) return;
+	glad_glXCopyImageSubDataNV = (PFNGLXCOPYIMAGESUBDATANVPROC)load("glXCopyImageSubDataNV");
+}
+static void load_GLX_OML_sync_control(GLADloadproc load) {
+	if(!GLAD_GLX_OML_sync_control) return;
+	glad_glXGetSyncValuesOML = (PFNGLXGETSYNCVALUESOMLPROC)load("glXGetSyncValuesOML");
+	glad_glXGetMscRateOML = (PFNGLXGETMSCRATEOMLPROC)load("glXGetMscRateOML");
+	glad_glXSwapBuffersMscOML = (PFNGLXSWAPBUFFERSMSCOMLPROC)load("glXSwapBuffersMscOML");
+	glad_glXWaitForMscOML = (PFNGLXWAITFORMSCOMLPROC)load("glXWaitForMscOML");
+	glad_glXWaitForSbcOML = (PFNGLXWAITFORSBCOMLPROC)load("glXWaitForSbcOML");
+}
+static void load_GLX_SGI_make_current_read(GLADloadproc load) {
+	if(!GLAD_GLX_SGI_make_current_read) return;
+	glad_glXMakeCurrentReadSGI = (PFNGLXMAKECURRENTREADSGIPROC)load("glXMakeCurrentReadSGI");
+	glad_glXGetCurrentReadDrawableSGI = (PFNGLXGETCURRENTREADDRAWABLESGIPROC)load("glXGetCurrentReadDrawableSGI");
+}
+static void load_GLX_SGI_swap_control(GLADloadproc load) {
+	if(!GLAD_GLX_SGI_swap_control) return;
+	glad_glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)load("glXSwapIntervalSGI");
+}
+static void load_GLX_SGI_video_sync(GLADloadproc load) {
+	if(!GLAD_GLX_SGI_video_sync) return;
+	glad_glXGetVideoSyncSGI = (PFNGLXGETVIDEOSYNCSGIPROC)load("glXGetVideoSyncSGI");
+	glad_glXWaitVideoSyncSGI = (PFNGLXWAITVIDEOSYNCSGIPROC)load("glXWaitVideoSyncSGI");
+}
+static void load_GLX_MESA_agp_offset(GLADloadproc load) {
+	if(!GLAD_GLX_MESA_agp_offset) return;
+	glad_glXGetAGPOffsetMESA = (PFNGLXGETAGPOFFSETMESAPROC)load("glXGetAGPOffsetMESA");
+}
+static void load_GLX_MESA_set_3dfx_mode(GLADloadproc load) {
+	if(!GLAD_GLX_MESA_set_3dfx_mode) return;
+	glad_glXSet3DfxModeMESA = (PFNGLXSET3DFXMODEMESAPROC)load("glXSet3DfxModeMESA");
+}
+static void load_GLX_EXT_texture_from_pixmap(GLADloadproc load) {
+	if(!GLAD_GLX_EXT_texture_from_pixmap) return;
+	glad_glXBindTexImageEXT = (PFNGLXBINDTEXIMAGEEXTPROC)load("glXBindTexImageEXT");
+	glad_glXReleaseTexImageEXT = (PFNGLXRELEASETEXIMAGEEXTPROC)load("glXReleaseTexImageEXT");
+}
+static void load_GLX_NV_video_capture(GLADloadproc load) {
+	if(!GLAD_GLX_NV_video_capture) return;
+	glad_glXBindVideoCaptureDeviceNV = (PFNGLXBINDVIDEOCAPTUREDEVICENVPROC)load("glXBindVideoCaptureDeviceNV");
+	glad_glXEnumerateVideoCaptureDevicesNV = (PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC)load("glXEnumerateVideoCaptureDevicesNV");
+	glad_glXLockVideoCaptureDeviceNV = (PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC)load("glXLockVideoCaptureDeviceNV");
+	glad_glXQueryVideoCaptureDeviceNV = (PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC)load("glXQueryVideoCaptureDeviceNV");
+	glad_glXReleaseVideoCaptureDeviceNV = (PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC)load("glXReleaseVideoCaptureDeviceNV");
+}
+static void load_GLX_NV_delay_before_swap(GLADloadproc load) {
+	if(!GLAD_GLX_NV_delay_before_swap) return;
+	glad_glXDelayBeforeSwapNV = (PFNGLXDELAYBEFORESWAPNVPROC)load("glXDelayBeforeSwapNV");
+}
+static void load_GLX_SGIX_swap_group(GLADloadproc load) {
+	if(!GLAD_GLX_SGIX_swap_group) return;
+	glad_glXJoinSwapGroupSGIX = (PFNGLXJOINSWAPGROUPSGIXPROC)load("glXJoinSwapGroupSGIX");
+}
+static void load_GLX_EXT_swap_control(GLADloadproc load) {
+	if(!GLAD_GLX_EXT_swap_control) return;
+	glad_glXSwapIntervalEXT = (PFNGLXSWAPINTERVALEXTPROC)load("glXSwapIntervalEXT");
+}
+static void load_GLX_SGIX_video_source(GLADloadproc load) {
+	if(!GLAD_GLX_SGIX_video_source) return;
+#ifdef _VL_H_
+	glad_glXCreateGLXVideoSourceSGIX = (PFNGLXCREATEGLXVIDEOSOURCESGIXPROC)load("glXCreateGLXVideoSourceSGIX");
+	glad_glXDestroyGLXVideoSourceSGIX = (PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC)load("glXDestroyGLXVideoSourceSGIX");
+#else
+	(void)load;
+#endif
+}
+static void load_GLX_MESA_query_renderer(GLADloadproc load) {
+	if(!GLAD_GLX_MESA_query_renderer) return;
+	glad_glXQueryCurrentRendererIntegerMESA = (PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC)load("glXQueryCurrentRendererIntegerMESA");
+	glad_glXQueryCurrentRendererStringMESA = (PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC)load("glXQueryCurrentRendererStringMESA");
+	glad_glXQueryRendererIntegerMESA = (PFNGLXQUERYRENDERERINTEGERMESAPROC)load("glXQueryRendererIntegerMESA");
+	glad_glXQueryRendererStringMESA = (PFNGLXQUERYRENDERERSTRINGMESAPROC)load("glXQueryRendererStringMESA");
+}
+static void load_GLX_ARB_create_context(GLADloadproc load) {
+	if(!GLAD_GLX_ARB_create_context) return;
+	glad_glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC)load("glXCreateContextAttribsARB");
+}
+static void load_GLX_SGIX_fbconfig(GLADloadproc load) {
+	if(!GLAD_GLX_SGIX_fbconfig) return;
+	glad_glXGetFBConfigAttribSGIX = (PFNGLXGETFBCONFIGATTRIBSGIXPROC)load("glXGetFBConfigAttribSGIX");
+	glad_glXChooseFBConfigSGIX = (PFNGLXCHOOSEFBCONFIGSGIXPROC)load("glXChooseFBConfigSGIX");
+	glad_glXCreateGLXPixmapWithConfigSGIX = (PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC)load("glXCreateGLXPixmapWithConfigSGIX");
+	glad_glXCreateContextWithConfigSGIX = (PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC)load("glXCreateContextWithConfigSGIX");
+	glad_glXGetVisualFromFBConfigSGIX = (PFNGLXGETVISUALFROMFBCONFIGSGIXPROC)load("glXGetVisualFromFBConfigSGIX");
+	glad_glXGetFBConfigFromVisualSGIX = (PFNGLXGETFBCONFIGFROMVISUALSGIXPROC)load("glXGetFBConfigFromVisualSGIX");
+}
+static void load_GLX_MESA_pixmap_colormap(GLADloadproc load) {
+	if(!GLAD_GLX_MESA_pixmap_colormap) return;
+	glad_glXCreateGLXPixmapMESA = (PFNGLXCREATEGLXPIXMAPMESAPROC)load("glXCreateGLXPixmapMESA");
+}
+static void load_GLX_NV_video_output(GLADloadproc load) {
+	if(!GLAD_GLX_NV_video_output) return;
+	glad_glXGetVideoDeviceNV = (PFNGLXGETVIDEODEVICENVPROC)load("glXGetVideoDeviceNV");
+	glad_glXReleaseVideoDeviceNV = (PFNGLXRELEASEVIDEODEVICENVPROC)load("glXReleaseVideoDeviceNV");
+	glad_glXBindVideoImageNV = (PFNGLXBINDVIDEOIMAGENVPROC)load("glXBindVideoImageNV");
+	glad_glXReleaseVideoImageNV = (PFNGLXRELEASEVIDEOIMAGENVPROC)load("glXReleaseVideoImageNV");
+	glad_glXSendPbufferToVideoNV = (PFNGLXSENDPBUFFERTOVIDEONVPROC)load("glXSendPbufferToVideoNV");
+	glad_glXGetVideoInfoNV = (PFNGLXGETVIDEOINFONVPROC)load("glXGetVideoInfoNV");
+}
+static void load_GLX_SGIX_dmbuffer(GLADloadproc load) {
+	if(!GLAD_GLX_SGIX_dmbuffer) return;
+#ifdef _DM_BUFFER_H_
+	glad_glXAssociateDMPbufferSGIX = (PFNGLXASSOCIATEDMPBUFFERSGIXPROC)load("glXAssociateDMPbufferSGIX");
+#else
+	(void)load;
+#endif
+}
+static void load_GLX_SGIX_swap_barrier(GLADloadproc load) {
+	if(!GLAD_GLX_SGIX_swap_barrier) return;
+	glad_glXBindSwapBarrierSGIX = (PFNGLXBINDSWAPBARRIERSGIXPROC)load("glXBindSwapBarrierSGIX");
+	glad_glXQueryMaxSwapBarriersSGIX = (PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC)load("glXQueryMaxSwapBarriersSGIX");
+}
+static void load_GLX_MESA_release_buffers(GLADloadproc load) {
+	if(!GLAD_GLX_MESA_release_buffers) return;
+	glad_glXReleaseBuffersMESA = (PFNGLXRELEASEBUFFERSMESAPROC)load("glXReleaseBuffersMESA");
+}
+static void load_GLX_MESA_copy_sub_buffer(GLADloadproc load) {
+	if(!GLAD_GLX_MESA_copy_sub_buffer) return;
+	glad_glXCopySubBufferMESA = (PFNGLXCOPYSUBBUFFERMESAPROC)load("glXCopySubBufferMESA");
+}
+static void load_GLX_SGI_cushion(GLADloadproc load) {
+	if(!GLAD_GLX_SGI_cushion) return;
+	glad_glXCushionSGI = (PFNGLXCUSHIONSGIPROC)load("glXCushionSGI");
+}
+static void load_GLX_NV_present_video(GLADloadproc load) {
+	if(!GLAD_GLX_NV_present_video) return;
+	glad_glXEnumerateVideoDevicesNV = (PFNGLXENUMERATEVIDEODEVICESNVPROC)load("glXEnumerateVideoDevicesNV");
+	glad_glXBindVideoDeviceNV = (PFNGLXBINDVIDEODEVICENVPROC)load("glXBindVideoDeviceNV");
+}
+static void load_GLX_SUN_get_transparent_index(GLADloadproc load) {
+	if(!GLAD_GLX_SUN_get_transparent_index) return;
+	glad_glXGetTransparentIndexSUN = (PFNGLXGETTRANSPARENTINDEXSUNPROC)load("glXGetTransparentIndexSUN");
+}
+static void load_GLX_ARB_get_proc_address(GLADloadproc load) {
+	if(!GLAD_GLX_ARB_get_proc_address) return;
+	glad_glXGetProcAddressARB = (PFNGLXGETPROCADDRESSARBPROC)load("glXGetProcAddressARB");
+}
+static void find_extensionsGLX(void) {
+	GLAD_GLX_ARB_framebuffer_sRGB = has_ext("GLX_ARB_framebuffer_sRGB");
+	GLAD_GLX_EXT_import_context = has_ext("GLX_EXT_import_context");
+	GLAD_GLX_NV_multisample_coverage = has_ext("GLX_NV_multisample_coverage");
+	GLAD_GLX_SGIS_shared_multisample = has_ext("GLX_SGIS_shared_multisample");
+	GLAD_GLX_SGIX_pbuffer = has_ext("GLX_SGIX_pbuffer");
+	GLAD_GLX_NV_swap_group = has_ext("GLX_NV_swap_group");
+	GLAD_GLX_ARB_fbconfig_float = has_ext("GLX_ARB_fbconfig_float");
+	GLAD_GLX_SGIX_hyperpipe = has_ext("GLX_SGIX_hyperpipe");
+	GLAD_GLX_ARB_robustness_share_group_isolation = has_ext("GLX_ARB_robustness_share_group_isolation");
+	GLAD_GLX_INTEL_swap_event = has_ext("GLX_INTEL_swap_event");
+	GLAD_GLX_SGIX_video_resize = has_ext("GLX_SGIX_video_resize");
+	GLAD_GLX_EXT_create_context_es2_profile = has_ext("GLX_EXT_create_context_es2_profile");
+	GLAD_GLX_ARB_robustness_application_isolation = has_ext("GLX_ARB_robustness_application_isolation");
+	GLAD_GLX_NV_copy_image = has_ext("GLX_NV_copy_image");
+	GLAD_GLX_OML_sync_control = has_ext("GLX_OML_sync_control");
+	GLAD_GLX_EXT_framebuffer_sRGB = has_ext("GLX_EXT_framebuffer_sRGB");
+	GLAD_GLX_SGI_make_current_read = has_ext("GLX_SGI_make_current_read");
+	GLAD_GLX_SGI_swap_control = has_ext("GLX_SGI_swap_control");
+	GLAD_GLX_EXT_fbconfig_packed_float = has_ext("GLX_EXT_fbconfig_packed_float");
+	GLAD_GLX_EXT_buffer_age = has_ext("GLX_EXT_buffer_age");
+	GLAD_GLX_3DFX_multisample = has_ext("GLX_3DFX_multisample");
+	GLAD_GLX_EXT_visual_info = has_ext("GLX_EXT_visual_info");
+	GLAD_GLX_SGI_video_sync = has_ext("GLX_SGI_video_sync");
+	GLAD_GLX_MESA_agp_offset = has_ext("GLX_MESA_agp_offset");
+	GLAD_GLX_SGIS_multisample = has_ext("GLX_SGIS_multisample");
+	GLAD_GLX_MESA_set_3dfx_mode = has_ext("GLX_MESA_set_3dfx_mode");
+	GLAD_GLX_EXT_texture_from_pixmap = has_ext("GLX_EXT_texture_from_pixmap");
+	GLAD_GLX_NV_video_capture = has_ext("GLX_NV_video_capture");
+	GLAD_GLX_ARB_multisample = has_ext("GLX_ARB_multisample");
+	GLAD_GLX_NV_delay_before_swap = has_ext("GLX_NV_delay_before_swap");
+	GLAD_GLX_SGIX_swap_group = has_ext("GLX_SGIX_swap_group");
+	GLAD_GLX_EXT_swap_control = has_ext("GLX_EXT_swap_control");
+	GLAD_GLX_SGIX_video_source = has_ext("GLX_SGIX_video_source");
+	GLAD_GLX_MESA_query_renderer = has_ext("GLX_MESA_query_renderer");
+	GLAD_GLX_ARB_create_context = has_ext("GLX_ARB_create_context");
+	GLAD_GLX_EXT_create_context_es_profile = has_ext("GLX_EXT_create_context_es_profile");
+	GLAD_GLX_SGIX_fbconfig = has_ext("GLX_SGIX_fbconfig");
+	GLAD_GLX_MESA_pixmap_colormap = has_ext("GLX_MESA_pixmap_colormap");
+	GLAD_GLX_SGIX_visual_select_group = has_ext("GLX_SGIX_visual_select_group");
+	GLAD_GLX_NV_video_output = has_ext("GLX_NV_video_output");
+	GLAD_GLX_SGIS_blended_overlay = has_ext("GLX_SGIS_blended_overlay");
+	GLAD_GLX_SGIX_dmbuffer = has_ext("GLX_SGIX_dmbuffer");
+	GLAD_GLX_ARB_create_context_robustness = has_ext("GLX_ARB_create_context_robustness");
+	GLAD_GLX_SGIX_swap_barrier = has_ext("GLX_SGIX_swap_barrier");
+	GLAD_GLX_EXT_swap_control_tear = has_ext("GLX_EXT_swap_control_tear");
+	GLAD_GLX_MESA_release_buffers = has_ext("GLX_MESA_release_buffers");
+	GLAD_GLX_EXT_visual_rating = has_ext("GLX_EXT_visual_rating");
+	GLAD_GLX_MESA_copy_sub_buffer = has_ext("GLX_MESA_copy_sub_buffer");
+	GLAD_GLX_SGI_cushion = has_ext("GLX_SGI_cushion");
+	GLAD_GLX_NV_float_buffer = has_ext("GLX_NV_float_buffer");
+	GLAD_GLX_OML_swap_method = has_ext("GLX_OML_swap_method");
+	GLAD_GLX_NV_present_video = has_ext("GLX_NV_present_video");
+	GLAD_GLX_SUN_get_transparent_index = has_ext("GLX_SUN_get_transparent_index");
+	GLAD_GLX_AMD_gpu_association = has_ext("GLX_AMD_gpu_association");
+	GLAD_GLX_ARB_create_context_profile = has_ext("GLX_ARB_create_context_profile");
+	GLAD_GLX_ARB_get_proc_address = has_ext("GLX_ARB_get_proc_address");
+	GLAD_GLX_ARB_vertex_buffer_object = has_ext("GLX_ARB_vertex_buffer_object");
+}
+
+static void find_coreGLX(Display *dpy, int screen) {
+	int major = 0, minor = 0;
+	if(dpy == 0 && GLADGLXDisplay == 0) {
+		dpy = XOpenDisplay(0);
+		screen = XScreenNumberOfScreen(XDefaultScreenOfDisplay(dpy));
+	} else if(dpy == 0) {
+		dpy = GLADGLXDisplay;
+		screen = GLADGLXscreen;
+	}
+	glXQueryVersion(dpy, &major, &minor);
+	GLADGLXDisplay = dpy;
+	GLADGLXscreen = screen;
+	GLAD_GLX_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1;
+	GLAD_GLX_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1;
+	GLAD_GLX_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1;
+	GLAD_GLX_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1;
+	GLAD_GLX_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1;
+}
+
+void gladLoadGLXLoader(GLADloadproc load, Display *dpy, int screen) {
+	glXQueryVersion = (PFNGLXQUERYVERSIONPROC)load("glXQueryVersion");
+	if(glXQueryVersion == NULL) return;
+	find_coreGLX(dpy, screen);
+	load_GLX_VERSION_1_0(load);
+	load_GLX_VERSION_1_1(load);
+	load_GLX_VERSION_1_2(load);
+	load_GLX_VERSION_1_3(load);
+	load_GLX_VERSION_1_4(load);
+
+	find_extensionsGLX();
+	load_GLX_EXT_import_context(load);
+	load_GLX_SGIX_pbuffer(load);
+	load_GLX_NV_swap_group(load);
+	load_GLX_SGIX_hyperpipe(load);
+	load_GLX_SGIX_video_resize(load);
+	load_GLX_NV_copy_image(load);
+	load_GLX_OML_sync_control(load);
+	load_GLX_SGI_make_current_read(load);
+	load_GLX_SGI_swap_control(load);
+	load_GLX_SGI_video_sync(load);
+	load_GLX_MESA_agp_offset(load);
+	load_GLX_MESA_set_3dfx_mode(load);
+	load_GLX_EXT_texture_from_pixmap(load);
+	load_GLX_NV_video_capture(load);
+	load_GLX_NV_delay_before_swap(load);
+	load_GLX_SGIX_swap_group(load);
+	load_GLX_EXT_swap_control(load);
+	load_GLX_SGIX_video_source(load);
+	load_GLX_MESA_query_renderer(load);
+	load_GLX_ARB_create_context(load);
+	load_GLX_SGIX_fbconfig(load);
+	load_GLX_MESA_pixmap_colormap(load);
+	load_GLX_NV_video_output(load);
+	load_GLX_SGIX_dmbuffer(load);
+	load_GLX_SGIX_swap_barrier(load);
+	load_GLX_MESA_release_buffers(load);
+	load_GLX_MESA_copy_sub_buffer(load);
+	load_GLX_SGI_cushion(load);
+	load_GLX_NV_present_video(load);
+	load_GLX_SUN_get_transparent_index(load);
+	load_GLX_ARB_get_proc_address(load);
+
+	return;
+}
+

+ 632 - 0
deps/glad/src/glad_wgl.c

@@ -0,0 +1,632 @@
+#include <string.h>
+#include <glad/glad_wgl.h>
+
+static void* get_proc(const char *namez);
+
+#ifdef _WIN32
+#include <windows.h>
+static HMODULE libGL;
+
+typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);
+PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
+
+static
+int open_gl(void) {
+    libGL = LoadLibraryA("opengl32.dll");
+    if(libGL != NULL) {
+        gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE)GetProcAddress(
+                libGL, "wglGetProcAddress");
+        return gladGetProcAddressPtr != NULL;
+    }
+
+    return 0;
+}
+
+static
+void close_gl(void) {
+    if(libGL != NULL) {
+        FreeLibrary(libGL);
+        libGL = NULL;
+    }
+}
+#else
+#include <dlfcn.h>
+static void* libGL;
+
+#ifndef __APPLE__
+typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);
+PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
+#endif
+
+static
+int open_gl(void) {
+#ifdef __APPLE__
+    static const char *NAMES[] = {
+        "../Frameworks/OpenGL.framework/OpenGL",
+        "/Library/Frameworks/OpenGL.framework/OpenGL",
+        "/System/Library/Frameworks/OpenGL.framework/OpenGL",
+        "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL"
+    };
+#else
+    static const char *NAMES[] = {"libGL.so.1", "libGL.so"};
+#endif
+
+    unsigned int index = 0;
+    for(index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) {
+        libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);
+
+        if(libGL != NULL) {
+#ifdef __APPLE__
+            return 1;
+#else
+            gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,
+                "glXGetProcAddressARB");
+            return gladGetProcAddressPtr != NULL;
+#endif
+        }
+    }
+
+    return 0;
+}
+
+static
+void close_gl() {
+    if(libGL != NULL) {
+        dlclose(libGL);
+        libGL = NULL;
+    }
+}
+#endif
+
+static
+void* get_proc(const char *namez) {
+    void* result = NULL;
+    if(libGL == NULL) return NULL;
+
+#ifndef __APPLE__
+    if(gladGetProcAddressPtr != NULL) {
+        result = gladGetProcAddressPtr(namez);
+    }
+#endif
+    if(result == NULL) {
+#ifdef _WIN32
+        result = (void*)GetProcAddress(libGL, namez);
+#else
+        result = dlsym(libGL, namez);
+#endif
+    }
+
+    return result;
+}
+
+int gladLoadWGL(HDC hdc) {
+    if(open_gl()) {
+        gladLoadWGLLoader((GLADloadproc)get_proc, hdc);
+        close_gl();
+        return 1;
+    }
+
+    return 0;
+}
+
+static HDC GLADWGLhdc = INVALID_HANDLE_VALUE;
+
+static int has_ext(const char *ext) {
+    const char *terminator;
+    const char *loc;
+    const char *extensions;
+
+    if(wglGetExtensionsStringEXT == NULL && wglGetExtensionsStringARB == NULL)
+        return 0;
+
+    if(wglGetExtensionsStringARB == NULL || GLADWGLhdc == INVALID_HANDLE_VALUE)
+        extensions = wglGetExtensionsStringEXT();
+    else
+        extensions = wglGetExtensionsStringARB(GLADWGLhdc);
+
+    if(extensions == NULL || ext == NULL)
+        return 0;
+
+    while(1) {
+        loc = strstr(extensions, ext);
+        if(loc == NULL)
+            break;
+
+        terminator = loc + strlen(ext);
+        if((loc == extensions || *(loc - 1) == ' ') &&
+            (*terminator == ' ' || *terminator == '\0'))
+        {
+            return 1;
+        }
+        extensions = terminator;
+    }
+
+    return 0;
+}
+int GLAD_WGL_VERSION_1_0;
+int GLAD_WGL_NV_multisample_coverage;
+int GLAD_WGL_I3D_image_buffer;
+int GLAD_WGL_I3D_swap_frame_usage;
+int GLAD_WGL_NV_DX_interop2;
+int GLAD_WGL_NV_float_buffer;
+int GLAD_WGL_NV_delay_before_swap;
+int GLAD_WGL_OML_sync_control;
+int GLAD_WGL_ARB_pixel_format_float;
+int GLAD_WGL_ARB_create_context;
+int GLAD_WGL_NV_swap_group;
+int GLAD_WGL_NV_gpu_affinity;
+int GLAD_WGL_EXT_pixel_format;
+int GLAD_WGL_ARB_extensions_string;
+int GLAD_WGL_NV_video_capture;
+int GLAD_WGL_NV_render_texture_rectangle;
+int GLAD_WGL_EXT_create_context_es_profile;
+int GLAD_WGL_ARB_robustness_share_group_isolation;
+int GLAD_WGL_ARB_render_texture;
+int GLAD_WGL_EXT_depth_float;
+int GLAD_WGL_EXT_swap_control_tear;
+int GLAD_WGL_ARB_pixel_format;
+int GLAD_WGL_ARB_multisample;
+int GLAD_WGL_I3D_genlock;
+int GLAD_WGL_NV_DX_interop;
+int GLAD_WGL_3DL_stereo_control;
+int GLAD_WGL_EXT_pbuffer;
+int GLAD_WGL_EXT_display_color_table;
+int GLAD_WGL_NV_video_output;
+int GLAD_WGL_ARB_robustness_application_isolation;
+int GLAD_WGL_3DFX_multisample;
+int GLAD_WGL_I3D_gamma;
+int GLAD_WGL_ARB_framebuffer_sRGB;
+int GLAD_WGL_NV_copy_image;
+int GLAD_WGL_EXT_framebuffer_sRGB;
+int GLAD_WGL_NV_present_video;
+int GLAD_WGL_EXT_create_context_es2_profile;
+int GLAD_WGL_ARB_create_context_robustness;
+int GLAD_WGL_ARB_make_current_read;
+int GLAD_WGL_EXT_multisample;
+int GLAD_WGL_EXT_extensions_string;
+int GLAD_WGL_NV_render_depth_texture;
+int GLAD_WGL_ATI_pixel_format_float;
+int GLAD_WGL_ARB_create_context_profile;
+int GLAD_WGL_EXT_swap_control;
+int GLAD_WGL_I3D_digital_video_control;
+int GLAD_WGL_ARB_pbuffer;
+int GLAD_WGL_NV_vertex_array_range;
+int GLAD_WGL_AMD_gpu_association;
+int GLAD_WGL_EXT_pixel_format_packed_float;
+int GLAD_WGL_EXT_make_current_read;
+int GLAD_WGL_I3D_swap_frame_lock;
+int GLAD_WGL_ARB_buffer_region;
+PFNWGLCREATEIMAGEBUFFERI3DPROC glad_wglCreateImageBufferI3D;
+PFNWGLDESTROYIMAGEBUFFERI3DPROC glad_wglDestroyImageBufferI3D;
+PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC glad_wglAssociateImageBufferEventsI3D;
+PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC glad_wglReleaseImageBufferEventsI3D;
+PFNWGLGETFRAMEUSAGEI3DPROC glad_wglGetFrameUsageI3D;
+PFNWGLBEGINFRAMETRACKINGI3DPROC glad_wglBeginFrameTrackingI3D;
+PFNWGLENDFRAMETRACKINGI3DPROC glad_wglEndFrameTrackingI3D;
+PFNWGLQUERYFRAMETRACKINGI3DPROC glad_wglQueryFrameTrackingI3D;
+PFNWGLDELAYBEFORESWAPNVPROC glad_wglDelayBeforeSwapNV;
+PFNWGLGETSYNCVALUESOMLPROC glad_wglGetSyncValuesOML;
+PFNWGLGETMSCRATEOMLPROC glad_wglGetMscRateOML;
+PFNWGLSWAPBUFFERSMSCOMLPROC glad_wglSwapBuffersMscOML;
+PFNWGLSWAPLAYERBUFFERSMSCOMLPROC glad_wglSwapLayerBuffersMscOML;
+PFNWGLWAITFORMSCOMLPROC glad_wglWaitForMscOML;
+PFNWGLWAITFORSBCOMLPROC glad_wglWaitForSbcOML;
+PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB;
+PFNWGLJOINSWAPGROUPNVPROC glad_wglJoinSwapGroupNV;
+PFNWGLBINDSWAPBARRIERNVPROC glad_wglBindSwapBarrierNV;
+PFNWGLQUERYSWAPGROUPNVPROC glad_wglQuerySwapGroupNV;
+PFNWGLQUERYMAXSWAPGROUPSNVPROC glad_wglQueryMaxSwapGroupsNV;
+PFNWGLQUERYFRAMECOUNTNVPROC glad_wglQueryFrameCountNV;
+PFNWGLRESETFRAMECOUNTNVPROC glad_wglResetFrameCountNV;
+PFNWGLENUMGPUSNVPROC glad_wglEnumGpusNV;
+PFNWGLENUMGPUDEVICESNVPROC glad_wglEnumGpuDevicesNV;
+PFNWGLCREATEAFFINITYDCNVPROC glad_wglCreateAffinityDCNV;
+PFNWGLENUMGPUSFROMAFFINITYDCNVPROC glad_wglEnumGpusFromAffinityDCNV;
+PFNWGLDELETEDCNVPROC glad_wglDeleteDCNV;
+PFNWGLGETPIXELFORMATATTRIBIVEXTPROC glad_wglGetPixelFormatAttribivEXT;
+PFNWGLGETPIXELFORMATATTRIBFVEXTPROC glad_wglGetPixelFormatAttribfvEXT;
+PFNWGLCHOOSEPIXELFORMATEXTPROC glad_wglChoosePixelFormatEXT;
+PFNWGLGETEXTENSIONSSTRINGARBPROC glad_wglGetExtensionsStringARB;
+PFNWGLBINDVIDEOCAPTUREDEVICENVPROC glad_wglBindVideoCaptureDeviceNV;
+PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_wglEnumerateVideoCaptureDevicesNV;
+PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC glad_wglLockVideoCaptureDeviceNV;
+PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC glad_wglQueryVideoCaptureDeviceNV;
+PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC glad_wglReleaseVideoCaptureDeviceNV;
+PFNWGLBINDTEXIMAGEARBPROC glad_wglBindTexImageARB;
+PFNWGLRELEASETEXIMAGEARBPROC glad_wglReleaseTexImageARB;
+PFNWGLSETPBUFFERATTRIBARBPROC glad_wglSetPbufferAttribARB;
+PFNWGLGETPIXELFORMATATTRIBIVARBPROC glad_wglGetPixelFormatAttribivARB;
+PFNWGLGETPIXELFORMATATTRIBFVARBPROC glad_wglGetPixelFormatAttribfvARB;
+PFNWGLCHOOSEPIXELFORMATARBPROC glad_wglChoosePixelFormatARB;
+PFNWGLENABLEGENLOCKI3DPROC glad_wglEnableGenlockI3D;
+PFNWGLDISABLEGENLOCKI3DPROC glad_wglDisableGenlockI3D;
+PFNWGLISENABLEDGENLOCKI3DPROC glad_wglIsEnabledGenlockI3D;
+PFNWGLGENLOCKSOURCEI3DPROC glad_wglGenlockSourceI3D;
+PFNWGLGETGENLOCKSOURCEI3DPROC glad_wglGetGenlockSourceI3D;
+PFNWGLGENLOCKSOURCEEDGEI3DPROC glad_wglGenlockSourceEdgeI3D;
+PFNWGLGETGENLOCKSOURCEEDGEI3DPROC glad_wglGetGenlockSourceEdgeI3D;
+PFNWGLGENLOCKSAMPLERATEI3DPROC glad_wglGenlockSampleRateI3D;
+PFNWGLGETGENLOCKSAMPLERATEI3DPROC glad_wglGetGenlockSampleRateI3D;
+PFNWGLGENLOCKSOURCEDELAYI3DPROC glad_wglGenlockSourceDelayI3D;
+PFNWGLGETGENLOCKSOURCEDELAYI3DPROC glad_wglGetGenlockSourceDelayI3D;
+PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC glad_wglQueryGenlockMaxSourceDelayI3D;
+PFNWGLDXSETRESOURCESHAREHANDLENVPROC glad_wglDXSetResourceShareHandleNV;
+PFNWGLDXOPENDEVICENVPROC glad_wglDXOpenDeviceNV;
+PFNWGLDXCLOSEDEVICENVPROC glad_wglDXCloseDeviceNV;
+PFNWGLDXREGISTEROBJECTNVPROC glad_wglDXRegisterObjectNV;
+PFNWGLDXUNREGISTEROBJECTNVPROC glad_wglDXUnregisterObjectNV;
+PFNWGLDXOBJECTACCESSNVPROC glad_wglDXObjectAccessNV;
+PFNWGLDXLOCKOBJECTSNVPROC glad_wglDXLockObjectsNV;
+PFNWGLDXUNLOCKOBJECTSNVPROC glad_wglDXUnlockObjectsNV;
+PFNWGLSETSTEREOEMITTERSTATE3DLPROC glad_wglSetStereoEmitterState3DL;
+PFNWGLCREATEPBUFFEREXTPROC glad_wglCreatePbufferEXT;
+PFNWGLGETPBUFFERDCEXTPROC glad_wglGetPbufferDCEXT;
+PFNWGLRELEASEPBUFFERDCEXTPROC glad_wglReleasePbufferDCEXT;
+PFNWGLDESTROYPBUFFEREXTPROC glad_wglDestroyPbufferEXT;
+PFNWGLQUERYPBUFFEREXTPROC glad_wglQueryPbufferEXT;
+PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC glad_wglCreateDisplayColorTableEXT;
+PFNWGLLOADDISPLAYCOLORTABLEEXTPROC glad_wglLoadDisplayColorTableEXT;
+PFNWGLBINDDISPLAYCOLORTABLEEXTPROC glad_wglBindDisplayColorTableEXT;
+PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC glad_wglDestroyDisplayColorTableEXT;
+PFNWGLGETVIDEODEVICENVPROC glad_wglGetVideoDeviceNV;
+PFNWGLRELEASEVIDEODEVICENVPROC glad_wglReleaseVideoDeviceNV;
+PFNWGLBINDVIDEOIMAGENVPROC glad_wglBindVideoImageNV;
+PFNWGLRELEASEVIDEOIMAGENVPROC glad_wglReleaseVideoImageNV;
+PFNWGLSENDPBUFFERTOVIDEONVPROC glad_wglSendPbufferToVideoNV;
+PFNWGLGETVIDEOINFONVPROC glad_wglGetVideoInfoNV;
+PFNWGLGETGAMMATABLEPARAMETERSI3DPROC glad_wglGetGammaTableParametersI3D;
+PFNWGLSETGAMMATABLEPARAMETERSI3DPROC glad_wglSetGammaTableParametersI3D;
+PFNWGLGETGAMMATABLEI3DPROC glad_wglGetGammaTableI3D;
+PFNWGLSETGAMMATABLEI3DPROC glad_wglSetGammaTableI3D;
+PFNWGLCOPYIMAGESUBDATANVPROC glad_wglCopyImageSubDataNV;
+PFNWGLENUMERATEVIDEODEVICESNVPROC glad_wglEnumerateVideoDevicesNV;
+PFNWGLBINDVIDEODEVICENVPROC glad_wglBindVideoDeviceNV;
+PFNWGLQUERYCURRENTCONTEXTNVPROC glad_wglQueryCurrentContextNV;
+PFNWGLMAKECONTEXTCURRENTARBPROC glad_wglMakeContextCurrentARB;
+PFNWGLGETCURRENTREADDCARBPROC glad_wglGetCurrentReadDCARB;
+PFNWGLGETEXTENSIONSSTRINGEXTPROC glad_wglGetExtensionsStringEXT;
+PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT;
+PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT;
+PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC glad_wglGetDigitalVideoParametersI3D;
+PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC glad_wglSetDigitalVideoParametersI3D;
+PFNWGLCREATEPBUFFERARBPROC glad_wglCreatePbufferARB;
+PFNWGLGETPBUFFERDCARBPROC glad_wglGetPbufferDCARB;
+PFNWGLRELEASEPBUFFERDCARBPROC glad_wglReleasePbufferDCARB;
+PFNWGLDESTROYPBUFFERARBPROC glad_wglDestroyPbufferARB;
+PFNWGLQUERYPBUFFERARBPROC glad_wglQueryPbufferARB;
+PFNWGLALLOCATEMEMORYNVPROC glad_wglAllocateMemoryNV;
+PFNWGLFREEMEMORYNVPROC glad_wglFreeMemoryNV;
+PFNWGLGETGPUIDSAMDPROC glad_wglGetGPUIDsAMD;
+PFNWGLGETGPUINFOAMDPROC glad_wglGetGPUInfoAMD;
+PFNWGLGETCONTEXTGPUIDAMDPROC glad_wglGetContextGPUIDAMD;
+PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC glad_wglCreateAssociatedContextAMD;
+PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC glad_wglCreateAssociatedContextAttribsAMD;
+PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC glad_wglDeleteAssociatedContextAMD;
+PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_wglMakeAssociatedContextCurrentAMD;
+PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_wglGetCurrentAssociatedContextAMD;
+PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC glad_wglBlitContextFramebufferAMD;
+PFNWGLMAKECONTEXTCURRENTEXTPROC glad_wglMakeContextCurrentEXT;
+PFNWGLGETCURRENTREADDCEXTPROC glad_wglGetCurrentReadDCEXT;
+PFNWGLENABLEFRAMELOCKI3DPROC glad_wglEnableFrameLockI3D;
+PFNWGLDISABLEFRAMELOCKI3DPROC glad_wglDisableFrameLockI3D;
+PFNWGLISENABLEDFRAMELOCKI3DPROC glad_wglIsEnabledFrameLockI3D;
+PFNWGLQUERYFRAMELOCKMASTERI3DPROC glad_wglQueryFrameLockMasterI3D;
+PFNWGLCREATEBUFFERREGIONARBPROC glad_wglCreateBufferRegionARB;
+PFNWGLDELETEBUFFERREGIONARBPROC glad_wglDeleteBufferRegionARB;
+PFNWGLSAVEBUFFERREGIONARBPROC glad_wglSaveBufferRegionARB;
+PFNWGLRESTOREBUFFERREGIONARBPROC glad_wglRestoreBufferRegionARB;
+static void load_WGL_I3D_image_buffer(GLADloadproc load) {
+	if(!GLAD_WGL_I3D_image_buffer) return;
+	glad_wglCreateImageBufferI3D = (PFNWGLCREATEIMAGEBUFFERI3DPROC)load("wglCreateImageBufferI3D");
+	glad_wglDestroyImageBufferI3D = (PFNWGLDESTROYIMAGEBUFFERI3DPROC)load("wglDestroyImageBufferI3D");
+	glad_wglAssociateImageBufferEventsI3D = (PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC)load("wglAssociateImageBufferEventsI3D");
+	glad_wglReleaseImageBufferEventsI3D = (PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC)load("wglReleaseImageBufferEventsI3D");
+}
+static void load_WGL_I3D_swap_frame_usage(GLADloadproc load) {
+	if(!GLAD_WGL_I3D_swap_frame_usage) return;
+	glad_wglGetFrameUsageI3D = (PFNWGLGETFRAMEUSAGEI3DPROC)load("wglGetFrameUsageI3D");
+	glad_wglBeginFrameTrackingI3D = (PFNWGLBEGINFRAMETRACKINGI3DPROC)load("wglBeginFrameTrackingI3D");
+	glad_wglEndFrameTrackingI3D = (PFNWGLENDFRAMETRACKINGI3DPROC)load("wglEndFrameTrackingI3D");
+	glad_wglQueryFrameTrackingI3D = (PFNWGLQUERYFRAMETRACKINGI3DPROC)load("wglQueryFrameTrackingI3D");
+}
+static void load_WGL_NV_delay_before_swap(GLADloadproc load) {
+	if(!GLAD_WGL_NV_delay_before_swap) return;
+	glad_wglDelayBeforeSwapNV = (PFNWGLDELAYBEFORESWAPNVPROC)load("wglDelayBeforeSwapNV");
+}
+static void load_WGL_OML_sync_control(GLADloadproc load) {
+	if(!GLAD_WGL_OML_sync_control) return;
+	glad_wglGetSyncValuesOML = (PFNWGLGETSYNCVALUESOMLPROC)load("wglGetSyncValuesOML");
+	glad_wglGetMscRateOML = (PFNWGLGETMSCRATEOMLPROC)load("wglGetMscRateOML");
+	glad_wglSwapBuffersMscOML = (PFNWGLSWAPBUFFERSMSCOMLPROC)load("wglSwapBuffersMscOML");
+	glad_wglSwapLayerBuffersMscOML = (PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)load("wglSwapLayerBuffersMscOML");
+	glad_wglWaitForMscOML = (PFNWGLWAITFORMSCOMLPROC)load("wglWaitForMscOML");
+	glad_wglWaitForSbcOML = (PFNWGLWAITFORSBCOMLPROC)load("wglWaitForSbcOML");
+}
+static void load_WGL_ARB_create_context(GLADloadproc load) {
+	if(!GLAD_WGL_ARB_create_context) return;
+	glad_wglCreateContextAttribsARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC)load("wglCreateContextAttribsARB");
+}
+static void load_WGL_NV_swap_group(GLADloadproc load) {
+	if(!GLAD_WGL_NV_swap_group) return;
+	glad_wglJoinSwapGroupNV = (PFNWGLJOINSWAPGROUPNVPROC)load("wglJoinSwapGroupNV");
+	glad_wglBindSwapBarrierNV = (PFNWGLBINDSWAPBARRIERNVPROC)load("wglBindSwapBarrierNV");
+	glad_wglQuerySwapGroupNV = (PFNWGLQUERYSWAPGROUPNVPROC)load("wglQuerySwapGroupNV");
+	glad_wglQueryMaxSwapGroupsNV = (PFNWGLQUERYMAXSWAPGROUPSNVPROC)load("wglQueryMaxSwapGroupsNV");
+	glad_wglQueryFrameCountNV = (PFNWGLQUERYFRAMECOUNTNVPROC)load("wglQueryFrameCountNV");
+	glad_wglResetFrameCountNV = (PFNWGLRESETFRAMECOUNTNVPROC)load("wglResetFrameCountNV");
+}
+static void load_WGL_NV_gpu_affinity(GLADloadproc load) {
+	if(!GLAD_WGL_NV_gpu_affinity) return;
+	glad_wglEnumGpusNV = (PFNWGLENUMGPUSNVPROC)load("wglEnumGpusNV");
+	glad_wglEnumGpuDevicesNV = (PFNWGLENUMGPUDEVICESNVPROC)load("wglEnumGpuDevicesNV");
+	glad_wglCreateAffinityDCNV = (PFNWGLCREATEAFFINITYDCNVPROC)load("wglCreateAffinityDCNV");
+	glad_wglEnumGpusFromAffinityDCNV = (PFNWGLENUMGPUSFROMAFFINITYDCNVPROC)load("wglEnumGpusFromAffinityDCNV");
+	glad_wglDeleteDCNV = (PFNWGLDELETEDCNVPROC)load("wglDeleteDCNV");
+}
+static void load_WGL_EXT_pixel_format(GLADloadproc load) {
+	if(!GLAD_WGL_EXT_pixel_format) return;
+	glad_wglGetPixelFormatAttribivEXT = (PFNWGLGETPIXELFORMATATTRIBIVEXTPROC)load("wglGetPixelFormatAttribivEXT");
+	glad_wglGetPixelFormatAttribfvEXT = (PFNWGLGETPIXELFORMATATTRIBFVEXTPROC)load("wglGetPixelFormatAttribfvEXT");
+	glad_wglChoosePixelFormatEXT = (PFNWGLCHOOSEPIXELFORMATEXTPROC)load("wglChoosePixelFormatEXT");
+}
+static void load_WGL_ARB_extensions_string(GLADloadproc load) {
+	if(!GLAD_WGL_ARB_extensions_string) return;
+	glad_wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)load("wglGetExtensionsStringARB");
+}
+static void load_WGL_NV_video_capture(GLADloadproc load) {
+	if(!GLAD_WGL_NV_video_capture) return;
+	glad_wglBindVideoCaptureDeviceNV = (PFNWGLBINDVIDEOCAPTUREDEVICENVPROC)load("wglBindVideoCaptureDeviceNV");
+	glad_wglEnumerateVideoCaptureDevicesNV = (PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC)load("wglEnumerateVideoCaptureDevicesNV");
+	glad_wglLockVideoCaptureDeviceNV = (PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC)load("wglLockVideoCaptureDeviceNV");
+	glad_wglQueryVideoCaptureDeviceNV = (PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC)load("wglQueryVideoCaptureDeviceNV");
+	glad_wglReleaseVideoCaptureDeviceNV = (PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC)load("wglReleaseVideoCaptureDeviceNV");
+}
+static void load_WGL_ARB_render_texture(GLADloadproc load) {
+	if(!GLAD_WGL_ARB_render_texture) return;
+	glad_wglBindTexImageARB = (PFNWGLBINDTEXIMAGEARBPROC)load("wglBindTexImageARB");
+	glad_wglReleaseTexImageARB = (PFNWGLRELEASETEXIMAGEARBPROC)load("wglReleaseTexImageARB");
+	glad_wglSetPbufferAttribARB = (PFNWGLSETPBUFFERATTRIBARBPROC)load("wglSetPbufferAttribARB");
+}
+static void load_WGL_ARB_pixel_format(GLADloadproc load) {
+	if(!GLAD_WGL_ARB_pixel_format) return;
+	glad_wglGetPixelFormatAttribivARB = (PFNWGLGETPIXELFORMATATTRIBIVARBPROC)load("wglGetPixelFormatAttribivARB");
+	glad_wglGetPixelFormatAttribfvARB = (PFNWGLGETPIXELFORMATATTRIBFVARBPROC)load("wglGetPixelFormatAttribfvARB");
+	glad_wglChoosePixelFormatARB = (PFNWGLCHOOSEPIXELFORMATARBPROC)load("wglChoosePixelFormatARB");
+}
+static void load_WGL_I3D_genlock(GLADloadproc load) {
+	if(!GLAD_WGL_I3D_genlock) return;
+	glad_wglEnableGenlockI3D = (PFNWGLENABLEGENLOCKI3DPROC)load("wglEnableGenlockI3D");
+	glad_wglDisableGenlockI3D = (PFNWGLDISABLEGENLOCKI3DPROC)load("wglDisableGenlockI3D");
+	glad_wglIsEnabledGenlockI3D = (PFNWGLISENABLEDGENLOCKI3DPROC)load("wglIsEnabledGenlockI3D");
+	glad_wglGenlockSourceI3D = (PFNWGLGENLOCKSOURCEI3DPROC)load("wglGenlockSourceI3D");
+	glad_wglGetGenlockSourceI3D = (PFNWGLGETGENLOCKSOURCEI3DPROC)load("wglGetGenlockSourceI3D");
+	glad_wglGenlockSourceEdgeI3D = (PFNWGLGENLOCKSOURCEEDGEI3DPROC)load("wglGenlockSourceEdgeI3D");
+	glad_wglGetGenlockSourceEdgeI3D = (PFNWGLGETGENLOCKSOURCEEDGEI3DPROC)load("wglGetGenlockSourceEdgeI3D");
+	glad_wglGenlockSampleRateI3D = (PFNWGLGENLOCKSAMPLERATEI3DPROC)load("wglGenlockSampleRateI3D");
+	glad_wglGetGenlockSampleRateI3D = (PFNWGLGETGENLOCKSAMPLERATEI3DPROC)load("wglGetGenlockSampleRateI3D");
+	glad_wglGenlockSourceDelayI3D = (PFNWGLGENLOCKSOURCEDELAYI3DPROC)load("wglGenlockSourceDelayI3D");
+	glad_wglGetGenlockSourceDelayI3D = (PFNWGLGETGENLOCKSOURCEDELAYI3DPROC)load("wglGetGenlockSourceDelayI3D");
+	glad_wglQueryGenlockMaxSourceDelayI3D = (PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC)load("wglQueryGenlockMaxSourceDelayI3D");
+}
+static void load_WGL_NV_DX_interop(GLADloadproc load) {
+	if(!GLAD_WGL_NV_DX_interop) return;
+	glad_wglDXSetResourceShareHandleNV = (PFNWGLDXSETRESOURCESHAREHANDLENVPROC)load("wglDXSetResourceShareHandleNV");
+	glad_wglDXOpenDeviceNV = (PFNWGLDXOPENDEVICENVPROC)load("wglDXOpenDeviceNV");
+	glad_wglDXCloseDeviceNV = (PFNWGLDXCLOSEDEVICENVPROC)load("wglDXCloseDeviceNV");
+	glad_wglDXRegisterObjectNV = (PFNWGLDXREGISTEROBJECTNVPROC)load("wglDXRegisterObjectNV");
+	glad_wglDXUnregisterObjectNV = (PFNWGLDXUNREGISTEROBJECTNVPROC)load("wglDXUnregisterObjectNV");
+	glad_wglDXObjectAccessNV = (PFNWGLDXOBJECTACCESSNVPROC)load("wglDXObjectAccessNV");
+	glad_wglDXLockObjectsNV = (PFNWGLDXLOCKOBJECTSNVPROC)load("wglDXLockObjectsNV");
+	glad_wglDXUnlockObjectsNV = (PFNWGLDXUNLOCKOBJECTSNVPROC)load("wglDXUnlockObjectsNV");
+}
+static void load_WGL_3DL_stereo_control(GLADloadproc load) {
+	if(!GLAD_WGL_3DL_stereo_control) return;
+	glad_wglSetStereoEmitterState3DL = (PFNWGLSETSTEREOEMITTERSTATE3DLPROC)load("wglSetStereoEmitterState3DL");
+}
+static void load_WGL_EXT_pbuffer(GLADloadproc load) {
+	if(!GLAD_WGL_EXT_pbuffer) return;
+	glad_wglCreatePbufferEXT = (PFNWGLCREATEPBUFFEREXTPROC)load("wglCreatePbufferEXT");
+	glad_wglGetPbufferDCEXT = (PFNWGLGETPBUFFERDCEXTPROC)load("wglGetPbufferDCEXT");
+	glad_wglReleasePbufferDCEXT = (PFNWGLRELEASEPBUFFERDCEXTPROC)load("wglReleasePbufferDCEXT");
+	glad_wglDestroyPbufferEXT = (PFNWGLDESTROYPBUFFEREXTPROC)load("wglDestroyPbufferEXT");
+	glad_wglQueryPbufferEXT = (PFNWGLQUERYPBUFFEREXTPROC)load("wglQueryPbufferEXT");
+}
+static void load_WGL_EXT_display_color_table(GLADloadproc load) {
+	if(!GLAD_WGL_EXT_display_color_table) return;
+	glad_wglCreateDisplayColorTableEXT = (PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC)load("wglCreateDisplayColorTableEXT");
+	glad_wglLoadDisplayColorTableEXT = (PFNWGLLOADDISPLAYCOLORTABLEEXTPROC)load("wglLoadDisplayColorTableEXT");
+	glad_wglBindDisplayColorTableEXT = (PFNWGLBINDDISPLAYCOLORTABLEEXTPROC)load("wglBindDisplayColorTableEXT");
+	glad_wglDestroyDisplayColorTableEXT = (PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC)load("wglDestroyDisplayColorTableEXT");
+}
+static void load_WGL_NV_video_output(GLADloadproc load) {
+	if(!GLAD_WGL_NV_video_output) return;
+	glad_wglGetVideoDeviceNV = (PFNWGLGETVIDEODEVICENVPROC)load("wglGetVideoDeviceNV");
+	glad_wglReleaseVideoDeviceNV = (PFNWGLRELEASEVIDEODEVICENVPROC)load("wglReleaseVideoDeviceNV");
+	glad_wglBindVideoImageNV = (PFNWGLBINDVIDEOIMAGENVPROC)load("wglBindVideoImageNV");
+	glad_wglReleaseVideoImageNV = (PFNWGLRELEASEVIDEOIMAGENVPROC)load("wglReleaseVideoImageNV");
+	glad_wglSendPbufferToVideoNV = (PFNWGLSENDPBUFFERTOVIDEONVPROC)load("wglSendPbufferToVideoNV");
+	glad_wglGetVideoInfoNV = (PFNWGLGETVIDEOINFONVPROC)load("wglGetVideoInfoNV");
+}
+static void load_WGL_I3D_gamma(GLADloadproc load) {
+	if(!GLAD_WGL_I3D_gamma) return;
+	glad_wglGetGammaTableParametersI3D = (PFNWGLGETGAMMATABLEPARAMETERSI3DPROC)load("wglGetGammaTableParametersI3D");
+	glad_wglSetGammaTableParametersI3D = (PFNWGLSETGAMMATABLEPARAMETERSI3DPROC)load("wglSetGammaTableParametersI3D");
+	glad_wglGetGammaTableI3D = (PFNWGLGETGAMMATABLEI3DPROC)load("wglGetGammaTableI3D");
+	glad_wglSetGammaTableI3D = (PFNWGLSETGAMMATABLEI3DPROC)load("wglSetGammaTableI3D");
+}
+static void load_WGL_NV_copy_image(GLADloadproc load) {
+	if(!GLAD_WGL_NV_copy_image) return;
+	glad_wglCopyImageSubDataNV = (PFNWGLCOPYIMAGESUBDATANVPROC)load("wglCopyImageSubDataNV");
+}
+static void load_WGL_NV_present_video(GLADloadproc load) {
+	if(!GLAD_WGL_NV_present_video) return;
+	glad_wglEnumerateVideoDevicesNV = (PFNWGLENUMERATEVIDEODEVICESNVPROC)load("wglEnumerateVideoDevicesNV");
+	glad_wglBindVideoDeviceNV = (PFNWGLBINDVIDEODEVICENVPROC)load("wglBindVideoDeviceNV");
+	glad_wglQueryCurrentContextNV = (PFNWGLQUERYCURRENTCONTEXTNVPROC)load("wglQueryCurrentContextNV");
+}
+static void load_WGL_ARB_make_current_read(GLADloadproc load) {
+	if(!GLAD_WGL_ARB_make_current_read) return;
+	glad_wglMakeContextCurrentARB = (PFNWGLMAKECONTEXTCURRENTARBPROC)load("wglMakeContextCurrentARB");
+	glad_wglGetCurrentReadDCARB = (PFNWGLGETCURRENTREADDCARBPROC)load("wglGetCurrentReadDCARB");
+}
+static void load_WGL_EXT_extensions_string(GLADloadproc load) {
+	if(!GLAD_WGL_EXT_extensions_string) return;
+	glad_wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)load("wglGetExtensionsStringEXT");
+}
+static void load_WGL_EXT_swap_control(GLADloadproc load) {
+	if(!GLAD_WGL_EXT_swap_control) return;
+	glad_wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)load("wglSwapIntervalEXT");
+	glad_wglGetSwapIntervalEXT = (PFNWGLGETSWAPINTERVALEXTPROC)load("wglGetSwapIntervalEXT");
+}
+static void load_WGL_I3D_digital_video_control(GLADloadproc load) {
+	if(!GLAD_WGL_I3D_digital_video_control) return;
+	glad_wglGetDigitalVideoParametersI3D = (PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC)load("wglGetDigitalVideoParametersI3D");
+	glad_wglSetDigitalVideoParametersI3D = (PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC)load("wglSetDigitalVideoParametersI3D");
+}
+static void load_WGL_ARB_pbuffer(GLADloadproc load) {
+	if(!GLAD_WGL_ARB_pbuffer) return;
+	glad_wglCreatePbufferARB = (PFNWGLCREATEPBUFFERARBPROC)load("wglCreatePbufferARB");
+	glad_wglGetPbufferDCARB = (PFNWGLGETPBUFFERDCARBPROC)load("wglGetPbufferDCARB");
+	glad_wglReleasePbufferDCARB = (PFNWGLRELEASEPBUFFERDCARBPROC)load("wglReleasePbufferDCARB");
+	glad_wglDestroyPbufferARB = (PFNWGLDESTROYPBUFFERARBPROC)load("wglDestroyPbufferARB");
+	glad_wglQueryPbufferARB = (PFNWGLQUERYPBUFFERARBPROC)load("wglQueryPbufferARB");
+}
+static void load_WGL_NV_vertex_array_range(GLADloadproc load) {
+	if(!GLAD_WGL_NV_vertex_array_range) return;
+	glad_wglAllocateMemoryNV = (PFNWGLALLOCATEMEMORYNVPROC)load("wglAllocateMemoryNV");
+	glad_wglFreeMemoryNV = (PFNWGLFREEMEMORYNVPROC)load("wglFreeMemoryNV");
+}
+static void load_WGL_AMD_gpu_association(GLADloadproc load) {
+	if(!GLAD_WGL_AMD_gpu_association) return;
+	glad_wglGetGPUIDsAMD = (PFNWGLGETGPUIDSAMDPROC)load("wglGetGPUIDsAMD");
+	glad_wglGetGPUInfoAMD = (PFNWGLGETGPUINFOAMDPROC)load("wglGetGPUInfoAMD");
+	glad_wglGetContextGPUIDAMD = (PFNWGLGETCONTEXTGPUIDAMDPROC)load("wglGetContextGPUIDAMD");
+	glad_wglCreateAssociatedContextAMD = (PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC)load("wglCreateAssociatedContextAMD");
+	glad_wglCreateAssociatedContextAttribsAMD = (PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)load("wglCreateAssociatedContextAttribsAMD");
+	glad_wglDeleteAssociatedContextAMD = (PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC)load("wglDeleteAssociatedContextAMD");
+	glad_wglMakeAssociatedContextCurrentAMD = (PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)load("wglMakeAssociatedContextCurrentAMD");
+	glad_wglGetCurrentAssociatedContextAMD = (PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)load("wglGetCurrentAssociatedContextAMD");
+	glad_wglBlitContextFramebufferAMD = (PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)load("wglBlitContextFramebufferAMD");
+}
+static void load_WGL_EXT_make_current_read(GLADloadproc load) {
+	if(!GLAD_WGL_EXT_make_current_read) return;
+	glad_wglMakeContextCurrentEXT = (PFNWGLMAKECONTEXTCURRENTEXTPROC)load("wglMakeContextCurrentEXT");
+	glad_wglGetCurrentReadDCEXT = (PFNWGLGETCURRENTREADDCEXTPROC)load("wglGetCurrentReadDCEXT");
+}
+static void load_WGL_I3D_swap_frame_lock(GLADloadproc load) {
+	if(!GLAD_WGL_I3D_swap_frame_lock) return;
+	glad_wglEnableFrameLockI3D = (PFNWGLENABLEFRAMELOCKI3DPROC)load("wglEnableFrameLockI3D");
+	glad_wglDisableFrameLockI3D = (PFNWGLDISABLEFRAMELOCKI3DPROC)load("wglDisableFrameLockI3D");
+	glad_wglIsEnabledFrameLockI3D = (PFNWGLISENABLEDFRAMELOCKI3DPROC)load("wglIsEnabledFrameLockI3D");
+	glad_wglQueryFrameLockMasterI3D = (PFNWGLQUERYFRAMELOCKMASTERI3DPROC)load("wglQueryFrameLockMasterI3D");
+}
+static void load_WGL_ARB_buffer_region(GLADloadproc load) {
+	if(!GLAD_WGL_ARB_buffer_region) return;
+	glad_wglCreateBufferRegionARB = (PFNWGLCREATEBUFFERREGIONARBPROC)load("wglCreateBufferRegionARB");
+	glad_wglDeleteBufferRegionARB = (PFNWGLDELETEBUFFERREGIONARBPROC)load("wglDeleteBufferRegionARB");
+	glad_wglSaveBufferRegionARB = (PFNWGLSAVEBUFFERREGIONARBPROC)load("wglSaveBufferRegionARB");
+	glad_wglRestoreBufferRegionARB = (PFNWGLRESTOREBUFFERREGIONARBPROC)load("wglRestoreBufferRegionARB");
+}
+static void find_extensionsWGL(void) {
+	GLAD_WGL_NV_multisample_coverage = has_ext("WGL_NV_multisample_coverage");
+	GLAD_WGL_I3D_image_buffer = has_ext("WGL_I3D_image_buffer");
+	GLAD_WGL_I3D_swap_frame_usage = has_ext("WGL_I3D_swap_frame_usage");
+	GLAD_WGL_NV_DX_interop2 = has_ext("WGL_NV_DX_interop2");
+	GLAD_WGL_NV_float_buffer = has_ext("WGL_NV_float_buffer");
+	GLAD_WGL_NV_delay_before_swap = has_ext("WGL_NV_delay_before_swap");
+	GLAD_WGL_OML_sync_control = has_ext("WGL_OML_sync_control");
+	GLAD_WGL_ARB_pixel_format_float = has_ext("WGL_ARB_pixel_format_float");
+	GLAD_WGL_ARB_create_context = has_ext("WGL_ARB_create_context");
+	GLAD_WGL_NV_swap_group = has_ext("WGL_NV_swap_group");
+	GLAD_WGL_NV_gpu_affinity = has_ext("WGL_NV_gpu_affinity");
+	GLAD_WGL_EXT_pixel_format = has_ext("WGL_EXT_pixel_format");
+	GLAD_WGL_ARB_extensions_string = has_ext("WGL_ARB_extensions_string");
+	GLAD_WGL_NV_video_capture = has_ext("WGL_NV_video_capture");
+	GLAD_WGL_NV_render_texture_rectangle = has_ext("WGL_NV_render_texture_rectangle");
+	GLAD_WGL_EXT_create_context_es_profile = has_ext("WGL_EXT_create_context_es_profile");
+	GLAD_WGL_ARB_robustness_share_group_isolation = has_ext("WGL_ARB_robustness_share_group_isolation");
+	GLAD_WGL_ARB_render_texture = has_ext("WGL_ARB_render_texture");
+	GLAD_WGL_EXT_depth_float = has_ext("WGL_EXT_depth_float");
+	GLAD_WGL_EXT_swap_control_tear = has_ext("WGL_EXT_swap_control_tear");
+	GLAD_WGL_ARB_pixel_format = has_ext("WGL_ARB_pixel_format");
+	GLAD_WGL_ARB_multisample = has_ext("WGL_ARB_multisample");
+	GLAD_WGL_I3D_genlock = has_ext("WGL_I3D_genlock");
+	GLAD_WGL_NV_DX_interop = has_ext("WGL_NV_DX_interop");
+	GLAD_WGL_3DL_stereo_control = has_ext("WGL_3DL_stereo_control");
+	GLAD_WGL_EXT_pbuffer = has_ext("WGL_EXT_pbuffer");
+	GLAD_WGL_EXT_display_color_table = has_ext("WGL_EXT_display_color_table");
+	GLAD_WGL_NV_video_output = has_ext("WGL_NV_video_output");
+	GLAD_WGL_ARB_robustness_application_isolation = has_ext("WGL_ARB_robustness_application_isolation");
+	GLAD_WGL_3DFX_multisample = has_ext("WGL_3DFX_multisample");
+	GLAD_WGL_I3D_gamma = has_ext("WGL_I3D_gamma");
+	GLAD_WGL_ARB_framebuffer_sRGB = has_ext("WGL_ARB_framebuffer_sRGB");
+	GLAD_WGL_NV_copy_image = has_ext("WGL_NV_copy_image");
+	GLAD_WGL_EXT_framebuffer_sRGB = has_ext("WGL_EXT_framebuffer_sRGB");
+	GLAD_WGL_NV_present_video = has_ext("WGL_NV_present_video");
+	GLAD_WGL_EXT_create_context_es2_profile = has_ext("WGL_EXT_create_context_es2_profile");
+	GLAD_WGL_ARB_create_context_robustness = has_ext("WGL_ARB_create_context_robustness");
+	GLAD_WGL_ARB_make_current_read = has_ext("WGL_ARB_make_current_read");
+	GLAD_WGL_EXT_multisample = has_ext("WGL_EXT_multisample");
+	GLAD_WGL_EXT_extensions_string = has_ext("WGL_EXT_extensions_string");
+	GLAD_WGL_NV_render_depth_texture = has_ext("WGL_NV_render_depth_texture");
+	GLAD_WGL_ATI_pixel_format_float = has_ext("WGL_ATI_pixel_format_float");
+	GLAD_WGL_ARB_create_context_profile = has_ext("WGL_ARB_create_context_profile");
+	GLAD_WGL_EXT_swap_control = has_ext("WGL_EXT_swap_control");
+	GLAD_WGL_I3D_digital_video_control = has_ext("WGL_I3D_digital_video_control");
+	GLAD_WGL_ARB_pbuffer = has_ext("WGL_ARB_pbuffer");
+	GLAD_WGL_NV_vertex_array_range = has_ext("WGL_NV_vertex_array_range");
+	GLAD_WGL_AMD_gpu_association = has_ext("WGL_AMD_gpu_association");
+	GLAD_WGL_EXT_pixel_format_packed_float = has_ext("WGL_EXT_pixel_format_packed_float");
+	GLAD_WGL_EXT_make_current_read = has_ext("WGL_EXT_make_current_read");
+	GLAD_WGL_I3D_swap_frame_lock = has_ext("WGL_I3D_swap_frame_lock");
+	GLAD_WGL_ARB_buffer_region = has_ext("WGL_ARB_buffer_region");
+}
+
+static void find_coreWGL(HDC hdc) {
+	int major = 9;
+	int minor = 9;
+	GLADWGLhdc = hdc;
+}
+
+void gladLoadWGLLoader(GLADloadproc load, HDC hdc) {
+	wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)load("wglGetExtensionsStringARB");
+	wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)load("wglGetExtensionsStringEXT");
+	if(wglGetExtensionsStringARB == NULL && wglGetExtensionsStringEXT == NULL) return;
+	find_coreWGL(hdc);
+
+	find_extensionsWGL();
+	load_WGL_I3D_image_buffer(load);
+	load_WGL_I3D_swap_frame_usage(load);
+	load_WGL_NV_delay_before_swap(load);
+	load_WGL_OML_sync_control(load);
+	load_WGL_ARB_create_context(load);
+	load_WGL_NV_swap_group(load);
+	load_WGL_NV_gpu_affinity(load);
+	load_WGL_EXT_pixel_format(load);
+	load_WGL_ARB_extensions_string(load);
+	load_WGL_NV_video_capture(load);
+	load_WGL_ARB_render_texture(load);
+	load_WGL_ARB_pixel_format(load);
+	load_WGL_I3D_genlock(load);
+	load_WGL_NV_DX_interop(load);
+	load_WGL_3DL_stereo_control(load);
+	load_WGL_EXT_pbuffer(load);
+	load_WGL_EXT_display_color_table(load);
+	load_WGL_NV_video_output(load);
+	load_WGL_I3D_gamma(load);
+	load_WGL_NV_copy_image(load);
+	load_WGL_NV_present_video(load);
+	load_WGL_ARB_make_current_read(load);
+	load_WGL_EXT_extensions_string(load);
+	load_WGL_EXT_swap_control(load);
+	load_WGL_I3D_digital_video_control(load);
+	load_WGL_ARB_pbuffer(load);
+	load_WGL_NV_vertex_array_range(load);
+	load_WGL_AMD_gpu_association(load);
+	load_WGL_EXT_make_current_read(load);
+	load_WGL_I3D_swap_frame_lock(load);
+	load_WGL_ARB_buffer_region(load);
+
+	return;
+}
+