summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2024-06-15 11:43:47 -0700
committer3gg <3gg@shellblade.net>2024-06-15 11:43:47 -0700
commitbc11af703e622dcc95ac337ad1a68db2d4cc16c0 (patch)
treeec2ad303bb5a9ef1983b3e2f6fe88aec25a8d4a5 /app
parent6dedc3c72f0772bee98a3e2dd01430603e8b2d58 (diff)
Move glad initialization to gfx-app.
Diffstat (limited to 'app')
-rw-r--r--app/CMakeLists.txt3
-rw-r--r--app/contrib/glad.zipbin0 -> 369997 bytes
-rw-r--r--app/contrib/glad/CMakeLists.txt9
-rw-r--r--app/contrib/glad/README.md10
-rw-r--r--app/contrib/glad/include/KHR/khrplatform.h290
-rw-r--r--app/contrib/glad/include/glad/glad.h3773
-rw-r--r--app/contrib/glad/src/glad.c2277
-rw-r--r--app/include/gfx/app.h18
-rw-r--r--app/src/app.c8
9 files changed, 6383 insertions, 5 deletions
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 7e60351..4db314d 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -1,5 +1,7 @@
1cmake_minimum_required(VERSION 3.0) 1cmake_minimum_required(VERSION 3.0)
2 2
3add_subdirectory(contrib/glad)
4
3project(gfx-app) 5project(gfx-app)
4 6
5add_library(gfx-app 7add_library(gfx-app
@@ -9,6 +11,7 @@ target_include_directories(gfx-app PUBLIC
9 include/) 11 include/)
10 12
11target_link_libraries(gfx-app PUBLIC 13target_link_libraries(gfx-app PUBLIC
14 glad
12 glfw 15 glfw
13 log 16 log
14 timer) 17 timer)
diff --git a/app/contrib/glad.zip b/app/contrib/glad.zip
new file mode 100644
index 0000000..d5d3564
--- /dev/null
+++ b/app/contrib/glad.zip
Binary files differ
diff --git a/app/contrib/glad/CMakeLists.txt b/app/contrib/glad/CMakeLists.txt
new file mode 100644
index 0000000..08b550c
--- /dev/null
+++ b/app/contrib/glad/CMakeLists.txt
@@ -0,0 +1,9 @@
1cmake_minimum_required(VERSION 3.16)
2
3project(glad)
4
5add_library(glad
6 src/glad.c)
7
8target_include_directories(glad PUBLIC
9 include)
diff --git a/app/contrib/glad/README.md b/app/contrib/glad/README.md
new file mode 100644
index 0000000..a0c9908
--- /dev/null
+++ b/app/contrib/glad/README.md
@@ -0,0 +1,10 @@
1# GLAD
2
3[GLAD OpenGL file loader](https://glad.dav1d.de/)
4
5Spec: OpenGL
6Profile: Core
7
8GL: 4.6
9GLES1: None
10GLES2: 3.2
diff --git a/app/contrib/glad/include/KHR/khrplatform.h b/app/contrib/glad/include/KHR/khrplatform.h
new file mode 100644
index 0000000..dd22d92
--- /dev/null
+++ b/app/contrib/glad/include/KHR/khrplatform.h
@@ -0,0 +1,290 @@
1#ifndef __khrplatform_h_
2#define __khrplatform_h_
3
4/*
5** Copyright (c) 2008-2018 The Khronos Group Inc.
6**
7** Permission is hereby granted, free of charge, to any person obtaining a
8** copy of this software and/or associated documentation files (the
9** "Materials"), to deal in the Materials without restriction, including
10** without limitation the rights to use, copy, modify, merge, publish,
11** distribute, sublicense, and/or sell copies of the Materials, and to
12** permit persons to whom the Materials are furnished to do so, subject to
13** the following conditions:
14**
15** The above copyright notice and this permission notice shall be included
16** in all copies or substantial portions of the Materials.
17**
18** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
25*/
26
27/* Khronos platform-specific types and definitions.
28 *
29 * The master copy of khrplatform.h is maintained in the Khronos EGL
30 * Registry repository at https://github.com/KhronosGroup/EGL-Registry
31 * The last semantic modification to khrplatform.h was at commit ID:
32 * 67a3e0864c2d75ea5287b9f3d2eb74a745936692
33 *
34 * Adopters may modify this file to suit their platform. Adopters are
35 * encouraged to submit platform specific modifications to the Khronos
36 * group so that they can be included in future versions of this file.
37 * Please submit changes by filing pull requests or issues on
38 * the EGL Registry repository linked above.
39 *
40 *
41 * See the Implementer's Guidelines for information about where this file
42 * should be located on your system and for more details of its use:
43 * http://www.khronos.org/registry/implementers_guide.pdf
44 *
45 * This file should be included as
46 * #include <KHR/khrplatform.h>
47 * by Khronos client API header files that use its types and defines.
48 *
49 * The types in khrplatform.h should only be used to define API-specific types.
50 *
51 * Types defined in khrplatform.h:
52 * khronos_int8_t signed 8 bit
53 * khronos_uint8_t unsigned 8 bit
54 * khronos_int16_t signed 16 bit
55 * khronos_uint16_t unsigned 16 bit
56 * khronos_int32_t signed 32 bit
57 * khronos_uint32_t unsigned 32 bit
58 * khronos_int64_t signed 64 bit
59 * khronos_uint64_t unsigned 64 bit
60 * khronos_intptr_t signed same number of bits as a pointer
61 * khronos_uintptr_t unsigned same number of bits as a pointer
62 * khronos_ssize_t signed size
63 * khronos_usize_t unsigned size
64 * khronos_float_t signed 32 bit floating point
65 * khronos_time_ns_t unsigned 64 bit time in nanoseconds
66 * khronos_utime_nanoseconds_t unsigned time interval or absolute time in
67 * nanoseconds
68 * khronos_stime_nanoseconds_t signed time interval in nanoseconds
69 * khronos_boolean_enum_t enumerated boolean type. This should
70 * only be used as a base type when a client API's boolean type is
71 * an enum. Client APIs which use an integer or other type for
72 * booleans cannot use this as the base type for their boolean.
73 *
74 * Tokens defined in khrplatform.h:
75 *
76 * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
77 *
78 * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
79 * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
80 *
81 * Calling convention macros defined in this file:
82 * KHRONOS_APICALL
83 * KHRONOS_APIENTRY
84 * KHRONOS_APIATTRIBUTES
85 *
86 * These may be used in function prototypes as:
87 *
88 * KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
89 * int arg1,
90 * int arg2) KHRONOS_APIATTRIBUTES;
91 */
92
93#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
94# define KHRONOS_STATIC 1
95#endif
96
97/*-------------------------------------------------------------------------
98 * Definition of KHRONOS_APICALL
99 *-------------------------------------------------------------------------
100 * This precedes the return type of the function in the function prototype.
101 */
102#if defined(KHRONOS_STATIC)
103 /* If the preprocessor constant KHRONOS_STATIC is defined, make the
104 * header compatible with static linking. */
105# define KHRONOS_APICALL
106#elif defined(_WIN32)
107# define KHRONOS_APICALL __declspec(dllimport)
108#elif defined (__SYMBIAN32__)
109# define KHRONOS_APICALL IMPORT_C
110#elif defined(__ANDROID__)
111# define KHRONOS_APICALL __attribute__((visibility("default")))
112#else
113# define KHRONOS_APICALL
114#endif
115
116/*-------------------------------------------------------------------------
117 * Definition of KHRONOS_APIENTRY
118 *-------------------------------------------------------------------------
119 * This follows the return type of the function and precedes the function
120 * name in the function prototype.
121 */
122#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
123 /* Win32 but not WinCE */
124# define KHRONOS_APIENTRY __stdcall
125#else
126# define KHRONOS_APIENTRY
127#endif
128
129/*-------------------------------------------------------------------------
130 * Definition of KHRONOS_APIATTRIBUTES
131 *-------------------------------------------------------------------------
132 * This follows the closing parenthesis of the function prototype arguments.
133 */
134#if defined (__ARMCC_2__)
135#define KHRONOS_APIATTRIBUTES __softfp
136#else
137#define KHRONOS_APIATTRIBUTES
138#endif
139
140/*-------------------------------------------------------------------------
141 * basic type definitions
142 *-----------------------------------------------------------------------*/
143#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
144
145
146/*
147 * Using <stdint.h>
148 */
149#include <stdint.h>
150typedef int32_t khronos_int32_t;
151typedef uint32_t khronos_uint32_t;
152typedef int64_t khronos_int64_t;
153typedef uint64_t khronos_uint64_t;
154#define KHRONOS_SUPPORT_INT64 1
155#define KHRONOS_SUPPORT_FLOAT 1
156
157#elif defined(__VMS ) || defined(__sgi)
158
159/*
160 * Using <inttypes.h>
161 */
162#include <inttypes.h>
163typedef int32_t khronos_int32_t;
164typedef uint32_t khronos_uint32_t;
165typedef int64_t khronos_int64_t;
166typedef uint64_t khronos_uint64_t;
167#define KHRONOS_SUPPORT_INT64 1
168#define KHRONOS_SUPPORT_FLOAT 1
169
170#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
171
172/*
173 * Win32
174 */
175typedef __int32 khronos_int32_t;
176typedef unsigned __int32 khronos_uint32_t;
177typedef __int64 khronos_int64_t;
178typedef unsigned __int64 khronos_uint64_t;
179#define KHRONOS_SUPPORT_INT64 1
180#define KHRONOS_SUPPORT_FLOAT 1
181
182#elif defined(__sun__) || defined(__digital__)
183
184/*
185 * Sun or Digital
186 */
187typedef int khronos_int32_t;
188typedef unsigned int khronos_uint32_t;
189#if defined(__arch64__) || defined(_LP64)
190typedef long int khronos_int64_t;
191typedef unsigned long int khronos_uint64_t;
192#else
193typedef long long int khronos_int64_t;
194typedef unsigned long long int khronos_uint64_t;
195#endif /* __arch64__ */
196#define KHRONOS_SUPPORT_INT64 1
197#define KHRONOS_SUPPORT_FLOAT 1
198
199#elif 0
200
201/*
202 * Hypothetical platform with no float or int64 support
203 */
204typedef int khronos_int32_t;
205typedef unsigned int khronos_uint32_t;
206#define KHRONOS_SUPPORT_INT64 0
207#define KHRONOS_SUPPORT_FLOAT 0
208
209#else
210
211/*
212 * Generic fallback
213 */
214#include <stdint.h>
215typedef int32_t khronos_int32_t;
216typedef uint32_t khronos_uint32_t;
217typedef int64_t khronos_int64_t;
218typedef uint64_t khronos_uint64_t;
219#define KHRONOS_SUPPORT_INT64 1
220#define KHRONOS_SUPPORT_FLOAT 1
221
222#endif
223
224
225/*
226 * Types that are (so far) the same on all platforms
227 */
228typedef signed char khronos_int8_t;
229typedef unsigned char khronos_uint8_t;
230typedef signed short int khronos_int16_t;
231typedef unsigned short int khronos_uint16_t;
232
233/*
234 * Types that differ between LLP64 and LP64 architectures - in LLP64,
235 * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
236 * to be the only LLP64 architecture in current use.
237 */
238#ifdef _WIN64
239typedef signed long long int khronos_intptr_t;
240typedef unsigned long long int khronos_uintptr_t;
241typedef signed long long int khronos_ssize_t;
242typedef unsigned long long int khronos_usize_t;
243#else
244typedef signed long int khronos_intptr_t;
245typedef unsigned long int khronos_uintptr_t;
246typedef signed long int khronos_ssize_t;
247typedef unsigned long int khronos_usize_t;
248#endif
249
250#if KHRONOS_SUPPORT_FLOAT
251/*
252 * Float type
253 */
254typedef float khronos_float_t;
255#endif
256
257#if KHRONOS_SUPPORT_INT64
258/* Time types
259 *
260 * These types can be used to represent a time interval in nanoseconds or
261 * an absolute Unadjusted System Time. Unadjusted System Time is the number
262 * of nanoseconds since some arbitrary system event (e.g. since the last
263 * time the system booted). The Unadjusted System Time is an unsigned
264 * 64 bit value that wraps back to 0 every 584 years. Time intervals
265 * may be either signed or unsigned.
266 */
267typedef khronos_uint64_t khronos_utime_nanoseconds_t;
268typedef khronos_int64_t khronos_stime_nanoseconds_t;
269#endif
270
271/*
272 * Dummy value used to pad enum types to 32 bits.
273 */
274#ifndef KHRONOS_MAX_ENUM
275#define KHRONOS_MAX_ENUM 0x7FFFFFFF
276#endif
277
278/*
279 * Enumerated boolean type
280 *
281 * Values other than zero should be considered to be true. Therefore
282 * comparisons should not be made against KHRONOS_TRUE.
283 */
284typedef enum {
285 KHRONOS_FALSE = 0,
286 KHRONOS_TRUE = 1,
287 KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
288} khronos_boolean_enum_t;
289
290#endif /* __khrplatform_h_ */
diff --git a/app/contrib/glad/include/glad/glad.h b/app/contrib/glad/include/glad/glad.h
new file mode 100644
index 0000000..0556552
--- /dev/null
+++ b/app/contrib/glad/include/glad/glad.h
@@ -0,0 +1,3773 @@
1/*
2
3 OpenGL, OpenGL ES loader generated by glad 0.1.33 on Sun Aug 30 00:22:38 2020.
4
5 Language/Generator: C/C++
6 Specification: gl
7 APIs: gl=4.6, gles2=3.2
8 Profile: core
9 Extensions:
10
11 Loader: True
12 Local files: False
13 Omit khrplatform: False
14 Reproducible: False
15
16 Commandline:
17 --profile="core" --api="gl=4.6,gles2=3.2" --generator="c" --spec="gl" --extensions=""
18 Online:
19 https://glad.dav1d.de/#profile=core&language=c&specification=gl&loader=on&api=gl%3D4.6&api=gles2%3D3.2
20*/
21
22
23#ifndef __glad_h_
24#define __glad_h_
25
26#ifdef __gl_h_
27#error OpenGL header already included, remove this include, glad already provides it
28#endif
29#define __gl_h_
30
31#ifdef __gl2_h_
32#error OpenGL ES 2 header already included, remove this include, glad already provides it
33#endif
34#define __gl2_h_
35
36#ifdef __gl3_h_
37#error OpenGL ES 3 header already included, remove this include, glad already provides it
38#endif
39#define __gl3_h_
40
41#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
42#define APIENTRY __stdcall
43#endif
44
45#ifndef APIENTRY
46#define APIENTRY
47#endif
48#ifndef APIENTRYP
49#define APIENTRYP APIENTRY *
50#endif
51
52#ifndef GLAPIENTRY
53#define GLAPIENTRY APIENTRY
54#endif
55
56#ifdef __cplusplus
57extern "C" {
58#endif
59
60struct gladGLversionStruct {
61 int major;
62 int minor;
63};
64
65typedef void* (* GLADloadproc)(const char *name);
66
67#ifndef GLAPI
68# if defined(GLAD_GLAPI_EXPORT)
69# if defined(_WIN32) || defined(__CYGWIN__)
70# if defined(GLAD_GLAPI_EXPORT_BUILD)
71# if defined(__GNUC__)
72# define GLAPI __attribute__ ((dllexport)) extern
73# else
74# define GLAPI __declspec(dllexport) extern
75# endif
76# else
77# if defined(__GNUC__)
78# define GLAPI __attribute__ ((dllimport)) extern
79# else
80# define GLAPI __declspec(dllimport) extern
81# endif
82# endif
83# elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD)
84# define GLAPI __attribute__ ((visibility ("default"))) extern
85# else
86# define GLAPI extern
87# endif
88# else
89# define GLAPI extern
90# endif
91#endif
92
93GLAPI struct gladGLversionStruct GLVersion;
94
95GLAPI int gladLoadGL(void);
96
97GLAPI int gladLoadGLLoader(GLADloadproc);
98
99GLAPI int gladLoadGLES2Loader(GLADloadproc);
100
101#include <KHR/khrplatform.h>
102typedef unsigned int GLenum;
103typedef unsigned char GLboolean;
104typedef unsigned int GLbitfield;
105typedef void GLvoid;
106typedef khronos_int8_t GLbyte;
107typedef khronos_uint8_t GLubyte;
108typedef khronos_int16_t GLshort;
109typedef khronos_uint16_t GLushort;
110typedef int GLint;
111typedef unsigned int GLuint;
112typedef khronos_int32_t GLclampx;
113typedef int GLsizei;
114typedef khronos_float_t GLfloat;
115typedef khronos_float_t GLclampf;
116typedef double GLdouble;
117typedef double GLclampd;
118typedef void *GLeglClientBufferEXT;
119typedef void *GLeglImageOES;
120typedef char GLchar;
121typedef char GLcharARB;
122#ifdef __APPLE__
123typedef void *GLhandleARB;
124#else
125typedef unsigned int GLhandleARB;
126#endif
127typedef khronos_uint16_t GLhalf;
128typedef khronos_uint16_t GLhalfARB;
129typedef khronos_int32_t GLfixed;
130typedef khronos_intptr_t GLintptr;
131typedef khronos_intptr_t GLintptrARB;
132typedef khronos_ssize_t GLsizeiptr;
133typedef khronos_ssize_t GLsizeiptrARB;
134typedef khronos_int64_t GLint64;
135typedef khronos_int64_t GLint64EXT;
136typedef khronos_uint64_t GLuint64;
137typedef khronos_uint64_t GLuint64EXT;
138typedef struct __GLsync *GLsync;
139struct _cl_context;
140struct _cl_event;
141typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
142typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
143typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
144typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
145typedef unsigned short GLhalfNV;
146typedef GLintptr GLvdpauSurfaceNV;
147typedef void (APIENTRY *GLVULKANPROCNV)(void);
148#define GL_DEPTH_BUFFER_BIT 0x00000100
149#define GL_STENCIL_BUFFER_BIT 0x00000400
150#define GL_COLOR_BUFFER_BIT 0x00004000
151#define GL_FALSE 0
152#define GL_TRUE 1
153#define GL_POINTS 0x0000
154#define GL_LINES 0x0001
155#define GL_LINE_LOOP 0x0002
156#define GL_LINE_STRIP 0x0003
157#define GL_TRIANGLES 0x0004
158#define GL_TRIANGLE_STRIP 0x0005
159#define GL_TRIANGLE_FAN 0x0006
160#define GL_NEVER 0x0200
161#define GL_LESS 0x0201
162#define GL_EQUAL 0x0202
163#define GL_LEQUAL 0x0203
164#define GL_GREATER 0x0204
165#define GL_NOTEQUAL 0x0205
166#define GL_GEQUAL 0x0206
167#define GL_ALWAYS 0x0207
168#define GL_ZERO 0
169#define GL_ONE 1
170#define GL_SRC_COLOR 0x0300
171#define GL_ONE_MINUS_SRC_COLOR 0x0301
172#define GL_SRC_ALPHA 0x0302
173#define GL_ONE_MINUS_SRC_ALPHA 0x0303
174#define GL_DST_ALPHA 0x0304
175#define GL_ONE_MINUS_DST_ALPHA 0x0305
176#define GL_DST_COLOR 0x0306
177#define GL_ONE_MINUS_DST_COLOR 0x0307
178#define GL_SRC_ALPHA_SATURATE 0x0308
179#define GL_NONE 0
180#define GL_FRONT_LEFT 0x0400
181#define GL_FRONT_RIGHT 0x0401
182#define GL_BACK_LEFT 0x0402
183#define GL_BACK_RIGHT 0x0403
184#define GL_FRONT 0x0404
185#define GL_BACK 0x0405
186#define GL_LEFT 0x0406
187#define GL_RIGHT 0x0407
188#define GL_FRONT_AND_BACK 0x0408
189#define GL_NO_ERROR 0
190#define GL_INVALID_ENUM 0x0500
191#define GL_INVALID_VALUE 0x0501
192#define GL_INVALID_OPERATION 0x0502
193#define GL_OUT_OF_MEMORY 0x0505
194#define GL_CW 0x0900
195#define GL_CCW 0x0901
196#define GL_POINT_SIZE 0x0B11
197#define GL_POINT_SIZE_RANGE 0x0B12
198#define GL_POINT_SIZE_GRANULARITY 0x0B13
199#define GL_LINE_SMOOTH 0x0B20
200#define GL_LINE_WIDTH 0x0B21
201#define GL_LINE_WIDTH_RANGE 0x0B22
202#define GL_LINE_WIDTH_GRANULARITY 0x0B23
203#define GL_POLYGON_MODE 0x0B40
204#define GL_POLYGON_SMOOTH 0x0B41
205#define GL_CULL_FACE 0x0B44
206#define GL_CULL_FACE_MODE 0x0B45
207#define GL_FRONT_FACE 0x0B46
208#define GL_DEPTH_RANGE 0x0B70
209#define GL_DEPTH_TEST 0x0B71
210#define GL_DEPTH_WRITEMASK 0x0B72
211#define GL_DEPTH_CLEAR_VALUE 0x0B73
212#define GL_DEPTH_FUNC 0x0B74
213#define GL_STENCIL_TEST 0x0B90
214#define GL_STENCIL_CLEAR_VALUE 0x0B91
215#define GL_STENCIL_FUNC 0x0B92
216#define GL_STENCIL_VALUE_MASK 0x0B93
217#define GL_STENCIL_FAIL 0x0B94
218#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
219#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
220#define GL_STENCIL_REF 0x0B97
221#define GL_STENCIL_WRITEMASK 0x0B98
222#define GL_VIEWPORT 0x0BA2
223#define GL_DITHER 0x0BD0
224#define GL_BLEND_DST 0x0BE0
225#define GL_BLEND_SRC 0x0BE1
226#define GL_BLEND 0x0BE2
227#define GL_LOGIC_OP_MODE 0x0BF0
228#define GL_DRAW_BUFFER 0x0C01
229#define GL_READ_BUFFER 0x0C02
230#define GL_SCISSOR_BOX 0x0C10
231#define GL_SCISSOR_TEST 0x0C11
232#define GL_COLOR_CLEAR_VALUE 0x0C22
233#define GL_COLOR_WRITEMASK 0x0C23
234#define GL_DOUBLEBUFFER 0x0C32
235#define GL_STEREO 0x0C33
236#define GL_LINE_SMOOTH_HINT 0x0C52
237#define GL_POLYGON_SMOOTH_HINT 0x0C53
238#define GL_UNPACK_SWAP_BYTES 0x0CF0
239#define GL_UNPACK_LSB_FIRST 0x0CF1
240#define GL_UNPACK_ROW_LENGTH 0x0CF2
241#define GL_UNPACK_SKIP_ROWS 0x0CF3
242#define GL_UNPACK_SKIP_PIXELS 0x0CF4
243#define GL_UNPACK_ALIGNMENT 0x0CF5
244#define GL_PACK_SWAP_BYTES 0x0D00
245#define GL_PACK_LSB_FIRST 0x0D01
246#define GL_PACK_ROW_LENGTH 0x0D02
247#define GL_PACK_SKIP_ROWS 0x0D03
248#define GL_PACK_SKIP_PIXELS 0x0D04
249#define GL_PACK_ALIGNMENT 0x0D05
250#define GL_MAX_TEXTURE_SIZE 0x0D33
251#define GL_MAX_VIEWPORT_DIMS 0x0D3A
252#define GL_SUBPIXEL_BITS 0x0D50
253#define GL_TEXTURE_1D 0x0DE0
254#define GL_TEXTURE_2D 0x0DE1
255#define GL_TEXTURE_WIDTH 0x1000
256#define GL_TEXTURE_HEIGHT 0x1001
257#define GL_TEXTURE_BORDER_COLOR 0x1004
258#define GL_DONT_CARE 0x1100
259#define GL_FASTEST 0x1101
260#define GL_NICEST 0x1102
261#define GL_BYTE 0x1400
262#define GL_UNSIGNED_BYTE 0x1401
263#define GL_SHORT 0x1402
264#define GL_UNSIGNED_SHORT 0x1403
265#define GL_INT 0x1404
266#define GL_UNSIGNED_INT 0x1405
267#define GL_FLOAT 0x1406
268#define GL_CLEAR 0x1500
269#define GL_AND 0x1501
270#define GL_AND_REVERSE 0x1502
271#define GL_COPY 0x1503
272#define GL_AND_INVERTED 0x1504
273#define GL_NOOP 0x1505
274#define GL_XOR 0x1506
275#define GL_OR 0x1507
276#define GL_NOR 0x1508
277#define GL_EQUIV 0x1509
278#define GL_INVERT 0x150A
279#define GL_OR_REVERSE 0x150B
280#define GL_COPY_INVERTED 0x150C
281#define GL_OR_INVERTED 0x150D
282#define GL_NAND 0x150E
283#define GL_SET 0x150F
284#define GL_TEXTURE 0x1702
285#define GL_COLOR 0x1800
286#define GL_DEPTH 0x1801
287#define GL_STENCIL 0x1802
288#define GL_STENCIL_INDEX 0x1901
289#define GL_DEPTH_COMPONENT 0x1902
290#define GL_RED 0x1903
291#define GL_GREEN 0x1904
292#define GL_BLUE 0x1905
293#define GL_ALPHA 0x1906
294#define GL_RGB 0x1907
295#define GL_RGBA 0x1908
296#define GL_POINT 0x1B00
297#define GL_LINE 0x1B01
298#define GL_FILL 0x1B02
299#define GL_KEEP 0x1E00
300#define GL_REPLACE 0x1E01
301#define GL_INCR 0x1E02
302#define GL_DECR 0x1E03
303#define GL_VENDOR 0x1F00
304#define GL_RENDERER 0x1F01
305#define GL_VERSION 0x1F02
306#define GL_EXTENSIONS 0x1F03
307#define GL_NEAREST 0x2600
308#define GL_LINEAR 0x2601
309#define GL_NEAREST_MIPMAP_NEAREST 0x2700
310#define GL_LINEAR_MIPMAP_NEAREST 0x2701
311#define GL_NEAREST_MIPMAP_LINEAR 0x2702
312#define GL_LINEAR_MIPMAP_LINEAR 0x2703
313#define GL_TEXTURE_MAG_FILTER 0x2800
314#define GL_TEXTURE_MIN_FILTER 0x2801
315#define GL_TEXTURE_WRAP_S 0x2802
316#define GL_TEXTURE_WRAP_T 0x2803
317#define GL_REPEAT 0x2901
318#define GL_COLOR_LOGIC_OP 0x0BF2
319#define GL_POLYGON_OFFSET_UNITS 0x2A00
320#define GL_POLYGON_OFFSET_POINT 0x2A01
321#define GL_POLYGON_OFFSET_LINE 0x2A02
322#define GL_POLYGON_OFFSET_FILL 0x8037
323#define GL_POLYGON_OFFSET_FACTOR 0x8038
324#define GL_TEXTURE_BINDING_1D 0x8068
325#define GL_TEXTURE_BINDING_2D 0x8069
326#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
327#define GL_TEXTURE_RED_SIZE 0x805C
328#define GL_TEXTURE_GREEN_SIZE 0x805D
329#define GL_TEXTURE_BLUE_SIZE 0x805E
330#define GL_TEXTURE_ALPHA_SIZE 0x805F
331#define GL_DOUBLE 0x140A
332#define GL_PROXY_TEXTURE_1D 0x8063
333#define GL_PROXY_TEXTURE_2D 0x8064
334#define GL_R3_G3_B2 0x2A10
335#define GL_RGB4 0x804F
336#define GL_RGB5 0x8050
337#define GL_RGB8 0x8051
338#define GL_RGB10 0x8052
339#define GL_RGB12 0x8053
340#define GL_RGB16 0x8054
341#define GL_RGBA2 0x8055
342#define GL_RGBA4 0x8056
343#define GL_RGB5_A1 0x8057
344#define GL_RGBA8 0x8058
345#define GL_RGB10_A2 0x8059
346#define GL_RGBA12 0x805A
347#define GL_RGBA16 0x805B
348#define GL_UNSIGNED_BYTE_3_3_2 0x8032
349#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
350#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
351#define GL_UNSIGNED_INT_8_8_8_8 0x8035
352#define GL_UNSIGNED_INT_10_10_10_2 0x8036
353#define GL_TEXTURE_BINDING_3D 0x806A
354#define GL_PACK_SKIP_IMAGES 0x806B
355#define GL_PACK_IMAGE_HEIGHT 0x806C
356#define GL_UNPACK_SKIP_IMAGES 0x806D
357#define GL_UNPACK_IMAGE_HEIGHT 0x806E
358#define GL_TEXTURE_3D 0x806F
359#define GL_PROXY_TEXTURE_3D 0x8070
360#define GL_TEXTURE_DEPTH 0x8071
361#define GL_TEXTURE_WRAP_R 0x8072
362#define GL_MAX_3D_TEXTURE_SIZE 0x8073
363#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
364#define GL_UNSIGNED_SHORT_5_6_5 0x8363
365#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
366#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
367#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
368#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
369#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
370#define GL_BGR 0x80E0
371#define GL_BGRA 0x80E1
372#define GL_MAX_ELEMENTS_VERTICES 0x80E8
373#define GL_MAX_ELEMENTS_INDICES 0x80E9
374#define GL_CLAMP_TO_EDGE 0x812F
375#define GL_TEXTURE_MIN_LOD 0x813A
376#define GL_TEXTURE_MAX_LOD 0x813B
377#define GL_TEXTURE_BASE_LEVEL 0x813C
378#define GL_TEXTURE_MAX_LEVEL 0x813D
379#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
380#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
381#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
382#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
383#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
384#define GL_TEXTURE0 0x84C0
385#define GL_TEXTURE1 0x84C1
386#define GL_TEXTURE2 0x84C2
387#define GL_TEXTURE3 0x84C3
388#define GL_TEXTURE4 0x84C4
389#define GL_TEXTURE5 0x84C5
390#define GL_TEXTURE6 0x84C6
391#define GL_TEXTURE7 0x84C7
392#define GL_TEXTURE8 0x84C8
393#define GL_TEXTURE9 0x84C9
394#define GL_TEXTURE10 0x84CA
395#define GL_TEXTURE11 0x84CB
396#define GL_TEXTURE12 0x84CC
397#define GL_TEXTURE13 0x84CD
398#define GL_TEXTURE14 0x84CE
399#define GL_TEXTURE15 0x84CF
400#define GL_TEXTURE16 0x84D0
401#define GL_TEXTURE17 0x84D1
402#define GL_TEXTURE18 0x84D2
403#define GL_TEXTURE19 0x84D3
404#define GL_TEXTURE20 0x84D4
405#define GL_TEXTURE21 0x84D5
406#define GL_TEXTURE22 0x84D6
407#define GL_TEXTURE23 0x84D7
408#define GL_TEXTURE24 0x84D8
409#define GL_TEXTURE25 0x84D9
410#define GL_TEXTURE26 0x84DA
411#define GL_TEXTURE27 0x84DB
412#define GL_TEXTURE28 0x84DC
413#define GL_TEXTURE29 0x84DD
414#define GL_TEXTURE30 0x84DE
415#define GL_TEXTURE31 0x84DF
416#define GL_ACTIVE_TEXTURE 0x84E0
417#define GL_MULTISAMPLE 0x809D
418#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
419#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
420#define GL_SAMPLE_COVERAGE 0x80A0
421#define GL_SAMPLE_BUFFERS 0x80A8
422#define GL_SAMPLES 0x80A9
423#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
424#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
425#define GL_TEXTURE_CUBE_MAP 0x8513
426#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
427#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
428#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
429#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
430#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
431#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
432#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
433#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
434#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
435#define GL_COMPRESSED_RGB 0x84ED
436#define GL_COMPRESSED_RGBA 0x84EE
437#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
438#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
439#define GL_TEXTURE_COMPRESSED 0x86A1
440#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
441#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
442#define GL_CLAMP_TO_BORDER 0x812D
443#define GL_BLEND_DST_RGB 0x80C8
444#define GL_BLEND_SRC_RGB 0x80C9
445#define GL_BLEND_DST_ALPHA 0x80CA
446#define GL_BLEND_SRC_ALPHA 0x80CB
447#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
448#define GL_DEPTH_COMPONENT16 0x81A5
449#define GL_DEPTH_COMPONENT24 0x81A6
450#define GL_DEPTH_COMPONENT32 0x81A7
451#define GL_MIRRORED_REPEAT 0x8370
452#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
453#define GL_TEXTURE_LOD_BIAS 0x8501
454#define GL_INCR_WRAP 0x8507
455#define GL_DECR_WRAP 0x8508
456#define GL_TEXTURE_DEPTH_SIZE 0x884A
457#define GL_TEXTURE_COMPARE_MODE 0x884C
458#define GL_TEXTURE_COMPARE_FUNC 0x884D
459#define GL_BLEND_COLOR 0x8005
460#define GL_BLEND_EQUATION 0x8009
461#define GL_CONSTANT_COLOR 0x8001
462#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
463#define GL_CONSTANT_ALPHA 0x8003
464#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
465#define GL_FUNC_ADD 0x8006
466#define GL_FUNC_REVERSE_SUBTRACT 0x800B
467#define GL_FUNC_SUBTRACT 0x800A
468#define GL_MIN 0x8007
469#define GL_MAX 0x8008
470#define GL_BUFFER_SIZE 0x8764
471#define GL_BUFFER_USAGE 0x8765
472#define GL_QUERY_COUNTER_BITS 0x8864
473#define GL_CURRENT_QUERY 0x8865
474#define GL_QUERY_RESULT 0x8866
475#define GL_QUERY_RESULT_AVAILABLE 0x8867
476#define GL_ARRAY_BUFFER 0x8892
477#define GL_ELEMENT_ARRAY_BUFFER 0x8893
478#define GL_ARRAY_BUFFER_BINDING 0x8894
479#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
480#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
481#define GL_READ_ONLY 0x88B8
482#define GL_WRITE_ONLY 0x88B9
483#define GL_READ_WRITE 0x88BA
484#define GL_BUFFER_ACCESS 0x88BB
485#define GL_BUFFER_MAPPED 0x88BC
486#define GL_BUFFER_MAP_POINTER 0x88BD
487#define GL_STREAM_DRAW 0x88E0
488#define GL_STREAM_READ 0x88E1
489#define GL_STREAM_COPY 0x88E2
490#define GL_STATIC_DRAW 0x88E4
491#define GL_STATIC_READ 0x88E5
492#define GL_STATIC_COPY 0x88E6
493#define GL_DYNAMIC_DRAW 0x88E8
494#define GL_DYNAMIC_READ 0x88E9
495#define GL_DYNAMIC_COPY 0x88EA
496#define GL_SAMPLES_PASSED 0x8914
497#define GL_SRC1_ALPHA 0x8589
498#define GL_BLEND_EQUATION_RGB 0x8009
499#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
500#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
501#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
502#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
503#define GL_CURRENT_VERTEX_ATTRIB 0x8626
504#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
505#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
506#define GL_STENCIL_BACK_FUNC 0x8800
507#define GL_STENCIL_BACK_FAIL 0x8801
508#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
509#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
510#define GL_MAX_DRAW_BUFFERS 0x8824
511#define GL_DRAW_BUFFER0 0x8825
512#define GL_DRAW_BUFFER1 0x8826
513#define GL_DRAW_BUFFER2 0x8827
514#define GL_DRAW_BUFFER3 0x8828
515#define GL_DRAW_BUFFER4 0x8829
516#define GL_DRAW_BUFFER5 0x882A
517#define GL_DRAW_BUFFER6 0x882B
518#define GL_DRAW_BUFFER7 0x882C
519#define GL_DRAW_BUFFER8 0x882D
520#define GL_DRAW_BUFFER9 0x882E
521#define GL_DRAW_BUFFER10 0x882F
522#define GL_DRAW_BUFFER11 0x8830
523#define GL_DRAW_BUFFER12 0x8831
524#define GL_DRAW_BUFFER13 0x8832
525#define GL_DRAW_BUFFER14 0x8833
526#define GL_DRAW_BUFFER15 0x8834
527#define GL_BLEND_EQUATION_ALPHA 0x883D
528#define GL_MAX_VERTEX_ATTRIBS 0x8869
529#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
530#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
531#define GL_FRAGMENT_SHADER 0x8B30
532#define GL_VERTEX_SHADER 0x8B31
533#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
534#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
535#define GL_MAX_VARYING_FLOATS 0x8B4B
536#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
537#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
538#define GL_SHADER_TYPE 0x8B4F
539#define GL_FLOAT_VEC2 0x8B50
540#define GL_FLOAT_VEC3 0x8B51
541#define GL_FLOAT_VEC4 0x8B52
542#define GL_INT_VEC2 0x8B53
543#define GL_INT_VEC3 0x8B54
544#define GL_INT_VEC4 0x8B55
545#define GL_BOOL 0x8B56
546#define GL_BOOL_VEC2 0x8B57
547#define GL_BOOL_VEC3 0x8B58
548#define GL_BOOL_VEC4 0x8B59
549#define GL_FLOAT_MAT2 0x8B5A
550#define GL_FLOAT_MAT3 0x8B5B
551#define GL_FLOAT_MAT4 0x8B5C
552#define GL_SAMPLER_1D 0x8B5D
553#define GL_SAMPLER_2D 0x8B5E
554#define GL_SAMPLER_3D 0x8B5F
555#define GL_SAMPLER_CUBE 0x8B60
556#define GL_SAMPLER_1D_SHADOW 0x8B61
557#define GL_SAMPLER_2D_SHADOW 0x8B62
558#define GL_DELETE_STATUS 0x8B80
559#define GL_COMPILE_STATUS 0x8B81
560#define GL_LINK_STATUS 0x8B82
561#define GL_VALIDATE_STATUS 0x8B83
562#define GL_INFO_LOG_LENGTH 0x8B84
563#define GL_ATTACHED_SHADERS 0x8B85
564#define GL_ACTIVE_UNIFORMS 0x8B86
565#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
566#define GL_SHADER_SOURCE_LENGTH 0x8B88
567#define GL_ACTIVE_ATTRIBUTES 0x8B89
568#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
569#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
570#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
571#define GL_CURRENT_PROGRAM 0x8B8D
572#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
573#define GL_LOWER_LEFT 0x8CA1
574#define GL_UPPER_LEFT 0x8CA2
575#define GL_STENCIL_BACK_REF 0x8CA3
576#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
577#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
578#define GL_PIXEL_PACK_BUFFER 0x88EB
579#define GL_PIXEL_UNPACK_BUFFER 0x88EC
580#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
581#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
582#define GL_FLOAT_MAT2x3 0x8B65
583#define GL_FLOAT_MAT2x4 0x8B66
584#define GL_FLOAT_MAT3x2 0x8B67
585#define GL_FLOAT_MAT3x4 0x8B68
586#define GL_FLOAT_MAT4x2 0x8B69
587#define GL_FLOAT_MAT4x3 0x8B6A
588#define GL_SRGB 0x8C40
589#define GL_SRGB8 0x8C41
590#define GL_SRGB_ALPHA 0x8C42
591#define GL_SRGB8_ALPHA8 0x8C43
592#define GL_COMPRESSED_SRGB 0x8C48
593#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
594#define GL_COMPARE_REF_TO_TEXTURE 0x884E
595#define GL_CLIP_DISTANCE0 0x3000
596#define GL_CLIP_DISTANCE1 0x3001
597#define GL_CLIP_DISTANCE2 0x3002
598#define GL_CLIP_DISTANCE3 0x3003
599#define GL_CLIP_DISTANCE4 0x3004
600#define GL_CLIP_DISTANCE5 0x3005
601#define GL_CLIP_DISTANCE6 0x3006
602#define GL_CLIP_DISTANCE7 0x3007
603#define GL_MAX_CLIP_DISTANCES 0x0D32
604#define GL_MAJOR_VERSION 0x821B
605#define GL_MINOR_VERSION 0x821C
606#define GL_NUM_EXTENSIONS 0x821D
607#define GL_CONTEXT_FLAGS 0x821E
608#define GL_COMPRESSED_RED 0x8225
609#define GL_COMPRESSED_RG 0x8226
610#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001
611#define GL_RGBA32F 0x8814
612#define GL_RGB32F 0x8815
613#define GL_RGBA16F 0x881A
614#define GL_RGB16F 0x881B
615#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
616#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
617#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
618#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
619#define GL_CLAMP_READ_COLOR 0x891C
620#define GL_FIXED_ONLY 0x891D
621#define GL_MAX_VARYING_COMPONENTS 0x8B4B
622#define GL_TEXTURE_1D_ARRAY 0x8C18
623#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
624#define GL_TEXTURE_2D_ARRAY 0x8C1A
625#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
626#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
627#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
628#define GL_R11F_G11F_B10F 0x8C3A
629#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
630#define GL_RGB9_E5 0x8C3D
631#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
632#define GL_TEXTURE_SHARED_SIZE 0x8C3F
633#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
634#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
635#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
636#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
637#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
638#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
639#define GL_PRIMITIVES_GENERATED 0x8C87
640#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
641#define GL_RASTERIZER_DISCARD 0x8C89
642#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
643#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
644#define GL_INTERLEAVED_ATTRIBS 0x8C8C
645#define GL_SEPARATE_ATTRIBS 0x8C8D
646#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
647#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
648#define GL_RGBA32UI 0x8D70
649#define GL_RGB32UI 0x8D71
650#define GL_RGBA16UI 0x8D76
651#define GL_RGB16UI 0x8D77
652#define GL_RGBA8UI 0x8D7C
653#define GL_RGB8UI 0x8D7D
654#define GL_RGBA32I 0x8D82
655#define GL_RGB32I 0x8D83
656#define GL_RGBA16I 0x8D88
657#define GL_RGB16I 0x8D89
658#define GL_RGBA8I 0x8D8E
659#define GL_RGB8I 0x8D8F
660#define GL_RED_INTEGER 0x8D94
661#define GL_GREEN_INTEGER 0x8D95
662#define GL_BLUE_INTEGER 0x8D96
663#define GL_RGB_INTEGER 0x8D98
664#define GL_RGBA_INTEGER 0x8D99
665#define GL_BGR_INTEGER 0x8D9A
666#define GL_BGRA_INTEGER 0x8D9B
667#define GL_SAMPLER_1D_ARRAY 0x8DC0
668#define GL_SAMPLER_2D_ARRAY 0x8DC1
669#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
670#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
671#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
672#define GL_UNSIGNED_INT_VEC2 0x8DC6
673#define GL_UNSIGNED_INT_VEC3 0x8DC7
674#define GL_UNSIGNED_INT_VEC4 0x8DC8
675#define GL_INT_SAMPLER_1D 0x8DC9
676#define GL_INT_SAMPLER_2D 0x8DCA
677#define GL_INT_SAMPLER_3D 0x8DCB
678#define GL_INT_SAMPLER_CUBE 0x8DCC
679#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
680#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
681#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
682#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
683#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
684#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
685#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
686#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
687#define GL_QUERY_WAIT 0x8E13
688#define GL_QUERY_NO_WAIT 0x8E14
689#define GL_QUERY_BY_REGION_WAIT 0x8E15
690#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
691#define GL_BUFFER_ACCESS_FLAGS 0x911F
692#define GL_BUFFER_MAP_LENGTH 0x9120
693#define GL_BUFFER_MAP_OFFSET 0x9121
694#define GL_DEPTH_COMPONENT32F 0x8CAC
695#define GL_DEPTH32F_STENCIL8 0x8CAD
696#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
697#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
698#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
699#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
700#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
701#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
702#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
703#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
704#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
705#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
706#define GL_FRAMEBUFFER_DEFAULT 0x8218
707#define GL_FRAMEBUFFER_UNDEFINED 0x8219
708#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
709#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
710#define GL_DEPTH_STENCIL 0x84F9
711#define GL_UNSIGNED_INT_24_8 0x84FA
712#define GL_DEPTH24_STENCIL8 0x88F0
713#define GL_TEXTURE_STENCIL_SIZE 0x88F1
714#define GL_TEXTURE_RED_TYPE 0x8C10
715#define GL_TEXTURE_GREEN_TYPE 0x8C11
716#define GL_TEXTURE_BLUE_TYPE 0x8C12
717#define GL_TEXTURE_ALPHA_TYPE 0x8C13
718#define GL_TEXTURE_DEPTH_TYPE 0x8C16
719#define GL_UNSIGNED_NORMALIZED 0x8C17
720#define GL_FRAMEBUFFER_BINDING 0x8CA6
721#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
722#define GL_RENDERBUFFER_BINDING 0x8CA7
723#define GL_READ_FRAMEBUFFER 0x8CA8
724#define GL_DRAW_FRAMEBUFFER 0x8CA9
725#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
726#define GL_RENDERBUFFER_SAMPLES 0x8CAB
727#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
728#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
729#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
730#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
731#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
732#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
733#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
734#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
735#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
736#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
737#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
738#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
739#define GL_COLOR_ATTACHMENT0 0x8CE0
740#define GL_COLOR_ATTACHMENT1 0x8CE1
741#define GL_COLOR_ATTACHMENT2 0x8CE2
742#define GL_COLOR_ATTACHMENT3 0x8CE3
743#define GL_COLOR_ATTACHMENT4 0x8CE4
744#define GL_COLOR_ATTACHMENT5 0x8CE5
745#define GL_COLOR_ATTACHMENT6 0x8CE6
746#define GL_COLOR_ATTACHMENT7 0x8CE7
747#define GL_COLOR_ATTACHMENT8 0x8CE8
748#define GL_COLOR_ATTACHMENT9 0x8CE9
749#define GL_COLOR_ATTACHMENT10 0x8CEA
750#define GL_COLOR_ATTACHMENT11 0x8CEB
751#define GL_COLOR_ATTACHMENT12 0x8CEC
752#define GL_COLOR_ATTACHMENT13 0x8CED
753#define GL_COLOR_ATTACHMENT14 0x8CEE
754#define GL_COLOR_ATTACHMENT15 0x8CEF
755#define GL_COLOR_ATTACHMENT16 0x8CF0
756#define GL_COLOR_ATTACHMENT17 0x8CF1
757#define GL_COLOR_ATTACHMENT18 0x8CF2
758#define GL_COLOR_ATTACHMENT19 0x8CF3
759#define GL_COLOR_ATTACHMENT20 0x8CF4
760#define GL_COLOR_ATTACHMENT21 0x8CF5
761#define GL_COLOR_ATTACHMENT22 0x8CF6
762#define GL_COLOR_ATTACHMENT23 0x8CF7
763#define GL_COLOR_ATTACHMENT24 0x8CF8
764#define GL_COLOR_ATTACHMENT25 0x8CF9
765#define GL_COLOR_ATTACHMENT26 0x8CFA
766#define GL_COLOR_ATTACHMENT27 0x8CFB
767#define GL_COLOR_ATTACHMENT28 0x8CFC
768#define GL_COLOR_ATTACHMENT29 0x8CFD
769#define GL_COLOR_ATTACHMENT30 0x8CFE
770#define GL_COLOR_ATTACHMENT31 0x8CFF
771#define GL_DEPTH_ATTACHMENT 0x8D00
772#define GL_STENCIL_ATTACHMENT 0x8D20
773#define GL_FRAMEBUFFER 0x8D40
774#define GL_RENDERBUFFER 0x8D41
775#define GL_RENDERBUFFER_WIDTH 0x8D42
776#define GL_RENDERBUFFER_HEIGHT 0x8D43
777#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
778#define GL_STENCIL_INDEX1 0x8D46
779#define GL_STENCIL_INDEX4 0x8D47
780#define GL_STENCIL_INDEX8 0x8D48
781#define GL_STENCIL_INDEX16 0x8D49
782#define GL_RENDERBUFFER_RED_SIZE 0x8D50
783#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
784#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
785#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
786#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
787#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
788#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
789#define GL_MAX_SAMPLES 0x8D57
790#define GL_FRAMEBUFFER_SRGB 0x8DB9
791#define GL_HALF_FLOAT 0x140B
792#define GL_MAP_READ_BIT 0x0001
793#define GL_MAP_WRITE_BIT 0x0002
794#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
795#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
796#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
797#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
798#define GL_COMPRESSED_RED_RGTC1 0x8DBB
799#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
800#define GL_COMPRESSED_RG_RGTC2 0x8DBD
801#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
802#define GL_RG 0x8227
803#define GL_RG_INTEGER 0x8228
804#define GL_R8 0x8229
805#define GL_R16 0x822A
806#define GL_RG8 0x822B
807#define GL_RG16 0x822C
808#define GL_R16F 0x822D
809#define GL_R32F 0x822E
810#define GL_RG16F 0x822F
811#define GL_RG32F 0x8230
812#define GL_R8I 0x8231
813#define GL_R8UI 0x8232
814#define GL_R16I 0x8233
815#define GL_R16UI 0x8234
816#define GL_R32I 0x8235
817#define GL_R32UI 0x8236
818#define GL_RG8I 0x8237
819#define GL_RG8UI 0x8238
820#define GL_RG16I 0x8239
821#define GL_RG16UI 0x823A
822#define GL_RG32I 0x823B
823#define GL_RG32UI 0x823C
824#define GL_VERTEX_ARRAY_BINDING 0x85B5
825#define GL_SAMPLER_2D_RECT 0x8B63
826#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
827#define GL_SAMPLER_BUFFER 0x8DC2
828#define GL_INT_SAMPLER_2D_RECT 0x8DCD
829#define GL_INT_SAMPLER_BUFFER 0x8DD0
830#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
831#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
832#define GL_TEXTURE_BUFFER 0x8C2A
833#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
834#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
835#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
836#define GL_TEXTURE_RECTANGLE 0x84F5
837#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
838#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
839#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
840#define GL_R8_SNORM 0x8F94
841#define GL_RG8_SNORM 0x8F95
842#define GL_RGB8_SNORM 0x8F96
843#define GL_RGBA8_SNORM 0x8F97
844#define GL_R16_SNORM 0x8F98
845#define GL_RG16_SNORM 0x8F99
846#define GL_RGB16_SNORM 0x8F9A
847#define GL_RGBA16_SNORM 0x8F9B
848#define GL_SIGNED_NORMALIZED 0x8F9C
849#define GL_PRIMITIVE_RESTART 0x8F9D
850#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
851#define GL_COPY_READ_BUFFER 0x8F36
852#define GL_COPY_WRITE_BUFFER 0x8F37
853#define GL_UNIFORM_BUFFER 0x8A11
854#define GL_UNIFORM_BUFFER_BINDING 0x8A28
855#define GL_UNIFORM_BUFFER_START 0x8A29
856#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
857#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
858#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
859#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
860#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
861#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
862#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
863#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
864#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
865#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
866#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
867#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
868#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
869#define GL_UNIFORM_TYPE 0x8A37
870#define GL_UNIFORM_SIZE 0x8A38
871#define GL_UNIFORM_NAME_LENGTH 0x8A39
872#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
873#define GL_UNIFORM_OFFSET 0x8A3B
874#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
875#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
876#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
877#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
878#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
879#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
880#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
881#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
882#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
883#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
884#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
885#define GL_INVALID_INDEX 0xFFFFFFFF
886#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
887#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
888#define GL_LINES_ADJACENCY 0x000A
889#define GL_LINE_STRIP_ADJACENCY 0x000B
890#define GL_TRIANGLES_ADJACENCY 0x000C
891#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
892#define GL_PROGRAM_POINT_SIZE 0x8642
893#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
894#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
895#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
896#define GL_GEOMETRY_SHADER 0x8DD9
897#define GL_GEOMETRY_VERTICES_OUT 0x8916
898#define GL_GEOMETRY_INPUT_TYPE 0x8917
899#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
900#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
901#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
902#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
903#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
904#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
905#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
906#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
907#define GL_CONTEXT_PROFILE_MASK 0x9126
908#define GL_DEPTH_CLAMP 0x864F
909#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
910#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
911#define GL_LAST_VERTEX_CONVENTION 0x8E4E
912#define GL_PROVOKING_VERTEX 0x8E4F
913#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
914#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
915#define GL_OBJECT_TYPE 0x9112
916#define GL_SYNC_CONDITION 0x9113
917#define GL_SYNC_STATUS 0x9114
918#define GL_SYNC_FLAGS 0x9115
919#define GL_SYNC_FENCE 0x9116
920#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
921#define GL_UNSIGNALED 0x9118
922#define GL_SIGNALED 0x9119
923#define GL_ALREADY_SIGNALED 0x911A
924#define GL_TIMEOUT_EXPIRED 0x911B
925#define GL_CONDITION_SATISFIED 0x911C
926#define GL_WAIT_FAILED 0x911D
927#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF
928#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
929#define GL_SAMPLE_POSITION 0x8E50
930#define GL_SAMPLE_MASK 0x8E51
931#define GL_SAMPLE_MASK_VALUE 0x8E52
932#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
933#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
934#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
935#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
936#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
937#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
938#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
939#define GL_TEXTURE_SAMPLES 0x9106
940#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
941#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
942#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
943#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
944#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
945#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
946#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
947#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
948#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
949#define GL_MAX_INTEGER_SAMPLES 0x9110
950#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
951#define GL_SRC1_COLOR 0x88F9
952#define GL_ONE_MINUS_SRC1_COLOR 0x88FA
953#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
954#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC
955#define GL_ANY_SAMPLES_PASSED 0x8C2F
956#define GL_SAMPLER_BINDING 0x8919
957#define GL_RGB10_A2UI 0x906F
958#define GL_TEXTURE_SWIZZLE_R 0x8E42
959#define GL_TEXTURE_SWIZZLE_G 0x8E43
960#define GL_TEXTURE_SWIZZLE_B 0x8E44
961#define GL_TEXTURE_SWIZZLE_A 0x8E45
962#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
963#define GL_TIME_ELAPSED 0x88BF
964#define GL_TIMESTAMP 0x8E28
965#define GL_INT_2_10_10_10_REV 0x8D9F
966#define GL_SAMPLE_SHADING 0x8C36
967#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37
968#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
969#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
970#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
971#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
972#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B
973#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C
974#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D
975#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E
976#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
977#define GL_DRAW_INDIRECT_BUFFER 0x8F3F
978#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43
979#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
980#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
981#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
982#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
983#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
984#define GL_MAX_VERTEX_STREAMS 0x8E71
985#define GL_DOUBLE_VEC2 0x8FFC
986#define GL_DOUBLE_VEC3 0x8FFD
987#define GL_DOUBLE_VEC4 0x8FFE
988#define GL_DOUBLE_MAT2 0x8F46
989#define GL_DOUBLE_MAT3 0x8F47
990#define GL_DOUBLE_MAT4 0x8F48
991#define GL_DOUBLE_MAT2x3 0x8F49
992#define GL_DOUBLE_MAT2x4 0x8F4A
993#define GL_DOUBLE_MAT3x2 0x8F4B
994#define GL_DOUBLE_MAT3x4 0x8F4C
995#define GL_DOUBLE_MAT4x2 0x8F4D
996#define GL_DOUBLE_MAT4x3 0x8F4E
997#define GL_ACTIVE_SUBROUTINES 0x8DE5
998#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6
999#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47
1000#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48
1001#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49
1002#define GL_MAX_SUBROUTINES 0x8DE7
1003#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8
1004#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
1005#define GL_COMPATIBLE_SUBROUTINES 0x8E4B
1006#define GL_PATCHES 0x000E
1007#define GL_PATCH_VERTICES 0x8E72
1008#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73
1009#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74
1010#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75
1011#define GL_TESS_GEN_MODE 0x8E76
1012#define GL_TESS_GEN_SPACING 0x8E77
1013#define GL_TESS_GEN_VERTEX_ORDER 0x8E78
1014#define GL_TESS_GEN_POINT_MODE 0x8E79
1015#define GL_ISOLINES 0x8E7A
1016#define GL_QUADS 0x0007
1017#define GL_FRACTIONAL_ODD 0x8E7B
1018#define GL_FRACTIONAL_EVEN 0x8E7C
1019#define GL_MAX_PATCH_VERTICES 0x8E7D
1020#define GL_MAX_TESS_GEN_LEVEL 0x8E7E
1021#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F
1022#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80
1023#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81
1024#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82
1025#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83
1026#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84
1027#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85
1028#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86
1029#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89
1030#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A
1031#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C
1032#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D
1033#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E
1034#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F
1035#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0
1036#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1
1037#define GL_TESS_EVALUATION_SHADER 0x8E87
1038#define GL_TESS_CONTROL_SHADER 0x8E88
1039#define GL_TRANSFORM_FEEDBACK 0x8E22
1040#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23
1041#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24
1042#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
1043#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70
1044#define GL_FIXED 0x140C
1045#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
1046#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
1047#define GL_LOW_FLOAT 0x8DF0
1048#define GL_MEDIUM_FLOAT 0x8DF1
1049#define GL_HIGH_FLOAT 0x8DF2
1050#define GL_LOW_INT 0x8DF3
1051#define GL_MEDIUM_INT 0x8DF4
1052#define GL_HIGH_INT 0x8DF5
1053#define GL_SHADER_COMPILER 0x8DFA
1054#define GL_SHADER_BINARY_FORMATS 0x8DF8
1055#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
1056#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
1057#define GL_MAX_VARYING_VECTORS 0x8DFC
1058#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
1059#define GL_RGB565 0x8D62
1060#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
1061#define GL_PROGRAM_BINARY_LENGTH 0x8741
1062#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
1063#define GL_PROGRAM_BINARY_FORMATS 0x87FF
1064#define GL_VERTEX_SHADER_BIT 0x00000001
1065#define GL_FRAGMENT_SHADER_BIT 0x00000002
1066#define GL_GEOMETRY_SHADER_BIT 0x00000004
1067#define GL_TESS_CONTROL_SHADER_BIT 0x00000008
1068#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010
1069#define GL_ALL_SHADER_BITS 0xFFFFFFFF
1070#define GL_PROGRAM_SEPARABLE 0x8258
1071#define GL_ACTIVE_PROGRAM 0x8259
1072#define GL_PROGRAM_PIPELINE_BINDING 0x825A
1073#define GL_MAX_VIEWPORTS 0x825B
1074#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C
1075#define GL_VIEWPORT_BOUNDS_RANGE 0x825D
1076#define GL_LAYER_PROVOKING_VERTEX 0x825E
1077#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F
1078#define GL_UNDEFINED_VERTEX 0x8260
1079#define GL_COPY_READ_BUFFER_BINDING 0x8F36
1080#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
1081#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
1082#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
1083#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127
1084#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128
1085#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129
1086#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A
1087#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B
1088#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C
1089#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D
1090#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E
1091#define GL_NUM_SAMPLE_COUNTS 0x9380
1092#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC
1093#define GL_ATOMIC_COUNTER_BUFFER 0x92C0
1094#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1
1095#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2
1096#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3
1097#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4
1098#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5
1099#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6
1100#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7
1101#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8
1102#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9
1103#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA
1104#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB
1105#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
1106#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD
1107#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE
1108#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF
1109#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
1110#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
1111#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2
1112#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3
1113#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4
1114#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5
1115#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6
1116#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7
1117#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
1118#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
1119#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9
1120#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA
1121#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB
1122#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
1123#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002
1124#define GL_UNIFORM_BARRIER_BIT 0x00000004
1125#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008
1126#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
1127#define GL_COMMAND_BARRIER_BIT 0x00000040
1128#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080
1129#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100
1130#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200
1131#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400
1132#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
1133#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000
1134#define GL_ALL_BARRIER_BITS 0xFFFFFFFF
1135#define GL_MAX_IMAGE_UNITS 0x8F38
1136#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
1137#define GL_IMAGE_BINDING_NAME 0x8F3A
1138#define GL_IMAGE_BINDING_LEVEL 0x8F3B
1139#define GL_IMAGE_BINDING_LAYERED 0x8F3C
1140#define GL_IMAGE_BINDING_LAYER 0x8F3D
1141#define GL_IMAGE_BINDING_ACCESS 0x8F3E
1142#define GL_IMAGE_1D 0x904C
1143#define GL_IMAGE_2D 0x904D
1144#define GL_IMAGE_3D 0x904E
1145#define GL_IMAGE_2D_RECT 0x904F
1146#define GL_IMAGE_CUBE 0x9050
1147#define GL_IMAGE_BUFFER 0x9051
1148#define GL_IMAGE_1D_ARRAY 0x9052
1149#define GL_IMAGE_2D_ARRAY 0x9053
1150#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054
1151#define GL_IMAGE_2D_MULTISAMPLE 0x9055
1152#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056
1153#define GL_INT_IMAGE_1D 0x9057
1154#define GL_INT_IMAGE_2D 0x9058
1155#define GL_INT_IMAGE_3D 0x9059
1156#define GL_INT_IMAGE_2D_RECT 0x905A
1157#define GL_INT_IMAGE_CUBE 0x905B
1158#define GL_INT_IMAGE_BUFFER 0x905C
1159#define GL_INT_IMAGE_1D_ARRAY 0x905D
1160#define GL_INT_IMAGE_2D_ARRAY 0x905E
1161#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F
1162#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060
1163#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061
1164#define GL_UNSIGNED_INT_IMAGE_1D 0x9062
1165#define GL_UNSIGNED_INT_IMAGE_2D 0x9063
1166#define GL_UNSIGNED_INT_IMAGE_3D 0x9064
1167#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065
1168#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066
1169#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067
1170#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068
1171#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069
1172#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
1173#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B
1174#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C
1175#define GL_MAX_IMAGE_SAMPLES 0x906D
1176#define GL_IMAGE_BINDING_FORMAT 0x906E
1177#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
1178#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
1179#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
1180#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
1181#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB
1182#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC
1183#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD
1184#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
1185#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
1186#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C
1187#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D
1188#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E
1189#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F
1190#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
1191#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9
1192#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E
1193#define GL_COMPRESSED_RGB8_ETC2 0x9274
1194#define GL_COMPRESSED_SRGB8_ETC2 0x9275
1195#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
1196#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
1197#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
1198#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
1199#define GL_COMPRESSED_R11_EAC 0x9270
1200#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
1201#define GL_COMPRESSED_RG11_EAC 0x9272
1202#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
1203#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
1204#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
1205#define GL_MAX_ELEMENT_INDEX 0x8D6B
1206#define GL_COMPUTE_SHADER 0x91B9
1207#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB
1208#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC
1209#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD
1210#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262
1211#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263
1212#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264
1213#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265
1214#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266
1215#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB
1216#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE
1217#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF
1218#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267
1219#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC
1220#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED
1221#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE
1222#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF
1223#define GL_COMPUTE_SHADER_BIT 0x00000020
1224#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
1225#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
1226#define GL_DEBUG_CALLBACK_FUNCTION 0x8244
1227#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
1228#define GL_DEBUG_SOURCE_API 0x8246
1229#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
1230#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
1231#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
1232#define GL_DEBUG_SOURCE_APPLICATION 0x824A
1233#define GL_DEBUG_SOURCE_OTHER 0x824B
1234#define GL_DEBUG_TYPE_ERROR 0x824C
1235#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
1236#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
1237#define GL_DEBUG_TYPE_PORTABILITY 0x824F
1238#define GL_DEBUG_TYPE_PERFORMANCE 0x8250
1239#define GL_DEBUG_TYPE_OTHER 0x8251
1240#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
1241#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
1242#define GL_DEBUG_LOGGED_MESSAGES 0x9145
1243#define GL_DEBUG_SEVERITY_HIGH 0x9146
1244#define GL_DEBUG_SEVERITY_MEDIUM 0x9147
1245#define GL_DEBUG_SEVERITY_LOW 0x9148
1246#define GL_DEBUG_TYPE_MARKER 0x8268
1247#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
1248#define GL_DEBUG_TYPE_POP_GROUP 0x826A
1249#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
1250#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
1251#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
1252#define GL_BUFFER 0x82E0
1253#define GL_SHADER 0x82E1
1254#define GL_PROGRAM 0x82E2
1255#define GL_VERTEX_ARRAY 0x8074
1256#define GL_QUERY 0x82E3
1257#define GL_PROGRAM_PIPELINE 0x82E4
1258#define GL_SAMPLER 0x82E6
1259#define GL_MAX_LABEL_LENGTH 0x82E8
1260#define GL_DEBUG_OUTPUT 0x92E0
1261#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
1262#define GL_MAX_UNIFORM_LOCATIONS 0x826E
1263#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310
1264#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311
1265#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312
1266#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313
1267#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314
1268#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315
1269#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316
1270#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317
1271#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318
1272#define GL_INTERNALFORMAT_SUPPORTED 0x826F
1273#define GL_INTERNALFORMAT_PREFERRED 0x8270
1274#define GL_INTERNALFORMAT_RED_SIZE 0x8271
1275#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272
1276#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273
1277#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274
1278#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275
1279#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276
1280#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277
1281#define GL_INTERNALFORMAT_RED_TYPE 0x8278
1282#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279
1283#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A
1284#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B
1285#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C
1286#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D
1287#define GL_MAX_WIDTH 0x827E
1288#define GL_MAX_HEIGHT 0x827F
1289#define GL_MAX_DEPTH 0x8280
1290#define GL_MAX_LAYERS 0x8281
1291#define GL_MAX_COMBINED_DIMENSIONS 0x8282
1292#define GL_COLOR_COMPONENTS 0x8283
1293#define GL_DEPTH_COMPONENTS 0x8284
1294#define GL_STENCIL_COMPONENTS 0x8285
1295#define GL_COLOR_RENDERABLE 0x8286
1296#define GL_DEPTH_RENDERABLE 0x8287
1297#define GL_STENCIL_RENDERABLE 0x8288
1298#define GL_FRAMEBUFFER_RENDERABLE 0x8289
1299#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A
1300#define GL_FRAMEBUFFER_BLEND 0x828B
1301#define GL_READ_PIXELS 0x828C
1302#define GL_READ_PIXELS_FORMAT 0x828D
1303#define GL_READ_PIXELS_TYPE 0x828E
1304#define GL_TEXTURE_IMAGE_FORMAT 0x828F
1305#define GL_TEXTURE_IMAGE_TYPE 0x8290
1306#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291
1307#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292
1308#define GL_MIPMAP 0x8293
1309#define GL_MANUAL_GENERATE_MIPMAP 0x8294
1310#define GL_AUTO_GENERATE_MIPMAP 0x8295
1311#define GL_COLOR_ENCODING 0x8296
1312#define GL_SRGB_READ 0x8297
1313#define GL_SRGB_WRITE 0x8298
1314#define GL_FILTER 0x829A
1315#define GL_VERTEX_TEXTURE 0x829B
1316#define GL_TESS_CONTROL_TEXTURE 0x829C
1317#define GL_TESS_EVALUATION_TEXTURE 0x829D
1318#define GL_GEOMETRY_TEXTURE 0x829E
1319#define GL_FRAGMENT_TEXTURE 0x829F
1320#define GL_COMPUTE_TEXTURE 0x82A0
1321#define GL_TEXTURE_SHADOW 0x82A1
1322#define GL_TEXTURE_GATHER 0x82A2
1323#define GL_TEXTURE_GATHER_SHADOW 0x82A3
1324#define GL_SHADER_IMAGE_LOAD 0x82A4
1325#define GL_SHADER_IMAGE_STORE 0x82A5
1326#define GL_SHADER_IMAGE_ATOMIC 0x82A6
1327#define GL_IMAGE_TEXEL_SIZE 0x82A7
1328#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8
1329#define GL_IMAGE_PIXEL_FORMAT 0x82A9
1330#define GL_IMAGE_PIXEL_TYPE 0x82AA
1331#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC
1332#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD
1333#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE
1334#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF
1335#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1
1336#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2
1337#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3
1338#define GL_CLEAR_BUFFER 0x82B4
1339#define GL_TEXTURE_VIEW 0x82B5
1340#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6
1341#define GL_FULL_SUPPORT 0x82B7
1342#define GL_CAVEAT_SUPPORT 0x82B8
1343#define GL_IMAGE_CLASS_4_X_32 0x82B9
1344#define GL_IMAGE_CLASS_2_X_32 0x82BA
1345#define GL_IMAGE_CLASS_1_X_32 0x82BB
1346#define GL_IMAGE_CLASS_4_X_16 0x82BC
1347#define GL_IMAGE_CLASS_2_X_16 0x82BD
1348#define GL_IMAGE_CLASS_1_X_16 0x82BE
1349#define GL_IMAGE_CLASS_4_X_8 0x82BF
1350#define GL_IMAGE_CLASS_2_X_8 0x82C0
1351#define GL_IMAGE_CLASS_1_X_8 0x82C1
1352#define GL_IMAGE_CLASS_11_11_10 0x82C2
1353#define GL_IMAGE_CLASS_10_10_10_2 0x82C3
1354#define GL_VIEW_CLASS_128_BITS 0x82C4
1355#define GL_VIEW_CLASS_96_BITS 0x82C5
1356#define GL_VIEW_CLASS_64_BITS 0x82C6
1357#define GL_VIEW_CLASS_48_BITS 0x82C7
1358#define GL_VIEW_CLASS_32_BITS 0x82C8
1359#define GL_VIEW_CLASS_24_BITS 0x82C9
1360#define GL_VIEW_CLASS_16_BITS 0x82CA
1361#define GL_VIEW_CLASS_8_BITS 0x82CB
1362#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC
1363#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD
1364#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE
1365#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF
1366#define GL_VIEW_CLASS_RGTC1_RED 0x82D0
1367#define GL_VIEW_CLASS_RGTC2_RG 0x82D1
1368#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2
1369#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3
1370#define GL_UNIFORM 0x92E1
1371#define GL_UNIFORM_BLOCK 0x92E2
1372#define GL_PROGRAM_INPUT 0x92E3
1373#define GL_PROGRAM_OUTPUT 0x92E4
1374#define GL_BUFFER_VARIABLE 0x92E5
1375#define GL_SHADER_STORAGE_BLOCK 0x92E6
1376#define GL_VERTEX_SUBROUTINE 0x92E8
1377#define GL_TESS_CONTROL_SUBROUTINE 0x92E9
1378#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA
1379#define GL_GEOMETRY_SUBROUTINE 0x92EB
1380#define GL_FRAGMENT_SUBROUTINE 0x92EC
1381#define GL_COMPUTE_SUBROUTINE 0x92ED
1382#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE
1383#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF
1384#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0
1385#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1
1386#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2
1387#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3
1388#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4
1389#define GL_ACTIVE_RESOURCES 0x92F5
1390#define GL_MAX_NAME_LENGTH 0x92F6
1391#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7
1392#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8
1393#define GL_NAME_LENGTH 0x92F9
1394#define GL_TYPE 0x92FA
1395#define GL_ARRAY_SIZE 0x92FB
1396#define GL_OFFSET 0x92FC
1397#define GL_BLOCK_INDEX 0x92FD
1398#define GL_ARRAY_STRIDE 0x92FE
1399#define GL_MATRIX_STRIDE 0x92FF
1400#define GL_IS_ROW_MAJOR 0x9300
1401#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301
1402#define GL_BUFFER_BINDING 0x9302
1403#define GL_BUFFER_DATA_SIZE 0x9303
1404#define GL_NUM_ACTIVE_VARIABLES 0x9304
1405#define GL_ACTIVE_VARIABLES 0x9305
1406#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306
1407#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307
1408#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308
1409#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309
1410#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A
1411#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B
1412#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C
1413#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D
1414#define GL_LOCATION 0x930E
1415#define GL_LOCATION_INDEX 0x930F
1416#define GL_IS_PER_PATCH 0x92E7
1417#define GL_SHADER_STORAGE_BUFFER 0x90D2
1418#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3
1419#define GL_SHADER_STORAGE_BUFFER_START 0x90D4
1420#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5
1421#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6
1422#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7
1423#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8
1424#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9
1425#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA
1426#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB
1427#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC
1428#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD
1429#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE
1430#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF
1431#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000
1432#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39
1433#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA
1434#define GL_TEXTURE_BUFFER_OFFSET 0x919D
1435#define GL_TEXTURE_BUFFER_SIZE 0x919E
1436#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F
1437#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB
1438#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC
1439#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD
1440#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE
1441#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
1442#define GL_VERTEX_ATTRIB_BINDING 0x82D4
1443#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5
1444#define GL_VERTEX_BINDING_DIVISOR 0x82D6
1445#define GL_VERTEX_BINDING_OFFSET 0x82D7
1446#define GL_VERTEX_BINDING_STRIDE 0x82D8
1447#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
1448#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
1449#define GL_VERTEX_BINDING_BUFFER 0x8F4F
1450#define GL_DISPLAY_LIST 0x82E7
1451#define GL_STACK_UNDERFLOW 0x0504
1452#define GL_STACK_OVERFLOW 0x0503
1453#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5
1454#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221
1455#define GL_TEXTURE_BUFFER_BINDING 0x8C2A
1456#define GL_MAP_PERSISTENT_BIT 0x0040
1457#define GL_MAP_COHERENT_BIT 0x0080
1458#define GL_DYNAMIC_STORAGE_BIT 0x0100
1459#define GL_CLIENT_STORAGE_BIT 0x0200
1460#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000
1461#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F
1462#define GL_BUFFER_STORAGE_FLAGS 0x8220
1463#define GL_CLEAR_TEXTURE 0x9365
1464#define GL_LOCATION_COMPONENT 0x934A
1465#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B
1466#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C
1467#define GL_QUERY_BUFFER 0x9192
1468#define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000
1469#define GL_QUERY_BUFFER_BINDING 0x9193
1470#define GL_QUERY_RESULT_NO_WAIT 0x9194
1471#define GL_MIRROR_CLAMP_TO_EDGE 0x8743
1472#define GL_CONTEXT_LOST 0x0507
1473#define GL_NEGATIVE_ONE_TO_ONE 0x935E
1474#define GL_ZERO_TO_ONE 0x935F
1475#define GL_CLIP_ORIGIN 0x935C
1476#define GL_CLIP_DEPTH_MODE 0x935D
1477#define GL_QUERY_WAIT_INVERTED 0x8E17
1478#define GL_QUERY_NO_WAIT_INVERTED 0x8E18
1479#define GL_QUERY_BY_REGION_WAIT_INVERTED 0x8E19
1480#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED 0x8E1A
1481#define GL_MAX_CULL_DISTANCES 0x82F9
1482#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES 0x82FA
1483#define GL_TEXTURE_TARGET 0x1006
1484#define GL_QUERY_TARGET 0x82EA
1485#define GL_GUILTY_CONTEXT_RESET 0x8253
1486#define GL_INNOCENT_CONTEXT_RESET 0x8254
1487#define GL_UNKNOWN_CONTEXT_RESET 0x8255
1488#define GL_RESET_NOTIFICATION_STRATEGY 0x8256
1489#define GL_LOSE_CONTEXT_ON_RESET 0x8252
1490#define GL_NO_RESET_NOTIFICATION 0x8261
1491#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004
1492#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB
1493#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC
1494#define GL_SHADER_BINARY_FORMAT_SPIR_V 0x9551
1495#define GL_SPIR_V_BINARY 0x9552
1496#define GL_PARAMETER_BUFFER 0x80EE
1497#define GL_PARAMETER_BUFFER_BINDING 0x80EF
1498#define GL_CONTEXT_FLAG_NO_ERROR_BIT 0x00000008
1499#define GL_VERTICES_SUBMITTED 0x82EE
1500#define GL_PRIMITIVES_SUBMITTED 0x82EF
1501#define GL_VERTEX_SHADER_INVOCATIONS 0x82F0
1502#define GL_TESS_CONTROL_SHADER_PATCHES 0x82F1
1503#define GL_TESS_EVALUATION_SHADER_INVOCATIONS 0x82F2
1504#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED 0x82F3
1505#define GL_FRAGMENT_SHADER_INVOCATIONS 0x82F4
1506#define GL_COMPUTE_SHADER_INVOCATIONS 0x82F5
1507#define GL_CLIPPING_INPUT_PRIMITIVES 0x82F6
1508#define GL_CLIPPING_OUTPUT_PRIMITIVES 0x82F7
1509#define GL_POLYGON_OFFSET_CLAMP 0x8E1B
1510#define GL_SPIR_V_EXTENSIONS 0x9553
1511#define GL_NUM_SPIR_V_EXTENSIONS 0x9554
1512#define GL_TEXTURE_MAX_ANISOTROPY 0x84FE
1513#define GL_MAX_TEXTURE_MAX_ANISOTROPY 0x84FF
1514#define GL_TRANSFORM_FEEDBACK_OVERFLOW 0x82EC
1515#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW 0x82ED
1516#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
1517#define GL_RED_BITS 0x0D52
1518#define GL_GREEN_BITS 0x0D53
1519#define GL_BLUE_BITS 0x0D54
1520#define GL_ALPHA_BITS 0x0D55
1521#define GL_DEPTH_BITS 0x0D56
1522#define GL_STENCIL_BITS 0x0D57
1523#define GL_GENERATE_MIPMAP_HINT 0x8192
1524#define GL_LUMINANCE 0x1909
1525#define GL_LUMINANCE_ALPHA 0x190A
1526#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
1527#define GL_MULTISAMPLE_LINE_WIDTH_RANGE 0x9381
1528#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY 0x9382
1529#define GL_MULTIPLY 0x9294
1530#define GL_SCREEN 0x9295
1531#define GL_OVERLAY 0x9296
1532#define GL_DARKEN 0x9297
1533#define GL_LIGHTEN 0x9298
1534#define GL_COLORDODGE 0x9299
1535#define GL_COLORBURN 0x929A
1536#define GL_HARDLIGHT 0x929B
1537#define GL_SOFTLIGHT 0x929C
1538#define GL_DIFFERENCE 0x929E
1539#define GL_EXCLUSION 0x92A0
1540#define GL_HSL_HUE 0x92AD
1541#define GL_HSL_SATURATION 0x92AE
1542#define GL_HSL_COLOR 0x92AF
1543#define GL_HSL_LUMINOSITY 0x92B0
1544#define GL_PRIMITIVE_BOUNDING_BOX 0x92BE
1545#define GL_COMPRESSED_RGBA_ASTC_4x4 0x93B0
1546#define GL_COMPRESSED_RGBA_ASTC_5x4 0x93B1
1547#define GL_COMPRESSED_RGBA_ASTC_5x5 0x93B2
1548#define GL_COMPRESSED_RGBA_ASTC_6x5 0x93B3
1549#define GL_COMPRESSED_RGBA_ASTC_6x6 0x93B4
1550#define GL_COMPRESSED_RGBA_ASTC_8x5 0x93B5
1551#define GL_COMPRESSED_RGBA_ASTC_8x6 0x93B6
1552#define GL_COMPRESSED_RGBA_ASTC_8x8 0x93B7
1553#define GL_COMPRESSED_RGBA_ASTC_10x5 0x93B8
1554#define GL_COMPRESSED_RGBA_ASTC_10x6 0x93B9
1555#define GL_COMPRESSED_RGBA_ASTC_10x8 0x93BA
1556#define GL_COMPRESSED_RGBA_ASTC_10x10 0x93BB
1557#define GL_COMPRESSED_RGBA_ASTC_12x10 0x93BC
1558#define GL_COMPRESSED_RGBA_ASTC_12x12 0x93BD
1559#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 0x93D0
1560#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 0x93D1
1561#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 0x93D2
1562#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 0x93D3
1563#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 0x93D4
1564#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 0x93D5
1565#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 0x93D6
1566#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 0x93D7
1567#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 0x93D8
1568#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 0x93D9
1569#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 0x93DA
1570#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 0x93DB
1571#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 0x93DC
1572#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 0x93DD
1573#ifndef GL_VERSION_1_0
1574#define GL_VERSION_1_0 1
1575GLAPI int GLAD_GL_VERSION_1_0;
1576typedef void (APIENTRYP PFNGLCULLFACEPROC)(GLenum mode);
1577GLAPI PFNGLCULLFACEPROC glad_glCullFace;
1578#define glCullFace glad_glCullFace
1579typedef void (APIENTRYP PFNGLFRONTFACEPROC)(GLenum mode);
1580GLAPI PFNGLFRONTFACEPROC glad_glFrontFace;
1581#define glFrontFace glad_glFrontFace
1582typedef void (APIENTRYP PFNGLHINTPROC)(GLenum target, GLenum mode);
1583GLAPI PFNGLHINTPROC glad_glHint;
1584#define glHint glad_glHint
1585typedef void (APIENTRYP PFNGLLINEWIDTHPROC)(GLfloat width);
1586GLAPI PFNGLLINEWIDTHPROC glad_glLineWidth;
1587#define glLineWidth glad_glLineWidth
1588typedef void (APIENTRYP PFNGLPOINTSIZEPROC)(GLfloat size);
1589GLAPI PFNGLPOINTSIZEPROC glad_glPointSize;
1590#define glPointSize glad_glPointSize
1591typedef void (APIENTRYP PFNGLPOLYGONMODEPROC)(GLenum face, GLenum mode);
1592GLAPI PFNGLPOLYGONMODEPROC glad_glPolygonMode;
1593#define glPolygonMode glad_glPolygonMode
1594typedef void (APIENTRYP PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
1595GLAPI PFNGLSCISSORPROC glad_glScissor;
1596#define glScissor glad_glScissor
1597typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param);
1598GLAPI PFNGLTEXPARAMETERFPROC glad_glTexParameterf;
1599#define glTexParameterf glad_glTexParameterf
1600typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params);
1601GLAPI PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv;
1602#define glTexParameterfv glad_glTexParameterfv
1603typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);
1604GLAPI PFNGLTEXPARAMETERIPROC glad_glTexParameteri;
1605#define glTexParameteri glad_glTexParameteri
1606typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params);
1607GLAPI PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv;
1608#define glTexParameteriv glad_glTexParameteriv
1609typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);
1610GLAPI PFNGLTEXIMAGE1DPROC glad_glTexImage1D;
1611#define glTexImage1D glad_glTexImage1D
1612typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
1613GLAPI PFNGLTEXIMAGE2DPROC glad_glTexImage2D;
1614#define glTexImage2D glad_glTexImage2D
1615typedef void (APIENTRYP PFNGLDRAWBUFFERPROC)(GLenum buf);
1616GLAPI PFNGLDRAWBUFFERPROC glad_glDrawBuffer;
1617#define glDrawBuffer glad_glDrawBuffer
1618typedef void (APIENTRYP PFNGLCLEARPROC)(GLbitfield mask);
1619GLAPI PFNGLCLEARPROC glad_glClear;
1620#define glClear glad_glClear
1621typedef void (APIENTRYP PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
1622GLAPI PFNGLCLEARCOLORPROC glad_glClearColor;
1623#define glClearColor glad_glClearColor
1624typedef void (APIENTRYP PFNGLCLEARSTENCILPROC)(GLint s);
1625GLAPI PFNGLCLEARSTENCILPROC glad_glClearStencil;
1626#define glClearStencil glad_glClearStencil
1627typedef void (APIENTRYP PFNGLCLEARDEPTHPROC)(GLdouble depth);
1628GLAPI PFNGLCLEARDEPTHPROC glad_glClearDepth;
1629#define glClearDepth glad_glClearDepth
1630typedef void (APIENTRYP PFNGLSTENCILMASKPROC)(GLuint mask);
1631GLAPI PFNGLSTENCILMASKPROC glad_glStencilMask;
1632#define glStencilMask glad_glStencilMask
1633typedef void (APIENTRYP PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
1634GLAPI PFNGLCOLORMASKPROC glad_glColorMask;
1635#define glColorMask glad_glColorMask
1636typedef void (APIENTRYP PFNGLDEPTHMASKPROC)(GLboolean flag);
1637GLAPI PFNGLDEPTHMASKPROC glad_glDepthMask;
1638#define glDepthMask glad_glDepthMask
1639typedef void (APIENTRYP PFNGLDISABLEPROC)(GLenum cap);
1640GLAPI PFNGLDISABLEPROC glad_glDisable;
1641#define glDisable glad_glDisable
1642typedef void (APIENTRYP PFNGLENABLEPROC)(GLenum cap);
1643GLAPI PFNGLENABLEPROC glad_glEnable;
1644#define glEnable glad_glEnable
1645typedef void (APIENTRYP PFNGLFINISHPROC)(void);
1646GLAPI PFNGLFINISHPROC glad_glFinish;
1647#define glFinish glad_glFinish
1648typedef void (APIENTRYP PFNGLFLUSHPROC)(void);
1649GLAPI PFNGLFLUSHPROC glad_glFlush;
1650#define glFlush glad_glFlush
1651typedef void (APIENTRYP PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor);
1652GLAPI PFNGLBLENDFUNCPROC glad_glBlendFunc;
1653#define glBlendFunc glad_glBlendFunc
1654typedef void (APIENTRYP PFNGLLOGICOPPROC)(GLenum opcode);
1655GLAPI PFNGLLOGICOPPROC glad_glLogicOp;
1656#define glLogicOp glad_glLogicOp
1657typedef void (APIENTRYP PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask);
1658GLAPI PFNGLSTENCILFUNCPROC glad_glStencilFunc;
1659#define glStencilFunc glad_glStencilFunc
1660typedef void (APIENTRYP PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass);
1661GLAPI PFNGLSTENCILOPPROC glad_glStencilOp;
1662#define glStencilOp glad_glStencilOp
1663typedef void (APIENTRYP PFNGLDEPTHFUNCPROC)(GLenum func);
1664GLAPI PFNGLDEPTHFUNCPROC glad_glDepthFunc;
1665#define glDepthFunc glad_glDepthFunc
1666typedef void (APIENTRYP PFNGLPIXELSTOREFPROC)(GLenum pname, GLfloat param);
1667GLAPI PFNGLPIXELSTOREFPROC glad_glPixelStoref;
1668#define glPixelStoref glad_glPixelStoref
1669typedef void (APIENTRYP PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param);
1670GLAPI PFNGLPIXELSTOREIPROC glad_glPixelStorei;
1671#define glPixelStorei glad_glPixelStorei
1672typedef void (APIENTRYP PFNGLREADBUFFERPROC)(GLenum src);
1673GLAPI PFNGLREADBUFFERPROC glad_glReadBuffer;
1674#define glReadBuffer glad_glReadBuffer
1675typedef void (APIENTRYP PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
1676GLAPI PFNGLREADPIXELSPROC glad_glReadPixels;
1677#define glReadPixels glad_glReadPixels
1678typedef void (APIENTRYP PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean *data);
1679GLAPI PFNGLGETBOOLEANVPROC glad_glGetBooleanv;
1680#define glGetBooleanv glad_glGetBooleanv
1681typedef void (APIENTRYP PFNGLGETDOUBLEVPROC)(GLenum pname, GLdouble *data);
1682GLAPI PFNGLGETDOUBLEVPROC glad_glGetDoublev;
1683#define glGetDoublev glad_glGetDoublev
1684typedef GLenum (APIENTRYP PFNGLGETERRORPROC)(void);
1685GLAPI PFNGLGETERRORPROC glad_glGetError;
1686#define glGetError glad_glGetError
1687typedef void (APIENTRYP PFNGLGETFLOATVPROC)(GLenum pname, GLfloat *data);
1688GLAPI PFNGLGETFLOATVPROC glad_glGetFloatv;
1689#define glGetFloatv glad_glGetFloatv
1690typedef void (APIENTRYP PFNGLGETINTEGERVPROC)(GLenum pname, GLint *data);
1691GLAPI PFNGLGETINTEGERVPROC glad_glGetIntegerv;
1692#define glGetIntegerv glad_glGetIntegerv
1693typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC)(GLenum name);
1694GLAPI PFNGLGETSTRINGPROC glad_glGetString;
1695#define glGetString glad_glGetString
1696typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, void *pixels);
1697GLAPI PFNGLGETTEXIMAGEPROC glad_glGetTexImage;
1698#define glGetTexImage glad_glGetTexImage
1699typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params);
1700GLAPI PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv;
1701#define glGetTexParameterfv glad_glGetTexParameterfv
1702typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);
1703GLAPI PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv;
1704#define glGetTexParameteriv glad_glGetTexParameteriv
1705typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params);
1706GLAPI PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv;
1707#define glGetTexLevelParameterfv glad_glGetTexLevelParameterfv
1708typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target, GLint level, GLenum pname, GLint *params);
1709GLAPI PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv;
1710#define glGetTexLevelParameteriv glad_glGetTexLevelParameteriv
1711typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC)(GLenum cap);
1712GLAPI PFNGLISENABLEDPROC glad_glIsEnabled;
1713#define glIsEnabled glad_glIsEnabled
1714typedef void (APIENTRYP PFNGLDEPTHRANGEPROC)(GLdouble n, GLdouble f);
1715GLAPI PFNGLDEPTHRANGEPROC glad_glDepthRange;
1716#define glDepthRange glad_glDepthRange
1717typedef void (APIENTRYP PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
1718GLAPI PFNGLVIEWPORTPROC glad_glViewport;
1719#define glViewport glad_glViewport
1720#endif
1721#ifndef GL_VERSION_1_1
1722#define GL_VERSION_1_1 1
1723GLAPI int GLAD_GL_VERSION_1_1;
1724typedef void (APIENTRYP PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count);
1725GLAPI PFNGLDRAWARRAYSPROC glad_glDrawArrays;
1726#define glDrawArrays glad_glDrawArrays
1727typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices);
1728GLAPI PFNGLDRAWELEMENTSPROC glad_glDrawElements;
1729#define glDrawElements glad_glDrawElements
1730typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units);
1731GLAPI PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset;
1732#define glPolygonOffset glad_glPolygonOffset
1733typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
1734GLAPI PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D;
1735#define glCopyTexImage1D glad_glCopyTexImage1D
1736typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
1737GLAPI PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D;
1738#define glCopyTexImage2D glad_glCopyTexImage2D
1739typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
1740GLAPI PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D;
1741#define glCopyTexSubImage1D glad_glCopyTexSubImage1D
1742typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
1743GLAPI PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D;
1744#define glCopyTexSubImage2D glad_glCopyTexSubImage2D
1745typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
1746GLAPI PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D;
1747#define glTexSubImage1D glad_glTexSubImage1D
1748typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
1749GLAPI PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D;
1750#define glTexSubImage2D glad_glTexSubImage2D
1751typedef void (APIENTRYP PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture);
1752GLAPI PFNGLBINDTEXTUREPROC glad_glBindTexture;
1753#define glBindTexture glad_glBindTexture
1754typedef void (APIENTRYP PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint *textures);
1755GLAPI PFNGLDELETETEXTURESPROC glad_glDeleteTextures;
1756#define glDeleteTextures glad_glDeleteTextures
1757typedef void (APIENTRYP PFNGLGENTEXTURESPROC)(GLsizei n, GLuint *textures);
1758GLAPI PFNGLGENTEXTURESPROC glad_glGenTextures;
1759#define glGenTextures glad_glGenTextures
1760typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC)(GLuint texture);
1761GLAPI PFNGLISTEXTUREPROC glad_glIsTexture;
1762#define glIsTexture glad_glIsTexture
1763#endif
1764#ifndef GL_VERSION_1_2
1765#define GL_VERSION_1_2 1
1766GLAPI int GLAD_GL_VERSION_1_2;
1767typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
1768GLAPI PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements;
1769#define glDrawRangeElements glad_glDrawRangeElements
1770typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
1771GLAPI PFNGLTEXIMAGE3DPROC glad_glTexImage3D;
1772#define glTexImage3D glad_glTexImage3D
1773typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
1774GLAPI PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D;
1775#define glTexSubImage3D glad_glTexSubImage3D
1776typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
1777GLAPI PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D;
1778#define glCopyTexSubImage3D glad_glCopyTexSubImage3D
1779#endif
1780#ifndef GL_VERSION_1_3
1781#define GL_VERSION_1_3 1
1782GLAPI int GLAD_GL_VERSION_1_3;
1783typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture);
1784GLAPI PFNGLACTIVETEXTUREPROC glad_glActiveTexture;
1785#define glActiveTexture glad_glActiveTexture
1786typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert);
1787GLAPI PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage;
1788#define glSampleCoverage glad_glSampleCoverage
1789typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
1790GLAPI PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D;
1791#define glCompressedTexImage3D glad_glCompressedTexImage3D
1792typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
1793GLAPI PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D;
1794#define glCompressedTexImage2D glad_glCompressedTexImage2D
1795typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);
1796GLAPI PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D;
1797#define glCompressedTexImage1D glad_glCompressedTexImage1D
1798typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
1799GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D;
1800#define glCompressedTexSubImage3D glad_glCompressedTexSubImage3D
1801typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
1802GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D;
1803#define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D
1804typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
1805GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D;
1806#define glCompressedTexSubImage1D glad_glCompressedTexSubImage1D
1807typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint level, void *img);
1808GLAPI PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage;
1809#define glGetCompressedTexImage glad_glGetCompressedTexImage
1810#endif
1811#ifndef GL_VERSION_1_4
1812#define GL_VERSION_1_4 1
1813GLAPI int GLAD_GL_VERSION_1_4;
1814typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
1815GLAPI PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate;
1816#define glBlendFuncSeparate glad_glBlendFuncSeparate
1817typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);
1818GLAPI PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays;
1819#define glMultiDrawArrays glad_glMultiDrawArrays
1820typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);
1821GLAPI PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements;
1822#define glMultiDrawElements glad_glMultiDrawElements
1823typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC)(GLenum pname, GLfloat param);
1824GLAPI PFNGLPOINTPARAMETERFPROC glad_glPointParameterf;
1825#define glPointParameterf glad_glPointParameterf
1826typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC)(GLenum pname, const GLfloat *params);
1827GLAPI PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv;
1828#define glPointParameterfv glad_glPointParameterfv
1829typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC)(GLenum pname, GLint param);
1830GLAPI PFNGLPOINTPARAMETERIPROC glad_glPointParameteri;
1831#define glPointParameteri glad_glPointParameteri
1832typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC)(GLenum pname, const GLint *params);
1833GLAPI PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv;
1834#define glPointParameteriv glad_glPointParameteriv
1835typedef void (APIENTRYP PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
1836GLAPI PFNGLBLENDCOLORPROC glad_glBlendColor;
1837#define glBlendColor glad_glBlendColor
1838typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC)(GLenum mode);
1839GLAPI PFNGLBLENDEQUATIONPROC glad_glBlendEquation;
1840#define glBlendEquation glad_glBlendEquation
1841#endif
1842#ifndef GL_VERSION_1_5
1843#define GL_VERSION_1_5 1
1844GLAPI int GLAD_GL_VERSION_1_5;
1845typedef void (APIENTRYP PFNGLGENQUERIESPROC)(GLsizei n, GLuint *ids);
1846GLAPI PFNGLGENQUERIESPROC glad_glGenQueries;
1847#define glGenQueries glad_glGenQueries
1848typedef void (APIENTRYP PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint *ids);
1849GLAPI PFNGLDELETEQUERIESPROC glad_glDeleteQueries;
1850#define glDeleteQueries glad_glDeleteQueries
1851typedef GLboolean (APIENTRYP PFNGLISQUERYPROC)(GLuint id);
1852GLAPI PFNGLISQUERYPROC glad_glIsQuery;
1853#define glIsQuery glad_glIsQuery
1854typedef void (APIENTRYP PFNGLBEGINQUERYPROC)(GLenum target, GLuint id);
1855GLAPI PFNGLBEGINQUERYPROC glad_glBeginQuery;
1856#define glBeginQuery glad_glBeginQuery
1857typedef void (APIENTRYP PFNGLENDQUERYPROC)(GLenum target);
1858GLAPI PFNGLENDQUERYPROC glad_glEndQuery;
1859#define glEndQuery glad_glEndQuery
1860typedef void (APIENTRYP PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint *params);
1861GLAPI PFNGLGETQUERYIVPROC glad_glGetQueryiv;
1862#define glGetQueryiv glad_glGetQueryiv
1863typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint *params);
1864GLAPI PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv;
1865#define glGetQueryObjectiv glad_glGetQueryObjectiv
1866typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint *params);
1867GLAPI PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv;
1868#define glGetQueryObjectuiv glad_glGetQueryObjectuiv
1869typedef void (APIENTRYP PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer);
1870GLAPI PFNGLBINDBUFFERPROC glad_glBindBuffer;
1871#define glBindBuffer glad_glBindBuffer
1872typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint *buffers);
1873GLAPI PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers;
1874#define glDeleteBuffers glad_glDeleteBuffers
1875typedef void (APIENTRYP PFNGLGENBUFFERSPROC)(GLsizei n, GLuint *buffers);
1876GLAPI PFNGLGENBUFFERSPROC glad_glGenBuffers;
1877#define glGenBuffers glad_glGenBuffers
1878typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC)(GLuint buffer);
1879GLAPI PFNGLISBUFFERPROC glad_glIsBuffer;
1880#define glIsBuffer glad_glIsBuffer
1881typedef void (APIENTRYP PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void *data, GLenum usage);
1882GLAPI PFNGLBUFFERDATAPROC glad_glBufferData;
1883#define glBufferData glad_glBufferData
1884typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
1885GLAPI PFNGLBUFFERSUBDATAPROC glad_glBufferSubData;
1886#define glBufferSubData glad_glBufferSubData
1887typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, void *data);
1888GLAPI PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData;
1889#define glGetBufferSubData glad_glGetBufferSubData
1890typedef void * (APIENTRYP PFNGLMAPBUFFERPROC)(GLenum target, GLenum access);
1891GLAPI PFNGLMAPBUFFERPROC glad_glMapBuffer;
1892#define glMapBuffer glad_glMapBuffer
1893typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC)(GLenum target);
1894GLAPI PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer;
1895#define glUnmapBuffer glad_glUnmapBuffer
1896typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);
1897GLAPI PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv;
1898#define glGetBufferParameteriv glad_glGetBufferParameteriv
1899typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, void **params);
1900GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;
1901#define glGetBufferPointerv glad_glGetBufferPointerv
1902#endif
1903#ifndef GL_VERSION_2_0
1904#define GL_VERSION_2_0 1
1905GLAPI int GLAD_GL_VERSION_2_0;
1906typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha);
1907GLAPI PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate;
1908#define glBlendEquationSeparate glad_glBlendEquationSeparate
1909typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum *bufs);
1910GLAPI PFNGLDRAWBUFFERSPROC glad_glDrawBuffers;
1911#define glDrawBuffers glad_glDrawBuffers
1912typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
1913GLAPI PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate;
1914#define glStencilOpSeparate glad_glStencilOpSeparate
1915typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask);
1916GLAPI PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate;
1917#define glStencilFuncSeparate glad_glStencilFuncSeparate
1918typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask);
1919GLAPI PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate;
1920#define glStencilMaskSeparate glad_glStencilMaskSeparate
1921typedef void (APIENTRYP PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader);
1922GLAPI PFNGLATTACHSHADERPROC glad_glAttachShader;
1923#define glAttachShader glad_glAttachShader
1924typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar *name);
1925GLAPI PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation;
1926#define glBindAttribLocation glad_glBindAttribLocation
1927typedef void (APIENTRYP PFNGLCOMPILESHADERPROC)(GLuint shader);
1928GLAPI PFNGLCOMPILESHADERPROC glad_glCompileShader;
1929#define glCompileShader glad_glCompileShader
1930typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC)(void);
1931GLAPI PFNGLCREATEPROGRAMPROC glad_glCreateProgram;
1932#define glCreateProgram glad_glCreateProgram
1933typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC)(GLenum type);
1934GLAPI PFNGLCREATESHADERPROC glad_glCreateShader;
1935#define glCreateShader glad_glCreateShader
1936typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC)(GLuint program);
1937GLAPI PFNGLDELETEPROGRAMPROC glad_glDeleteProgram;
1938#define glDeleteProgram glad_glDeleteProgram
1939typedef void (APIENTRYP PFNGLDELETESHADERPROC)(GLuint shader);
1940GLAPI PFNGLDELETESHADERPROC glad_glDeleteShader;
1941#define glDeleteShader glad_glDeleteShader
1942typedef void (APIENTRYP PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader);
1943GLAPI PFNGLDETACHSHADERPROC glad_glDetachShader;
1944#define glDetachShader glad_glDetachShader
1945typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index);
1946GLAPI PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray;
1947#define glDisableVertexAttribArray glad_glDisableVertexAttribArray
1948typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index);
1949GLAPI PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray;
1950#define glEnableVertexAttribArray glad_glEnableVertexAttribArray
1951typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
1952GLAPI PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib;
1953#define glGetActiveAttrib glad_glGetActiveAttrib
1954typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
1955GLAPI PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform;
1956#define glGetActiveUniform glad_glGetActiveUniform
1957typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
1958GLAPI PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders;
1959#define glGetAttachedShaders glad_glGetAttachedShaders
1960typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar *name);
1961GLAPI PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation;
1962#define glGetAttribLocation glad_glGetAttribLocation
1963typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint *params);
1964GLAPI PFNGLGETPROGRAMIVPROC glad_glGetProgramiv;
1965#define glGetProgramiv glad_glGetProgramiv
1966typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1967GLAPI PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog;
1968#define glGetProgramInfoLog glad_glGetProgramInfoLog
1969typedef void (APIENTRYP PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint *params);
1970GLAPI PFNGLGETSHADERIVPROC glad_glGetShaderiv;
1971#define glGetShaderiv glad_glGetShaderiv
1972typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1973GLAPI PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog;
1974#define glGetShaderInfoLog glad_glGetShaderInfoLog
1975typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
1976GLAPI PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource;
1977#define glGetShaderSource glad_glGetShaderSource
1978typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar *name);
1979GLAPI PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation;
1980#define glGetUniformLocation glad_glGetUniformLocation
1981typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat *params);
1982GLAPI PFNGLGETUNIFORMFVPROC glad_glGetUniformfv;
1983#define glGetUniformfv glad_glGetUniformfv
1984typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint *params);
1985GLAPI PFNGLGETUNIFORMIVPROC glad_glGetUniformiv;
1986#define glGetUniformiv glad_glGetUniformiv
1987typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC)(GLuint index, GLenum pname, GLdouble *params);
1988GLAPI PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv;
1989#define glGetVertexAttribdv glad_glGetVertexAttribdv
1990typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat *params);
1991GLAPI PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv;
1992#define glGetVertexAttribfv glad_glGetVertexAttribfv
1993typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint *params);
1994GLAPI PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv;
1995#define glGetVertexAttribiv glad_glGetVertexAttribiv
1996typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void **pointer);
1997GLAPI PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv;
1998#define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv
1999typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC)(GLuint program);
2000GLAPI PFNGLISPROGRAMPROC glad_glIsProgram;
2001#define glIsProgram glad_glIsProgram
2002typedef GLboolean (APIENTRYP PFNGLISSHADERPROC)(GLuint shader);
2003GLAPI PFNGLISSHADERPROC glad_glIsShader;
2004#define glIsShader glad_glIsShader
2005typedef void (APIENTRYP PFNGLLINKPROGRAMPROC)(GLuint program);
2006GLAPI PFNGLLINKPROGRAMPROC glad_glLinkProgram;
2007#define glLinkProgram glad_glLinkProgram
2008typedef void (APIENTRYP PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
2009GLAPI PFNGLSHADERSOURCEPROC glad_glShaderSource;
2010#define glShaderSource glad_glShaderSource
2011typedef void (APIENTRYP PFNGLUSEPROGRAMPROC)(GLuint program);
2012GLAPI PFNGLUSEPROGRAMPROC glad_glUseProgram;
2013#define glUseProgram glad_glUseProgram
2014typedef void (APIENTRYP PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0);
2015GLAPI PFNGLUNIFORM1FPROC glad_glUniform1f;
2016#define glUniform1f glad_glUniform1f
2017typedef void (APIENTRYP PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1);
2018GLAPI PFNGLUNIFORM2FPROC glad_glUniform2f;
2019#define glUniform2f glad_glUniform2f
2020typedef void (APIENTRYP PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
2021GLAPI PFNGLUNIFORM3FPROC glad_glUniform3f;
2022#define glUniform3f glad_glUniform3f
2023typedef void (APIENTRYP PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
2024GLAPI PFNGLUNIFORM4FPROC glad_glUniform4f;
2025#define glUniform4f glad_glUniform4f
2026typedef void (APIENTRYP PFNGLUNIFORM1IPROC)(GLint location, GLint v0);
2027GLAPI PFNGLUNIFORM1IPROC glad_glUniform1i;
2028#define glUniform1i glad_glUniform1i
2029typedef void (APIENTRYP PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1);
2030GLAPI PFNGLUNIFORM2IPROC glad_glUniform2i;
2031#define glUniform2i glad_glUniform2i
2032typedef void (APIENTRYP PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2);
2033GLAPI PFNGLUNIFORM3IPROC glad_glUniform3i;
2034#define glUniform3i glad_glUniform3i
2035typedef void (APIENTRYP PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
2036GLAPI PFNGLUNIFORM4IPROC glad_glUniform4i;
2037#define glUniform4i glad_glUniform4i
2038typedef void (APIENTRYP PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat *value);
2039GLAPI PFNGLUNIFORM1FVPROC glad_glUniform1fv;
2040#define glUniform1fv glad_glUniform1fv
2041typedef void (APIENTRYP PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat *value);
2042GLAPI PFNGLUNIFORM2FVPROC glad_glUniform2fv;
2043#define glUniform2fv glad_glUniform2fv
2044typedef void (APIENTRYP PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat *value);
2045GLAPI PFNGLUNIFORM3FVPROC glad_glUniform3fv;
2046#define glUniform3fv glad_glUniform3fv
2047typedef void (APIENTRYP PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat *value);
2048GLAPI PFNGLUNIFORM4FVPROC glad_glUniform4fv;
2049#define glUniform4fv glad_glUniform4fv
2050typedef void (APIENTRYP PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint *value);
2051GLAPI PFNGLUNIFORM1IVPROC glad_glUniform1iv;
2052#define glUniform1iv glad_glUniform1iv
2053typedef void (APIENTRYP PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint *value);
2054GLAPI PFNGLUNIFORM2IVPROC glad_glUniform2iv;
2055#define glUniform2iv glad_glUniform2iv
2056typedef void (APIENTRYP PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint *value);
2057GLAPI PFNGLUNIFORM3IVPROC glad_glUniform3iv;
2058#define glUniform3iv glad_glUniform3iv
2059typedef void (APIENTRYP PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint *value);
2060GLAPI PFNGLUNIFORM4IVPROC glad_glUniform4iv;
2061#define glUniform4iv glad_glUniform4iv
2062typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2063GLAPI PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv;
2064#define glUniformMatrix2fv glad_glUniformMatrix2fv
2065typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2066GLAPI PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv;
2067#define glUniformMatrix3fv glad_glUniformMatrix3fv
2068typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2069GLAPI PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv;
2070#define glUniformMatrix4fv glad_glUniformMatrix4fv
2071typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC)(GLuint program);
2072GLAPI PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram;
2073#define glValidateProgram glad_glValidateProgram
2074typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC)(GLuint index, GLdouble x);
2075GLAPI PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d;
2076#define glVertexAttrib1d glad_glVertexAttrib1d
2077typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC)(GLuint index, const GLdouble *v);
2078GLAPI PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv;
2079#define glVertexAttrib1dv glad_glVertexAttrib1dv
2080typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x);
2081GLAPI PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f;
2082#define glVertexAttrib1f glad_glVertexAttrib1f
2083typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat *v);
2084GLAPI PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv;
2085#define glVertexAttrib1fv glad_glVertexAttrib1fv
2086typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC)(GLuint index, GLshort x);
2087GLAPI PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s;
2088#define glVertexAttrib1s glad_glVertexAttrib1s
2089typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC)(GLuint index, const GLshort *v);
2090GLAPI PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv;
2091#define glVertexAttrib1sv glad_glVertexAttrib1sv
2092typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC)(GLuint index, GLdouble x, GLdouble y);
2093GLAPI PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d;
2094#define glVertexAttrib2d glad_glVertexAttrib2d
2095typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC)(GLuint index, const GLdouble *v);
2096GLAPI PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv;
2097#define glVertexAttrib2dv glad_glVertexAttrib2dv
2098typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y);
2099GLAPI PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f;
2100#define glVertexAttrib2f glad_glVertexAttrib2f
2101typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat *v);
2102GLAPI PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv;
2103#define glVertexAttrib2fv glad_glVertexAttrib2fv
2104typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC)(GLuint index, GLshort x, GLshort y);
2105GLAPI PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s;
2106#define glVertexAttrib2s glad_glVertexAttrib2s
2107typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC)(GLuint index, const GLshort *v);
2108GLAPI PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv;
2109#define glVertexAttrib2sv glad_glVertexAttrib2sv
2110typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
2111GLAPI PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d;
2112#define glVertexAttrib3d glad_glVertexAttrib3d
2113typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC)(GLuint index, const GLdouble *v);
2114GLAPI PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv;
2115#define glVertexAttrib3dv glad_glVertexAttrib3dv
2116typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
2117GLAPI PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f;
2118#define glVertexAttrib3f glad_glVertexAttrib3f
2119typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat *v);
2120GLAPI PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv;
2121#define glVertexAttrib3fv glad_glVertexAttrib3fv
2122typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC)(GLuint index, GLshort x, GLshort y, GLshort z);
2123GLAPI PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s;
2124#define glVertexAttrib3s glad_glVertexAttrib3s
2125typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC)(GLuint index, const GLshort *v);
2126GLAPI PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv;
2127#define glVertexAttrib3sv glad_glVertexAttrib3sv
2128typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC)(GLuint index, const GLbyte *v);
2129GLAPI PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv;
2130#define glVertexAttrib4Nbv glad_glVertexAttrib4Nbv
2131typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC)(GLuint index, const GLint *v);
2132GLAPI PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv;
2133#define glVertexAttrib4Niv glad_glVertexAttrib4Niv
2134typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC)(GLuint index, const GLshort *v);
2135GLAPI PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv;
2136#define glVertexAttrib4Nsv glad_glVertexAttrib4Nsv
2137typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
2138GLAPI PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub;
2139#define glVertexAttrib4Nub glad_glVertexAttrib4Nub
2140typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC)(GLuint index, const GLubyte *v);
2141GLAPI PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv;
2142#define glVertexAttrib4Nubv glad_glVertexAttrib4Nubv
2143typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC)(GLuint index, const GLuint *v);
2144GLAPI PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv;
2145#define glVertexAttrib4Nuiv glad_glVertexAttrib4Nuiv
2146typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC)(GLuint index, const GLushort *v);
2147GLAPI PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv;
2148#define glVertexAttrib4Nusv glad_glVertexAttrib4Nusv
2149typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC)(GLuint index, const GLbyte *v);
2150GLAPI PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv;
2151#define glVertexAttrib4bv glad_glVertexAttrib4bv
2152typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
2153GLAPI PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d;
2154#define glVertexAttrib4d glad_glVertexAttrib4d
2155typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC)(GLuint index, const GLdouble *v);
2156GLAPI PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv;
2157#define glVertexAttrib4dv glad_glVertexAttrib4dv
2158typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
2159GLAPI PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f;
2160#define glVertexAttrib4f glad_glVertexAttrib4f
2161typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat *v);
2162GLAPI PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv;
2163#define glVertexAttrib4fv glad_glVertexAttrib4fv
2164typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC)(GLuint index, const GLint *v);
2165GLAPI PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv;
2166#define glVertexAttrib4iv glad_glVertexAttrib4iv
2167typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
2168GLAPI PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s;
2169#define glVertexAttrib4s glad_glVertexAttrib4s
2170typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC)(GLuint index, const GLshort *v);
2171GLAPI PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv;
2172#define glVertexAttrib4sv glad_glVertexAttrib4sv
2173typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC)(GLuint index, const GLubyte *v);
2174GLAPI PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv;
2175#define glVertexAttrib4ubv glad_glVertexAttrib4ubv
2176typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC)(GLuint index, const GLuint *v);
2177GLAPI PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv;
2178#define glVertexAttrib4uiv glad_glVertexAttrib4uiv
2179typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC)(GLuint index, const GLushort *v);
2180GLAPI PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv;
2181#define glVertexAttrib4usv glad_glVertexAttrib4usv
2182typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
2183GLAPI PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer;
2184#define glVertexAttribPointer glad_glVertexAttribPointer
2185#endif
2186#ifndef GL_VERSION_2_1
2187#define GL_VERSION_2_1 1
2188GLAPI int GLAD_GL_VERSION_2_1;
2189typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2190GLAPI PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv;
2191#define glUniformMatrix2x3fv glad_glUniformMatrix2x3fv
2192typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2193GLAPI PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv;
2194#define glUniformMatrix3x2fv glad_glUniformMatrix3x2fv
2195typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2196GLAPI PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv;
2197#define glUniformMatrix2x4fv glad_glUniformMatrix2x4fv
2198typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2199GLAPI PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv;
2200#define glUniformMatrix4x2fv glad_glUniformMatrix4x2fv
2201typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2202GLAPI PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv;
2203#define glUniformMatrix3x4fv glad_glUniformMatrix3x4fv
2204typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
2205GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;
2206#define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv
2207#endif
2208#ifndef GL_VERSION_3_0
2209#define GL_VERSION_3_0 1
2210GLAPI int GLAD_GL_VERSION_3_0;
2211typedef void (APIENTRYP PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
2212GLAPI PFNGLCOLORMASKIPROC glad_glColorMaski;
2213#define glColorMaski glad_glColorMaski
2214typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean *data);
2215GLAPI PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v;
2216#define glGetBooleani_v glad_glGetBooleani_v
2217typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint *data);
2218GLAPI PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v;
2219#define glGetIntegeri_v glad_glGetIntegeri_v
2220typedef void (APIENTRYP PFNGLENABLEIPROC)(GLenum target, GLuint index);
2221GLAPI PFNGLENABLEIPROC glad_glEnablei;
2222#define glEnablei glad_glEnablei
2223typedef void (APIENTRYP PFNGLDISABLEIPROC)(GLenum target, GLuint index);
2224GLAPI PFNGLDISABLEIPROC glad_glDisablei;
2225#define glDisablei glad_glDisablei
2226typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC)(GLenum target, GLuint index);
2227GLAPI PFNGLISENABLEDIPROC glad_glIsEnabledi;
2228#define glIsEnabledi glad_glIsEnabledi
2229typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode);
2230GLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback;
2231#define glBeginTransformFeedback glad_glBeginTransformFeedback
2232typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)(void);
2233GLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback;
2234#define glEndTransformFeedback glad_glEndTransformFeedback
2235typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
2236GLAPI PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange;
2237#define glBindBufferRange glad_glBindBufferRange
2238typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer);
2239GLAPI PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase;
2240#define glBindBufferBase glad_glBindBufferBase
2241typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
2242GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings;
2243#define glTransformFeedbackVaryings glad_glTransformFeedbackVaryings
2244typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
2245GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying;
2246#define glGetTransformFeedbackVarying glad_glGetTransformFeedbackVarying
2247typedef void (APIENTRYP PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp);
2248GLAPI PFNGLCLAMPCOLORPROC glad_glClampColor;
2249#define glClampColor glad_glClampColor
2250typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode);
2251GLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender;
2252#define glBeginConditionalRender glad_glBeginConditionalRender
2253typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC)(void);
2254GLAPI PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender;
2255#define glEndConditionalRender glad_glEndConditionalRender
2256typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
2257GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer;
2258#define glVertexAttribIPointer glad_glVertexAttribIPointer
2259typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint *params);
2260GLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv;
2261#define glGetVertexAttribIiv glad_glGetVertexAttribIiv
2262typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint *params);
2263GLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv;
2264#define glGetVertexAttribIuiv glad_glGetVertexAttribIuiv
2265typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x);
2266GLAPI PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i;
2267#define glVertexAttribI1i glad_glVertexAttribI1i
2268typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y);
2269GLAPI PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i;
2270#define glVertexAttribI2i glad_glVertexAttribI2i
2271typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z);
2272GLAPI PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i;
2273#define glVertexAttribI3i glad_glVertexAttribI3i
2274typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w);
2275GLAPI PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i;
2276#define glVertexAttribI4i glad_glVertexAttribI4i
2277typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x);
2278GLAPI PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui;
2279#define glVertexAttribI1ui glad_glVertexAttribI1ui
2280typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y);
2281GLAPI PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui;
2282#define glVertexAttribI2ui glad_glVertexAttribI2ui
2283typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z);
2284GLAPI PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui;
2285#define glVertexAttribI3ui glad_glVertexAttribI3ui
2286typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
2287GLAPI PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui;
2288#define glVertexAttribI4ui glad_glVertexAttribI4ui
2289typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint *v);
2290GLAPI PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv;
2291#define glVertexAttribI1iv glad_glVertexAttribI1iv
2292typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint *v);
2293GLAPI PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv;
2294#define glVertexAttribI2iv glad_glVertexAttribI2iv
2295typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint *v);
2296GLAPI PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv;
2297#define glVertexAttribI3iv glad_glVertexAttribI3iv
2298typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint *v);
2299GLAPI PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv;
2300#define glVertexAttribI4iv glad_glVertexAttribI4iv
2301typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint *v);
2302GLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv;
2303#define glVertexAttribI1uiv glad_glVertexAttribI1uiv
2304typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint *v);
2305GLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv;
2306#define glVertexAttribI2uiv glad_glVertexAttribI2uiv
2307typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint *v);
2308GLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv;
2309#define glVertexAttribI3uiv glad_glVertexAttribI3uiv
2310typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint *v);
2311GLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv;
2312#define glVertexAttribI4uiv glad_glVertexAttribI4uiv
2313typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte *v);
2314GLAPI PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv;
2315#define glVertexAttribI4bv glad_glVertexAttribI4bv
2316typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort *v);
2317GLAPI PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv;
2318#define glVertexAttribI4sv glad_glVertexAttribI4sv
2319typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte *v);
2320GLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv;
2321#define glVertexAttribI4ubv glad_glVertexAttribI4ubv
2322typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort *v);
2323GLAPI PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv;
2324#define glVertexAttribI4usv glad_glVertexAttribI4usv
2325typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint *params);
2326GLAPI PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv;
2327#define glGetUniformuiv glad_glGetUniformuiv
2328typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar *name);
2329GLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation;
2330#define glBindFragDataLocation glad_glBindFragDataLocation
2331typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar *name);
2332GLAPI PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation;
2333#define glGetFragDataLocation glad_glGetFragDataLocation
2334typedef void (APIENTRYP PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0);
2335GLAPI PFNGLUNIFORM1UIPROC glad_glUniform1ui;
2336#define glUniform1ui glad_glUniform1ui
2337typedef void (APIENTRYP PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1);
2338GLAPI PFNGLUNIFORM2UIPROC glad_glUniform2ui;
2339#define glUniform2ui glad_glUniform2ui
2340typedef void (APIENTRYP PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);
2341GLAPI PFNGLUNIFORM3UIPROC glad_glUniform3ui;
2342#define glUniform3ui glad_glUniform3ui
2343typedef void (APIENTRYP PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
2344GLAPI PFNGLUNIFORM4UIPROC glad_glUniform4ui;
2345#define glUniform4ui glad_glUniform4ui
2346typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint *value);
2347GLAPI PFNGLUNIFORM1UIVPROC glad_glUniform1uiv;
2348#define glUniform1uiv glad_glUniform1uiv
2349typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint *value);
2350GLAPI PFNGLUNIFORM2UIVPROC glad_glUniform2uiv;
2351#define glUniform2uiv glad_glUniform2uiv
2352typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint *value);
2353GLAPI PFNGLUNIFORM3UIVPROC glad_glUniform3uiv;
2354#define glUniform3uiv glad_glUniform3uiv
2355typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint *value);
2356GLAPI PFNGLUNIFORM4UIVPROC glad_glUniform4uiv;
2357#define glUniform4uiv glad_glUniform4uiv
2358typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint *params);
2359GLAPI PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv;
2360#define glTexParameterIiv glad_glTexParameterIiv
2361typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint *params);
2362GLAPI PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv;
2363#define glTexParameterIuiv glad_glTexParameterIuiv
2364typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint *params);
2365GLAPI PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv;
2366#define glGetTexParameterIiv glad_glGetTexParameterIiv
2367typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint *params);
2368GLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv;
2369#define glGetTexParameterIuiv glad_glGetTexParameterIuiv
2370typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint *value);
2371GLAPI PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv;
2372#define glClearBufferiv glad_glClearBufferiv
2373typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint *value);
2374GLAPI PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv;
2375#define glClearBufferuiv glad_glClearBufferuiv
2376typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat *value);
2377GLAPI PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv;
2378#define glClearBufferfv glad_glClearBufferfv
2379typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
2380GLAPI PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi;
2381#define glClearBufferfi glad_glClearBufferfi
2382typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC)(GLenum name, GLuint index);
2383GLAPI PFNGLGETSTRINGIPROC glad_glGetStringi;
2384#define glGetStringi glad_glGetStringi
2385typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer);
2386GLAPI PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;
2387#define glIsRenderbuffer glad_glIsRenderbuffer
2388typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer);
2389GLAPI PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;
2390#define glBindRenderbuffer glad_glBindRenderbuffer
2391typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers);
2392GLAPI PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;
2393#define glDeleteRenderbuffers glad_glDeleteRenderbuffers
2394typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers);
2395GLAPI PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;
2396#define glGenRenderbuffers glad_glGenRenderbuffers
2397typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
2398GLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;
2399#define glRenderbufferStorage glad_glRenderbufferStorage
2400typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);
2401GLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;
2402#define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv
2403typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer);
2404GLAPI PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;
2405#define glIsFramebuffer glad_glIsFramebuffer
2406typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);
2407GLAPI PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;
2408#define glBindFramebuffer glad_glBindFramebuffer
2409typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers);
2410GLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;
2411#define glDeleteFramebuffers glad_glDeleteFramebuffers
2412typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers);
2413GLAPI PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;
2414#define glGenFramebuffers glad_glGenFramebuffers
2415typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target);
2416GLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;
2417#define glCheckFramebufferStatus glad_glCheckFramebufferStatus
2418typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
2419GLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D;
2420#define glFramebufferTexture1D glad_glFramebufferTexture1D
2421typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
2422GLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;
2423#define glFramebufferTexture2D glad_glFramebufferTexture2D
2424typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
2425GLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D;
2426#define glFramebufferTexture3D glad_glFramebufferTexture3D
2427typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
2428GLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;
2429#define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer
2430typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params);
2431GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;
2432#define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv
2433typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC)(GLenum target);
2434GLAPI PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;
2435#define glGenerateMipmap glad_glGenerateMipmap
2436typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
2437GLAPI PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer;
2438#define glBlitFramebuffer glad_glBlitFramebuffer
2439typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
2440GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample;
2441#define glRenderbufferStorageMultisample glad_glRenderbufferStorageMultisample
2442typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
2443GLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer;
2444#define glFramebufferTextureLayer glad_glFramebufferTextureLayer
2445typedef void * (APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
2446GLAPI PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange;
2447#define glMapBufferRange glad_glMapBufferRange
2448typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length);
2449GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange;
2450#define glFlushMappedBufferRange glad_glFlushMappedBufferRange
2451typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint array);
2452GLAPI PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray;
2453#define glBindVertexArray glad_glBindVertexArray
2454typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint *arrays);
2455GLAPI PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays;
2456#define glDeleteVertexArrays glad_glDeleteVertexArrays
2457typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays);
2458GLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays;
2459#define glGenVertexArrays glad_glGenVertexArrays
2460typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint array);
2461GLAPI PFNGLISVERTEXARRAYPROC glad_glIsVertexArray;
2462#define glIsVertexArray glad_glIsVertexArray
2463#endif
2464#ifndef GL_VERSION_3_1
2465#define GL_VERSION_3_1 1
2466GLAPI int GLAD_GL_VERSION_3_1;
2467typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
2468GLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced;
2469#define glDrawArraysInstanced glad_glDrawArraysInstanced
2470typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
2471GLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced;
2472#define glDrawElementsInstanced glad_glDrawElementsInstanced
2473typedef void (APIENTRYP PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer);
2474GLAPI PFNGLTEXBUFFERPROC glad_glTexBuffer;
2475#define glTexBuffer glad_glTexBuffer
2476typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index);
2477GLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex;
2478#define glPrimitiveRestartIndex glad_glPrimitiveRestartIndex
2479typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
2480GLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData;
2481#define glCopyBufferSubData glad_glCopyBufferSubData
2482typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
2483GLAPI PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices;
2484#define glGetUniformIndices glad_glGetUniformIndices
2485typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
2486GLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv;
2487#define glGetActiveUniformsiv glad_glGetActiveUniformsiv
2488typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
2489GLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName;
2490#define glGetActiveUniformName glad_glGetActiveUniformName
2491typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar *uniformBlockName);
2492GLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex;
2493#define glGetUniformBlockIndex glad_glGetUniformBlockIndex
2494typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
2495GLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv;
2496#define glGetActiveUniformBlockiv glad_glGetActiveUniformBlockiv
2497typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
2498GLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName;
2499#define glGetActiveUniformBlockName glad_glGetActiveUniformBlockName
2500typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
2501GLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding;
2502#define glUniformBlockBinding glad_glUniformBlockBinding
2503#endif
2504#ifndef GL_VERSION_3_2
2505#define GL_VERSION_3_2 1
2506GLAPI int GLAD_GL_VERSION_3_2;
2507typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
2508GLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex;
2509#define glDrawElementsBaseVertex glad_glDrawElementsBaseVertex
2510typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
2511GLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex;
2512#define glDrawRangeElementsBaseVertex glad_glDrawRangeElementsBaseVertex
2513typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
2514GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex;
2515#define glDrawElementsInstancedBaseVertex glad_glDrawElementsInstancedBaseVertex
2516typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);
2517GLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex;
2518#define glMultiDrawElementsBaseVertex glad_glMultiDrawElementsBaseVertex
2519typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC)(GLenum mode);
2520GLAPI PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex;
2521#define glProvokingVertex glad_glProvokingVertex
2522typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags);
2523GLAPI PFNGLFENCESYNCPROC glad_glFenceSync;
2524#define glFenceSync glad_glFenceSync
2525typedef GLboolean (APIENTRYP PFNGLISSYNCPROC)(GLsync sync);
2526GLAPI PFNGLISSYNCPROC glad_glIsSync;
2527#define glIsSync glad_glIsSync
2528typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync);
2529GLAPI PFNGLDELETESYNCPROC glad_glDeleteSync;
2530#define glDeleteSync glad_glDeleteSync
2531typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);
2532GLAPI PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync;
2533#define glClientWaitSync glad_glClientWaitSync
2534typedef void (APIENTRYP PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);
2535GLAPI PFNGLWAITSYNCPROC glad_glWaitSync;
2536#define glWaitSync glad_glWaitSync
2537typedef void (APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 *data);
2538GLAPI PFNGLGETINTEGER64VPROC glad_glGetInteger64v;
2539#define glGetInteger64v glad_glGetInteger64v
2540typedef void (APIENTRYP PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values);
2541GLAPI PFNGLGETSYNCIVPROC glad_glGetSynciv;
2542#define glGetSynciv glad_glGetSynciv
2543typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 *data);
2544GLAPI PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v;
2545#define glGetInteger64i_v glad_glGetInteger64i_v
2546typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 *params);
2547GLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v;
2548#define glGetBufferParameteri64v glad_glGetBufferParameteri64v
2549typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level);
2550GLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture;
2551#define glFramebufferTexture glad_glFramebufferTexture
2552typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
2553GLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample;
2554#define glTexImage2DMultisample glad_glTexImage2DMultisample
2555typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
2556GLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample;
2557#define glTexImage3DMultisample glad_glTexImage3DMultisample
2558typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat *val);
2559GLAPI PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv;
2560#define glGetMultisamplefv glad_glGetMultisamplefv
2561typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint maskNumber, GLbitfield mask);
2562GLAPI PFNGLSAMPLEMASKIPROC glad_glSampleMaski;
2563#define glSampleMaski glad_glSampleMaski
2564#endif
2565#ifndef GL_VERSION_3_3
2566#define GL_VERSION_3_3 1
2567GLAPI int GLAD_GL_VERSION_3_3;
2568typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
2569GLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed;
2570#define glBindFragDataLocationIndexed glad_glBindFragDataLocationIndexed
2571typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar *name);
2572GLAPI PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex;
2573#define glGetFragDataIndex glad_glGetFragDataIndex
2574typedef void (APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint *samplers);
2575GLAPI PFNGLGENSAMPLERSPROC glad_glGenSamplers;
2576#define glGenSamplers glad_glGenSamplers
2577typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint *samplers);
2578GLAPI PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers;
2579#define glDeleteSamplers glad_glDeleteSamplers
2580typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC)(GLuint sampler);
2581GLAPI PFNGLISSAMPLERPROC glad_glIsSampler;
2582#define glIsSampler glad_glIsSampler
2583typedef void (APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler);
2584GLAPI PFNGLBINDSAMPLERPROC glad_glBindSampler;
2585#define glBindSampler glad_glBindSampler
2586typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param);
2587GLAPI PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri;
2588#define glSamplerParameteri glad_glSamplerParameteri
2589typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint *param);
2590GLAPI PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv;
2591#define glSamplerParameteriv glad_glSamplerParameteriv
2592typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param);
2593GLAPI PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf;
2594#define glSamplerParameterf glad_glSamplerParameterf
2595typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat *param);
2596GLAPI PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv;
2597#define glSamplerParameterfv glad_glSamplerParameterfv
2598typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint *param);
2599GLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv;
2600#define glSamplerParameterIiv glad_glSamplerParameterIiv
2601typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint *param);
2602GLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv;
2603#define glSamplerParameterIuiv glad_glSamplerParameterIuiv
2604typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint *params);
2605GLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv;
2606#define glGetSamplerParameteriv glad_glGetSamplerParameteriv
2607typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint *params);
2608GLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv;
2609#define glGetSamplerParameterIiv glad_glGetSamplerParameterIiv
2610typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat *params);
2611GLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv;
2612#define glGetSamplerParameterfv glad_glGetSamplerParameterfv
2613typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint *params);
2614GLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv;
2615#define glGetSamplerParameterIuiv glad_glGetSamplerParameterIuiv
2616typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target);
2617GLAPI PFNGLQUERYCOUNTERPROC glad_glQueryCounter;
2618#define glQueryCounter glad_glQueryCounter
2619typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 *params);
2620GLAPI PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v;
2621#define glGetQueryObjecti64v glad_glGetQueryObjecti64v
2622typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 *params);
2623GLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v;
2624#define glGetQueryObjectui64v glad_glGetQueryObjectui64v
2625typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor);
2626GLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor;
2627#define glVertexAttribDivisor glad_glVertexAttribDivisor
2628typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
2629GLAPI PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui;
2630#define glVertexAttribP1ui glad_glVertexAttribP1ui
2631typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
2632GLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv;
2633#define glVertexAttribP1uiv glad_glVertexAttribP1uiv
2634typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
2635GLAPI PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui;
2636#define glVertexAttribP2ui glad_glVertexAttribP2ui
2637typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
2638GLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv;
2639#define glVertexAttribP2uiv glad_glVertexAttribP2uiv
2640typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
2641GLAPI PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui;
2642#define glVertexAttribP3ui glad_glVertexAttribP3ui
2643typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
2644GLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv;
2645#define glVertexAttribP3uiv glad_glVertexAttribP3uiv
2646typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value);
2647GLAPI PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui;
2648#define glVertexAttribP4ui glad_glVertexAttribP4ui
2649typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value);
2650GLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv;
2651#define glVertexAttribP4uiv glad_glVertexAttribP4uiv
2652typedef void (APIENTRYP PFNGLVERTEXP2UIPROC)(GLenum type, GLuint value);
2653GLAPI PFNGLVERTEXP2UIPROC glad_glVertexP2ui;
2654#define glVertexP2ui glad_glVertexP2ui
2655typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC)(GLenum type, const GLuint *value);
2656GLAPI PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv;
2657#define glVertexP2uiv glad_glVertexP2uiv
2658typedef void (APIENTRYP PFNGLVERTEXP3UIPROC)(GLenum type, GLuint value);
2659GLAPI PFNGLVERTEXP3UIPROC glad_glVertexP3ui;
2660#define glVertexP3ui glad_glVertexP3ui
2661typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC)(GLenum type, const GLuint *value);
2662GLAPI PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv;
2663#define glVertexP3uiv glad_glVertexP3uiv
2664typedef void (APIENTRYP PFNGLVERTEXP4UIPROC)(GLenum type, GLuint value);
2665GLAPI PFNGLVERTEXP4UIPROC glad_glVertexP4ui;
2666#define glVertexP4ui glad_glVertexP4ui
2667typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC)(GLenum type, const GLuint *value);
2668GLAPI PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv;
2669#define glVertexP4uiv glad_glVertexP4uiv
2670typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC)(GLenum type, GLuint coords);
2671GLAPI PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui;
2672#define glTexCoordP1ui glad_glTexCoordP1ui
2673typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC)(GLenum type, const GLuint *coords);
2674GLAPI PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv;
2675#define glTexCoordP1uiv glad_glTexCoordP1uiv
2676typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC)(GLenum type, GLuint coords);
2677GLAPI PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui;
2678#define glTexCoordP2ui glad_glTexCoordP2ui
2679typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC)(GLenum type, const GLuint *coords);
2680GLAPI PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv;
2681#define glTexCoordP2uiv glad_glTexCoordP2uiv
2682typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC)(GLenum type, GLuint coords);
2683GLAPI PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui;
2684#define glTexCoordP3ui glad_glTexCoordP3ui
2685typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC)(GLenum type, const GLuint *coords);
2686GLAPI PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv;
2687#define glTexCoordP3uiv glad_glTexCoordP3uiv
2688typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC)(GLenum type, GLuint coords);
2689GLAPI PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui;
2690#define glTexCoordP4ui glad_glTexCoordP4ui
2691typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC)(GLenum type, const GLuint *coords);
2692GLAPI PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv;
2693#define glTexCoordP4uiv glad_glTexCoordP4uiv
2694typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC)(GLenum texture, GLenum type, GLuint coords);
2695GLAPI PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui;
2696#define glMultiTexCoordP1ui glad_glMultiTexCoordP1ui
2697typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
2698GLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv;
2699#define glMultiTexCoordP1uiv glad_glMultiTexCoordP1uiv
2700typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC)(GLenum texture, GLenum type, GLuint coords);
2701GLAPI PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui;
2702#define glMultiTexCoordP2ui glad_glMultiTexCoordP2ui
2703typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
2704GLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv;
2705#define glMultiTexCoordP2uiv glad_glMultiTexCoordP2uiv
2706typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum type, GLuint coords);
2707GLAPI PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui;
2708#define glMultiTexCoordP3ui glad_glMultiTexCoordP3ui
2709typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
2710GLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv;
2711#define glMultiTexCoordP3uiv glad_glMultiTexCoordP3uiv
2712typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords);
2713GLAPI PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui;
2714#define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui
2715typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint *coords);
2716GLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv;
2717#define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv
2718typedef void (APIENTRYP PFNGLNORMALP3UIPROC)(GLenum type, GLuint coords);
2719GLAPI PFNGLNORMALP3UIPROC glad_glNormalP3ui;
2720#define glNormalP3ui glad_glNormalP3ui
2721typedef void (APIENTRYP PFNGLNORMALP3UIVPROC)(GLenum type, const GLuint *coords);
2722GLAPI PFNGLNORMALP3UIVPROC glad_glNormalP3uiv;
2723#define glNormalP3uiv glad_glNormalP3uiv
2724typedef void (APIENTRYP PFNGLCOLORP3UIPROC)(GLenum type, GLuint color);
2725GLAPI PFNGLCOLORP3UIPROC glad_glColorP3ui;
2726#define glColorP3ui glad_glColorP3ui
2727typedef void (APIENTRYP PFNGLCOLORP3UIVPROC)(GLenum type, const GLuint *color);
2728GLAPI PFNGLCOLORP3UIVPROC glad_glColorP3uiv;
2729#define glColorP3uiv glad_glColorP3uiv
2730typedef void (APIENTRYP PFNGLCOLORP4UIPROC)(GLenum type, GLuint color);
2731GLAPI PFNGLCOLORP4UIPROC glad_glColorP4ui;
2732#define glColorP4ui glad_glColorP4ui
2733typedef void (APIENTRYP PFNGLCOLORP4UIVPROC)(GLenum type, const GLuint *color);
2734GLAPI PFNGLCOLORP4UIVPROC glad_glColorP4uiv;
2735#define glColorP4uiv glad_glColorP4uiv
2736typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC)(GLenum type, GLuint color);
2737GLAPI PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui;
2738#define glSecondaryColorP3ui glad_glSecondaryColorP3ui
2739typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint *color);
2740GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv;
2741#define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv
2742#endif
2743#ifndef GL_VERSION_4_0
2744#define GL_VERSION_4_0 1
2745GLAPI int GLAD_GL_VERSION_4_0;
2746typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC)(GLfloat value);
2747GLAPI PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading;
2748#define glMinSampleShading glad_glMinSampleShading
2749typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC)(GLuint buf, GLenum mode);
2750GLAPI PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi;
2751#define glBlendEquationi glad_glBlendEquationi
2752typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
2753GLAPI PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei;
2754#define glBlendEquationSeparatei glad_glBlendEquationSeparatei
2755typedef void (APIENTRYP PFNGLBLENDFUNCIPROC)(GLuint buf, GLenum src, GLenum dst);
2756GLAPI PFNGLBLENDFUNCIPROC glad_glBlendFunci;
2757#define glBlendFunci glad_glBlendFunci
2758typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
2759GLAPI PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei;
2760#define glBlendFuncSeparatei glad_glBlendFuncSeparatei
2761typedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC)(GLenum mode, const void *indirect);
2762GLAPI PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect;
2763#define glDrawArraysIndirect glad_glDrawArraysIndirect
2764typedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const void *indirect);
2765GLAPI PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect;
2766#define glDrawElementsIndirect glad_glDrawElementsIndirect
2767typedef void (APIENTRYP PFNGLUNIFORM1DPROC)(GLint location, GLdouble x);
2768GLAPI PFNGLUNIFORM1DPROC glad_glUniform1d;
2769#define glUniform1d glad_glUniform1d
2770typedef void (APIENTRYP PFNGLUNIFORM2DPROC)(GLint location, GLdouble x, GLdouble y);
2771GLAPI PFNGLUNIFORM2DPROC glad_glUniform2d;
2772#define glUniform2d glad_glUniform2d
2773typedef void (APIENTRYP PFNGLUNIFORM3DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z);
2774GLAPI PFNGLUNIFORM3DPROC glad_glUniform3d;
2775#define glUniform3d glad_glUniform3d
2776typedef void (APIENTRYP PFNGLUNIFORM4DPROC)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
2777GLAPI PFNGLUNIFORM4DPROC glad_glUniform4d;
2778#define glUniform4d glad_glUniform4d
2779typedef void (APIENTRYP PFNGLUNIFORM1DVPROC)(GLint location, GLsizei count, const GLdouble *value);
2780GLAPI PFNGLUNIFORM1DVPROC glad_glUniform1dv;
2781#define glUniform1dv glad_glUniform1dv
2782typedef void (APIENTRYP PFNGLUNIFORM2DVPROC)(GLint location, GLsizei count, const GLdouble *value);
2783GLAPI PFNGLUNIFORM2DVPROC glad_glUniform2dv;
2784#define glUniform2dv glad_glUniform2dv
2785typedef void (APIENTRYP PFNGLUNIFORM3DVPROC)(GLint location, GLsizei count, const GLdouble *value);
2786GLAPI PFNGLUNIFORM3DVPROC glad_glUniform3dv;
2787#define glUniform3dv glad_glUniform3dv
2788typedef void (APIENTRYP PFNGLUNIFORM4DVPROC)(GLint location, GLsizei count, const GLdouble *value);
2789GLAPI PFNGLUNIFORM4DVPROC glad_glUniform4dv;
2790#define glUniform4dv glad_glUniform4dv
2791typedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2792GLAPI PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv;
2793#define glUniformMatrix2dv glad_glUniformMatrix2dv
2794typedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2795GLAPI PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv;
2796#define glUniformMatrix3dv glad_glUniformMatrix3dv
2797typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2798GLAPI PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv;
2799#define glUniformMatrix4dv glad_glUniformMatrix4dv
2800typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2801GLAPI PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv;
2802#define glUniformMatrix2x3dv glad_glUniformMatrix2x3dv
2803typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2804GLAPI PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv;
2805#define glUniformMatrix2x4dv glad_glUniformMatrix2x4dv
2806typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2807GLAPI PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv;
2808#define glUniformMatrix3x2dv glad_glUniformMatrix3x2dv
2809typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2810GLAPI PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv;
2811#define glUniformMatrix3x4dv glad_glUniformMatrix3x4dv
2812typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2813GLAPI PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv;
2814#define glUniformMatrix4x2dv glad_glUniformMatrix4x2dv
2815typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
2816GLAPI PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv;
2817#define glUniformMatrix4x3dv glad_glUniformMatrix4x3dv
2818typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC)(GLuint program, GLint location, GLdouble *params);
2819GLAPI PFNGLGETUNIFORMDVPROC glad_glGetUniformdv;
2820#define glGetUniformdv glad_glGetUniformdv
2821typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)(GLuint program, GLenum shadertype, const GLchar *name);
2822GLAPI PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation;
2823#define glGetSubroutineUniformLocation glad_glGetSubroutineUniformLocation
2824typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC)(GLuint program, GLenum shadertype, const GLchar *name);
2825GLAPI PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex;
2826#define glGetSubroutineIndex glad_glGetSubroutineIndex
2827typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
2828GLAPI PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv;
2829#define glGetActiveSubroutineUniformiv glad_glGetActiveSubroutineUniformiv
2830typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
2831GLAPI PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName;
2832#define glGetActiveSubroutineUniformName glad_glGetActiveSubroutineUniformName
2833typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
2834GLAPI PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName;
2835#define glGetActiveSubroutineName glad_glGetActiveSubroutineName
2836typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC)(GLenum shadertype, GLsizei count, const GLuint *indices);
2837GLAPI PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv;
2838#define glUniformSubroutinesuiv glad_glUniformSubroutinesuiv
2839typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC)(GLenum shadertype, GLint location, GLuint *params);
2840GLAPI PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv;
2841#define glGetUniformSubroutineuiv glad_glGetUniformSubroutineuiv
2842typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC)(GLuint program, GLenum shadertype, GLenum pname, GLint *values);
2843GLAPI PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv;
2844#define glGetProgramStageiv glad_glGetProgramStageiv
2845typedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC)(GLenum pname, GLint value);
2846GLAPI PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri;
2847#define glPatchParameteri glad_glPatchParameteri
2848typedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC)(GLenum pname, const GLfloat *values);
2849GLAPI PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv;
2850#define glPatchParameterfv glad_glPatchParameterfv
2851typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC)(GLenum target, GLuint id);
2852GLAPI PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback;
2853#define glBindTransformFeedback glad_glBindTransformFeedback
2854typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC)(GLsizei n, const GLuint *ids);
2855GLAPI PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks;
2856#define glDeleteTransformFeedbacks glad_glDeleteTransformFeedbacks
2857typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC)(GLsizei n, GLuint *ids);
2858GLAPI PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks;
2859#define glGenTransformFeedbacks glad_glGenTransformFeedbacks
2860typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC)(GLuint id);
2861GLAPI PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback;
2862#define glIsTransformFeedback glad_glIsTransformFeedback
2863typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC)(void);
2864GLAPI PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback;
2865#define glPauseTransformFeedback glad_glPauseTransformFeedback
2866typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC)(void);
2867GLAPI PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback;
2868#define glResumeTransformFeedback glad_glResumeTransformFeedback
2869typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC)(GLenum mode, GLuint id);
2870GLAPI PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback;
2871#define glDrawTransformFeedback glad_glDrawTransformFeedback
2872typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)(GLenum mode, GLuint id, GLuint stream);
2873GLAPI PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream;
2874#define glDrawTransformFeedbackStream glad_glDrawTransformFeedbackStream
2875typedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC)(GLenum target, GLuint index, GLuint id);
2876GLAPI PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed;
2877#define glBeginQueryIndexed glad_glBeginQueryIndexed
2878typedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC)(GLenum target, GLuint index);
2879GLAPI PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed;
2880#define glEndQueryIndexed glad_glEndQueryIndexed
2881typedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC)(GLenum target, GLuint index, GLenum pname, GLint *params);
2882GLAPI PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv;
2883#define glGetQueryIndexediv glad_glGetQueryIndexediv
2884#endif
2885#ifndef GL_VERSION_4_1
2886#define GL_VERSION_4_1 1
2887GLAPI int GLAD_GL_VERSION_4_1;
2888typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC)(void);
2889GLAPI PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler;
2890#define glReleaseShaderCompiler glad_glReleaseShaderCompiler
2891typedef void (APIENTRYP PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
2892GLAPI PFNGLSHADERBINARYPROC glad_glShaderBinary;
2893#define glShaderBinary glad_glShaderBinary
2894typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
2895GLAPI PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat;
2896#define glGetShaderPrecisionFormat glad_glGetShaderPrecisionFormat
2897typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC)(GLfloat n, GLfloat f);
2898GLAPI PFNGLDEPTHRANGEFPROC glad_glDepthRangef;
2899#define glDepthRangef glad_glDepthRangef
2900typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC)(GLfloat d);
2901GLAPI PFNGLCLEARDEPTHFPROC glad_glClearDepthf;
2902#define glClearDepthf glad_glClearDepthf
2903typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
2904GLAPI PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary;
2905#define glGetProgramBinary glad_glGetProgramBinary
2906typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC)(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
2907GLAPI PFNGLPROGRAMBINARYPROC glad_glProgramBinary;
2908#define glProgramBinary glad_glProgramBinary
2909typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC)(GLuint program, GLenum pname, GLint value);
2910GLAPI PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri;
2911#define glProgramParameteri glad_glProgramParameteri
2912typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC)(GLuint pipeline, GLbitfield stages, GLuint program);
2913GLAPI PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages;
2914#define glUseProgramStages glad_glUseProgramStages
2915typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC)(GLuint pipeline, GLuint program);
2916GLAPI PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram;
2917#define glActiveShaderProgram glad_glActiveShaderProgram
2918typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC)(GLenum type, GLsizei count, const GLchar *const*strings);
2919GLAPI PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv;
2920#define glCreateShaderProgramv glad_glCreateShaderProgramv
2921typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC)(GLuint pipeline);
2922GLAPI PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline;
2923#define glBindProgramPipeline glad_glBindProgramPipeline
2924typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC)(GLsizei n, const GLuint *pipelines);
2925GLAPI PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines;
2926#define glDeleteProgramPipelines glad_glDeleteProgramPipelines
2927typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC)(GLsizei n, GLuint *pipelines);
2928GLAPI PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines;
2929#define glGenProgramPipelines glad_glGenProgramPipelines
2930typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC)(GLuint pipeline);
2931GLAPI PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline;
2932#define glIsProgramPipeline glad_glIsProgramPipeline
2933typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC)(GLuint pipeline, GLenum pname, GLint *params);
2934GLAPI PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv;
2935#define glGetProgramPipelineiv glad_glGetProgramPipelineiv
2936typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC)(GLuint program, GLint location, GLint v0);
2937GLAPI PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i;
2938#define glProgramUniform1i glad_glProgramUniform1i
2939typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);
2940GLAPI PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv;
2941#define glProgramUniform1iv glad_glProgramUniform1iv
2942typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC)(GLuint program, GLint location, GLfloat v0);
2943GLAPI PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f;
2944#define glProgramUniform1f glad_glProgramUniform1f
2945typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);
2946GLAPI PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv;
2947#define glProgramUniform1fv glad_glProgramUniform1fv
2948typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC)(GLuint program, GLint location, GLdouble v0);
2949GLAPI PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d;
2950#define glProgramUniform1d glad_glProgramUniform1d
2951typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);
2952GLAPI PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv;
2953#define glProgramUniform1dv glad_glProgramUniform1dv
2954typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC)(GLuint program, GLint location, GLuint v0);
2955GLAPI PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui;
2956#define glProgramUniform1ui glad_glProgramUniform1ui
2957typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);
2958GLAPI PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv;
2959#define glProgramUniform1uiv glad_glProgramUniform1uiv
2960typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC)(GLuint program, GLint location, GLint v0, GLint v1);
2961GLAPI PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i;
2962#define glProgramUniform2i glad_glProgramUniform2i
2963typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);
2964GLAPI PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv;
2965#define glProgramUniform2iv glad_glProgramUniform2iv
2966typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1);
2967GLAPI PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f;
2968#define glProgramUniform2f glad_glProgramUniform2f
2969typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);
2970GLAPI PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv;
2971#define glProgramUniform2fv glad_glProgramUniform2fv
2972typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1);
2973GLAPI PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d;
2974#define glProgramUniform2d glad_glProgramUniform2d
2975typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);
2976GLAPI PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv;
2977#define glProgramUniform2dv glad_glProgramUniform2dv
2978typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1);
2979GLAPI PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui;
2980#define glProgramUniform2ui glad_glProgramUniform2ui
2981typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);
2982GLAPI PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv;
2983#define glProgramUniform2uiv glad_glProgramUniform2uiv
2984typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
2985GLAPI PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i;
2986#define glProgramUniform3i glad_glProgramUniform3i
2987typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);
2988GLAPI PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv;
2989#define glProgramUniform3iv glad_glProgramUniform3iv
2990typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
2991GLAPI PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f;
2992#define glProgramUniform3f glad_glProgramUniform3f
2993typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);
2994GLAPI PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv;
2995#define glProgramUniform3fv glad_glProgramUniform3fv
2996typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
2997GLAPI PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d;
2998#define glProgramUniform3d glad_glProgramUniform3d
2999typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);
3000GLAPI PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv;
3001#define glProgramUniform3dv glad_glProgramUniform3dv
3002typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
3003GLAPI PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui;
3004#define glProgramUniform3ui glad_glProgramUniform3ui
3005typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);
3006GLAPI PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv;
3007#define glProgramUniform3uiv glad_glProgramUniform3uiv
3008typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
3009GLAPI PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i;
3010#define glProgramUniform4i glad_glProgramUniform4i
3011typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC)(GLuint program, GLint location, GLsizei count, const GLint *value);
3012GLAPI PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv;
3013#define glProgramUniform4iv glad_glProgramUniform4iv
3014typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
3015GLAPI PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f;
3016#define glProgramUniform4f glad_glProgramUniform4f
3017typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC)(GLuint program, GLint location, GLsizei count, const GLfloat *value);
3018GLAPI PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv;
3019#define glProgramUniform4fv glad_glProgramUniform4fv
3020typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
3021GLAPI PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d;
3022#define glProgramUniform4d glad_glProgramUniform4d
3023typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC)(GLuint program, GLint location, GLsizei count, const GLdouble *value);
3024GLAPI PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv;
3025#define glProgramUniform4dv glad_glProgramUniform4dv
3026typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
3027GLAPI PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui;
3028#define glProgramUniform4ui glad_glProgramUniform4ui
3029typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC)(GLuint program, GLint location, GLsizei count, const GLuint *value);
3030GLAPI PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv;
3031#define glProgramUniform4uiv glad_glProgramUniform4uiv
3032typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3033GLAPI PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv;
3034#define glProgramUniformMatrix2fv glad_glProgramUniformMatrix2fv
3035typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3036GLAPI PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv;
3037#define glProgramUniformMatrix3fv glad_glProgramUniformMatrix3fv
3038typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3039GLAPI PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv;
3040#define glProgramUniformMatrix4fv glad_glProgramUniformMatrix4fv
3041typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
3042GLAPI PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv;
3043#define glProgramUniformMatrix2dv glad_glProgramUniformMatrix2dv
3044typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
3045GLAPI PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv;
3046#define glProgramUniformMatrix3dv glad_glProgramUniformMatrix3dv
3047typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
3048GLAPI PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv;
3049#define glProgramUniformMatrix4dv glad_glProgramUniformMatrix4dv
3050typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3051GLAPI PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv;
3052#define glProgramUniformMatrix2x3fv glad_glProgramUniformMatrix2x3fv
3053typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3054GLAPI PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv;
3055#define glProgramUniformMatrix3x2fv glad_glProgramUniformMatrix3x2fv
3056typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3057GLAPI PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv;
3058#define glProgramUniformMatrix2x4fv glad_glProgramUniformMatrix2x4fv
3059typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3060GLAPI PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv;
3061#define glProgramUniformMatrix4x2fv glad_glProgramUniformMatrix4x2fv
3062typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3063GLAPI PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv;
3064#define glProgramUniformMatrix3x4fv glad_glProgramUniformMatrix3x4fv
3065typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
3066GLAPI PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv;
3067#define glProgramUniformMatrix4x3fv glad_glProgramUniformMatrix4x3fv
3068typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
3069GLAPI PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv;
3070#define glProgramUniformMatrix2x3dv glad_glProgramUniformMatrix2x3dv
3071typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
3072GLAPI PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv;
3073#define glProgramUniformMatrix3x2dv glad_glProgramUniformMatrix3x2dv
3074typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
3075GLAPI PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv;
3076#define glProgramUniformMatrix2x4dv glad_glProgramUniformMatrix2x4dv
3077typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
3078GLAPI PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv;
3079#define glProgramUniformMatrix4x2dv glad_glProgramUniformMatrix4x2dv
3080typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
3081GLAPI PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv;
3082#define glProgramUniformMatrix3x4dv glad_glProgramUniformMatrix3x4dv
3083typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
3084GLAPI PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv;
3085#define glProgramUniformMatrix4x3dv glad_glProgramUniformMatrix4x3dv
3086typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC)(GLuint pipeline);
3087GLAPI PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline;
3088#define glValidateProgramPipeline glad_glValidateProgramPipeline
3089typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
3090GLAPI PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog;
3091#define glGetProgramPipelineInfoLog glad_glGetProgramPipelineInfoLog
3092typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC)(GLuint index, GLdouble x);
3093GLAPI PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d;
3094#define glVertexAttribL1d glad_glVertexAttribL1d
3095typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC)(GLuint index, GLdouble x, GLdouble y);
3096GLAPI PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d;
3097#define glVertexAttribL2d glad_glVertexAttribL2d
3098typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z);
3099GLAPI PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d;
3100#define glVertexAttribL3d glad_glVertexAttribL3d
3101typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
3102GLAPI PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d;
3103#define glVertexAttribL4d glad_glVertexAttribL4d
3104typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC)(GLuint index, const GLdouble *v);
3105GLAPI PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv;
3106#define glVertexAttribL1dv glad_glVertexAttribL1dv
3107typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC)(GLuint index, const GLdouble *v);
3108GLAPI PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv;
3109#define glVertexAttribL2dv glad_glVertexAttribL2dv
3110typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC)(GLuint index, const GLdouble *v);
3111GLAPI PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv;
3112#define glVertexAttribL3dv glad_glVertexAttribL3dv
3113typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC)(GLuint index, const GLdouble *v);
3114GLAPI PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv;
3115#define glVertexAttribL4dv glad_glVertexAttribL4dv
3116typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
3117GLAPI PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer;
3118#define glVertexAttribLPointer glad_glVertexAttribLPointer
3119typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC)(GLuint index, GLenum pname, GLdouble *params);
3120GLAPI PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv;
3121#define glGetVertexAttribLdv glad_glGetVertexAttribLdv
3122typedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC)(GLuint first, GLsizei count, const GLfloat *v);
3123GLAPI PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv;
3124#define glViewportArrayv glad_glViewportArrayv
3125typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
3126GLAPI PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf;
3127#define glViewportIndexedf glad_glViewportIndexedf
3128typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC)(GLuint index, const GLfloat *v);
3129GLAPI PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv;
3130#define glViewportIndexedfv glad_glViewportIndexedfv
3131typedef void (APIENTRYP PFNGLSCISSORARRAYVPROC)(GLuint first, GLsizei count, const GLint *v);
3132GLAPI PFNGLSCISSORARRAYVPROC glad_glScissorArrayv;
3133#define glScissorArrayv glad_glScissorArrayv
3134typedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
3135GLAPI PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed;
3136#define glScissorIndexed glad_glScissorIndexed
3137typedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC)(GLuint index, const GLint *v);
3138GLAPI PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv;
3139#define glScissorIndexedv glad_glScissorIndexedv
3140typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC)(GLuint first, GLsizei count, const GLdouble *v);
3141GLAPI PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv;
3142#define glDepthRangeArrayv glad_glDepthRangeArrayv
3143typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC)(GLuint index, GLdouble n, GLdouble f);
3144GLAPI PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed;
3145#define glDepthRangeIndexed glad_glDepthRangeIndexed
3146typedef void (APIENTRYP PFNGLGETFLOATI_VPROC)(GLenum target, GLuint index, GLfloat *data);
3147GLAPI PFNGLGETFLOATI_VPROC glad_glGetFloati_v;
3148#define glGetFloati_v glad_glGetFloati_v
3149typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC)(GLenum target, GLuint index, GLdouble *data);
3150GLAPI PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v;
3151#define glGetDoublei_v glad_glGetDoublei_v
3152#endif
3153#ifndef GL_VERSION_4_2
3154#define GL_VERSION_4_2 1
3155GLAPI int GLAD_GL_VERSION_4_2;
3156typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
3157GLAPI PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance;
3158#define glDrawArraysInstancedBaseInstance glad_glDrawArraysInstancedBaseInstance
3159typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
3160GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance;
3161#define glDrawElementsInstancedBaseInstance glad_glDrawElementsInstancedBaseInstance
3162typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
3163GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance;
3164#define glDrawElementsInstancedBaseVertexBaseInstance glad_glDrawElementsInstancedBaseVertexBaseInstance
3165typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params);
3166GLAPI PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ;
3167#define glGetInternalformativ glad_glGetInternalformativ
3168typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
3169GLAPI PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv;
3170#define glGetActiveAtomicCounterBufferiv glad_glGetActiveAtomicCounterBufferiv
3171typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
3172GLAPI PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture;
3173#define glBindImageTexture glad_glBindImageTexture
3174typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC)(GLbitfield barriers);
3175GLAPI PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier;
3176#define glMemoryBarrier glad_glMemoryBarrier
3177typedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
3178GLAPI PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D;
3179#define glTexStorage1D glad_glTexStorage1D
3180typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
3181GLAPI PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D;
3182#define glTexStorage2D glad_glTexStorage2D
3183typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
3184GLAPI PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D;
3185#define glTexStorage3D glad_glTexStorage3D
3186typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)(GLenum mode, GLuint id, GLsizei instancecount);
3187GLAPI PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced;
3188#define glDrawTransformFeedbackInstanced glad_glDrawTransformFeedbackInstanced
3189typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
3190GLAPI PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced;
3191#define glDrawTransformFeedbackStreamInstanced glad_glDrawTransformFeedbackStreamInstanced
3192#endif
3193#ifndef GL_VERSION_4_3
3194#define GL_VERSION_4_3 1
3195GLAPI int GLAD_GL_VERSION_4_3;
3196typedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
3197GLAPI PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData;
3198#define glClearBufferData glad_glClearBufferData
3199typedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
3200GLAPI PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData;
3201#define glClearBufferSubData glad_glClearBufferSubData
3202typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEPROC)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
3203GLAPI PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute;
3204#define glDispatchCompute glad_glDispatchCompute
3205typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC)(GLintptr indirect);
3206GLAPI PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect;
3207#define glDispatchComputeIndirect glad_glDispatchComputeIndirect
3208typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATAPROC)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
3209GLAPI PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData;
3210#define glCopyImageSubData glad_glCopyImageSubData
3211typedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);
3212GLAPI PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri;
3213#define glFramebufferParameteri glad_glFramebufferParameteri
3214typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params);
3215GLAPI PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv;
3216#define glGetFramebufferParameteriv glad_glGetFramebufferParameteriv
3217typedef void (APIENTRYP PFNGLGETINTERNALFORMATI64VPROC)(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params);
3218GLAPI PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v;
3219#define glGetInternalformati64v glad_glGetInternalformati64v
3220typedef void (APIENTRYP PFNGLINVALIDATETEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
3221GLAPI PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage;
3222#define glInvalidateTexSubImage glad_glInvalidateTexSubImage
3223typedef void (APIENTRYP PFNGLINVALIDATETEXIMAGEPROC)(GLuint texture, GLint level);
3224GLAPI PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage;
3225#define glInvalidateTexImage glad_glInvalidateTexImage
3226typedef void (APIENTRYP PFNGLINVALIDATEBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length);
3227GLAPI PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData;
3228#define glInvalidateBufferSubData glad_glInvalidateBufferSubData
3229typedef void (APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC)(GLuint buffer);
3230GLAPI PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData;
3231#define glInvalidateBufferData glad_glInvalidateBufferData
3232typedef void (APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments);
3233GLAPI PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer;
3234#define glInvalidateFramebuffer glad_glInvalidateFramebuffer
3235typedef void (APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC)(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
3236GLAPI PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer;
3237#define glInvalidateSubFramebuffer glad_glInvalidateSubFramebuffer
3238typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTPROC)(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);
3239GLAPI PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect;
3240#define glMultiDrawArraysIndirect glad_glMultiDrawArraysIndirect
3241typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTPROC)(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);
3242GLAPI PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect;
3243#define glMultiDrawElementsIndirect glad_glMultiDrawElementsIndirect
3244typedef void (APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC)(GLuint program, GLenum programInterface, GLenum pname, GLint *params);
3245GLAPI PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv;
3246#define glGetProgramInterfaceiv glad_glGetProgramInterfaceiv
3247typedef GLuint (APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC)(GLuint program, GLenum programInterface, const GLchar *name);
3248GLAPI PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex;
3249#define glGetProgramResourceIndex glad_glGetProgramResourceIndex
3250typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
3251GLAPI PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName;
3252#define glGetProgramResourceName glad_glGetProgramResourceName
3253typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params);
3254GLAPI PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv;
3255#define glGetProgramResourceiv glad_glGetProgramResourceiv
3256typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC)(GLuint program, GLenum programInterface, const GLchar *name);
3257GLAPI PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation;
3258#define glGetProgramResourceLocation glad_glGetProgramResourceLocation
3259typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)(GLuint program, GLenum programInterface, const GLchar *name);
3260GLAPI PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex;
3261#define glGetProgramResourceLocationIndex glad_glGetProgramResourceLocationIndex
3262typedef void (APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
3263GLAPI PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding;
3264#define glShaderStorageBlockBinding glad_glShaderStorageBlockBinding
3265typedef void (APIENTRYP PFNGLTEXBUFFERRANGEPROC)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
3266GLAPI PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange;
3267#define glTexBufferRange glad_glTexBufferRange
3268typedef void (APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
3269GLAPI PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample;
3270#define glTexStorage2DMultisample glad_glTexStorage2DMultisample
3271typedef void (APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
3272GLAPI PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample;
3273#define glTexStorage3DMultisample glad_glTexStorage3DMultisample
3274typedef void (APIENTRYP PFNGLTEXTUREVIEWPROC)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
3275GLAPI PFNGLTEXTUREVIEWPROC glad_glTextureView;
3276#define glTextureView glad_glTextureView
3277typedef void (APIENTRYP PFNGLBINDVERTEXBUFFERPROC)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
3278GLAPI PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer;
3279#define glBindVertexBuffer glad_glBindVertexBuffer
3280typedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
3281GLAPI PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat;
3282#define glVertexAttribFormat glad_glVertexAttribFormat
3283typedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
3284GLAPI PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat;
3285#define glVertexAttribIFormat glad_glVertexAttribIFormat
3286typedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATPROC)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
3287GLAPI PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat;
3288#define glVertexAttribLFormat glad_glVertexAttribLFormat
3289typedef void (APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC)(GLuint attribindex, GLuint bindingindex);
3290GLAPI PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding;
3291#define glVertexAttribBinding glad_glVertexAttribBinding
3292typedef void (APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC)(GLuint bindingindex, GLuint divisor);
3293GLAPI PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor;
3294#define glVertexBindingDivisor glad_glVertexBindingDivisor
3295typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
3296GLAPI PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl;
3297#define glDebugMessageControl glad_glDebugMessageControl
3298typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
3299GLAPI PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert;
3300#define glDebugMessageInsert glad_glDebugMessageInsert
3301typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC)(GLDEBUGPROC callback, const void *userParam);
3302GLAPI PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback;
3303#define glDebugMessageCallback glad_glDebugMessageCallback
3304typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
3305GLAPI PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog;
3306#define glGetDebugMessageLog glad_glGetDebugMessageLog
3307typedef void (APIENTRYP PFNGLPUSHDEBUGGROUPPROC)(GLenum source, GLuint id, GLsizei length, const GLchar *message);
3308GLAPI PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup;
3309#define glPushDebugGroup glad_glPushDebugGroup
3310typedef void (APIENTRYP PFNGLPOPDEBUGGROUPPROC)(void);
3311GLAPI PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup;
3312#define glPopDebugGroup glad_glPopDebugGroup
3313typedef void (APIENTRYP PFNGLOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
3314GLAPI PFNGLOBJECTLABELPROC glad_glObjectLabel;
3315#define glObjectLabel glad_glObjectLabel
3316typedef void (APIENTRYP PFNGLGETOBJECTLABELPROC)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
3317GLAPI PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel;
3318#define glGetObjectLabel glad_glGetObjectLabel
3319typedef void (APIENTRYP PFNGLOBJECTPTRLABELPROC)(const void *ptr, GLsizei length, const GLchar *label);
3320GLAPI PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel;
3321#define glObjectPtrLabel glad_glObjectPtrLabel
3322typedef void (APIENTRYP PFNGLGETOBJECTPTRLABELPROC)(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
3323GLAPI PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel;
3324#define glGetObjectPtrLabel glad_glGetObjectPtrLabel
3325typedef void (APIENTRYP PFNGLGETPOINTERVPROC)(GLenum pname, void **params);
3326GLAPI PFNGLGETPOINTERVPROC glad_glGetPointerv;
3327#define glGetPointerv glad_glGetPointerv
3328#endif
3329#ifndef GL_VERSION_4_4
3330#define GL_VERSION_4_4 1
3331GLAPI int GLAD_GL_VERSION_4_4;
3332typedef void (APIENTRYP PFNGLBUFFERSTORAGEPROC)(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);
3333GLAPI PFNGLBUFFERSTORAGEPROC glad_glBufferStorage;
3334#define glBufferStorage glad_glBufferStorage
3335typedef void (APIENTRYP PFNGLCLEARTEXIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, const void *data);
3336GLAPI PFNGLCLEARTEXIMAGEPROC glad_glClearTexImage;
3337#define glClearTexImage glad_glClearTexImage
3338typedef void (APIENTRYP PFNGLCLEARTEXSUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
3339GLAPI PFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage;
3340#define glClearTexSubImage glad_glClearTexSubImage
3341typedef void (APIENTRYP PFNGLBINDBUFFERSBASEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);
3342GLAPI PFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase;
3343#define glBindBuffersBase glad_glBindBuffersBase
3344typedef void (APIENTRYP PFNGLBINDBUFFERSRANGEPROC)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);
3345GLAPI PFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange;
3346#define glBindBuffersRange glad_glBindBuffersRange
3347typedef void (APIENTRYP PFNGLBINDTEXTURESPROC)(GLuint first, GLsizei count, const GLuint *textures);
3348GLAPI PFNGLBINDTEXTURESPROC glad_glBindTextures;
3349#define glBindTextures glad_glBindTextures
3350typedef void (APIENTRYP PFNGLBINDSAMPLERSPROC)(GLuint first, GLsizei count, const GLuint *samplers);
3351GLAPI PFNGLBINDSAMPLERSPROC glad_glBindSamplers;
3352#define glBindSamplers glad_glBindSamplers
3353typedef void (APIENTRYP PFNGLBINDIMAGETEXTURESPROC)(GLuint first, GLsizei count, const GLuint *textures);
3354GLAPI PFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures;
3355#define glBindImageTextures glad_glBindImageTextures
3356typedef void (APIENTRYP PFNGLBINDVERTEXBUFFERSPROC)(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);
3357GLAPI PFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers;
3358#define glBindVertexBuffers glad_glBindVertexBuffers
3359#endif
3360#ifndef GL_VERSION_4_5
3361#define GL_VERSION_4_5 1
3362GLAPI int GLAD_GL_VERSION_4_5;
3363typedef void (APIENTRYP PFNGLCLIPCONTROLPROC)(GLenum origin, GLenum depth);
3364GLAPI PFNGLCLIPCONTROLPROC glad_glClipControl;
3365#define glClipControl glad_glClipControl
3366typedef void (APIENTRYP PFNGLCREATETRANSFORMFEEDBACKSPROC)(GLsizei n, GLuint *ids);
3367GLAPI PFNGLCREATETRANSFORMFEEDBACKSPROC glad_glCreateTransformFeedbacks;
3368#define glCreateTransformFeedbacks glad_glCreateTransformFeedbacks
3369typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC)(GLuint xfb, GLuint index, GLuint buffer);
3370GLAPI PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_glTransformFeedbackBufferBase;
3371#define glTransformFeedbackBufferBase glad_glTransformFeedbackBufferBase
3372typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC)(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
3373GLAPI PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_glTransformFeedbackBufferRange;
3374#define glTransformFeedbackBufferRange glad_glTransformFeedbackBufferRange
3375typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKIVPROC)(GLuint xfb, GLenum pname, GLint *param);
3376GLAPI PFNGLGETTRANSFORMFEEDBACKIVPROC glad_glGetTransformFeedbackiv;
3377#define glGetTransformFeedbackiv glad_glGetTransformFeedbackiv
3378typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI_VPROC)(GLuint xfb, GLenum pname, GLuint index, GLint *param);
3379GLAPI PFNGLGETTRANSFORMFEEDBACKI_VPROC glad_glGetTransformFeedbacki_v;
3380#define glGetTransformFeedbacki_v glad_glGetTransformFeedbacki_v
3381typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI64_VPROC)(GLuint xfb, GLenum pname, GLuint index, GLint64 *param);
3382GLAPI PFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_glGetTransformFeedbacki64_v;
3383#define glGetTransformFeedbacki64_v glad_glGetTransformFeedbacki64_v
3384typedef void (APIENTRYP PFNGLCREATEBUFFERSPROC)(GLsizei n, GLuint *buffers);
3385GLAPI PFNGLCREATEBUFFERSPROC glad_glCreateBuffers;
3386#define glCreateBuffers glad_glCreateBuffers
3387typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEPROC)(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);
3388GLAPI PFNGLNAMEDBUFFERSTORAGEPROC glad_glNamedBufferStorage;
3389#define glNamedBufferStorage glad_glNamedBufferStorage
3390typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAPROC)(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);
3391GLAPI PFNGLNAMEDBUFFERDATAPROC glad_glNamedBufferData;
3392#define glNamedBufferData glad_glNamedBufferData
3393typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);
3394GLAPI PFNGLNAMEDBUFFERSUBDATAPROC glad_glNamedBufferSubData;
3395#define glNamedBufferSubData glad_glNamedBufferSubData
3396typedef void (APIENTRYP PFNGLCOPYNAMEDBUFFERSUBDATAPROC)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
3397GLAPI PFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_glCopyNamedBufferSubData;
3398#define glCopyNamedBufferSubData glad_glCopyNamedBufferSubData
3399typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAPROC)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
3400GLAPI PFNGLCLEARNAMEDBUFFERDATAPROC glad_glClearNamedBufferData;
3401#define glClearNamedBufferData glad_glClearNamedBufferData
3402typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
3403GLAPI PFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_glClearNamedBufferSubData;
3404#define glClearNamedBufferSubData glad_glClearNamedBufferSubData
3405typedef void * (APIENTRYP PFNGLMAPNAMEDBUFFERPROC)(GLuint buffer, GLenum access);
3406GLAPI PFNGLMAPNAMEDBUFFERPROC glad_glMapNamedBuffer;
3407#define glMapNamedBuffer glad_glMapNamedBuffer
3408typedef void * (APIENTRYP PFNGLMAPNAMEDBUFFERRANGEPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
3409GLAPI PFNGLMAPNAMEDBUFFERRANGEPROC glad_glMapNamedBufferRange;
3410#define glMapNamedBufferRange glad_glMapNamedBufferRange
3411typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFERPROC)(GLuint buffer);
3412GLAPI PFNGLUNMAPNAMEDBUFFERPROC glad_glUnmapNamedBuffer;
3413#define glUnmapNamedBuffer glad_glUnmapNamedBuffer
3414typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC)(GLuint buffer, GLintptr offset, GLsizeiptr length);
3415GLAPI PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_glFlushMappedNamedBufferRange;
3416#define glFlushMappedNamedBufferRange glad_glFlushMappedNamedBufferRange
3417typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVPROC)(GLuint buffer, GLenum pname, GLint *params);
3418GLAPI PFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_glGetNamedBufferParameteriv;
3419#define glGetNamedBufferParameteriv glad_glGetNamedBufferParameteriv
3420typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERI64VPROC)(GLuint buffer, GLenum pname, GLint64 *params);
3421GLAPI PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_glGetNamedBufferParameteri64v;
3422#define glGetNamedBufferParameteri64v glad_glGetNamedBufferParameteri64v
3423typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVPROC)(GLuint buffer, GLenum pname, void **params);
3424GLAPI PFNGLGETNAMEDBUFFERPOINTERVPROC glad_glGetNamedBufferPointerv;
3425#define glGetNamedBufferPointerv glad_glGetNamedBufferPointerv
3426typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAPROC)(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);
3427GLAPI PFNGLGETNAMEDBUFFERSUBDATAPROC glad_glGetNamedBufferSubData;
3428#define glGetNamedBufferSubData glad_glGetNamedBufferSubData
3429typedef void (APIENTRYP PFNGLCREATEFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers);
3430GLAPI PFNGLCREATEFRAMEBUFFERSPROC glad_glCreateFramebuffers;
3431#define glCreateFramebuffers glad_glCreateFramebuffers
3432typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
3433GLAPI PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_glNamedFramebufferRenderbuffer;
3434#define glNamedFramebufferRenderbuffer glad_glNamedFramebufferRenderbuffer
3435typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC)(GLuint framebuffer, GLenum pname, GLint param);
3436GLAPI PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_glNamedFramebufferParameteri;
3437#define glNamedFramebufferParameteri glad_glNamedFramebufferParameteri
3438typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
3439GLAPI PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_glNamedFramebufferTexture;
3440#define glNamedFramebufferTexture glad_glNamedFramebufferTexture
3441typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
3442GLAPI PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_glNamedFramebufferTextureLayer;
3443#define glNamedFramebufferTextureLayer glad_glNamedFramebufferTextureLayer
3444typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC)(GLuint framebuffer, GLenum buf);
3445GLAPI PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_glNamedFramebufferDrawBuffer;
3446#define glNamedFramebufferDrawBuffer glad_glNamedFramebufferDrawBuffer
3447typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC)(GLuint framebuffer, GLsizei n, const GLenum *bufs);
3448GLAPI PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_glNamedFramebufferDrawBuffers;
3449#define glNamedFramebufferDrawBuffers glad_glNamedFramebufferDrawBuffers
3450typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC)(GLuint framebuffer, GLenum src);
3451GLAPI PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_glNamedFramebufferReadBuffer;
3452#define glNamedFramebufferReadBuffer glad_glNamedFramebufferReadBuffer
3453typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC)(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments);
3454GLAPI PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_glInvalidateNamedFramebufferData;
3455#define glInvalidateNamedFramebufferData glad_glInvalidateNamedFramebufferData
3456typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC)(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
3457GLAPI PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_glInvalidateNamedFramebufferSubData;
3458#define glInvalidateNamedFramebufferSubData glad_glInvalidateNamedFramebufferSubData
3459typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERIVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
3460GLAPI PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_glClearNamedFramebufferiv;
3461#define glClearNamedFramebufferiv glad_glClearNamedFramebufferiv
3462typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);
3463GLAPI PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_glClearNamedFramebufferuiv;
3464#define glClearNamedFramebufferuiv glad_glClearNamedFramebufferuiv
3465typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFVPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
3466GLAPI PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_glClearNamedFramebufferfv;
3467#define glClearNamedFramebufferfv glad_glClearNamedFramebufferfv
3468typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
3469GLAPI PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_glClearNamedFramebufferfi;
3470#define glClearNamedFramebufferfi glad_glClearNamedFramebufferfi
3471typedef void (APIENTRYP PFNGLBLITNAMEDFRAMEBUFFERPROC)(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
3472GLAPI PFNGLBLITNAMEDFRAMEBUFFERPROC glad_glBlitNamedFramebuffer;
3473#define glBlitNamedFramebuffer glad_glBlitNamedFramebuffer
3474typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC)(GLuint framebuffer, GLenum target);
3475GLAPI PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_glCheckNamedFramebufferStatus;
3476#define glCheckNamedFramebufferStatus glad_glCheckNamedFramebufferStatus
3477typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC)(GLuint framebuffer, GLenum pname, GLint *param);
3478GLAPI PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_glGetNamedFramebufferParameteriv;
3479#define glGetNamedFramebufferParameteriv glad_glGetNamedFramebufferParameteriv
3480typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
3481GLAPI PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetNamedFramebufferAttachmentParameteriv;
3482#define glGetNamedFramebufferAttachmentParameteriv glad_glGetNamedFramebufferAttachmentParameteriv
3483typedef void (APIENTRYP PFNGLCREATERENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers);
3484GLAPI PFNGLCREATERENDERBUFFERSPROC glad_glCreateRenderbuffers;
3485#define glCreateRenderbuffers glad_glCreateRenderbuffers
3486typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEPROC)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
3487GLAPI PFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_glNamedRenderbufferStorage;
3488#define glNamedRenderbufferStorage glad_glNamedRenderbufferStorage
3489typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
3490GLAPI PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glNamedRenderbufferStorageMultisample;
3491#define glNamedRenderbufferStorageMultisample glad_glNamedRenderbufferStorageMultisample
3492typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC)(GLuint renderbuffer, GLenum pname, GLint *params);
3493GLAPI PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_glGetNamedRenderbufferParameteriv;
3494#define glGetNamedRenderbufferParameteriv glad_glGetNamedRenderbufferParameteriv
3495typedef void (APIENTRYP PFNGLCREATETEXTURESPROC)(GLenum target, GLsizei n, GLuint *textures);
3496GLAPI PFNGLCREATETEXTURESPROC glad_glCreateTextures;
3497#define glCreateTextures glad_glCreateTextures
3498typedef void (APIENTRYP PFNGLTEXTUREBUFFERPROC)(GLuint texture, GLenum internalformat, GLuint buffer);
3499GLAPI PFNGLTEXTUREBUFFERPROC glad_glTextureBuffer;
3500#define glTextureBuffer glad_glTextureBuffer
3501typedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEPROC)(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
3502GLAPI PFNGLTEXTUREBUFFERRANGEPROC glad_glTextureBufferRange;
3503#define glTextureBufferRange glad_glTextureBufferRange
3504typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);
3505GLAPI PFNGLTEXTURESTORAGE1DPROC glad_glTextureStorage1D;
3506#define glTextureStorage1D glad_glTextureStorage1D
3507typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
3508GLAPI PFNGLTEXTURESTORAGE2DPROC glad_glTextureStorage2D;
3509#define glTextureStorage2D glad_glTextureStorage2D
3510typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DPROC)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
3511GLAPI PFNGLTEXTURESTORAGE3DPROC glad_glTextureStorage3D;
3512#define glTextureStorage3D glad_glTextureStorage3D
3513typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
3514GLAPI PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_glTextureStorage2DMultisample;
3515#define glTextureStorage2DMultisample glad_glTextureStorage2DMultisample
3516typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
3517GLAPI PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_glTextureStorage3DMultisample;
3518#define glTextureStorage3DMultisample glad_glTextureStorage3DMultisample
3519typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
3520GLAPI PFNGLTEXTURESUBIMAGE1DPROC glad_glTextureSubImage1D;
3521#define glTextureSubImage1D glad_glTextureSubImage1D
3522typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
3523GLAPI PFNGLTEXTURESUBIMAGE2DPROC glad_glTextureSubImage2D;
3524#define glTextureSubImage2D glad_glTextureSubImage2D
3525typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
3526GLAPI PFNGLTEXTURESUBIMAGE3DPROC glad_glTextureSubImage3D;
3527#define glTextureSubImage3D glad_glTextureSubImage3D
3528typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
3529GLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_glCompressedTextureSubImage1D;
3530#define glCompressedTextureSubImage1D glad_glCompressedTextureSubImage1D
3531typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
3532GLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_glCompressedTextureSubImage2D;
3533#define glCompressedTextureSubImage2D glad_glCompressedTextureSubImage2D
3534typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
3535GLAPI PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_glCompressedTextureSubImage3D;
3536#define glCompressedTextureSubImage3D glad_glCompressedTextureSubImage3D
3537typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DPROC)(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
3538GLAPI PFNGLCOPYTEXTURESUBIMAGE1DPROC glad_glCopyTextureSubImage1D;
3539#define glCopyTextureSubImage1D glad_glCopyTextureSubImage1D
3540typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
3541GLAPI PFNGLCOPYTEXTURESUBIMAGE2DPROC glad_glCopyTextureSubImage2D;
3542#define glCopyTextureSubImage2D glad_glCopyTextureSubImage2D
3543typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
3544GLAPI PFNGLCOPYTEXTURESUBIMAGE3DPROC glad_glCopyTextureSubImage3D;
3545#define glCopyTextureSubImage3D glad_glCopyTextureSubImage3D
3546typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFPROC)(GLuint texture, GLenum pname, GLfloat param);
3547GLAPI PFNGLTEXTUREPARAMETERFPROC glad_glTextureParameterf;
3548#define glTextureParameterf glad_glTextureParameterf
3549typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVPROC)(GLuint texture, GLenum pname, const GLfloat *param);
3550GLAPI PFNGLTEXTUREPARAMETERFVPROC glad_glTextureParameterfv;
3551#define glTextureParameterfv glad_glTextureParameterfv
3552typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIPROC)(GLuint texture, GLenum pname, GLint param);
3553GLAPI PFNGLTEXTUREPARAMETERIPROC glad_glTextureParameteri;
3554#define glTextureParameteri glad_glTextureParameteri
3555typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVPROC)(GLuint texture, GLenum pname, const GLint *params);
3556GLAPI PFNGLTEXTUREPARAMETERIIVPROC glad_glTextureParameterIiv;
3557#define glTextureParameterIiv glad_glTextureParameterIiv
3558typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVPROC)(GLuint texture, GLenum pname, const GLuint *params);
3559GLAPI PFNGLTEXTUREPARAMETERIUIVPROC glad_glTextureParameterIuiv;
3560#define glTextureParameterIuiv glad_glTextureParameterIuiv
3561typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVPROC)(GLuint texture, GLenum pname, const GLint *param);
3562GLAPI PFNGLTEXTUREPARAMETERIVPROC glad_glTextureParameteriv;
3563#define glTextureParameteriv glad_glTextureParameteriv
3564typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPPROC)(GLuint texture);
3565GLAPI PFNGLGENERATETEXTUREMIPMAPPROC glad_glGenerateTextureMipmap;
3566#define glGenerateTextureMipmap glad_glGenerateTextureMipmap
3567typedef void (APIENTRYP PFNGLBINDTEXTUREUNITPROC)(GLuint unit, GLuint texture);
3568GLAPI PFNGLBINDTEXTUREUNITPROC glad_glBindTextureUnit;
3569#define glBindTextureUnit glad_glBindTextureUnit
3570typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEPROC)(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
3571GLAPI PFNGLGETTEXTUREIMAGEPROC glad_glGetTextureImage;
3572#define glGetTextureImage glad_glGetTextureImage
3573typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC)(GLuint texture, GLint level, GLsizei bufSize, void *pixels);
3574GLAPI PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_glGetCompressedTextureImage;
3575#define glGetCompressedTextureImage glad_glGetCompressedTextureImage
3576typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVPROC)(GLuint texture, GLint level, GLenum pname, GLfloat *params);
3577GLAPI PFNGLGETTEXTURELEVELPARAMETERFVPROC glad_glGetTextureLevelParameterfv;
3578#define glGetTextureLevelParameterfv glad_glGetTextureLevelParameterfv
3579typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVPROC)(GLuint texture, GLint level, GLenum pname, GLint *params);
3580GLAPI PFNGLGETTEXTURELEVELPARAMETERIVPROC glad_glGetTextureLevelParameteriv;
3581#define glGetTextureLevelParameteriv glad_glGetTextureLevelParameteriv
3582typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVPROC)(GLuint texture, GLenum pname, GLfloat *params);
3583GLAPI PFNGLGETTEXTUREPARAMETERFVPROC glad_glGetTextureParameterfv;
3584#define glGetTextureParameterfv glad_glGetTextureParameterfv
3585typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVPROC)(GLuint texture, GLenum pname, GLint *params);
3586GLAPI PFNGLGETTEXTUREPARAMETERIIVPROC glad_glGetTextureParameterIiv;
3587#define glGetTextureParameterIiv glad_glGetTextureParameterIiv
3588typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVPROC)(GLuint texture, GLenum pname, GLuint *params);
3589GLAPI PFNGLGETTEXTUREPARAMETERIUIVPROC glad_glGetTextureParameterIuiv;
3590#define glGetTextureParameterIuiv glad_glGetTextureParameterIuiv
3591typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVPROC)(GLuint texture, GLenum pname, GLint *params);
3592GLAPI PFNGLGETTEXTUREPARAMETERIVPROC glad_glGetTextureParameteriv;
3593#define glGetTextureParameteriv glad_glGetTextureParameteriv
3594typedef void (APIENTRYP PFNGLCREATEVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays);
3595GLAPI PFNGLCREATEVERTEXARRAYSPROC glad_glCreateVertexArrays;
3596#define glCreateVertexArrays glad_glCreateVertexArrays
3597typedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBPROC)(GLuint vaobj, GLuint index);
3598GLAPI PFNGLDISABLEVERTEXARRAYATTRIBPROC glad_glDisableVertexArrayAttrib;
3599#define glDisableVertexArrayAttrib glad_glDisableVertexArrayAttrib
3600typedef void (APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBPROC)(GLuint vaobj, GLuint index);
3601GLAPI PFNGLENABLEVERTEXARRAYATTRIBPROC glad_glEnableVertexArrayAttrib;
3602#define glEnableVertexArrayAttrib glad_glEnableVertexArrayAttrib
3603typedef void (APIENTRYP PFNGLVERTEXARRAYELEMENTBUFFERPROC)(GLuint vaobj, GLuint buffer);
3604GLAPI PFNGLVERTEXARRAYELEMENTBUFFERPROC glad_glVertexArrayElementBuffer;
3605#define glVertexArrayElementBuffer glad_glVertexArrayElementBuffer
3606typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERPROC)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
3607GLAPI PFNGLVERTEXARRAYVERTEXBUFFERPROC glad_glVertexArrayVertexBuffer;
3608#define glVertexArrayVertexBuffer glad_glVertexArrayVertexBuffer
3609typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERSPROC)(GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);
3610GLAPI PFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_glVertexArrayVertexBuffers;
3611#define glVertexArrayVertexBuffers glad_glVertexArrayVertexBuffers
3612typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBBINDINGPROC)(GLuint vaobj, GLuint attribindex, GLuint bindingindex);
3613GLAPI PFNGLVERTEXARRAYATTRIBBINDINGPROC glad_glVertexArrayAttribBinding;
3614#define glVertexArrayAttribBinding glad_glVertexArrayAttribBinding
3615typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
3616GLAPI PFNGLVERTEXARRAYATTRIBFORMATPROC glad_glVertexArrayAttribFormat;
3617#define glVertexArrayAttribFormat glad_glVertexArrayAttribFormat
3618typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBIFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
3619GLAPI PFNGLVERTEXARRAYATTRIBIFORMATPROC glad_glVertexArrayAttribIFormat;
3620#define glVertexArrayAttribIFormat glad_glVertexArrayAttribIFormat
3621typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBLFORMATPROC)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
3622GLAPI PFNGLVERTEXARRAYATTRIBLFORMATPROC glad_glVertexArrayAttribLFormat;
3623#define glVertexArrayAttribLFormat glad_glVertexArrayAttribLFormat
3624typedef void (APIENTRYP PFNGLVERTEXARRAYBINDINGDIVISORPROC)(GLuint vaobj, GLuint bindingindex, GLuint divisor);
3625GLAPI PFNGLVERTEXARRAYBINDINGDIVISORPROC glad_glVertexArrayBindingDivisor;
3626#define glVertexArrayBindingDivisor glad_glVertexArrayBindingDivisor
3627typedef void (APIENTRYP PFNGLGETVERTEXARRAYIVPROC)(GLuint vaobj, GLenum pname, GLint *param);
3628GLAPI PFNGLGETVERTEXARRAYIVPROC glad_glGetVertexArrayiv;
3629#define glGetVertexArrayiv glad_glGetVertexArrayiv
3630typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXEDIVPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint *param);
3631GLAPI PFNGLGETVERTEXARRAYINDEXEDIVPROC glad_glGetVertexArrayIndexediv;
3632#define glGetVertexArrayIndexediv glad_glGetVertexArrayIndexediv
3633typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXED64IVPROC)(GLuint vaobj, GLuint index, GLenum pname, GLint64 *param);
3634GLAPI PFNGLGETVERTEXARRAYINDEXED64IVPROC glad_glGetVertexArrayIndexed64iv;
3635#define glGetVertexArrayIndexed64iv glad_glGetVertexArrayIndexed64iv
3636typedef void (APIENTRYP PFNGLCREATESAMPLERSPROC)(GLsizei n, GLuint *samplers);
3637GLAPI PFNGLCREATESAMPLERSPROC glad_glCreateSamplers;
3638#define glCreateSamplers glad_glCreateSamplers
3639typedef void (APIENTRYP PFNGLCREATEPROGRAMPIPELINESPROC)(GLsizei n, GLuint *pipelines);
3640GLAPI PFNGLCREATEPROGRAMPIPELINESPROC glad_glCreateProgramPipelines;
3641#define glCreateProgramPipelines glad_glCreateProgramPipelines
3642typedef void (APIENTRYP PFNGLCREATEQUERIESPROC)(GLenum target, GLsizei n, GLuint *ids);
3643GLAPI PFNGLCREATEQUERIESPROC glad_glCreateQueries;
3644#define glCreateQueries glad_glCreateQueries
3645typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTI64VPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
3646GLAPI PFNGLGETQUERYBUFFEROBJECTI64VPROC glad_glGetQueryBufferObjecti64v;
3647#define glGetQueryBufferObjecti64v glad_glGetQueryBufferObjecti64v
3648typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTIVPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
3649GLAPI PFNGLGETQUERYBUFFEROBJECTIVPROC glad_glGetQueryBufferObjectiv;
3650#define glGetQueryBufferObjectiv glad_glGetQueryBufferObjectiv
3651typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUI64VPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
3652GLAPI PFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_glGetQueryBufferObjectui64v;
3653#define glGetQueryBufferObjectui64v glad_glGetQueryBufferObjectui64v
3654typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUIVPROC)(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
3655GLAPI PFNGLGETQUERYBUFFEROBJECTUIVPROC glad_glGetQueryBufferObjectuiv;
3656#define glGetQueryBufferObjectuiv glad_glGetQueryBufferObjectuiv
3657typedef void (APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC)(GLbitfield barriers);
3658GLAPI PFNGLMEMORYBARRIERBYREGIONPROC glad_glMemoryBarrierByRegion;
3659#define glMemoryBarrierByRegion glad_glMemoryBarrierByRegion
3660typedef void (APIENTRYP PFNGLGETTEXTURESUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
3661GLAPI PFNGLGETTEXTURESUBIMAGEPROC glad_glGetTextureSubImage;
3662#define glGetTextureSubImage glad_glGetTextureSubImage
3663typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels);
3664GLAPI PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_glGetCompressedTextureSubImage;
3665#define glGetCompressedTextureSubImage glad_glGetCompressedTextureSubImage
3666typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSPROC)(void);
3667GLAPI PFNGLGETGRAPHICSRESETSTATUSPROC glad_glGetGraphicsResetStatus;
3668#define glGetGraphicsResetStatus glad_glGetGraphicsResetStatus
3669typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint lod, GLsizei bufSize, void *pixels);
3670GLAPI PFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_glGetnCompressedTexImage;
3671#define glGetnCompressedTexImage glad_glGetnCompressedTexImage
3672typedef void (APIENTRYP PFNGLGETNTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
3673GLAPI PFNGLGETNTEXIMAGEPROC glad_glGetnTexImage;
3674#define glGetnTexImage glad_glGetnTexImage
3675typedef void (APIENTRYP PFNGLGETNUNIFORMDVPROC)(GLuint program, GLint location, GLsizei bufSize, GLdouble *params);
3676GLAPI PFNGLGETNUNIFORMDVPROC glad_glGetnUniformdv;
3677#define glGetnUniformdv glad_glGetnUniformdv
3678typedef void (APIENTRYP PFNGLGETNUNIFORMFVPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
3679GLAPI PFNGLGETNUNIFORMFVPROC glad_glGetnUniformfv;
3680#define glGetnUniformfv glad_glGetnUniformfv
3681typedef void (APIENTRYP PFNGLGETNUNIFORMIVPROC)(GLuint program, GLint location, GLsizei bufSize, GLint *params);
3682GLAPI PFNGLGETNUNIFORMIVPROC glad_glGetnUniformiv;
3683#define glGetnUniformiv glad_glGetnUniformiv
3684typedef void (APIENTRYP PFNGLGETNUNIFORMUIVPROC)(GLuint program, GLint location, GLsizei bufSize, GLuint *params);
3685GLAPI PFNGLGETNUNIFORMUIVPROC glad_glGetnUniformuiv;
3686#define glGetnUniformuiv glad_glGetnUniformuiv
3687typedef void (APIENTRYP PFNGLREADNPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
3688GLAPI PFNGLREADNPIXELSPROC glad_glReadnPixels;
3689#define glReadnPixels glad_glReadnPixels
3690typedef void (APIENTRYP PFNGLGETNMAPDVPROC)(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v);
3691GLAPI PFNGLGETNMAPDVPROC glad_glGetnMapdv;
3692#define glGetnMapdv glad_glGetnMapdv
3693typedef void (APIENTRYP PFNGLGETNMAPFVPROC)(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v);
3694GLAPI PFNGLGETNMAPFVPROC glad_glGetnMapfv;
3695#define glGetnMapfv glad_glGetnMapfv
3696typedef void (APIENTRYP PFNGLGETNMAPIVPROC)(GLenum target, GLenum query, GLsizei bufSize, GLint *v);
3697GLAPI PFNGLGETNMAPIVPROC glad_glGetnMapiv;
3698#define glGetnMapiv glad_glGetnMapiv
3699typedef void (APIENTRYP PFNGLGETNPIXELMAPFVPROC)(GLenum map, GLsizei bufSize, GLfloat *values);
3700GLAPI PFNGLGETNPIXELMAPFVPROC glad_glGetnPixelMapfv;
3701#define glGetnPixelMapfv glad_glGetnPixelMapfv
3702typedef void (APIENTRYP PFNGLGETNPIXELMAPUIVPROC)(GLenum map, GLsizei bufSize, GLuint *values);
3703GLAPI PFNGLGETNPIXELMAPUIVPROC glad_glGetnPixelMapuiv;
3704#define glGetnPixelMapuiv glad_glGetnPixelMapuiv
3705typedef void (APIENTRYP PFNGLGETNPIXELMAPUSVPROC)(GLenum map, GLsizei bufSize, GLushort *values);
3706GLAPI PFNGLGETNPIXELMAPUSVPROC glad_glGetnPixelMapusv;
3707#define glGetnPixelMapusv glad_glGetnPixelMapusv
3708typedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEPROC)(GLsizei bufSize, GLubyte *pattern);
3709GLAPI PFNGLGETNPOLYGONSTIPPLEPROC glad_glGetnPolygonStipple;
3710#define glGetnPolygonStipple glad_glGetnPolygonStipple
3711typedef void (APIENTRYP PFNGLGETNCOLORTABLEPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table);
3712GLAPI PFNGLGETNCOLORTABLEPROC glad_glGetnColorTable;
3713#define glGetnColorTable glad_glGetnColorTable
3714typedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERPROC)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image);
3715GLAPI PFNGLGETNCONVOLUTIONFILTERPROC glad_glGetnConvolutionFilter;
3716#define glGetnConvolutionFilter glad_glGetnConvolutionFilter
3717typedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERPROC)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span);
3718GLAPI PFNGLGETNSEPARABLEFILTERPROC glad_glGetnSeparableFilter;
3719#define glGetnSeparableFilter glad_glGetnSeparableFilter
3720typedef void (APIENTRYP PFNGLGETNHISTOGRAMPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);
3721GLAPI PFNGLGETNHISTOGRAMPROC glad_glGetnHistogram;
3722#define glGetnHistogram glad_glGetnHistogram
3723typedef void (APIENTRYP PFNGLGETNMINMAXPROC)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values);
3724GLAPI PFNGLGETNMINMAXPROC glad_glGetnMinmax;
3725#define glGetnMinmax glad_glGetnMinmax
3726typedef void (APIENTRYP PFNGLTEXTUREBARRIERPROC)(void);
3727GLAPI PFNGLTEXTUREBARRIERPROC glad_glTextureBarrier;
3728#define glTextureBarrier glad_glTextureBarrier
3729#endif
3730#ifndef GL_VERSION_4_6
3731#define GL_VERSION_4_6 1
3732GLAPI int GLAD_GL_VERSION_4_6;
3733typedef void (APIENTRYP PFNGLSPECIALIZESHADERPROC)(GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue);
3734GLAPI PFNGLSPECIALIZESHADERPROC glad_glSpecializeShader;
3735#define glSpecializeShader glad_glSpecializeShader
3736typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC)(GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
3737GLAPI PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_glMultiDrawArraysIndirectCount;
3738#define glMultiDrawArraysIndirectCount glad_glMultiDrawArraysIndirectCount
3739typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC)(GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
3740GLAPI PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_glMultiDrawElementsIndirectCount;
3741#define glMultiDrawElementsIndirectCount glad_glMultiDrawElementsIndirectCount
3742typedef void (APIENTRYP PFNGLPOLYGONOFFSETCLAMPPROC)(GLfloat factor, GLfloat units, GLfloat clamp);
3743GLAPI PFNGLPOLYGONOFFSETCLAMPPROC glad_glPolygonOffsetClamp;
3744#define glPolygonOffsetClamp glad_glPolygonOffsetClamp
3745#endif
3746#ifndef GL_ES_VERSION_2_0
3747#define GL_ES_VERSION_2_0 1
3748GLAPI int GLAD_GL_ES_VERSION_2_0;
3749#endif
3750#ifndef GL_ES_VERSION_3_0
3751#define GL_ES_VERSION_3_0 1
3752GLAPI int GLAD_GL_ES_VERSION_3_0;
3753#endif
3754#ifndef GL_ES_VERSION_3_1
3755#define GL_ES_VERSION_3_1 1
3756GLAPI int GLAD_GL_ES_VERSION_3_1;
3757#endif
3758#ifndef GL_ES_VERSION_3_2
3759#define GL_ES_VERSION_3_2 1
3760GLAPI int GLAD_GL_ES_VERSION_3_2;
3761typedef void (APIENTRYP PFNGLBLENDBARRIERPROC)(void);
3762GLAPI PFNGLBLENDBARRIERPROC glad_glBlendBarrier;
3763#define glBlendBarrier glad_glBlendBarrier
3764typedef void (APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXPROC)(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
3765GLAPI PFNGLPRIMITIVEBOUNDINGBOXPROC glad_glPrimitiveBoundingBox;
3766#define glPrimitiveBoundingBox glad_glPrimitiveBoundingBox
3767#endif
3768
3769#ifdef __cplusplus
3770}
3771#endif
3772
3773#endif
diff --git a/app/contrib/glad/src/glad.c b/app/contrib/glad/src/glad.c
new file mode 100644
index 0000000..4a3cf51
--- /dev/null
+++ b/app/contrib/glad/src/glad.c
@@ -0,0 +1,2277 @@
1/*
2
3 OpenGL, OpenGL ES loader generated by glad 0.1.33 on Sun Aug 30 00:22:38 2020.
4
5 Language/Generator: C/C++
6 Specification: gl
7 APIs: gl=4.6, gles2=3.2
8 Profile: core
9 Extensions:
10
11 Loader: True
12 Local files: False
13 Omit khrplatform: False
14 Reproducible: False
15
16 Commandline:
17 --profile="core" --api="gl=4.6,gles2=3.2" --generator="c" --spec="gl" --extensions=""
18 Online:
19 https://glad.dav1d.de/#profile=core&language=c&specification=gl&loader=on&api=gl%3D4.6&api=gles2%3D3.2
20*/
21
22#include <stdio.h>
23#include <stdlib.h>
24#include <string.h>
25#include <glad/glad.h>
26
27static void* get_proc(const char *namez);
28
29#if defined(_WIN32) || defined(__CYGWIN__)
30#ifndef _WINDOWS_
31#undef APIENTRY
32#endif
33#include <windows.h>
34static HMODULE libGL;
35
36typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);
37static PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
38
39#ifdef _MSC_VER
40#ifdef __has_include
41 #if __has_include(<winapifamily.h>)
42 #define HAVE_WINAPIFAMILY 1
43 #endif
44#elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
45 #define HAVE_WINAPIFAMILY 1
46#endif
47#endif
48
49#ifdef HAVE_WINAPIFAMILY
50 #include <winapifamily.h>
51 #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
52 #define IS_UWP 1
53 #endif
54#endif
55
56static
57int open_gl(void) {
58#ifndef IS_UWP
59 libGL = LoadLibraryW(L"opengl32.dll");
60 if(libGL != NULL) {
61 void (* tmp)(void);
62 tmp = (void(*)(void)) GetProcAddress(libGL, "wglGetProcAddress");
63 gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE) tmp;
64 return gladGetProcAddressPtr != NULL;
65 }
66#endif
67
68 return 0;
69}
70
71static
72void close_gl(void) {
73 if(libGL != NULL) {
74 FreeLibrary((HMODULE) libGL);
75 libGL = NULL;
76 }
77}
78#else
79#include <dlfcn.h>
80static void* libGL;
81
82#if !defined(__APPLE__) && !defined(__HAIKU__)
83typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);
84static PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
85#endif
86
87static
88int open_gl(void) {
89#ifdef __APPLE__
90 static const char *NAMES[] = {
91 "../Frameworks/OpenGL.framework/OpenGL",
92 "/Library/Frameworks/OpenGL.framework/OpenGL",
93 "/System/Library/Frameworks/OpenGL.framework/OpenGL",
94 "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL"
95 };
96#else
97 static const char *NAMES[] = {"libGL.so.1", "libGL.so"};
98#endif
99
100 unsigned int index = 0;
101 for(index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) {
102 libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);
103
104 if(libGL != NULL) {
105#if defined(__APPLE__) || defined(__HAIKU__)
106 return 1;
107#else
108 gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,
109 "glXGetProcAddressARB");
110 return gladGetProcAddressPtr != NULL;
111#endif
112 }
113 }
114
115 return 0;
116}
117
118static
119void close_gl(void) {
120 if(libGL != NULL) {
121 dlclose(libGL);
122 libGL = NULL;
123 }
124}
125#endif
126
127static
128void* get_proc(const char *namez) {
129 void* result = NULL;
130 if(libGL == NULL) return NULL;
131
132#if !defined(__APPLE__) && !defined(__HAIKU__)
133 if(gladGetProcAddressPtr != NULL) {
134 result = gladGetProcAddressPtr(namez);
135 }
136#endif
137 if(result == NULL) {
138#if defined(_WIN32) || defined(__CYGWIN__)
139 result = (void*)GetProcAddress((HMODULE) libGL, namez);
140#else
141 result = dlsym(libGL, namez);
142#endif
143 }
144
145 return result;
146}
147
148int gladLoadGL(void) {
149 int status = 0;
150
151 if(open_gl()) {
152 status = gladLoadGLLoader(&get_proc);
153 close_gl();
154 }
155
156 return status;
157}
158
159struct gladGLversionStruct GLVersion = { 0, 0 };
160
161#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)
162#define _GLAD_IS_SOME_NEW_VERSION 1
163#endif
164
165static int max_loaded_major;
166static int max_loaded_minor;
167
168static const char *exts = NULL;
169static int num_exts_i = 0;
170static char **exts_i = NULL;
171
172static int get_exts(void) {
173#ifdef _GLAD_IS_SOME_NEW_VERSION
174 if(max_loaded_major < 3) {
175#endif
176 exts = (const char *)glGetString(GL_EXTENSIONS);
177#ifdef _GLAD_IS_SOME_NEW_VERSION
178 } else {
179 unsigned int index;
180
181 num_exts_i = 0;
182 glGetIntegerv(GL_NUM_EXTENSIONS, &num_exts_i);
183 if (num_exts_i > 0) {
184 exts_i = (char **)malloc((size_t)num_exts_i * (sizeof *exts_i));
185 }
186
187 if (exts_i == NULL) {
188 return 0;
189 }
190
191 for(index = 0; index < (unsigned)num_exts_i; index++) {
192 const char *gl_str_tmp = (const char*)glGetStringi(GL_EXTENSIONS, index);
193 size_t len = strlen(gl_str_tmp);
194
195 char *local_str = (char*)malloc((len+1) * sizeof(char));
196 if(local_str != NULL) {
197 memcpy(local_str, gl_str_tmp, (len+1) * sizeof(char));
198 }
199 exts_i[index] = local_str;
200 }
201 }
202#endif
203 return 1;
204}
205
206static void free_exts(void) {
207 if (exts_i != NULL) {
208 int index;
209 for(index = 0; index < num_exts_i; index++) {
210 free((char *)exts_i[index]);
211 }
212 free((void *)exts_i);
213 exts_i = NULL;
214 }
215}
216
217static int has_ext(const char *ext) {
218#ifdef _GLAD_IS_SOME_NEW_VERSION
219 if(max_loaded_major < 3) {
220#endif
221 const char *extensions;
222 const char *loc;
223 const char *terminator;
224 extensions = exts;
225 if(extensions == NULL || ext == NULL) {
226 return 0;
227 }
228
229 while(1) {
230 loc = strstr(extensions, ext);
231 if(loc == NULL) {
232 return 0;
233 }
234
235 terminator = loc + strlen(ext);
236 if((loc == extensions || *(loc - 1) == ' ') &&
237 (*terminator == ' ' || *terminator == '\0')) {
238 return 1;
239 }
240 extensions = terminator;
241 }
242#ifdef _GLAD_IS_SOME_NEW_VERSION
243 } else {
244 int index;
245 if(exts_i == NULL) return 0;
246 for(index = 0; index < num_exts_i; index++) {
247 const char *e = exts_i[index];
248
249 if(exts_i[index] != NULL && strcmp(e, ext) == 0) {
250 return 1;
251 }
252 }
253 }
254#endif
255
256 return 0;
257}
258int GLAD_GL_VERSION_1_0 = 0;
259int GLAD_GL_VERSION_1_1 = 0;
260int GLAD_GL_VERSION_1_2 = 0;
261int GLAD_GL_VERSION_1_3 = 0;
262int GLAD_GL_VERSION_1_4 = 0;
263int GLAD_GL_VERSION_1_5 = 0;
264int GLAD_GL_VERSION_2_0 = 0;
265int GLAD_GL_VERSION_2_1 = 0;
266int GLAD_GL_VERSION_3_0 = 0;
267int GLAD_GL_VERSION_3_1 = 0;
268int GLAD_GL_VERSION_3_2 = 0;
269int GLAD_GL_VERSION_3_3 = 0;
270int GLAD_GL_VERSION_4_0 = 0;
271int GLAD_GL_VERSION_4_1 = 0;
272int GLAD_GL_VERSION_4_2 = 0;
273int GLAD_GL_VERSION_4_3 = 0;
274int GLAD_GL_VERSION_4_4 = 0;
275int GLAD_GL_VERSION_4_5 = 0;
276int GLAD_GL_VERSION_4_6 = 0;
277int GLAD_GL_ES_VERSION_2_0 = 0;
278int GLAD_GL_ES_VERSION_3_0 = 0;
279int GLAD_GL_ES_VERSION_3_1 = 0;
280int GLAD_GL_ES_VERSION_3_2 = 0;
281PFNGLACTIVESHADERPROGRAMPROC glad_glActiveShaderProgram = NULL;
282PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL;
283PFNGLATTACHSHADERPROC glad_glAttachShader = NULL;
284PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender = NULL;
285PFNGLBEGINQUERYPROC glad_glBeginQuery = NULL;
286PFNGLBEGINQUERYINDEXEDPROC glad_glBeginQueryIndexed = NULL;
287PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback = NULL;
288PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL;
289PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL;
290PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase = NULL;
291PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange = NULL;
292PFNGLBINDBUFFERSBASEPROC glad_glBindBuffersBase = NULL;
293PFNGLBINDBUFFERSRANGEPROC glad_glBindBuffersRange = NULL;
294PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation = NULL;
295PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed = NULL;
296PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer = NULL;
297PFNGLBINDIMAGETEXTUREPROC glad_glBindImageTexture = NULL;
298PFNGLBINDIMAGETEXTURESPROC glad_glBindImageTextures = NULL;
299PFNGLBINDPROGRAMPIPELINEPROC glad_glBindProgramPipeline = NULL;
300PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL;
301PFNGLBINDSAMPLERPROC glad_glBindSampler = NULL;
302PFNGLBINDSAMPLERSPROC glad_glBindSamplers = NULL;
303PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL;
304PFNGLBINDTEXTUREUNITPROC glad_glBindTextureUnit = NULL;
305PFNGLBINDTEXTURESPROC glad_glBindTextures = NULL;
306PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback = NULL;
307PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray = NULL;
308PFNGLBINDVERTEXBUFFERPROC glad_glBindVertexBuffer = NULL;
309PFNGLBINDVERTEXBUFFERSPROC glad_glBindVertexBuffers = NULL;
310PFNGLBLENDBARRIERPROC glad_glBlendBarrier = NULL;
311PFNGLBLENDCOLORPROC glad_glBlendColor = NULL;
312PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL;
313PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL;
314PFNGLBLENDEQUATIONSEPARATEIPROC glad_glBlendEquationSeparatei = NULL;
315PFNGLBLENDEQUATIONIPROC glad_glBlendEquationi = NULL;
316PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL;
317PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL;
318PFNGLBLENDFUNCSEPARATEIPROC glad_glBlendFuncSeparatei = NULL;
319PFNGLBLENDFUNCIPROC glad_glBlendFunci = NULL;
320PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer = NULL;
321PFNGLBLITNAMEDFRAMEBUFFERPROC glad_glBlitNamedFramebuffer = NULL;
322PFNGLBUFFERDATAPROC glad_glBufferData = NULL;
323PFNGLBUFFERSTORAGEPROC glad_glBufferStorage = NULL;
324PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL;
325PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus = NULL;
326PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glad_glCheckNamedFramebufferStatus = NULL;
327PFNGLCLAMPCOLORPROC glad_glClampColor = NULL;
328PFNGLCLEARPROC glad_glClear = NULL;
329PFNGLCLEARBUFFERDATAPROC glad_glClearBufferData = NULL;
330PFNGLCLEARBUFFERSUBDATAPROC glad_glClearBufferSubData = NULL;
331PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi = NULL;
332PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv = NULL;
333PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv = NULL;
334PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv = NULL;
335PFNGLCLEARCOLORPROC glad_glClearColor = NULL;
336PFNGLCLEARDEPTHPROC glad_glClearDepth = NULL;
337PFNGLCLEARDEPTHFPROC glad_glClearDepthf = NULL;
338PFNGLCLEARNAMEDBUFFERDATAPROC glad_glClearNamedBufferData = NULL;
339PFNGLCLEARNAMEDBUFFERSUBDATAPROC glad_glClearNamedBufferSubData = NULL;
340PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glad_glClearNamedFramebufferfi = NULL;
341PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glad_glClearNamedFramebufferfv = NULL;
342PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glad_glClearNamedFramebufferiv = NULL;
343PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glad_glClearNamedFramebufferuiv = NULL;
344PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL;
345PFNGLCLEARTEXIMAGEPROC glad_glClearTexImage = NULL;
346PFNGLCLEARTEXSUBIMAGEPROC glad_glClearTexSubImage = NULL;
347PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync = NULL;
348PFNGLCLIPCONTROLPROC glad_glClipControl = NULL;
349PFNGLCOLORMASKPROC glad_glColorMask = NULL;
350PFNGLCOLORMASKIPROC glad_glColorMaski = NULL;
351PFNGLCOLORP3UIPROC glad_glColorP3ui = NULL;
352PFNGLCOLORP3UIVPROC glad_glColorP3uiv = NULL;
353PFNGLCOLORP4UIPROC glad_glColorP4ui = NULL;
354PFNGLCOLORP4UIVPROC glad_glColorP4uiv = NULL;
355PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL;
356PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D = NULL;
357PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D = NULL;
358PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D = NULL;
359PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D = NULL;
360PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL;
361PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D = NULL;
362PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glad_glCompressedTextureSubImage1D = NULL;
363PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glad_glCompressedTextureSubImage2D = NULL;
364PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glad_glCompressedTextureSubImage3D = NULL;
365PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData = NULL;
366PFNGLCOPYIMAGESUBDATAPROC glad_glCopyImageSubData = NULL;
367PFNGLCOPYNAMEDBUFFERSUBDATAPROC glad_glCopyNamedBufferSubData = NULL;
368PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D = NULL;
369PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL;
370PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D = NULL;
371PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D = NULL;
372PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D = NULL;
373PFNGLCOPYTEXTURESUBIMAGE1DPROC glad_glCopyTextureSubImage1D = NULL;
374PFNGLCOPYTEXTURESUBIMAGE2DPROC glad_glCopyTextureSubImage2D = NULL;
375PFNGLCOPYTEXTURESUBIMAGE3DPROC glad_glCopyTextureSubImage3D = NULL;
376PFNGLCREATEBUFFERSPROC glad_glCreateBuffers = NULL;
377PFNGLCREATEFRAMEBUFFERSPROC glad_glCreateFramebuffers = NULL;
378PFNGLCREATEPROGRAMPROC glad_glCreateProgram = NULL;
379PFNGLCREATEPROGRAMPIPELINESPROC glad_glCreateProgramPipelines = NULL;
380PFNGLCREATEQUERIESPROC glad_glCreateQueries = NULL;
381PFNGLCREATERENDERBUFFERSPROC glad_glCreateRenderbuffers = NULL;
382PFNGLCREATESAMPLERSPROC glad_glCreateSamplers = NULL;
383PFNGLCREATESHADERPROC glad_glCreateShader = NULL;
384PFNGLCREATESHADERPROGRAMVPROC glad_glCreateShaderProgramv = NULL;
385PFNGLCREATETEXTURESPROC glad_glCreateTextures = NULL;
386PFNGLCREATETRANSFORMFEEDBACKSPROC glad_glCreateTransformFeedbacks = NULL;
387PFNGLCREATEVERTEXARRAYSPROC glad_glCreateVertexArrays = NULL;
388PFNGLCULLFACEPROC glad_glCullFace = NULL;
389PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback = NULL;
390PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl = NULL;
391PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert = NULL;
392PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL;
393PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers = NULL;
394PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL;
395PFNGLDELETEPROGRAMPIPELINESPROC glad_glDeleteProgramPipelines = NULL;
396PFNGLDELETEQUERIESPROC glad_glDeleteQueries = NULL;
397PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL;
398PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers = NULL;
399PFNGLDELETESHADERPROC glad_glDeleteShader = NULL;
400PFNGLDELETESYNCPROC glad_glDeleteSync = NULL;
401PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL;
402PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks = NULL;
403PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays = NULL;
404PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL;
405PFNGLDEPTHMASKPROC glad_glDepthMask = NULL;
406PFNGLDEPTHRANGEPROC glad_glDepthRange = NULL;
407PFNGLDEPTHRANGEARRAYVPROC glad_glDepthRangeArrayv = NULL;
408PFNGLDEPTHRANGEINDEXEDPROC glad_glDepthRangeIndexed = NULL;
409PFNGLDEPTHRANGEFPROC glad_glDepthRangef = NULL;
410PFNGLDETACHSHADERPROC glad_glDetachShader = NULL;
411PFNGLDISABLEPROC glad_glDisable = NULL;
412PFNGLDISABLEVERTEXARRAYATTRIBPROC glad_glDisableVertexArrayAttrib = NULL;
413PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL;
414PFNGLDISABLEIPROC glad_glDisablei = NULL;
415PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute = NULL;
416PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect = NULL;
417PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL;
418PFNGLDRAWARRAYSINDIRECTPROC glad_glDrawArraysIndirect = NULL;
419PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced = NULL;
420PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glad_glDrawArraysInstancedBaseInstance = NULL;
421PFNGLDRAWBUFFERPROC glad_glDrawBuffer = NULL;
422PFNGLDRAWBUFFERSPROC glad_glDrawBuffers = NULL;
423PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL;
424PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex = NULL;
425PFNGLDRAWELEMENTSINDIRECTPROC glad_glDrawElementsIndirect = NULL;
426PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced = NULL;
427PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glad_glDrawElementsInstancedBaseInstance = NULL;
428PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex = NULL;
429PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glad_glDrawElementsInstancedBaseVertexBaseInstance = NULL;
430PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements = NULL;
431PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex = NULL;
432PFNGLDRAWTRANSFORMFEEDBACKPROC glad_glDrawTransformFeedback = NULL;
433PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC glad_glDrawTransformFeedbackInstanced = NULL;
434PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC glad_glDrawTransformFeedbackStream = NULL;
435PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC glad_glDrawTransformFeedbackStreamInstanced = NULL;
436PFNGLENABLEPROC glad_glEnable = NULL;
437PFNGLENABLEVERTEXARRAYATTRIBPROC glad_glEnableVertexArrayAttrib = NULL;
438PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL;
439PFNGLENABLEIPROC glad_glEnablei = NULL;
440PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender = NULL;
441PFNGLENDQUERYPROC glad_glEndQuery = NULL;
442PFNGLENDQUERYINDEXEDPROC glad_glEndQueryIndexed = NULL;
443PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback = NULL;
444PFNGLFENCESYNCPROC glad_glFenceSync = NULL;
445PFNGLFINISHPROC glad_glFinish = NULL;
446PFNGLFLUSHPROC glad_glFlush = NULL;
447PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange = NULL;
448PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glad_glFlushMappedNamedBufferRange = NULL;
449PFNGLFRAMEBUFFERPARAMETERIPROC glad_glFramebufferParameteri = NULL;
450PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer = NULL;
451PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture = NULL;
452PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D = NULL;
453PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D = NULL;
454PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D = NULL;
455PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer = NULL;
456PFNGLFRONTFACEPROC glad_glFrontFace = NULL;
457PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL;
458PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers = NULL;
459PFNGLGENPROGRAMPIPELINESPROC glad_glGenProgramPipelines = NULL;
460PFNGLGENQUERIESPROC glad_glGenQueries = NULL;
461PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers = NULL;
462PFNGLGENSAMPLERSPROC glad_glGenSamplers = NULL;
463PFNGLGENTEXTURESPROC glad_glGenTextures = NULL;
464PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks = NULL;
465PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays = NULL;
466PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap = NULL;
467PFNGLGENERATETEXTUREMIPMAPPROC glad_glGenerateTextureMipmap = NULL;
468PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC glad_glGetActiveAtomicCounterBufferiv = NULL;
469PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL;
470PFNGLGETACTIVESUBROUTINENAMEPROC glad_glGetActiveSubroutineName = NULL;
471PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC glad_glGetActiveSubroutineUniformName = NULL;
472PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC glad_glGetActiveSubroutineUniformiv = NULL;
473PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL;
474PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName = NULL;
475PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv = NULL;
476PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName = NULL;
477PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv = NULL;
478PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL;
479PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL;
480PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v = NULL;
481PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL;
482PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v = NULL;
483PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL;
484PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv = NULL;
485PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData = NULL;
486PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage = NULL;
487PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glad_glGetCompressedTextureImage = NULL;
488PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glad_glGetCompressedTextureSubImage = NULL;
489PFNGLGETDEBUGMESSAGELOGPROC glad_glGetDebugMessageLog = NULL;
490PFNGLGETDOUBLEI_VPROC glad_glGetDoublei_v = NULL;
491PFNGLGETDOUBLEVPROC glad_glGetDoublev = NULL;
492PFNGLGETERRORPROC glad_glGetError = NULL;
493PFNGLGETFLOATI_VPROC glad_glGetFloati_v = NULL;
494PFNGLGETFLOATVPROC glad_glGetFloatv = NULL;
495PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex = NULL;
496PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation = NULL;
497PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv = NULL;
498PFNGLGETFRAMEBUFFERPARAMETERIVPROC glad_glGetFramebufferParameteriv = NULL;
499PFNGLGETGRAPHICSRESETSTATUSPROC glad_glGetGraphicsResetStatus = NULL;
500PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v = NULL;
501PFNGLGETINTEGER64VPROC glad_glGetInteger64v = NULL;
502PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v = NULL;
503PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL;
504PFNGLGETINTERNALFORMATI64VPROC glad_glGetInternalformati64v = NULL;
505PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ = NULL;
506PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv = NULL;
507PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glad_glGetNamedBufferParameteri64v = NULL;
508PFNGLGETNAMEDBUFFERPARAMETERIVPROC glad_glGetNamedBufferParameteriv = NULL;
509PFNGLGETNAMEDBUFFERPOINTERVPROC glad_glGetNamedBufferPointerv = NULL;
510PFNGLGETNAMEDBUFFERSUBDATAPROC glad_glGetNamedBufferSubData = NULL;
511PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetNamedFramebufferAttachmentParameteriv = NULL;
512PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glad_glGetNamedFramebufferParameteriv = NULL;
513PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glad_glGetNamedRenderbufferParameteriv = NULL;
514PFNGLGETOBJECTLABELPROC glad_glGetObjectLabel = NULL;
515PFNGLGETOBJECTPTRLABELPROC glad_glGetObjectPtrLabel = NULL;
516PFNGLGETPOINTERVPROC glad_glGetPointerv = NULL;
517PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary = NULL;
518PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL;
519PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv = NULL;
520PFNGLGETPROGRAMPIPELINEINFOLOGPROC glad_glGetProgramPipelineInfoLog = NULL;
521PFNGLGETPROGRAMPIPELINEIVPROC glad_glGetProgramPipelineiv = NULL;
522PFNGLGETPROGRAMRESOURCEINDEXPROC glad_glGetProgramResourceIndex = NULL;
523PFNGLGETPROGRAMRESOURCELOCATIONPROC glad_glGetProgramResourceLocation = NULL;
524PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC glad_glGetProgramResourceLocationIndex = NULL;
525PFNGLGETPROGRAMRESOURCENAMEPROC glad_glGetProgramResourceName = NULL;
526PFNGLGETPROGRAMRESOURCEIVPROC glad_glGetProgramResourceiv = NULL;
527PFNGLGETPROGRAMSTAGEIVPROC glad_glGetProgramStageiv = NULL;
528PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL;
529PFNGLGETQUERYBUFFEROBJECTI64VPROC glad_glGetQueryBufferObjecti64v = NULL;
530PFNGLGETQUERYBUFFEROBJECTIVPROC glad_glGetQueryBufferObjectiv = NULL;
531PFNGLGETQUERYBUFFEROBJECTUI64VPROC glad_glGetQueryBufferObjectui64v = NULL;
532PFNGLGETQUERYBUFFEROBJECTUIVPROC glad_glGetQueryBufferObjectuiv = NULL;
533PFNGLGETQUERYINDEXEDIVPROC glad_glGetQueryIndexediv = NULL;
534PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v = NULL;
535PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv = NULL;
536PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v = NULL;
537PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv = NULL;
538PFNGLGETQUERYIVPROC glad_glGetQueryiv = NULL;
539PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv = NULL;
540PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv = NULL;
541PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv = NULL;
542PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv = NULL;
543PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv = NULL;
544PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL;
545PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat = NULL;
546PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL;
547PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL;
548PFNGLGETSTRINGPROC glad_glGetString = NULL;
549PFNGLGETSTRINGIPROC glad_glGetStringi = NULL;
550PFNGLGETSUBROUTINEINDEXPROC glad_glGetSubroutineIndex = NULL;
551PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC glad_glGetSubroutineUniformLocation = NULL;
552PFNGLGETSYNCIVPROC glad_glGetSynciv = NULL;
553PFNGLGETTEXIMAGEPROC glad_glGetTexImage = NULL;
554PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv = NULL;
555PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv = NULL;
556PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv = NULL;
557PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv = NULL;
558PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL;
559PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL;
560PFNGLGETTEXTUREIMAGEPROC glad_glGetTextureImage = NULL;
561PFNGLGETTEXTURELEVELPARAMETERFVPROC glad_glGetTextureLevelParameterfv = NULL;
562PFNGLGETTEXTURELEVELPARAMETERIVPROC glad_glGetTextureLevelParameteriv = NULL;
563PFNGLGETTEXTUREPARAMETERIIVPROC glad_glGetTextureParameterIiv = NULL;
564PFNGLGETTEXTUREPARAMETERIUIVPROC glad_glGetTextureParameterIuiv = NULL;
565PFNGLGETTEXTUREPARAMETERFVPROC glad_glGetTextureParameterfv = NULL;
566PFNGLGETTEXTUREPARAMETERIVPROC glad_glGetTextureParameteriv = NULL;
567PFNGLGETTEXTURESUBIMAGEPROC glad_glGetTextureSubImage = NULL;
568PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying = NULL;
569PFNGLGETTRANSFORMFEEDBACKI64_VPROC glad_glGetTransformFeedbacki64_v = NULL;
570PFNGLGETTRANSFORMFEEDBACKI_VPROC glad_glGetTransformFeedbacki_v = NULL;
571PFNGLGETTRANSFORMFEEDBACKIVPROC glad_glGetTransformFeedbackiv = NULL;
572PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex = NULL;
573PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices = NULL;
574PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL;
575PFNGLGETUNIFORMSUBROUTINEUIVPROC glad_glGetUniformSubroutineuiv = NULL;
576PFNGLGETUNIFORMDVPROC glad_glGetUniformdv = NULL;
577PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL;
578PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL;
579PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv = NULL;
580PFNGLGETVERTEXARRAYINDEXED64IVPROC glad_glGetVertexArrayIndexed64iv = NULL;
581PFNGLGETVERTEXARRAYINDEXEDIVPROC glad_glGetVertexArrayIndexediv = NULL;
582PFNGLGETVERTEXARRAYIVPROC glad_glGetVertexArrayiv = NULL;
583PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv = NULL;
584PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv = NULL;
585PFNGLGETVERTEXATTRIBLDVPROC glad_glGetVertexAttribLdv = NULL;
586PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL;
587PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv = NULL;
588PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL;
589PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv = NULL;
590PFNGLGETNCOLORTABLEPROC glad_glGetnColorTable = NULL;
591PFNGLGETNCOMPRESSEDTEXIMAGEPROC glad_glGetnCompressedTexImage = NULL;
592PFNGLGETNCONVOLUTIONFILTERPROC glad_glGetnConvolutionFilter = NULL;
593PFNGLGETNHISTOGRAMPROC glad_glGetnHistogram = NULL;
594PFNGLGETNMAPDVPROC glad_glGetnMapdv = NULL;
595PFNGLGETNMAPFVPROC glad_glGetnMapfv = NULL;
596PFNGLGETNMAPIVPROC glad_glGetnMapiv = NULL;
597PFNGLGETNMINMAXPROC glad_glGetnMinmax = NULL;
598PFNGLGETNPIXELMAPFVPROC glad_glGetnPixelMapfv = NULL;
599PFNGLGETNPIXELMAPUIVPROC glad_glGetnPixelMapuiv = NULL;
600PFNGLGETNPIXELMAPUSVPROC glad_glGetnPixelMapusv = NULL;
601PFNGLGETNPOLYGONSTIPPLEPROC glad_glGetnPolygonStipple = NULL;
602PFNGLGETNSEPARABLEFILTERPROC glad_glGetnSeparableFilter = NULL;
603PFNGLGETNTEXIMAGEPROC glad_glGetnTexImage = NULL;
604PFNGLGETNUNIFORMDVPROC glad_glGetnUniformdv = NULL;
605PFNGLGETNUNIFORMFVPROC glad_glGetnUniformfv = NULL;
606PFNGLGETNUNIFORMIVPROC glad_glGetnUniformiv = NULL;
607PFNGLGETNUNIFORMUIVPROC glad_glGetnUniformuiv = NULL;
608PFNGLHINTPROC glad_glHint = NULL;
609PFNGLINVALIDATEBUFFERDATAPROC glad_glInvalidateBufferData = NULL;
610PFNGLINVALIDATEBUFFERSUBDATAPROC glad_glInvalidateBufferSubData = NULL;
611PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer = NULL;
612PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glad_glInvalidateNamedFramebufferData = NULL;
613PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glad_glInvalidateNamedFramebufferSubData = NULL;
614PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer = NULL;
615PFNGLINVALIDATETEXIMAGEPROC glad_glInvalidateTexImage = NULL;
616PFNGLINVALIDATETEXSUBIMAGEPROC glad_glInvalidateTexSubImage = NULL;
617PFNGLISBUFFERPROC glad_glIsBuffer = NULL;
618PFNGLISENABLEDPROC glad_glIsEnabled = NULL;
619PFNGLISENABLEDIPROC glad_glIsEnabledi = NULL;
620PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer = NULL;
621PFNGLISPROGRAMPROC glad_glIsProgram = NULL;
622PFNGLISPROGRAMPIPELINEPROC glad_glIsProgramPipeline = NULL;
623PFNGLISQUERYPROC glad_glIsQuery = NULL;
624PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL;
625PFNGLISSAMPLERPROC glad_glIsSampler = NULL;
626PFNGLISSHADERPROC glad_glIsShader = NULL;
627PFNGLISSYNCPROC glad_glIsSync = NULL;
628PFNGLISTEXTUREPROC glad_glIsTexture = NULL;
629PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback = NULL;
630PFNGLISVERTEXARRAYPROC glad_glIsVertexArray = NULL;
631PFNGLLINEWIDTHPROC glad_glLineWidth = NULL;
632PFNGLLINKPROGRAMPROC glad_glLinkProgram = NULL;
633PFNGLLOGICOPPROC glad_glLogicOp = NULL;
634PFNGLMAPBUFFERPROC glad_glMapBuffer = NULL;
635PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange = NULL;
636PFNGLMAPNAMEDBUFFERPROC glad_glMapNamedBuffer = NULL;
637PFNGLMAPNAMEDBUFFERRANGEPROC glad_glMapNamedBufferRange = NULL;
638PFNGLMEMORYBARRIERPROC glad_glMemoryBarrier = NULL;
639PFNGLMEMORYBARRIERBYREGIONPROC glad_glMemoryBarrierByRegion = NULL;
640PFNGLMINSAMPLESHADINGPROC glad_glMinSampleShading = NULL;
641PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays = NULL;
642PFNGLMULTIDRAWARRAYSINDIRECTPROC glad_glMultiDrawArraysIndirect = NULL;
643PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC glad_glMultiDrawArraysIndirectCount = NULL;
644PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements = NULL;
645PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex = NULL;
646PFNGLMULTIDRAWELEMENTSINDIRECTPROC glad_glMultiDrawElementsIndirect = NULL;
647PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC glad_glMultiDrawElementsIndirectCount = NULL;
648PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui = NULL;
649PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv = NULL;
650PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui = NULL;
651PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv = NULL;
652PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui = NULL;
653PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv = NULL;
654PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui = NULL;
655PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv = NULL;
656PFNGLNAMEDBUFFERDATAPROC glad_glNamedBufferData = NULL;
657PFNGLNAMEDBUFFERSTORAGEPROC glad_glNamedBufferStorage = NULL;
658PFNGLNAMEDBUFFERSUBDATAPROC glad_glNamedBufferSubData = NULL;
659PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glad_glNamedFramebufferDrawBuffer = NULL;
660PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glad_glNamedFramebufferDrawBuffers = NULL;
661PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glad_glNamedFramebufferParameteri = NULL;
662PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glad_glNamedFramebufferReadBuffer = NULL;
663PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glad_glNamedFramebufferRenderbuffer = NULL;
664PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glad_glNamedFramebufferTexture = NULL;
665PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glad_glNamedFramebufferTextureLayer = NULL;
666PFNGLNAMEDRENDERBUFFERSTORAGEPROC glad_glNamedRenderbufferStorage = NULL;
667PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glNamedRenderbufferStorageMultisample = NULL;
668PFNGLNORMALP3UIPROC glad_glNormalP3ui = NULL;
669PFNGLNORMALP3UIVPROC glad_glNormalP3uiv = NULL;
670PFNGLOBJECTLABELPROC glad_glObjectLabel = NULL;
671PFNGLOBJECTPTRLABELPROC glad_glObjectPtrLabel = NULL;
672PFNGLPATCHPARAMETERFVPROC glad_glPatchParameterfv = NULL;
673PFNGLPATCHPARAMETERIPROC glad_glPatchParameteri = NULL;
674PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback = NULL;
675PFNGLPIXELSTOREFPROC glad_glPixelStoref = NULL;
676PFNGLPIXELSTOREIPROC glad_glPixelStorei = NULL;
677PFNGLPOINTPARAMETERFPROC glad_glPointParameterf = NULL;
678PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv = NULL;
679PFNGLPOINTPARAMETERIPROC glad_glPointParameteri = NULL;
680PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv = NULL;
681PFNGLPOINTSIZEPROC glad_glPointSize = NULL;
682PFNGLPOLYGONMODEPROC glad_glPolygonMode = NULL;
683PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset = NULL;
684PFNGLPOLYGONOFFSETCLAMPPROC glad_glPolygonOffsetClamp = NULL;
685PFNGLPOPDEBUGGROUPPROC glad_glPopDebugGroup = NULL;
686PFNGLPRIMITIVEBOUNDINGBOXPROC glad_glPrimitiveBoundingBox = NULL;
687PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex = NULL;
688PFNGLPROGRAMBINARYPROC glad_glProgramBinary = NULL;
689PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri = NULL;
690PFNGLPROGRAMUNIFORM1DPROC glad_glProgramUniform1d = NULL;
691PFNGLPROGRAMUNIFORM1DVPROC glad_glProgramUniform1dv = NULL;
692PFNGLPROGRAMUNIFORM1FPROC glad_glProgramUniform1f = NULL;
693PFNGLPROGRAMUNIFORM1FVPROC glad_glProgramUniform1fv = NULL;
694PFNGLPROGRAMUNIFORM1IPROC glad_glProgramUniform1i = NULL;
695PFNGLPROGRAMUNIFORM1IVPROC glad_glProgramUniform1iv = NULL;
696PFNGLPROGRAMUNIFORM1UIPROC glad_glProgramUniform1ui = NULL;
697PFNGLPROGRAMUNIFORM1UIVPROC glad_glProgramUniform1uiv = NULL;
698PFNGLPROGRAMUNIFORM2DPROC glad_glProgramUniform2d = NULL;
699PFNGLPROGRAMUNIFORM2DVPROC glad_glProgramUniform2dv = NULL;
700PFNGLPROGRAMUNIFORM2FPROC glad_glProgramUniform2f = NULL;
701PFNGLPROGRAMUNIFORM2FVPROC glad_glProgramUniform2fv = NULL;
702PFNGLPROGRAMUNIFORM2IPROC glad_glProgramUniform2i = NULL;
703PFNGLPROGRAMUNIFORM2IVPROC glad_glProgramUniform2iv = NULL;
704PFNGLPROGRAMUNIFORM2UIPROC glad_glProgramUniform2ui = NULL;
705PFNGLPROGRAMUNIFORM2UIVPROC glad_glProgramUniform2uiv = NULL;
706PFNGLPROGRAMUNIFORM3DPROC glad_glProgramUniform3d = NULL;
707PFNGLPROGRAMUNIFORM3DVPROC glad_glProgramUniform3dv = NULL;
708PFNGLPROGRAMUNIFORM3FPROC glad_glProgramUniform3f = NULL;
709PFNGLPROGRAMUNIFORM3FVPROC glad_glProgramUniform3fv = NULL;
710PFNGLPROGRAMUNIFORM3IPROC glad_glProgramUniform3i = NULL;
711PFNGLPROGRAMUNIFORM3IVPROC glad_glProgramUniform3iv = NULL;
712PFNGLPROGRAMUNIFORM3UIPROC glad_glProgramUniform3ui = NULL;
713PFNGLPROGRAMUNIFORM3UIVPROC glad_glProgramUniform3uiv = NULL;
714PFNGLPROGRAMUNIFORM4DPROC glad_glProgramUniform4d = NULL;
715PFNGLPROGRAMUNIFORM4DVPROC glad_glProgramUniform4dv = NULL;
716PFNGLPROGRAMUNIFORM4FPROC glad_glProgramUniform4f = NULL;
717PFNGLPROGRAMUNIFORM4FVPROC glad_glProgramUniform4fv = NULL;
718PFNGLPROGRAMUNIFORM4IPROC glad_glProgramUniform4i = NULL;
719PFNGLPROGRAMUNIFORM4IVPROC glad_glProgramUniform4iv = NULL;
720PFNGLPROGRAMUNIFORM4UIPROC glad_glProgramUniform4ui = NULL;
721PFNGLPROGRAMUNIFORM4UIVPROC glad_glProgramUniform4uiv = NULL;
722PFNGLPROGRAMUNIFORMMATRIX2DVPROC glad_glProgramUniformMatrix2dv = NULL;
723PFNGLPROGRAMUNIFORMMATRIX2FVPROC glad_glProgramUniformMatrix2fv = NULL;
724PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC glad_glProgramUniformMatrix2x3dv = NULL;
725PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glad_glProgramUniformMatrix2x3fv = NULL;
726PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC glad_glProgramUniformMatrix2x4dv = NULL;
727PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glad_glProgramUniformMatrix2x4fv = NULL;
728PFNGLPROGRAMUNIFORMMATRIX3DVPROC glad_glProgramUniformMatrix3dv = NULL;
729PFNGLPROGRAMUNIFORMMATRIX3FVPROC glad_glProgramUniformMatrix3fv = NULL;
730PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC glad_glProgramUniformMatrix3x2dv = NULL;
731PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glad_glProgramUniformMatrix3x2fv = NULL;
732PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC glad_glProgramUniformMatrix3x4dv = NULL;
733PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glad_glProgramUniformMatrix3x4fv = NULL;
734PFNGLPROGRAMUNIFORMMATRIX4DVPROC glad_glProgramUniformMatrix4dv = NULL;
735PFNGLPROGRAMUNIFORMMATRIX4FVPROC glad_glProgramUniformMatrix4fv = NULL;
736PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC glad_glProgramUniformMatrix4x2dv = NULL;
737PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glad_glProgramUniformMatrix4x2fv = NULL;
738PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC glad_glProgramUniformMatrix4x3dv = NULL;
739PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glad_glProgramUniformMatrix4x3fv = NULL;
740PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex = NULL;
741PFNGLPUSHDEBUGGROUPPROC glad_glPushDebugGroup = NULL;
742PFNGLQUERYCOUNTERPROC glad_glQueryCounter = NULL;
743PFNGLREADBUFFERPROC glad_glReadBuffer = NULL;
744PFNGLREADPIXELSPROC glad_glReadPixels = NULL;
745PFNGLREADNPIXELSPROC glad_glReadnPixels = NULL;
746PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler = NULL;
747PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage = NULL;
748PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample = NULL;
749PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback = NULL;
750PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL;
751PFNGLSAMPLEMASKIPROC glad_glSampleMaski = NULL;
752PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv = NULL;
753PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv = NULL;
754PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf = NULL;
755PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv = NULL;
756PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri = NULL;
757PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv = NULL;
758PFNGLSCISSORPROC glad_glScissor = NULL;
759PFNGLSCISSORARRAYVPROC glad_glScissorArrayv = NULL;
760PFNGLSCISSORINDEXEDPROC glad_glScissorIndexed = NULL;
761PFNGLSCISSORINDEXEDVPROC glad_glScissorIndexedv = NULL;
762PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui = NULL;
763PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv = NULL;
764PFNGLSHADERBINARYPROC glad_glShaderBinary = NULL;
765PFNGLSHADERSOURCEPROC glad_glShaderSource = NULL;
766PFNGLSHADERSTORAGEBLOCKBINDINGPROC glad_glShaderStorageBlockBinding = NULL;
767PFNGLSPECIALIZESHADERPROC glad_glSpecializeShader = NULL;
768PFNGLSTENCILFUNCPROC glad_glStencilFunc = NULL;
769PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate = NULL;
770PFNGLSTENCILMASKPROC glad_glStencilMask = NULL;
771PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL;
772PFNGLSTENCILOPPROC glad_glStencilOp = NULL;
773PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL;
774PFNGLTEXBUFFERPROC glad_glTexBuffer = NULL;
775PFNGLTEXBUFFERRANGEPROC glad_glTexBufferRange = NULL;
776PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui = NULL;
777PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv = NULL;
778PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui = NULL;
779PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv = NULL;
780PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui = NULL;
781PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv = NULL;
782PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui = NULL;
783PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv = NULL;
784PFNGLTEXIMAGE1DPROC glad_glTexImage1D = NULL;
785PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL;
786PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample = NULL;
787PFNGLTEXIMAGE3DPROC glad_glTexImage3D = NULL;
788PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample = NULL;
789PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv = NULL;
790PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv = NULL;
791PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL;
792PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL;
793PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL;
794PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv = NULL;
795PFNGLTEXSTORAGE1DPROC glad_glTexStorage1D = NULL;
796PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D = NULL;
797PFNGLTEXSTORAGE2DMULTISAMPLEPROC glad_glTexStorage2DMultisample = NULL;
798PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D = NULL;
799PFNGLTEXSTORAGE3DMULTISAMPLEPROC glad_glTexStorage3DMultisample = NULL;
800PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D = NULL;
801PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL;
802PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D = NULL;
803PFNGLTEXTUREBARRIERPROC glad_glTextureBarrier = NULL;
804PFNGLTEXTUREBUFFERPROC glad_glTextureBuffer = NULL;
805PFNGLTEXTUREBUFFERRANGEPROC glad_glTextureBufferRange = NULL;
806PFNGLTEXTUREPARAMETERIIVPROC glad_glTextureParameterIiv = NULL;
807PFNGLTEXTUREPARAMETERIUIVPROC glad_glTextureParameterIuiv = NULL;
808PFNGLTEXTUREPARAMETERFPROC glad_glTextureParameterf = NULL;
809PFNGLTEXTUREPARAMETERFVPROC glad_glTextureParameterfv = NULL;
810PFNGLTEXTUREPARAMETERIPROC glad_glTextureParameteri = NULL;
811PFNGLTEXTUREPARAMETERIVPROC glad_glTextureParameteriv = NULL;
812PFNGLTEXTURESTORAGE1DPROC glad_glTextureStorage1D = NULL;
813PFNGLTEXTURESTORAGE2DPROC glad_glTextureStorage2D = NULL;
814PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glad_glTextureStorage2DMultisample = NULL;
815PFNGLTEXTURESTORAGE3DPROC glad_glTextureStorage3D = NULL;
816PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glad_glTextureStorage3DMultisample = NULL;
817PFNGLTEXTURESUBIMAGE1DPROC glad_glTextureSubImage1D = NULL;
818PFNGLTEXTURESUBIMAGE2DPROC glad_glTextureSubImage2D = NULL;
819PFNGLTEXTURESUBIMAGE3DPROC glad_glTextureSubImage3D = NULL;
820PFNGLTEXTUREVIEWPROC glad_glTextureView = NULL;
821PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glad_glTransformFeedbackBufferBase = NULL;
822PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glad_glTransformFeedbackBufferRange = NULL;
823PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings = NULL;
824PFNGLUNIFORM1DPROC glad_glUniform1d = NULL;
825PFNGLUNIFORM1DVPROC glad_glUniform1dv = NULL;
826PFNGLUNIFORM1FPROC glad_glUniform1f = NULL;
827PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL;
828PFNGLUNIFORM1IPROC glad_glUniform1i = NULL;
829PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL;
830PFNGLUNIFORM1UIPROC glad_glUniform1ui = NULL;
831PFNGLUNIFORM1UIVPROC glad_glUniform1uiv = NULL;
832PFNGLUNIFORM2DPROC glad_glUniform2d = NULL;
833PFNGLUNIFORM2DVPROC glad_glUniform2dv = NULL;
834PFNGLUNIFORM2FPROC glad_glUniform2f = NULL;
835PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL;
836PFNGLUNIFORM2IPROC glad_glUniform2i = NULL;
837PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL;
838PFNGLUNIFORM2UIPROC glad_glUniform2ui = NULL;
839PFNGLUNIFORM2UIVPROC glad_glUniform2uiv = NULL;
840PFNGLUNIFORM3DPROC glad_glUniform3d = NULL;
841PFNGLUNIFORM3DVPROC glad_glUniform3dv = NULL;
842PFNGLUNIFORM3FPROC glad_glUniform3f = NULL;
843PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL;
844PFNGLUNIFORM3IPROC glad_glUniform3i = NULL;
845PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL;
846PFNGLUNIFORM3UIPROC glad_glUniform3ui = NULL;
847PFNGLUNIFORM3UIVPROC glad_glUniform3uiv = NULL;
848PFNGLUNIFORM4DPROC glad_glUniform4d = NULL;
849PFNGLUNIFORM4DVPROC glad_glUniform4dv = NULL;
850PFNGLUNIFORM4FPROC glad_glUniform4f = NULL;
851PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL;
852PFNGLUNIFORM4IPROC glad_glUniform4i = NULL;
853PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL;
854PFNGLUNIFORM4UIPROC glad_glUniform4ui = NULL;
855PFNGLUNIFORM4UIVPROC glad_glUniform4uiv = NULL;
856PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding = NULL;
857PFNGLUNIFORMMATRIX2DVPROC glad_glUniformMatrix2dv = NULL;
858PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL;
859PFNGLUNIFORMMATRIX2X3DVPROC glad_glUniformMatrix2x3dv = NULL;
860PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv = NULL;
861PFNGLUNIFORMMATRIX2X4DVPROC glad_glUniformMatrix2x4dv = NULL;
862PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv = NULL;
863PFNGLUNIFORMMATRIX3DVPROC glad_glUniformMatrix3dv = NULL;
864PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv = NULL;
865PFNGLUNIFORMMATRIX3X2DVPROC glad_glUniformMatrix3x2dv = NULL;
866PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv = NULL;
867PFNGLUNIFORMMATRIX3X4DVPROC glad_glUniformMatrix3x4dv = NULL;
868PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv = NULL;
869PFNGLUNIFORMMATRIX4DVPROC glad_glUniformMatrix4dv = NULL;
870PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv = NULL;
871PFNGLUNIFORMMATRIX4X2DVPROC glad_glUniformMatrix4x2dv = NULL;
872PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv = NULL;
873PFNGLUNIFORMMATRIX4X3DVPROC glad_glUniformMatrix4x3dv = NULL;
874PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv = NULL;
875PFNGLUNIFORMSUBROUTINESUIVPROC glad_glUniformSubroutinesuiv = NULL;
876PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer = NULL;
877PFNGLUNMAPNAMEDBUFFERPROC glad_glUnmapNamedBuffer = NULL;
878PFNGLUSEPROGRAMPROC glad_glUseProgram = NULL;
879PFNGLUSEPROGRAMSTAGESPROC glad_glUseProgramStages = NULL;
880PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram = NULL;
881PFNGLVALIDATEPROGRAMPIPELINEPROC glad_glValidateProgramPipeline = NULL;
882PFNGLVERTEXARRAYATTRIBBINDINGPROC glad_glVertexArrayAttribBinding = NULL;
883PFNGLVERTEXARRAYATTRIBFORMATPROC glad_glVertexArrayAttribFormat = NULL;
884PFNGLVERTEXARRAYATTRIBIFORMATPROC glad_glVertexArrayAttribIFormat = NULL;
885PFNGLVERTEXARRAYATTRIBLFORMATPROC glad_glVertexArrayAttribLFormat = NULL;
886PFNGLVERTEXARRAYBINDINGDIVISORPROC glad_glVertexArrayBindingDivisor = NULL;
887PFNGLVERTEXARRAYELEMENTBUFFERPROC glad_glVertexArrayElementBuffer = NULL;
888PFNGLVERTEXARRAYVERTEXBUFFERPROC glad_glVertexArrayVertexBuffer = NULL;
889PFNGLVERTEXARRAYVERTEXBUFFERSPROC glad_glVertexArrayVertexBuffers = NULL;
890PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d = NULL;
891PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv = NULL;
892PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f = NULL;
893PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv = NULL;
894PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s = NULL;
895PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv = NULL;
896PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d = NULL;
897PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv = NULL;
898PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f = NULL;
899PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv = NULL;
900PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s = NULL;
901PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv = NULL;
902PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d = NULL;
903PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv = NULL;
904PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f = NULL;
905PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv = NULL;
906PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s = NULL;
907PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv = NULL;
908PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv = NULL;
909PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv = NULL;
910PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv = NULL;
911PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub = NULL;
912PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv = NULL;
913PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv = NULL;
914PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv = NULL;
915PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv = NULL;
916PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d = NULL;
917PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv = NULL;
918PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f = NULL;
919PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv = NULL;
920PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv = NULL;
921PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s = NULL;
922PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv = NULL;
923PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv = NULL;
924PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv = NULL;
925PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv = NULL;
926PFNGLVERTEXATTRIBBINDINGPROC glad_glVertexAttribBinding = NULL;
927PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor = NULL;
928PFNGLVERTEXATTRIBFORMATPROC glad_glVertexAttribFormat = NULL;
929PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i = NULL;
930PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv = NULL;
931PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui = NULL;
932PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv = NULL;
933PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i = NULL;
934PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv = NULL;
935PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui = NULL;
936PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv = NULL;
937PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i = NULL;
938PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv = NULL;
939PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui = NULL;
940PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv = NULL;
941PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv = NULL;
942PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i = NULL;
943PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv = NULL;
944PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv = NULL;
945PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv = NULL;
946PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui = NULL;
947PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv = NULL;
948PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv = NULL;
949PFNGLVERTEXATTRIBIFORMATPROC glad_glVertexAttribIFormat = NULL;
950PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer = NULL;
951PFNGLVERTEXATTRIBL1DPROC glad_glVertexAttribL1d = NULL;
952PFNGLVERTEXATTRIBL1DVPROC glad_glVertexAttribL1dv = NULL;
953PFNGLVERTEXATTRIBL2DPROC glad_glVertexAttribL2d = NULL;
954PFNGLVERTEXATTRIBL2DVPROC glad_glVertexAttribL2dv = NULL;
955PFNGLVERTEXATTRIBL3DPROC glad_glVertexAttribL3d = NULL;
956PFNGLVERTEXATTRIBL3DVPROC glad_glVertexAttribL3dv = NULL;
957PFNGLVERTEXATTRIBL4DPROC glad_glVertexAttribL4d = NULL;
958PFNGLVERTEXATTRIBL4DVPROC glad_glVertexAttribL4dv = NULL;
959PFNGLVERTEXATTRIBLFORMATPROC glad_glVertexAttribLFormat = NULL;
960PFNGLVERTEXATTRIBLPOINTERPROC glad_glVertexAttribLPointer = NULL;
961PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui = NULL;
962PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv = NULL;
963PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui = NULL;
964PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv = NULL;
965PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui = NULL;
966PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv = NULL;
967PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui = NULL;
968PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv = NULL;
969PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL;
970PFNGLVERTEXBINDINGDIVISORPROC glad_glVertexBindingDivisor = NULL;
971PFNGLVERTEXP2UIPROC glad_glVertexP2ui = NULL;
972PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv = NULL;
973PFNGLVERTEXP3UIPROC glad_glVertexP3ui = NULL;
974PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv = NULL;
975PFNGLVERTEXP4UIPROC glad_glVertexP4ui = NULL;
976PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv = NULL;
977PFNGLVIEWPORTPROC glad_glViewport = NULL;
978PFNGLVIEWPORTARRAYVPROC glad_glViewportArrayv = NULL;
979PFNGLVIEWPORTINDEXEDFPROC glad_glViewportIndexedf = NULL;
980PFNGLVIEWPORTINDEXEDFVPROC glad_glViewportIndexedfv = NULL;
981PFNGLWAITSYNCPROC glad_glWaitSync = NULL;
982static void load_GL_VERSION_1_0(GLADloadproc load) {
983 if(!GLAD_GL_VERSION_1_0) return;
984 glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace");
985 glad_glFrontFace = (PFNGLFRONTFACEPROC)load("glFrontFace");
986 glad_glHint = (PFNGLHINTPROC)load("glHint");
987 glad_glLineWidth = (PFNGLLINEWIDTHPROC)load("glLineWidth");
988 glad_glPointSize = (PFNGLPOINTSIZEPROC)load("glPointSize");
989 glad_glPolygonMode = (PFNGLPOLYGONMODEPROC)load("glPolygonMode");
990 glad_glScissor = (PFNGLSCISSORPROC)load("glScissor");
991 glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC)load("glTexParameterf");
992 glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC)load("glTexParameterfv");
993 glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC)load("glTexParameteri");
994 glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC)load("glTexParameteriv");
995 glad_glTexImage1D = (PFNGLTEXIMAGE1DPROC)load("glTexImage1D");
996 glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC)load("glTexImage2D");
997 glad_glDrawBuffer = (PFNGLDRAWBUFFERPROC)load("glDrawBuffer");
998 glad_glClear = (PFNGLCLEARPROC)load("glClear");
999 glad_glClearColor = (PFNGLCLEARCOLORPROC)load("glClearColor");
1000 glad_glClearStencil = (PFNGLCLEARSTENCILPROC)load("glClearStencil");
1001 glad_glClearDepth = (PFNGLCLEARDEPTHPROC)load("glClearDepth");
1002 glad_glStencilMask = (PFNGLSTENCILMASKPROC)load("glStencilMask");
1003 glad_glColorMask = (PFNGLCOLORMASKPROC)load("glColorMask");
1004 glad_glDepthMask = (PFNGLDEPTHMASKPROC)load("glDepthMask");
1005 glad_glDisable = (PFNGLDISABLEPROC)load("glDisable");
1006 glad_glEnable = (PFNGLENABLEPROC)load("glEnable");
1007 glad_glFinish = (PFNGLFINISHPROC)load("glFinish");
1008 glad_glFlush = (PFNGLFLUSHPROC)load("glFlush");
1009 glad_glBlendFunc = (PFNGLBLENDFUNCPROC)load("glBlendFunc");
1010 glad_glLogicOp = (PFNGLLOGICOPPROC)load("glLogicOp");
1011 glad_glStencilFunc = (PFNGLSTENCILFUNCPROC)load("glStencilFunc");
1012 glad_glStencilOp = (PFNGLSTENCILOPPROC)load("glStencilOp");
1013 glad_glDepthFunc = (PFNGLDEPTHFUNCPROC)load("glDepthFunc");
1014 glad_glPixelStoref = (PFNGLPIXELSTOREFPROC)load("glPixelStoref");
1015 glad_glPixelStorei = (PFNGLPIXELSTOREIPROC)load("glPixelStorei");
1016 glad_glReadBuffer = (PFNGLREADBUFFERPROC)load("glReadBuffer");
1017 glad_glReadPixels = (PFNGLREADPIXELSPROC)load("glReadPixels");
1018 glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC)load("glGetBooleanv");
1019 glad_glGetDoublev = (PFNGLGETDOUBLEVPROC)load("glGetDoublev");
1020 glad_glGetError = (PFNGLGETERRORPROC)load("glGetError");
1021 glad_glGetFloatv = (PFNGLGETFLOATVPROC)load("glGetFloatv");
1022 glad_glGetIntegerv = (PFNGLGETINTEGERVPROC)load("glGetIntegerv");
1023 glad_glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
1024 glad_glGetTexImage = (PFNGLGETTEXIMAGEPROC)load("glGetTexImage");
1025 glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load("glGetTexParameterfv");
1026 glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load("glGetTexParameteriv");
1027 glad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)load("glGetTexLevelParameterfv");
1028 glad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)load("glGetTexLevelParameteriv");
1029 glad_glIsEnabled = (PFNGLISENABLEDPROC)load("glIsEnabled");
1030 glad_glDepthRange = (PFNGLDEPTHRANGEPROC)load("glDepthRange");
1031 glad_glViewport = (PFNGLVIEWPORTPROC)load("glViewport");
1032}
1033static void load_GL_VERSION_1_1(GLADloadproc load) {
1034 if(!GLAD_GL_VERSION_1_1) return;
1035 glad_glDrawArrays = (PFNGLDRAWARRAYSPROC)load("glDrawArrays");
1036 glad_glDrawElements = (PFNGLDRAWELEMENTSPROC)load("glDrawElements");
1037 glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)load("glPolygonOffset");
1038 glad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC)load("glCopyTexImage1D");
1039 glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)load("glCopyTexImage2D");
1040 glad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC)load("glCopyTexSubImage1D");
1041 glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)load("glCopyTexSubImage2D");
1042 glad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC)load("glTexSubImage1D");
1043 glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load("glTexSubImage2D");
1044 glad_glBindTexture = (PFNGLBINDTEXTUREPROC)load("glBindTexture");
1045 glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC)load("glDeleteTextures");
1046 glad_glGenTextures = (PFNGLGENTEXTURESPROC)load("glGenTextures");
1047 glad_glIsTexture = (PFNGLISTEXTUREPROC)load("glIsTexture");
1048}
1049static void load_GL_VERSION_1_2(GLADloadproc load) {
1050 if(!GLAD_GL_VERSION_1_2) return;
1051 glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load("glDrawRangeElements");
1052 glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)load("glTexImage3D");
1053 glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)load("glTexSubImage3D");
1054 glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)load("glCopyTexSubImage3D");
1055}
1056static void load_GL_VERSION_1_3(GLADloadproc load) {
1057 if(!GLAD_GL_VERSION_1_3) return;
1058 glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)load("glActiveTexture");
1059 glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load("glSampleCoverage");
1060 glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)load("glCompressedTexImage3D");
1061 glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)load("glCompressedTexImage2D");
1062 glad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)load("glCompressedTexImage1D");
1063 glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)load("glCompressedTexSubImage3D");
1064 glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load("glCompressedTexSubImage2D");
1065 glad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)load("glCompressedTexSubImage1D");
1066 glad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)load("glGetCompressedTexImage");
1067}
1068static void load_GL_VERSION_1_4(GLADloadproc load) {
1069 if(!GLAD_GL_VERSION_1_4) return;
1070 glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load("glBlendFuncSeparate");
1071 glad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)load("glMultiDrawArrays");
1072 glad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)load("glMultiDrawElements");
1073 glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)load("glPointParameterf");
1074 glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)load("glPointParameterfv");
1075 glad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC)load("glPointParameteri");
1076 glad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)load("glPointParameteriv");
1077 glad_glBlendColor = (PFNGLBLENDCOLORPROC)load("glBlendColor");
1078 glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load("glBlendEquation");
1079}
1080static void load_GL_VERSION_1_5(GLADloadproc load) {
1081 if(!GLAD_GL_VERSION_1_5) return;
1082 glad_glGenQueries = (PFNGLGENQUERIESPROC)load("glGenQueries");
1083 glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)load("glDeleteQueries");
1084 glad_glIsQuery = (PFNGLISQUERYPROC)load("glIsQuery");
1085 glad_glBeginQuery = (PFNGLBEGINQUERYPROC)load("glBeginQuery");
1086 glad_glEndQuery = (PFNGLENDQUERYPROC)load("glEndQuery");
1087 glad_glGetQueryiv = (PFNGLGETQUERYIVPROC)load("glGetQueryiv");
1088 glad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)load("glGetQueryObjectiv");
1089 glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)load("glGetQueryObjectuiv");
1090 glad_glBindBuffer = (PFNGLBINDBUFFERPROC)load("glBindBuffer");
1091 glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)load("glDeleteBuffers");
1092 glad_glGenBuffers = (PFNGLGENBUFFERSPROC)load("glGenBuffers");
1093 glad_glIsBuffer = (PFNGLISBUFFERPROC)load("glIsBuffer");
1094 glad_glBufferData = (PFNGLBUFFERDATAPROC)load("glBufferData");
1095 glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)load("glBufferSubData");
1096 glad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)load("glGetBufferSubData");
1097 glad_glMapBuffer = (PFNGLMAPBUFFERPROC)load("glMapBuffer");
1098 glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)load("glUnmapBuffer");
1099 glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv");
1100 glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv");
1101}
1102static void load_GL_VERSION_2_0(GLADloadproc load) {
1103 if(!GLAD_GL_VERSION_2_0) return;
1104 glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load("glBlendEquationSeparate");
1105 glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)load("glDrawBuffers");
1106 glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load("glStencilOpSeparate");
1107 glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load("glStencilFuncSeparate");
1108 glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load("glStencilMaskSeparate");
1109 glad_glAttachShader = (PFNGLATTACHSHADERPROC)load("glAttachShader");
1110 glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)load("glBindAttribLocation");
1111 glad_glCompileShader = (PFNGLCOMPILESHADERPROC)load("glCompileShader");
1112 glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)load("glCreateProgram");
1113 glad_glCreateShader = (PFNGLCREATESHADERPROC)load("glCreateShader");
1114 glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)load("glDeleteProgram");
1115 glad_glDeleteShader = (PFNGLDELETESHADERPROC)load("glDeleteShader");
1116 glad_glDetachShader = (PFNGLDETACHSHADERPROC)load("glDetachShader");
1117 glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load("glDisableVertexAttribArray");
1118 glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load("glEnableVertexAttribArray");
1119 glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)load("glGetActiveAttrib");
1120 glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)load("glGetActiveUniform");
1121 glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)load("glGetAttachedShaders");
1122 glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load("glGetAttribLocation");
1123 glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)load("glGetProgramiv");
1124 glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)load("glGetProgramInfoLog");
1125 glad_glGetShaderiv = (PFNGLGETSHADERIVPROC)load("glGetShaderiv");
1126 glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)load("glGetShaderInfoLog");
1127 glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)load("glGetShaderSource");
1128 glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load("glGetUniformLocation");
1129 glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)load("glGetUniformfv");
1130 glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)load("glGetUniformiv");
1131 glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)load("glGetVertexAttribdv");
1132 glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load("glGetVertexAttribfv");
1133 glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load("glGetVertexAttribiv");
1134 glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load("glGetVertexAttribPointerv");
1135 glad_glIsProgram = (PFNGLISPROGRAMPROC)load("glIsProgram");
1136 glad_glIsShader = (PFNGLISSHADERPROC)load("glIsShader");
1137 glad_glLinkProgram = (PFNGLLINKPROGRAMPROC)load("glLinkProgram");
1138 glad_glShaderSource = (PFNGLSHADERSOURCEPROC)load("glShaderSource");
1139 glad_glUseProgram = (PFNGLUSEPROGRAMPROC)load("glUseProgram");
1140 glad_glUniform1f = (PFNGLUNIFORM1FPROC)load("glUniform1f");
1141 glad_glUniform2f = (PFNGLUNIFORM2FPROC)load("glUniform2f");
1142 glad_glUniform3f = (PFNGLUNIFORM3FPROC)load("glUniform3f");
1143 glad_glUniform4f = (PFNGLUNIFORM4FPROC)load("glUniform4f");
1144 glad_glUniform1i = (PFNGLUNIFORM1IPROC)load("glUniform1i");
1145 glad_glUniform2i = (PFNGLUNIFORM2IPROC)load("glUniform2i");
1146 glad_glUniform3i = (PFNGLUNIFORM3IPROC)load("glUniform3i");
1147 glad_glUniform4i = (PFNGLUNIFORM4IPROC)load("glUniform4i");
1148 glad_glUniform1fv = (PFNGLUNIFORM1FVPROC)load("glUniform1fv");
1149 glad_glUniform2fv = (PFNGLUNIFORM2FVPROC)load("glUniform2fv");
1150 glad_glUniform3fv = (PFNGLUNIFORM3FVPROC)load("glUniform3fv");
1151 glad_glUniform4fv = (PFNGLUNIFORM4FVPROC)load("glUniform4fv");
1152 glad_glUniform1iv = (PFNGLUNIFORM1IVPROC)load("glUniform1iv");
1153 glad_glUniform2iv = (PFNGLUNIFORM2IVPROC)load("glUniform2iv");
1154 glad_glUniform3iv = (PFNGLUNIFORM3IVPROC)load("glUniform3iv");
1155 glad_glUniform4iv = (PFNGLUNIFORM4IVPROC)load("glUniform4iv");
1156 glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load("glUniformMatrix2fv");
1157 glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load("glUniformMatrix3fv");
1158 glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load("glUniformMatrix4fv");
1159 glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)load("glValidateProgram");
1160 glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)load("glVertexAttrib1d");
1161 glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)load("glVertexAttrib1dv");
1162 glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load("glVertexAttrib1f");
1163 glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load("glVertexAttrib1fv");
1164 glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)load("glVertexAttrib1s");
1165 glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)load("glVertexAttrib1sv");
1166 glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)load("glVertexAttrib2d");
1167 glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)load("glVertexAttrib2dv");
1168 glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load("glVertexAttrib2f");
1169 glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load("glVertexAttrib2fv");
1170 glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)load("glVertexAttrib2s");
1171 glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)load("glVertexAttrib2sv");
1172 glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)load("glVertexAttrib3d");
1173 glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)load("glVertexAttrib3dv");
1174 glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load("glVertexAttrib3f");
1175 glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load("glVertexAttrib3fv");
1176 glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)load("glVertexAttrib3s");
1177 glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)load("glVertexAttrib3sv");
1178 glad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)load("glVertexAttrib4Nbv");
1179 glad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)load("glVertexAttrib4Niv");
1180 glad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)load("glVertexAttrib4Nsv");
1181 glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)load("glVertexAttrib4Nub");
1182 glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)load("glVertexAttrib4Nubv");
1183 glad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)load("glVertexAttrib4Nuiv");
1184 glad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)load("glVertexAttrib4Nusv");
1185 glad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)load("glVertexAttrib4bv");
1186 glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)load("glVertexAttrib4d");
1187 glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)load("glVertexAttrib4dv");
1188 glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load("glVertexAttrib4f");
1189 glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load("glVertexAttrib4fv");
1190 glad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)load("glVertexAttrib4iv");
1191 glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)load("glVertexAttrib4s");
1192 glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)load("glVertexAttrib4sv");
1193 glad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)load("glVertexAttrib4ubv");
1194 glad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)load("glVertexAttrib4uiv");
1195 glad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)load("glVertexAttrib4usv");
1196 glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load("glVertexAttribPointer");
1197}
1198static void load_GL_VERSION_2_1(GLADloadproc load) {
1199 if(!GLAD_GL_VERSION_2_1) return;
1200 glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)load("glUniformMatrix2x3fv");
1201 glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)load("glUniformMatrix3x2fv");
1202 glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)load("glUniformMatrix2x4fv");
1203 glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)load("glUniformMatrix4x2fv");
1204 glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv");
1205 glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv");
1206}
1207static void load_GL_VERSION_3_0(GLADloadproc load) {
1208 if(!GLAD_GL_VERSION_3_0) return;
1209 glad_glColorMaski = (PFNGLCOLORMASKIPROC)load("glColorMaski");
1210 glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)load("glGetBooleani_v");
1211 glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v");
1212 glad_glEnablei = (PFNGLENABLEIPROC)load("glEnablei");
1213 glad_glDisablei = (PFNGLDISABLEIPROC)load("glDisablei");
1214 glad_glIsEnabledi = (PFNGLISENABLEDIPROC)load("glIsEnabledi");
1215 glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load("glBeginTransformFeedback");
1216 glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load("glEndTransformFeedback");
1217 glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange");
1218 glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase");
1219 glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load("glTransformFeedbackVaryings");
1220 glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load("glGetTransformFeedbackVarying");
1221 glad_glClampColor = (PFNGLCLAMPCOLORPROC)load("glClampColor");
1222 glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)load("glBeginConditionalRender");
1223 glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)load("glEndConditionalRender");
1224 glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load("glVertexAttribIPointer");
1225 glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load("glGetVertexAttribIiv");
1226 glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load("glGetVertexAttribIuiv");
1227 glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)load("glVertexAttribI1i");
1228 glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)load("glVertexAttribI2i");
1229 glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)load("glVertexAttribI3i");
1230 glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load("glVertexAttribI4i");
1231 glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)load("glVertexAttribI1ui");
1232 glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)load("glVertexAttribI2ui");
1233 glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)load("glVertexAttribI3ui");
1234 glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load("glVertexAttribI4ui");
1235 glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)load("glVertexAttribI1iv");
1236 glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)load("glVertexAttribI2iv");
1237 glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)load("glVertexAttribI3iv");
1238 glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load("glVertexAttribI4iv");
1239 glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)load("glVertexAttribI1uiv");
1240 glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)load("glVertexAttribI2uiv");
1241 glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)load("glVertexAttribI3uiv");
1242 glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load("glVertexAttribI4uiv");
1243 glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)load("glVertexAttribI4bv");
1244 glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)load("glVertexAttribI4sv");
1245 glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)load("glVertexAttribI4ubv");
1246 glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)load("glVertexAttribI4usv");
1247 glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load("glGetUniformuiv");
1248 glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)load("glBindFragDataLocation");
1249 glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load("glGetFragDataLocation");
1250 glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load("glUniform1ui");
1251 glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load("glUniform2ui");
1252 glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load("glUniform3ui");
1253 glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load("glUniform4ui");
1254 glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load("glUniform1uiv");
1255 glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load("glUniform2uiv");
1256 glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load("glUniform3uiv");
1257 glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load("glUniform4uiv");
1258 glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)load("glTexParameterIiv");
1259 glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)load("glTexParameterIuiv");
1260 glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)load("glGetTexParameterIiv");
1261 glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)load("glGetTexParameterIuiv");
1262 glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load("glClearBufferiv");
1263 glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load("glClearBufferuiv");
1264 glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load("glClearBufferfv");
1265 glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load("glClearBufferfi");
1266 glad_glGetStringi = (PFNGLGETSTRINGIPROC)load("glGetStringi");
1267 glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer");
1268 glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer");
1269 glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers");
1270 glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers");
1271 glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage");
1272 glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv");
1273 glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer");
1274 glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer");
1275 glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers");
1276 glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers");
1277 glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus");
1278 glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load("glFramebufferTexture1D");
1279 glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D");
1280 glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load("glFramebufferTexture3D");
1281 glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer");
1282 glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv");
1283 glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap");
1284 glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer");
1285 glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample");
1286 glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer");
1287 glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange");
1288 glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange");
1289 glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray");
1290 glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays");
1291 glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays");
1292 glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray");
1293}
1294static void load_GL_VERSION_3_1(GLADloadproc load) {
1295 if(!GLAD_GL_VERSION_3_1) return;
1296 glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load("glDrawArraysInstanced");
1297 glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load("glDrawElementsInstanced");
1298 glad_glTexBuffer = (PFNGLTEXBUFFERPROC)load("glTexBuffer");
1299 glad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)load("glPrimitiveRestartIndex");
1300 glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData");
1301 glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices");
1302 glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv");
1303 glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load("glGetActiveUniformName");
1304 glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex");
1305 glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv");
1306 glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName");
1307 glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding");
1308 glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange");
1309 glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase");
1310 glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v");
1311}
1312static void load_GL_VERSION_3_2(GLADloadproc load) {
1313 if(!GLAD_GL_VERSION_3_2) return;
1314 glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load("glDrawElementsBaseVertex");
1315 glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load("glDrawRangeElementsBaseVertex");
1316 glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load("glDrawElementsInstancedBaseVertex");
1317 glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load("glMultiDrawElementsBaseVertex");
1318 glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load("glProvokingVertex");
1319 glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync");
1320 glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync");
1321 glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync");
1322 glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync");
1323 glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync");
1324 glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v");
1325 glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv");
1326 glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load("glGetInteger64i_v");
1327 glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load("glGetBufferParameteri64v");
1328 glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)load("glFramebufferTexture");
1329 glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load("glTexImage2DMultisample");
1330 glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load("glTexImage3DMultisample");
1331 glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load("glGetMultisamplefv");
1332 glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load("glSampleMaski");
1333}
1334static void load_GL_VERSION_3_3(GLADloadproc load) {
1335 if(!GLAD_GL_VERSION_3_3) return;
1336 glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load("glBindFragDataLocationIndexed");
1337 glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load("glGetFragDataIndex");
1338 glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers");
1339 glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers");
1340 glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler");
1341 glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler");
1342 glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri");
1343 glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv");
1344 glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf");
1345 glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv");
1346 glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load("glSamplerParameterIiv");
1347 glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load("glSamplerParameterIuiv");
1348 glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv");
1349 glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load("glGetSamplerParameterIiv");
1350 glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv");
1351 glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load("glGetSamplerParameterIuiv");
1352 glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load("glQueryCounter");
1353 glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load("glGetQueryObjecti64v");
1354 glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load("glGetQueryObjectui64v");
1355 glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load("glVertexAttribDivisor");
1356 glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load("glVertexAttribP1ui");
1357 glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load("glVertexAttribP1uiv");
1358 glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load("glVertexAttribP2ui");
1359 glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load("glVertexAttribP2uiv");
1360 glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load("glVertexAttribP3ui");
1361 glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load("glVertexAttribP3uiv");
1362 glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load("glVertexAttribP4ui");
1363 glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load("glVertexAttribP4uiv");
1364 glad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load("glVertexP2ui");
1365 glad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load("glVertexP2uiv");
1366 glad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load("glVertexP3ui");
1367 glad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load("glVertexP3uiv");
1368 glad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load("glVertexP4ui");
1369 glad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load("glVertexP4uiv");
1370 glad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load("glTexCoordP1ui");
1371 glad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load("glTexCoordP1uiv");
1372 glad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load("glTexCoordP2ui");
1373 glad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load("glTexCoordP2uiv");
1374 glad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load("glTexCoordP3ui");
1375 glad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load("glTexCoordP3uiv");
1376 glad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load("glTexCoordP4ui");
1377 glad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load("glTexCoordP4uiv");
1378 glad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load("glMultiTexCoordP1ui");
1379 glad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load("glMultiTexCoordP1uiv");
1380 glad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load("glMultiTexCoordP2ui");
1381 glad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load("glMultiTexCoordP2uiv");
1382 glad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load("glMultiTexCoordP3ui");
1383 glad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load("glMultiTexCoordP3uiv");
1384 glad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load("glMultiTexCoordP4ui");
1385 glad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load("glMultiTexCoordP4uiv");
1386 glad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load("glNormalP3ui");
1387 glad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load("glNormalP3uiv");
1388 glad_glColorP3ui = (PFNGLCOLORP3UIPROC)load("glColorP3ui");
1389 glad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load("glColorP3uiv");
1390 glad_glColorP4ui = (PFNGLCOLORP4UIPROC)load("glColorP4ui");
1391 glad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load("glColorP4uiv");
1392 glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui");
1393 glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv");
1394}
1395static void load_GL_VERSION_4_0(GLADloadproc load) {
1396 if(!GLAD_GL_VERSION_4_0) return;
1397 glad_glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC)load("glMinSampleShading");
1398 glad_glBlendEquationi = (PFNGLBLENDEQUATIONIPROC)load("glBlendEquationi");
1399 glad_glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC)load("glBlendEquationSeparatei");
1400 glad_glBlendFunci = (PFNGLBLENDFUNCIPROC)load("glBlendFunci");
1401 glad_glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC)load("glBlendFuncSeparatei");
1402 glad_glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC)load("glDrawArraysIndirect");
1403 glad_glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC)load("glDrawElementsIndirect");
1404 glad_glUniform1d = (PFNGLUNIFORM1DPROC)load("glUniform1d");
1405 glad_glUniform2d = (PFNGLUNIFORM2DPROC)load("glUniform2d");
1406 glad_glUniform3d = (PFNGLUNIFORM3DPROC)load("glUniform3d");
1407 glad_glUniform4d = (PFNGLUNIFORM4DPROC)load("glUniform4d");
1408 glad_glUniform1dv = (PFNGLUNIFORM1DVPROC)load("glUniform1dv");
1409 glad_glUniform2dv = (PFNGLUNIFORM2DVPROC)load("glUniform2dv");
1410 glad_glUniform3dv = (PFNGLUNIFORM3DVPROC)load("glUniform3dv");
1411 glad_glUniform4dv = (PFNGLUNIFORM4DVPROC)load("glUniform4dv");
1412 glad_glUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC)load("glUniformMatrix2dv");
1413 glad_glUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC)load("glUniformMatrix3dv");
1414 glad_glUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC)load("glUniformMatrix4dv");
1415 glad_glUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC)load("glUniformMatrix2x3dv");
1416 glad_glUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC)load("glUniformMatrix2x4dv");
1417 glad_glUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC)load("glUniformMatrix3x2dv");
1418 glad_glUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC)load("glUniformMatrix3x4dv");
1419 glad_glUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC)load("glUniformMatrix4x2dv");
1420 glad_glUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC)load("glUniformMatrix4x3dv");
1421 glad_glGetUniformdv = (PFNGLGETUNIFORMDVPROC)load("glGetUniformdv");
1422 glad_glGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC)load("glGetSubroutineUniformLocation");
1423 glad_glGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC)load("glGetSubroutineIndex");
1424 glad_glGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC)load("glGetActiveSubroutineUniformiv");
1425 glad_glGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC)load("glGetActiveSubroutineUniformName");
1426 glad_glGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC)load("glGetActiveSubroutineName");
1427 glad_glUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC)load("glUniformSubroutinesuiv");
1428 glad_glGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC)load("glGetUniformSubroutineuiv");
1429 glad_glGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC)load("glGetProgramStageiv");
1430 glad_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)load("glPatchParameteri");
1431 glad_glPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC)load("glPatchParameterfv");
1432 glad_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)load("glBindTransformFeedback");
1433 glad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)load("glDeleteTransformFeedbacks");
1434 glad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)load("glGenTransformFeedbacks");
1435 glad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)load("glIsTransformFeedback");
1436 glad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)load("glPauseTransformFeedback");
1437 glad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)load("glResumeTransformFeedback");
1438 glad_glDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC)load("glDrawTransformFeedback");
1439 glad_glDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC)load("glDrawTransformFeedbackStream");
1440 glad_glBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC)load("glBeginQueryIndexed");
1441 glad_glEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC)load("glEndQueryIndexed");
1442 glad_glGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC)load("glGetQueryIndexediv");
1443}
1444static void load_GL_VERSION_4_1(GLADloadproc load) {
1445 if(!GLAD_GL_VERSION_4_1) return;
1446 glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC)load("glReleaseShaderCompiler");
1447 glad_glShaderBinary = (PFNGLSHADERBINARYPROC)load("glShaderBinary");
1448 glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC)load("glGetShaderPrecisionFormat");
1449 glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC)load("glDepthRangef");
1450 glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC)load("glClearDepthf");
1451 glad_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)load("glGetProgramBinary");
1452 glad_glProgramBinary = (PFNGLPROGRAMBINARYPROC)load("glProgramBinary");
1453 glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load("glProgramParameteri");
1454 glad_glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC)load("glUseProgramStages");
1455 glad_glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC)load("glActiveShaderProgram");
1456 glad_glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC)load("glCreateShaderProgramv");
1457 glad_glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC)load("glBindProgramPipeline");
1458 glad_glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC)load("glDeleteProgramPipelines");
1459 glad_glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC)load("glGenProgramPipelines");
1460 glad_glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC)load("glIsProgramPipeline");
1461 glad_glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC)load("glGetProgramPipelineiv");
1462 glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load("glProgramParameteri");
1463 glad_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)load("glProgramUniform1i");
1464 glad_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)load("glProgramUniform1iv");
1465 glad_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)load("glProgramUniform1f");
1466 glad_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)load("glProgramUniform1fv");
1467 glad_glProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC)load("glProgramUniform1d");
1468 glad_glProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC)load("glProgramUniform1dv");
1469 glad_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)load("glProgramUniform1ui");
1470 glad_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)load("glProgramUniform1uiv");
1471 glad_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)load("glProgramUniform2i");
1472 glad_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)load("glProgramUniform2iv");
1473 glad_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)load("glProgramUniform2f");
1474 glad_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)load("glProgramUniform2fv");
1475 glad_glProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC)load("glProgramUniform2d");
1476 glad_glProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC)load("glProgramUniform2dv");
1477 glad_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)load("glProgramUniform2ui");
1478 glad_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)load("glProgramUniform2uiv");
1479 glad_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)load("glProgramUniform3i");
1480 glad_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)load("glProgramUniform3iv");
1481 glad_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)load("glProgramUniform3f");
1482 glad_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)load("glProgramUniform3fv");
1483 glad_glProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC)load("glProgramUniform3d");
1484 glad_glProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC)load("glProgramUniform3dv");
1485 glad_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)load("glProgramUniform3ui");
1486 glad_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)load("glProgramUniform3uiv");
1487 glad_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)load("glProgramUniform4i");
1488 glad_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)load("glProgramUniform4iv");
1489 glad_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)load("glProgramUniform4f");
1490 glad_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)load("glProgramUniform4fv");
1491 glad_glProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC)load("glProgramUniform4d");
1492 glad_glProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC)load("glProgramUniform4dv");
1493 glad_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)load("glProgramUniform4ui");
1494 glad_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)load("glProgramUniform4uiv");
1495 glad_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)load("glProgramUniformMatrix2fv");
1496 glad_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)load("glProgramUniformMatrix3fv");
1497 glad_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)load("glProgramUniformMatrix4fv");
1498 glad_glProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC)load("glProgramUniformMatrix2dv");
1499 glad_glProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC)load("glProgramUniformMatrix3dv");
1500 glad_glProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC)load("glProgramUniformMatrix4dv");
1501 glad_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)load("glProgramUniformMatrix2x3fv");
1502 glad_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)load("glProgramUniformMatrix3x2fv");
1503 glad_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)load("glProgramUniformMatrix2x4fv");
1504 glad_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)load("glProgramUniformMatrix4x2fv");
1505 glad_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)load("glProgramUniformMatrix3x4fv");
1506 glad_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)load("glProgramUniformMatrix4x3fv");
1507 glad_glProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC)load("glProgramUniformMatrix2x3dv");
1508 glad_glProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC)load("glProgramUniformMatrix3x2dv");
1509 glad_glProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC)load("glProgramUniformMatrix2x4dv");
1510 glad_glProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC)load("glProgramUniformMatrix4x2dv");
1511 glad_glProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC)load("glProgramUniformMatrix3x4dv");
1512 glad_glProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC)load("glProgramUniformMatrix4x3dv");
1513 glad_glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC)load("glValidateProgramPipeline");
1514 glad_glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC)load("glGetProgramPipelineInfoLog");
1515 glad_glVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC)load("glVertexAttribL1d");
1516 glad_glVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC)load("glVertexAttribL2d");
1517 glad_glVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC)load("glVertexAttribL3d");
1518 glad_glVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC)load("glVertexAttribL4d");
1519 glad_glVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC)load("glVertexAttribL1dv");
1520 glad_glVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC)load("glVertexAttribL2dv");
1521 glad_glVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC)load("glVertexAttribL3dv");
1522 glad_glVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC)load("glVertexAttribL4dv");
1523 glad_glVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC)load("glVertexAttribLPointer");
1524 glad_glGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC)load("glGetVertexAttribLdv");
1525 glad_glViewportArrayv = (PFNGLVIEWPORTARRAYVPROC)load("glViewportArrayv");
1526 glad_glViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC)load("glViewportIndexedf");
1527 glad_glViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC)load("glViewportIndexedfv");
1528 glad_glScissorArrayv = (PFNGLSCISSORARRAYVPROC)load("glScissorArrayv");
1529 glad_glScissorIndexed = (PFNGLSCISSORINDEXEDPROC)load("glScissorIndexed");
1530 glad_glScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC)load("glScissorIndexedv");
1531 glad_glDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC)load("glDepthRangeArrayv");
1532 glad_glDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC)load("glDepthRangeIndexed");
1533 glad_glGetFloati_v = (PFNGLGETFLOATI_VPROC)load("glGetFloati_v");
1534 glad_glGetDoublei_v = (PFNGLGETDOUBLEI_VPROC)load("glGetDoublei_v");
1535}
1536static void load_GL_VERSION_4_2(GLADloadproc load) {
1537 if(!GLAD_GL_VERSION_4_2) return;
1538 glad_glDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)load("glDrawArraysInstancedBaseInstance");
1539 glad_glDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC)load("glDrawElementsInstancedBaseInstance");
1540 glad_glDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)load("glDrawElementsInstancedBaseVertexBaseInstance");
1541 glad_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)load("glGetInternalformativ");
1542 glad_glGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC)load("glGetActiveAtomicCounterBufferiv");
1543 glad_glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)load("glBindImageTexture");
1544 glad_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)load("glMemoryBarrier");
1545 glad_glTexStorage1D = (PFNGLTEXSTORAGE1DPROC)load("glTexStorage1D");
1546 glad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)load("glTexStorage2D");
1547 glad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)load("glTexStorage3D");
1548 glad_glDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)load("glDrawTransformFeedbackInstanced");
1549 glad_glDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)load("glDrawTransformFeedbackStreamInstanced");
1550}
1551static void load_GL_VERSION_4_3(GLADloadproc load) {
1552 if(!GLAD_GL_VERSION_4_3) return;
1553 glad_glClearBufferData = (PFNGLCLEARBUFFERDATAPROC)load("glClearBufferData");
1554 glad_glClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC)load("glClearBufferSubData");
1555 glad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)load("glDispatchCompute");
1556 glad_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)load("glDispatchComputeIndirect");
1557 glad_glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC)load("glCopyImageSubData");
1558 glad_glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC)load("glFramebufferParameteri");
1559 glad_glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC)load("glGetFramebufferParameteriv");
1560 glad_glGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC)load("glGetInternalformati64v");
1561 glad_glInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC)load("glInvalidateTexSubImage");
1562 glad_glInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC)load("glInvalidateTexImage");
1563 glad_glInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC)load("glInvalidateBufferSubData");
1564 glad_glInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC)load("glInvalidateBufferData");
1565 glad_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)load("glInvalidateFramebuffer");
1566 glad_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)load("glInvalidateSubFramebuffer");
1567 glad_glMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC)load("glMultiDrawArraysIndirect");
1568 glad_glMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC)load("glMultiDrawElementsIndirect");
1569 glad_glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC)load("glGetProgramInterfaceiv");
1570 glad_glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC)load("glGetProgramResourceIndex");
1571 glad_glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC)load("glGetProgramResourceName");
1572 glad_glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC)load("glGetProgramResourceiv");
1573 glad_glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC)load("glGetProgramResourceLocation");
1574 glad_glGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)load("glGetProgramResourceLocationIndex");
1575 glad_glShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC)load("glShaderStorageBlockBinding");
1576 glad_glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC)load("glTexBufferRange");
1577 glad_glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC)load("glTexStorage2DMultisample");
1578 glad_glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC)load("glTexStorage3DMultisample");
1579 glad_glTextureView = (PFNGLTEXTUREVIEWPROC)load("glTextureView");
1580 glad_glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC)load("glBindVertexBuffer");
1581 glad_glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC)load("glVertexAttribFormat");
1582 glad_glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC)load("glVertexAttribIFormat");
1583 glad_glVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC)load("glVertexAttribLFormat");
1584 glad_glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC)load("glVertexAttribBinding");
1585 glad_glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC)load("glVertexBindingDivisor");
1586 glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)load("glDebugMessageControl");
1587 glad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)load("glDebugMessageInsert");
1588 glad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)load("glDebugMessageCallback");
1589 glad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)load("glGetDebugMessageLog");
1590 glad_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)load("glPushDebugGroup");
1591 glad_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)load("glPopDebugGroup");
1592 glad_glObjectLabel = (PFNGLOBJECTLABELPROC)load("glObjectLabel");
1593 glad_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC)load("glGetObjectLabel");
1594 glad_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)load("glObjectPtrLabel");
1595 glad_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)load("glGetObjectPtrLabel");
1596 glad_glGetPointerv = (PFNGLGETPOINTERVPROC)load("glGetPointerv");
1597}
1598static void load_GL_VERSION_4_4(GLADloadproc load) {
1599 if(!GLAD_GL_VERSION_4_4) return;
1600 glad_glBufferStorage = (PFNGLBUFFERSTORAGEPROC)load("glBufferStorage");
1601 glad_glClearTexImage = (PFNGLCLEARTEXIMAGEPROC)load("glClearTexImage");
1602 glad_glClearTexSubImage = (PFNGLCLEARTEXSUBIMAGEPROC)load("glClearTexSubImage");
1603 glad_glBindBuffersBase = (PFNGLBINDBUFFERSBASEPROC)load("glBindBuffersBase");
1604 glad_glBindBuffersRange = (PFNGLBINDBUFFERSRANGEPROC)load("glBindBuffersRange");
1605 glad_glBindTextures = (PFNGLBINDTEXTURESPROC)load("glBindTextures");
1606 glad_glBindSamplers = (PFNGLBINDSAMPLERSPROC)load("glBindSamplers");
1607 glad_glBindImageTextures = (PFNGLBINDIMAGETEXTURESPROC)load("glBindImageTextures");
1608 glad_glBindVertexBuffers = (PFNGLBINDVERTEXBUFFERSPROC)load("glBindVertexBuffers");
1609}
1610static void load_GL_VERSION_4_5(GLADloadproc load) {
1611 if(!GLAD_GL_VERSION_4_5) return;
1612 glad_glClipControl = (PFNGLCLIPCONTROLPROC)load("glClipControl");
1613 glad_glCreateTransformFeedbacks = (PFNGLCREATETRANSFORMFEEDBACKSPROC)load("glCreateTransformFeedbacks");
1614 glad_glTransformFeedbackBufferBase = (PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC)load("glTransformFeedbackBufferBase");
1615 glad_glTransformFeedbackBufferRange = (PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC)load("glTransformFeedbackBufferRange");
1616 glad_glGetTransformFeedbackiv = (PFNGLGETTRANSFORMFEEDBACKIVPROC)load("glGetTransformFeedbackiv");
1617 glad_glGetTransformFeedbacki_v = (PFNGLGETTRANSFORMFEEDBACKI_VPROC)load("glGetTransformFeedbacki_v");
1618 glad_glGetTransformFeedbacki64_v = (PFNGLGETTRANSFORMFEEDBACKI64_VPROC)load("glGetTransformFeedbacki64_v");
1619 glad_glCreateBuffers = (PFNGLCREATEBUFFERSPROC)load("glCreateBuffers");
1620 glad_glNamedBufferStorage = (PFNGLNAMEDBUFFERSTORAGEPROC)load("glNamedBufferStorage");
1621 glad_glNamedBufferData = (PFNGLNAMEDBUFFERDATAPROC)load("glNamedBufferData");
1622 glad_glNamedBufferSubData = (PFNGLNAMEDBUFFERSUBDATAPROC)load("glNamedBufferSubData");
1623 glad_glCopyNamedBufferSubData = (PFNGLCOPYNAMEDBUFFERSUBDATAPROC)load("glCopyNamedBufferSubData");
1624 glad_glClearNamedBufferData = (PFNGLCLEARNAMEDBUFFERDATAPROC)load("glClearNamedBufferData");
1625 glad_glClearNamedBufferSubData = (PFNGLCLEARNAMEDBUFFERSUBDATAPROC)load("glClearNamedBufferSubData");
1626 glad_glMapNamedBuffer = (PFNGLMAPNAMEDBUFFERPROC)load("glMapNamedBuffer");
1627 glad_glMapNamedBufferRange = (PFNGLMAPNAMEDBUFFERRANGEPROC)load("glMapNamedBufferRange");
1628 glad_glUnmapNamedBuffer = (PFNGLUNMAPNAMEDBUFFERPROC)load("glUnmapNamedBuffer");
1629 glad_glFlushMappedNamedBufferRange = (PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC)load("glFlushMappedNamedBufferRange");
1630 glad_glGetNamedBufferParameteriv = (PFNGLGETNAMEDBUFFERPARAMETERIVPROC)load("glGetNamedBufferParameteriv");
1631 glad_glGetNamedBufferParameteri64v = (PFNGLGETNAMEDBUFFERPARAMETERI64VPROC)load("glGetNamedBufferParameteri64v");
1632 glad_glGetNamedBufferPointerv = (PFNGLGETNAMEDBUFFERPOINTERVPROC)load("glGetNamedBufferPointerv");
1633 glad_glGetNamedBufferSubData = (PFNGLGETNAMEDBUFFERSUBDATAPROC)load("glGetNamedBufferSubData");
1634 glad_glCreateFramebuffers = (PFNGLCREATEFRAMEBUFFERSPROC)load("glCreateFramebuffers");
1635 glad_glNamedFramebufferRenderbuffer = (PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC)load("glNamedFramebufferRenderbuffer");
1636 glad_glNamedFramebufferParameteri = (PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC)load("glNamedFramebufferParameteri");
1637 glad_glNamedFramebufferTexture = (PFNGLNAMEDFRAMEBUFFERTEXTUREPROC)load("glNamedFramebufferTexture");
1638 glad_glNamedFramebufferTextureLayer = (PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC)load("glNamedFramebufferTextureLayer");
1639 glad_glNamedFramebufferDrawBuffer = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC)load("glNamedFramebufferDrawBuffer");
1640 glad_glNamedFramebufferDrawBuffers = (PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC)load("glNamedFramebufferDrawBuffers");
1641 glad_glNamedFramebufferReadBuffer = (PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC)load("glNamedFramebufferReadBuffer");
1642 glad_glInvalidateNamedFramebufferData = (PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC)load("glInvalidateNamedFramebufferData");
1643 glad_glInvalidateNamedFramebufferSubData = (PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC)load("glInvalidateNamedFramebufferSubData");
1644 glad_glClearNamedFramebufferiv = (PFNGLCLEARNAMEDFRAMEBUFFERIVPROC)load("glClearNamedFramebufferiv");
1645 glad_glClearNamedFramebufferuiv = (PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC)load("glClearNamedFramebufferuiv");
1646 glad_glClearNamedFramebufferfv = (PFNGLCLEARNAMEDFRAMEBUFFERFVPROC)load("glClearNamedFramebufferfv");
1647 glad_glClearNamedFramebufferfi = (PFNGLCLEARNAMEDFRAMEBUFFERFIPROC)load("glClearNamedFramebufferfi");
1648 glad_glBlitNamedFramebuffer = (PFNGLBLITNAMEDFRAMEBUFFERPROC)load("glBlitNamedFramebuffer");
1649 glad_glCheckNamedFramebufferStatus = (PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC)load("glCheckNamedFramebufferStatus");
1650 glad_glGetNamedFramebufferParameteriv = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC)load("glGetNamedFramebufferParameteriv");
1651 glad_glGetNamedFramebufferAttachmentParameteriv = (PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetNamedFramebufferAttachmentParameteriv");
1652 glad_glCreateRenderbuffers = (PFNGLCREATERENDERBUFFERSPROC)load("glCreateRenderbuffers");
1653 glad_glNamedRenderbufferStorage = (PFNGLNAMEDRENDERBUFFERSTORAGEPROC)load("glNamedRenderbufferStorage");
1654 glad_glNamedRenderbufferStorageMultisample = (PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glNamedRenderbufferStorageMultisample");
1655 glad_glGetNamedRenderbufferParameteriv = (PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC)load("glGetNamedRenderbufferParameteriv");
1656 glad_glCreateTextures = (PFNGLCREATETEXTURESPROC)load("glCreateTextures");
1657 glad_glTextureBuffer = (PFNGLTEXTUREBUFFERPROC)load("glTextureBuffer");
1658 glad_glTextureBufferRange = (PFNGLTEXTUREBUFFERRANGEPROC)load("glTextureBufferRange");
1659 glad_glTextureStorage1D = (PFNGLTEXTURESTORAGE1DPROC)load("glTextureStorage1D");
1660 glad_glTextureStorage2D = (PFNGLTEXTURESTORAGE2DPROC)load("glTextureStorage2D");
1661 glad_glTextureStorage3D = (PFNGLTEXTURESTORAGE3DPROC)load("glTextureStorage3D");
1662 glad_glTextureStorage2DMultisample = (PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC)load("glTextureStorage2DMultisample");
1663 glad_glTextureStorage3DMultisample = (PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC)load("glTextureStorage3DMultisample");
1664 glad_glTextureSubImage1D = (PFNGLTEXTURESUBIMAGE1DPROC)load("glTextureSubImage1D");
1665 glad_glTextureSubImage2D = (PFNGLTEXTURESUBIMAGE2DPROC)load("glTextureSubImage2D");
1666 glad_glTextureSubImage3D = (PFNGLTEXTURESUBIMAGE3DPROC)load("glTextureSubImage3D");
1667 glad_glCompressedTextureSubImage1D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC)load("glCompressedTextureSubImage1D");
1668 glad_glCompressedTextureSubImage2D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC)load("glCompressedTextureSubImage2D");
1669 glad_glCompressedTextureSubImage3D = (PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC)load("glCompressedTextureSubImage3D");
1670 glad_glCopyTextureSubImage1D = (PFNGLCOPYTEXTURESUBIMAGE1DPROC)load("glCopyTextureSubImage1D");
1671 glad_glCopyTextureSubImage2D = (PFNGLCOPYTEXTURESUBIMAGE2DPROC)load("glCopyTextureSubImage2D");
1672 glad_glCopyTextureSubImage3D = (PFNGLCOPYTEXTURESUBIMAGE3DPROC)load("glCopyTextureSubImage3D");
1673 glad_glTextureParameterf = (PFNGLTEXTUREPARAMETERFPROC)load("glTextureParameterf");
1674 glad_glTextureParameterfv = (PFNGLTEXTUREPARAMETERFVPROC)load("glTextureParameterfv");
1675 glad_glTextureParameteri = (PFNGLTEXTUREPARAMETERIPROC)load("glTextureParameteri");
1676 glad_glTextureParameterIiv = (PFNGLTEXTUREPARAMETERIIVPROC)load("glTextureParameterIiv");
1677 glad_glTextureParameterIuiv = (PFNGLTEXTUREPARAMETERIUIVPROC)load("glTextureParameterIuiv");
1678 glad_glTextureParameteriv = (PFNGLTEXTUREPARAMETERIVPROC)load("glTextureParameteriv");
1679 glad_glGenerateTextureMipmap = (PFNGLGENERATETEXTUREMIPMAPPROC)load("glGenerateTextureMipmap");
1680 glad_glBindTextureUnit = (PFNGLBINDTEXTUREUNITPROC)load("glBindTextureUnit");
1681 glad_glGetTextureImage = (PFNGLGETTEXTUREIMAGEPROC)load("glGetTextureImage");
1682 glad_glGetCompressedTextureImage = (PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC)load("glGetCompressedTextureImage");
1683 glad_glGetTextureLevelParameterfv = (PFNGLGETTEXTURELEVELPARAMETERFVPROC)load("glGetTextureLevelParameterfv");
1684 glad_glGetTextureLevelParameteriv = (PFNGLGETTEXTURELEVELPARAMETERIVPROC)load("glGetTextureLevelParameteriv");
1685 glad_glGetTextureParameterfv = (PFNGLGETTEXTUREPARAMETERFVPROC)load("glGetTextureParameterfv");
1686 glad_glGetTextureParameterIiv = (PFNGLGETTEXTUREPARAMETERIIVPROC)load("glGetTextureParameterIiv");
1687 glad_glGetTextureParameterIuiv = (PFNGLGETTEXTUREPARAMETERIUIVPROC)load("glGetTextureParameterIuiv");
1688 glad_glGetTextureParameteriv = (PFNGLGETTEXTUREPARAMETERIVPROC)load("glGetTextureParameteriv");
1689 glad_glCreateVertexArrays = (PFNGLCREATEVERTEXARRAYSPROC)load("glCreateVertexArrays");
1690 glad_glDisableVertexArrayAttrib = (PFNGLDISABLEVERTEXARRAYATTRIBPROC)load("glDisableVertexArrayAttrib");
1691 glad_glEnableVertexArrayAttrib = (PFNGLENABLEVERTEXARRAYATTRIBPROC)load("glEnableVertexArrayAttrib");
1692 glad_glVertexArrayElementBuffer = (PFNGLVERTEXARRAYELEMENTBUFFERPROC)load("glVertexArrayElementBuffer");
1693 glad_glVertexArrayVertexBuffer = (PFNGLVERTEXARRAYVERTEXBUFFERPROC)load("glVertexArrayVertexBuffer");
1694 glad_glVertexArrayVertexBuffers = (PFNGLVERTEXARRAYVERTEXBUFFERSPROC)load("glVertexArrayVertexBuffers");
1695 glad_glVertexArrayAttribBinding = (PFNGLVERTEXARRAYATTRIBBINDINGPROC)load("glVertexArrayAttribBinding");
1696 glad_glVertexArrayAttribFormat = (PFNGLVERTEXARRAYATTRIBFORMATPROC)load("glVertexArrayAttribFormat");
1697 glad_glVertexArrayAttribIFormat = (PFNGLVERTEXARRAYATTRIBIFORMATPROC)load("glVertexArrayAttribIFormat");
1698 glad_glVertexArrayAttribLFormat = (PFNGLVERTEXARRAYATTRIBLFORMATPROC)load("glVertexArrayAttribLFormat");
1699 glad_glVertexArrayBindingDivisor = (PFNGLVERTEXARRAYBINDINGDIVISORPROC)load("glVertexArrayBindingDivisor");
1700 glad_glGetVertexArrayiv = (PFNGLGETVERTEXARRAYIVPROC)load("glGetVertexArrayiv");
1701 glad_glGetVertexArrayIndexediv = (PFNGLGETVERTEXARRAYINDEXEDIVPROC)load("glGetVertexArrayIndexediv");
1702 glad_glGetVertexArrayIndexed64iv = (PFNGLGETVERTEXARRAYINDEXED64IVPROC)load("glGetVertexArrayIndexed64iv");
1703 glad_glCreateSamplers = (PFNGLCREATESAMPLERSPROC)load("glCreateSamplers");
1704 glad_glCreateProgramPipelines = (PFNGLCREATEPROGRAMPIPELINESPROC)load("glCreateProgramPipelines");
1705 glad_glCreateQueries = (PFNGLCREATEQUERIESPROC)load("glCreateQueries");
1706 glad_glGetQueryBufferObjecti64v = (PFNGLGETQUERYBUFFEROBJECTI64VPROC)load("glGetQueryBufferObjecti64v");
1707 glad_glGetQueryBufferObjectiv = (PFNGLGETQUERYBUFFEROBJECTIVPROC)load("glGetQueryBufferObjectiv");
1708 glad_glGetQueryBufferObjectui64v = (PFNGLGETQUERYBUFFEROBJECTUI64VPROC)load("glGetQueryBufferObjectui64v");
1709 glad_glGetQueryBufferObjectuiv = (PFNGLGETQUERYBUFFEROBJECTUIVPROC)load("glGetQueryBufferObjectuiv");
1710 glad_glMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC)load("glMemoryBarrierByRegion");
1711 glad_glGetTextureSubImage = (PFNGLGETTEXTURESUBIMAGEPROC)load("glGetTextureSubImage");
1712 glad_glGetCompressedTextureSubImage = (PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC)load("glGetCompressedTextureSubImage");
1713 glad_glGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC)load("glGetGraphicsResetStatus");
1714 glad_glGetnCompressedTexImage = (PFNGLGETNCOMPRESSEDTEXIMAGEPROC)load("glGetnCompressedTexImage");
1715 glad_glGetnTexImage = (PFNGLGETNTEXIMAGEPROC)load("glGetnTexImage");
1716 glad_glGetnUniformdv = (PFNGLGETNUNIFORMDVPROC)load("glGetnUniformdv");
1717 glad_glGetnUniformfv = (PFNGLGETNUNIFORMFVPROC)load("glGetnUniformfv");
1718 glad_glGetnUniformiv = (PFNGLGETNUNIFORMIVPROC)load("glGetnUniformiv");
1719 glad_glGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC)load("glGetnUniformuiv");
1720 glad_glReadnPixels = (PFNGLREADNPIXELSPROC)load("glReadnPixels");
1721 glad_glGetnMapdv = (PFNGLGETNMAPDVPROC)load("glGetnMapdv");
1722 glad_glGetnMapfv = (PFNGLGETNMAPFVPROC)load("glGetnMapfv");
1723 glad_glGetnMapiv = (PFNGLGETNMAPIVPROC)load("glGetnMapiv");
1724 glad_glGetnPixelMapfv = (PFNGLGETNPIXELMAPFVPROC)load("glGetnPixelMapfv");
1725 glad_glGetnPixelMapuiv = (PFNGLGETNPIXELMAPUIVPROC)load("glGetnPixelMapuiv");
1726 glad_glGetnPixelMapusv = (PFNGLGETNPIXELMAPUSVPROC)load("glGetnPixelMapusv");
1727 glad_glGetnPolygonStipple = (PFNGLGETNPOLYGONSTIPPLEPROC)load("glGetnPolygonStipple");
1728 glad_glGetnColorTable = (PFNGLGETNCOLORTABLEPROC)load("glGetnColorTable");
1729 glad_glGetnConvolutionFilter = (PFNGLGETNCONVOLUTIONFILTERPROC)load("glGetnConvolutionFilter");
1730 glad_glGetnSeparableFilter = (PFNGLGETNSEPARABLEFILTERPROC)load("glGetnSeparableFilter");
1731 glad_glGetnHistogram = (PFNGLGETNHISTOGRAMPROC)load("glGetnHistogram");
1732 glad_glGetnMinmax = (PFNGLGETNMINMAXPROC)load("glGetnMinmax");
1733 glad_glTextureBarrier = (PFNGLTEXTUREBARRIERPROC)load("glTextureBarrier");
1734}
1735static void load_GL_VERSION_4_6(GLADloadproc load) {
1736 if(!GLAD_GL_VERSION_4_6) return;
1737 glad_glSpecializeShader = (PFNGLSPECIALIZESHADERPROC)load("glSpecializeShader");
1738 glad_glMultiDrawArraysIndirectCount = (PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC)load("glMultiDrawArraysIndirectCount");
1739 glad_glMultiDrawElementsIndirectCount = (PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC)load("glMultiDrawElementsIndirectCount");
1740 glad_glPolygonOffsetClamp = (PFNGLPOLYGONOFFSETCLAMPPROC)load("glPolygonOffsetClamp");
1741}
1742static int find_extensionsGL(void) {
1743 if (!get_exts()) return 0;
1744 (void)&has_ext;
1745 free_exts();
1746 return 1;
1747}
1748
1749static void find_coreGL(void) {
1750
1751 /* Thank you @elmindreda
1752 * https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176
1753 * https://github.com/glfw/glfw/blob/master/src/context.c#L36
1754 */
1755 int i, major, minor;
1756
1757 const char* version;
1758 const char* prefixes[] = {
1759 "OpenGL ES-CM ",
1760 "OpenGL ES-CL ",
1761 "OpenGL ES ",
1762 NULL
1763 };
1764
1765 version = (const char*) glGetString(GL_VERSION);
1766 if (!version) return;
1767
1768 for (i = 0; prefixes[i]; i++) {
1769 const size_t length = strlen(prefixes[i]);
1770 if (strncmp(version, prefixes[i], length) == 0) {
1771 version += length;
1772 break;
1773 }
1774 }
1775
1776/* PR #18 */
1777#ifdef _MSC_VER
1778 sscanf_s(version, "%d.%d", &major, &minor);
1779#else
1780 sscanf(version, "%d.%d", &major, &minor);
1781#endif
1782
1783 GLVersion.major = major; GLVersion.minor = minor;
1784 max_loaded_major = major; max_loaded_minor = minor;
1785 GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1;
1786 GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1;
1787 GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1;
1788 GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1;
1789 GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1;
1790 GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1;
1791 GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
1792 GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2;
1793 GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3;
1794 GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3;
1795 GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3;
1796 GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3;
1797 GLAD_GL_VERSION_4_0 = (major == 4 && minor >= 0) || major > 4;
1798 GLAD_GL_VERSION_4_1 = (major == 4 && minor >= 1) || major > 4;
1799 GLAD_GL_VERSION_4_2 = (major == 4 && minor >= 2) || major > 4;
1800 GLAD_GL_VERSION_4_3 = (major == 4 && minor >= 3) || major > 4;
1801 GLAD_GL_VERSION_4_4 = (major == 4 && minor >= 4) || major > 4;
1802 GLAD_GL_VERSION_4_5 = (major == 4 && minor >= 5) || major > 4;
1803 GLAD_GL_VERSION_4_6 = (major == 4 && minor >= 6) || major > 4;
1804 if (GLVersion.major > 4 || (GLVersion.major >= 4 && GLVersion.minor >= 6)) {
1805 max_loaded_major = 4;
1806 max_loaded_minor = 6;
1807 }
1808}
1809
1810int gladLoadGLLoader(GLADloadproc load) {
1811 GLVersion.major = 0; GLVersion.minor = 0;
1812 glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
1813 if(glGetString == NULL) return 0;
1814 if(glGetString(GL_VERSION) == NULL) return 0;
1815 find_coreGL();
1816 load_GL_VERSION_1_0(load);
1817 load_GL_VERSION_1_1(load);
1818 load_GL_VERSION_1_2(load);
1819 load_GL_VERSION_1_3(load);
1820 load_GL_VERSION_1_4(load);
1821 load_GL_VERSION_1_5(load);
1822 load_GL_VERSION_2_0(load);
1823 load_GL_VERSION_2_1(load);
1824 load_GL_VERSION_3_0(load);
1825 load_GL_VERSION_3_1(load);
1826 load_GL_VERSION_3_2(load);
1827 load_GL_VERSION_3_3(load);
1828 load_GL_VERSION_4_0(load);
1829 load_GL_VERSION_4_1(load);
1830 load_GL_VERSION_4_2(load);
1831 load_GL_VERSION_4_3(load);
1832 load_GL_VERSION_4_4(load);
1833 load_GL_VERSION_4_5(load);
1834 load_GL_VERSION_4_6(load);
1835
1836 if (!find_extensionsGL()) return 0;
1837 return GLVersion.major != 0 || GLVersion.minor != 0;
1838}
1839
1840static void load_GL_ES_VERSION_2_0(GLADloadproc load) {
1841 if(!GLAD_GL_ES_VERSION_2_0) return;
1842 glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)load("glActiveTexture");
1843 glad_glAttachShader = (PFNGLATTACHSHADERPROC)load("glAttachShader");
1844 glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)load("glBindAttribLocation");
1845 glad_glBindBuffer = (PFNGLBINDBUFFERPROC)load("glBindBuffer");
1846 glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer");
1847 glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer");
1848 glad_glBindTexture = (PFNGLBINDTEXTUREPROC)load("glBindTexture");
1849 glad_glBlendColor = (PFNGLBLENDCOLORPROC)load("glBlendColor");
1850 glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load("glBlendEquation");
1851 glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load("glBlendEquationSeparate");
1852 glad_glBlendFunc = (PFNGLBLENDFUNCPROC)load("glBlendFunc");
1853 glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load("glBlendFuncSeparate");
1854 glad_glBufferData = (PFNGLBUFFERDATAPROC)load("glBufferData");
1855 glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)load("glBufferSubData");
1856 glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus");
1857 glad_glClear = (PFNGLCLEARPROC)load("glClear");
1858 glad_glClearColor = (PFNGLCLEARCOLORPROC)load("glClearColor");
1859 glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC)load("glClearDepthf");
1860 glad_glClearStencil = (PFNGLCLEARSTENCILPROC)load("glClearStencil");
1861 glad_glColorMask = (PFNGLCOLORMASKPROC)load("glColorMask");
1862 glad_glCompileShader = (PFNGLCOMPILESHADERPROC)load("glCompileShader");
1863 glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)load("glCompressedTexImage2D");
1864 glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load("glCompressedTexSubImage2D");
1865 glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)load("glCopyTexImage2D");
1866 glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)load("glCopyTexSubImage2D");
1867 glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)load("glCreateProgram");
1868 glad_glCreateShader = (PFNGLCREATESHADERPROC)load("glCreateShader");
1869 glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace");
1870 glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)load("glDeleteBuffers");
1871 glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers");
1872 glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)load("glDeleteProgram");
1873 glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers");
1874 glad_glDeleteShader = (PFNGLDELETESHADERPROC)load("glDeleteShader");
1875 glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC)load("glDeleteTextures");
1876 glad_glDepthFunc = (PFNGLDEPTHFUNCPROC)load("glDepthFunc");
1877 glad_glDepthMask = (PFNGLDEPTHMASKPROC)load("glDepthMask");
1878 glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC)load("glDepthRangef");
1879 glad_glDetachShader = (PFNGLDETACHSHADERPROC)load("glDetachShader");
1880 glad_glDisable = (PFNGLDISABLEPROC)load("glDisable");
1881 glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load("glDisableVertexAttribArray");
1882 glad_glDrawArrays = (PFNGLDRAWARRAYSPROC)load("glDrawArrays");
1883 glad_glDrawElements = (PFNGLDRAWELEMENTSPROC)load("glDrawElements");
1884 glad_glEnable = (PFNGLENABLEPROC)load("glEnable");
1885 glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load("glEnableVertexAttribArray");
1886 glad_glFinish = (PFNGLFINISHPROC)load("glFinish");
1887 glad_glFlush = (PFNGLFLUSHPROC)load("glFlush");
1888 glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer");
1889 glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D");
1890 glad_glFrontFace = (PFNGLFRONTFACEPROC)load("glFrontFace");
1891 glad_glGenBuffers = (PFNGLGENBUFFERSPROC)load("glGenBuffers");
1892 glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap");
1893 glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers");
1894 glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers");
1895 glad_glGenTextures = (PFNGLGENTEXTURESPROC)load("glGenTextures");
1896 glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)load("glGetActiveAttrib");
1897 glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)load("glGetActiveUniform");
1898 glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)load("glGetAttachedShaders");
1899 glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load("glGetAttribLocation");
1900 glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC)load("glGetBooleanv");
1901 glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv");
1902 glad_glGetError = (PFNGLGETERRORPROC)load("glGetError");
1903 glad_glGetFloatv = (PFNGLGETFLOATVPROC)load("glGetFloatv");
1904 glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv");
1905 glad_glGetIntegerv = (PFNGLGETINTEGERVPROC)load("glGetIntegerv");
1906 glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)load("glGetProgramiv");
1907 glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)load("glGetProgramInfoLog");
1908 glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv");
1909 glad_glGetShaderiv = (PFNGLGETSHADERIVPROC)load("glGetShaderiv");
1910 glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)load("glGetShaderInfoLog");
1911 glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC)load("glGetShaderPrecisionFormat");
1912 glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)load("glGetShaderSource");
1913 glad_glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
1914 glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load("glGetTexParameterfv");
1915 glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load("glGetTexParameteriv");
1916 glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)load("glGetUniformfv");
1917 glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)load("glGetUniformiv");
1918 glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load("glGetUniformLocation");
1919 glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load("glGetVertexAttribfv");
1920 glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load("glGetVertexAttribiv");
1921 glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load("glGetVertexAttribPointerv");
1922 glad_glHint = (PFNGLHINTPROC)load("glHint");
1923 glad_glIsBuffer = (PFNGLISBUFFERPROC)load("glIsBuffer");
1924 glad_glIsEnabled = (PFNGLISENABLEDPROC)load("glIsEnabled");
1925 glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer");
1926 glad_glIsProgram = (PFNGLISPROGRAMPROC)load("glIsProgram");
1927 glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer");
1928 glad_glIsShader = (PFNGLISSHADERPROC)load("glIsShader");
1929 glad_glIsTexture = (PFNGLISTEXTUREPROC)load("glIsTexture");
1930 glad_glLineWidth = (PFNGLLINEWIDTHPROC)load("glLineWidth");
1931 glad_glLinkProgram = (PFNGLLINKPROGRAMPROC)load("glLinkProgram");
1932 glad_glPixelStorei = (PFNGLPIXELSTOREIPROC)load("glPixelStorei");
1933 glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)load("glPolygonOffset");
1934 glad_glReadPixels = (PFNGLREADPIXELSPROC)load("glReadPixels");
1935 glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC)load("glReleaseShaderCompiler");
1936 glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage");
1937 glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load("glSampleCoverage");
1938 glad_glScissor = (PFNGLSCISSORPROC)load("glScissor");
1939 glad_glShaderBinary = (PFNGLSHADERBINARYPROC)load("glShaderBinary");
1940 glad_glShaderSource = (PFNGLSHADERSOURCEPROC)load("glShaderSource");
1941 glad_glStencilFunc = (PFNGLSTENCILFUNCPROC)load("glStencilFunc");
1942 glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load("glStencilFuncSeparate");
1943 glad_glStencilMask = (PFNGLSTENCILMASKPROC)load("glStencilMask");
1944 glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load("glStencilMaskSeparate");
1945 glad_glStencilOp = (PFNGLSTENCILOPPROC)load("glStencilOp");
1946 glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load("glStencilOpSeparate");
1947 glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC)load("glTexImage2D");
1948 glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC)load("glTexParameterf");
1949 glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC)load("glTexParameterfv");
1950 glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC)load("glTexParameteri");
1951 glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC)load("glTexParameteriv");
1952 glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load("glTexSubImage2D");
1953 glad_glUniform1f = (PFNGLUNIFORM1FPROC)load("glUniform1f");
1954 glad_glUniform1fv = (PFNGLUNIFORM1FVPROC)load("glUniform1fv");
1955 glad_glUniform1i = (PFNGLUNIFORM1IPROC)load("glUniform1i");
1956 glad_glUniform1iv = (PFNGLUNIFORM1IVPROC)load("glUniform1iv");
1957 glad_glUniform2f = (PFNGLUNIFORM2FPROC)load("glUniform2f");
1958 glad_glUniform2fv = (PFNGLUNIFORM2FVPROC)load("glUniform2fv");
1959 glad_glUniform2i = (PFNGLUNIFORM2IPROC)load("glUniform2i");
1960 glad_glUniform2iv = (PFNGLUNIFORM2IVPROC)load("glUniform2iv");
1961 glad_glUniform3f = (PFNGLUNIFORM3FPROC)load("glUniform3f");
1962 glad_glUniform3fv = (PFNGLUNIFORM3FVPROC)load("glUniform3fv");
1963 glad_glUniform3i = (PFNGLUNIFORM3IPROC)load("glUniform3i");
1964 glad_glUniform3iv = (PFNGLUNIFORM3IVPROC)load("glUniform3iv");
1965 glad_glUniform4f = (PFNGLUNIFORM4FPROC)load("glUniform4f");
1966 glad_glUniform4fv = (PFNGLUNIFORM4FVPROC)load("glUniform4fv");
1967 glad_glUniform4i = (PFNGLUNIFORM4IPROC)load("glUniform4i");
1968 glad_glUniform4iv = (PFNGLUNIFORM4IVPROC)load("glUniform4iv");
1969 glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load("glUniformMatrix2fv");
1970 glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load("glUniformMatrix3fv");
1971 glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load("glUniformMatrix4fv");
1972 glad_glUseProgram = (PFNGLUSEPROGRAMPROC)load("glUseProgram");
1973 glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)load("glValidateProgram");
1974 glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load("glVertexAttrib1f");
1975 glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load("glVertexAttrib1fv");
1976 glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load("glVertexAttrib2f");
1977 glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load("glVertexAttrib2fv");
1978 glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load("glVertexAttrib3f");
1979 glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load("glVertexAttrib3fv");
1980 glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load("glVertexAttrib4f");
1981 glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load("glVertexAttrib4fv");
1982 glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load("glVertexAttribPointer");
1983 glad_glViewport = (PFNGLVIEWPORTPROC)load("glViewport");
1984}
1985static void load_GL_ES_VERSION_3_0(GLADloadproc load) {
1986 if(!GLAD_GL_ES_VERSION_3_0) return;
1987 glad_glReadBuffer = (PFNGLREADBUFFERPROC)load("glReadBuffer");
1988 glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load("glDrawRangeElements");
1989 glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)load("glTexImage3D");
1990 glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)load("glTexSubImage3D");
1991 glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)load("glCopyTexSubImage3D");
1992 glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)load("glCompressedTexImage3D");
1993 glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)load("glCompressedTexSubImage3D");
1994 glad_glGenQueries = (PFNGLGENQUERIESPROC)load("glGenQueries");
1995 glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)load("glDeleteQueries");
1996 glad_glIsQuery = (PFNGLISQUERYPROC)load("glIsQuery");
1997 glad_glBeginQuery = (PFNGLBEGINQUERYPROC)load("glBeginQuery");
1998 glad_glEndQuery = (PFNGLENDQUERYPROC)load("glEndQuery");
1999 glad_glGetQueryiv = (PFNGLGETQUERYIVPROC)load("glGetQueryiv");
2000 glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)load("glGetQueryObjectuiv");
2001 glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)load("glUnmapBuffer");
2002 glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv");
2003 glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)load("glDrawBuffers");
2004 glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)load("glUniformMatrix2x3fv");
2005 glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)load("glUniformMatrix3x2fv");
2006 glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)load("glUniformMatrix2x4fv");
2007 glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)load("glUniformMatrix4x2fv");
2008 glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv");
2009 glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv");
2010 glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer");
2011 glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample");
2012 glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer");
2013 glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange");
2014 glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange");
2015 glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray");
2016 glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays");
2017 glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays");
2018 glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray");
2019 glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v");
2020 glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load("glBeginTransformFeedback");
2021 glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load("glEndTransformFeedback");
2022 glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange");
2023 glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase");
2024 glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load("glTransformFeedbackVaryings");
2025 glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load("glGetTransformFeedbackVarying");
2026 glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load("glVertexAttribIPointer");
2027 glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load("glGetVertexAttribIiv");
2028 glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load("glGetVertexAttribIuiv");
2029 glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load("glVertexAttribI4i");
2030 glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load("glVertexAttribI4ui");
2031 glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load("glVertexAttribI4iv");
2032 glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load("glVertexAttribI4uiv");
2033 glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load("glGetUniformuiv");
2034 glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load("glGetFragDataLocation");
2035 glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load("glUniform1ui");
2036 glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load("glUniform2ui");
2037 glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load("glUniform3ui");
2038 glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load("glUniform4ui");
2039 glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load("glUniform1uiv");
2040 glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load("glUniform2uiv");
2041 glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load("glUniform3uiv");
2042 glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load("glUniform4uiv");
2043 glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load("glClearBufferiv");
2044 glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load("glClearBufferuiv");
2045 glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load("glClearBufferfv");
2046 glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load("glClearBufferfi");
2047 glad_glGetStringi = (PFNGLGETSTRINGIPROC)load("glGetStringi");
2048 glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData");
2049 glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices");
2050 glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv");
2051 glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex");
2052 glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv");
2053 glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName");
2054 glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding");
2055 glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load("glDrawArraysInstanced");
2056 glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load("glDrawElementsInstanced");
2057 glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync");
2058 glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync");
2059 glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync");
2060 glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync");
2061 glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync");
2062 glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v");
2063 glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv");
2064 glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load("glGetInteger64i_v");
2065 glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load("glGetBufferParameteri64v");
2066 glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers");
2067 glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers");
2068 glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler");
2069 glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler");
2070 glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri");
2071 glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv");
2072 glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf");
2073 glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv");
2074 glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv");
2075 glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv");
2076 glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load("glVertexAttribDivisor");
2077 glad_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)load("glBindTransformFeedback");
2078 glad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)load("glDeleteTransformFeedbacks");
2079 glad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)load("glGenTransformFeedbacks");
2080 glad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)load("glIsTransformFeedback");
2081 glad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)load("glPauseTransformFeedback");
2082 glad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)load("glResumeTransformFeedback");
2083 glad_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)load("glGetProgramBinary");
2084 glad_glProgramBinary = (PFNGLPROGRAMBINARYPROC)load("glProgramBinary");
2085 glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load("glProgramParameteri");
2086 glad_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)load("glInvalidateFramebuffer");
2087 glad_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)load("glInvalidateSubFramebuffer");
2088 glad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)load("glTexStorage2D");
2089 glad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)load("glTexStorage3D");
2090 glad_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)load("glGetInternalformativ");
2091}
2092static void load_GL_ES_VERSION_3_1(GLADloadproc load) {
2093 if(!GLAD_GL_ES_VERSION_3_1) return;
2094 glad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)load("glDispatchCompute");
2095 glad_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)load("glDispatchComputeIndirect");
2096 glad_glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC)load("glDrawArraysIndirect");
2097 glad_glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC)load("glDrawElementsIndirect");
2098 glad_glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC)load("glFramebufferParameteri");
2099 glad_glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC)load("glGetFramebufferParameteriv");
2100 glad_glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC)load("glGetProgramInterfaceiv");
2101 glad_glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC)load("glGetProgramResourceIndex");
2102 glad_glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC)load("glGetProgramResourceName");
2103 glad_glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC)load("glGetProgramResourceiv");
2104 glad_glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC)load("glGetProgramResourceLocation");
2105 glad_glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC)load("glUseProgramStages");
2106 glad_glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC)load("glActiveShaderProgram");
2107 glad_glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC)load("glCreateShaderProgramv");
2108 glad_glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC)load("glBindProgramPipeline");
2109 glad_glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC)load("glDeleteProgramPipelines");
2110 glad_glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC)load("glGenProgramPipelines");
2111 glad_glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC)load("glIsProgramPipeline");
2112 glad_glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC)load("glGetProgramPipelineiv");
2113 glad_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)load("glProgramUniform1i");
2114 glad_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)load("glProgramUniform2i");
2115 glad_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)load("glProgramUniform3i");
2116 glad_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)load("glProgramUniform4i");
2117 glad_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)load("glProgramUniform1ui");
2118 glad_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)load("glProgramUniform2ui");
2119 glad_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)load("glProgramUniform3ui");
2120 glad_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)load("glProgramUniform4ui");
2121 glad_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)load("glProgramUniform1f");
2122 glad_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)load("glProgramUniform2f");
2123 glad_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)load("glProgramUniform3f");
2124 glad_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)load("glProgramUniform4f");
2125 glad_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)load("glProgramUniform1iv");
2126 glad_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)load("glProgramUniform2iv");
2127 glad_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)load("glProgramUniform3iv");
2128 glad_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)load("glProgramUniform4iv");
2129 glad_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)load("glProgramUniform1uiv");
2130 glad_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)load("glProgramUniform2uiv");
2131 glad_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)load("glProgramUniform3uiv");
2132 glad_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)load("glProgramUniform4uiv");
2133 glad_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)load("glProgramUniform1fv");
2134 glad_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)load("glProgramUniform2fv");
2135 glad_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)load("glProgramUniform3fv");
2136 glad_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)load("glProgramUniform4fv");
2137 glad_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)load("glProgramUniformMatrix2fv");
2138 glad_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)load("glProgramUniformMatrix3fv");
2139 glad_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)load("glProgramUniformMatrix4fv");
2140 glad_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)load("glProgramUniformMatrix2x3fv");
2141 glad_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)load("glProgramUniformMatrix3x2fv");
2142 glad_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)load("glProgramUniformMatrix2x4fv");
2143 glad_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)load("glProgramUniformMatrix4x2fv");
2144 glad_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)load("glProgramUniformMatrix3x4fv");
2145 glad_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)load("glProgramUniformMatrix4x3fv");
2146 glad_glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC)load("glValidateProgramPipeline");
2147 glad_glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC)load("glGetProgramPipelineInfoLog");
2148 glad_glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)load("glBindImageTexture");
2149 glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)load("glGetBooleani_v");
2150 glad_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)load("glMemoryBarrier");
2151 glad_glMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC)load("glMemoryBarrierByRegion");
2152 glad_glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC)load("glTexStorage2DMultisample");
2153 glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load("glGetMultisamplefv");
2154 glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load("glSampleMaski");
2155 glad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)load("glGetTexLevelParameteriv");
2156 glad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)load("glGetTexLevelParameterfv");
2157 glad_glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC)load("glBindVertexBuffer");
2158 glad_glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC)load("glVertexAttribFormat");
2159 glad_glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC)load("glVertexAttribIFormat");
2160 glad_glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC)load("glVertexAttribBinding");
2161 glad_glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC)load("glVertexBindingDivisor");
2162}
2163static void load_GL_ES_VERSION_3_2(GLADloadproc load) {
2164 if(!GLAD_GL_ES_VERSION_3_2) return;
2165 glad_glBlendBarrier = (PFNGLBLENDBARRIERPROC)load("glBlendBarrier");
2166 glad_glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC)load("glCopyImageSubData");
2167 glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)load("glDebugMessageControl");
2168 glad_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)load("glDebugMessageInsert");
2169 glad_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)load("glDebugMessageCallback");
2170 glad_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)load("glGetDebugMessageLog");
2171 glad_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)load("glPushDebugGroup");
2172 glad_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)load("glPopDebugGroup");
2173 glad_glObjectLabel = (PFNGLOBJECTLABELPROC)load("glObjectLabel");
2174 glad_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC)load("glGetObjectLabel");
2175 glad_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)load("glObjectPtrLabel");
2176 glad_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)load("glGetObjectPtrLabel");
2177 glad_glGetPointerv = (PFNGLGETPOINTERVPROC)load("glGetPointerv");
2178 glad_glEnablei = (PFNGLENABLEIPROC)load("glEnablei");
2179 glad_glDisablei = (PFNGLDISABLEIPROC)load("glDisablei");
2180 glad_glBlendEquationi = (PFNGLBLENDEQUATIONIPROC)load("glBlendEquationi");
2181 glad_glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC)load("glBlendEquationSeparatei");
2182 glad_glBlendFunci = (PFNGLBLENDFUNCIPROC)load("glBlendFunci");
2183 glad_glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC)load("glBlendFuncSeparatei");
2184 glad_glColorMaski = (PFNGLCOLORMASKIPROC)load("glColorMaski");
2185 glad_glIsEnabledi = (PFNGLISENABLEDIPROC)load("glIsEnabledi");
2186 glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load("glDrawElementsBaseVertex");
2187 glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load("glDrawRangeElementsBaseVertex");
2188 glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load("glDrawElementsInstancedBaseVertex");
2189 glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)load("glFramebufferTexture");
2190 glad_glPrimitiveBoundingBox = (PFNGLPRIMITIVEBOUNDINGBOXPROC)load("glPrimitiveBoundingBox");
2191 glad_glGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC)load("glGetGraphicsResetStatus");
2192 glad_glReadnPixels = (PFNGLREADNPIXELSPROC)load("glReadnPixels");
2193 glad_glGetnUniformfv = (PFNGLGETNUNIFORMFVPROC)load("glGetnUniformfv");
2194 glad_glGetnUniformiv = (PFNGLGETNUNIFORMIVPROC)load("glGetnUniformiv");
2195 glad_glGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC)load("glGetnUniformuiv");
2196 glad_glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC)load("glMinSampleShading");
2197 glad_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)load("glPatchParameteri");
2198 glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)load("glTexParameterIiv");
2199 glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)load("glTexParameterIuiv");
2200 glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)load("glGetTexParameterIiv");
2201 glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)load("glGetTexParameterIuiv");
2202 glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load("glSamplerParameterIiv");
2203 glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load("glSamplerParameterIuiv");
2204 glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load("glGetSamplerParameterIiv");
2205 glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load("glGetSamplerParameterIuiv");
2206 glad_glTexBuffer = (PFNGLTEXBUFFERPROC)load("glTexBuffer");
2207 glad_glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC)load("glTexBufferRange");
2208 glad_glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC)load("glTexStorage3DMultisample");
2209}
2210static int find_extensionsGLES2(void) {
2211 if (!get_exts()) return 0;
2212 (void)&has_ext;
2213 free_exts();
2214 return 1;
2215}
2216
2217static void find_coreGLES2(void) {
2218
2219 /* Thank you @elmindreda
2220 * https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176
2221 * https://github.com/glfw/glfw/blob/master/src/context.c#L36
2222 */
2223 int i, major, minor;
2224
2225 const char* version;
2226 const char* prefixes[] = {
2227 "OpenGL ES-CM ",
2228 "OpenGL ES-CL ",
2229 "OpenGL ES ",
2230 NULL
2231 };
2232
2233 version = (const char*) glGetString(GL_VERSION);
2234 if (!version) return;
2235
2236 for (i = 0; prefixes[i]; i++) {
2237 const size_t length = strlen(prefixes[i]);
2238 if (strncmp(version, prefixes[i], length) == 0) {
2239 version += length;
2240 break;
2241 }
2242 }
2243
2244/* PR #18 */
2245#ifdef _MSC_VER
2246 sscanf_s(version, "%d.%d", &major, &minor);
2247#else
2248 sscanf(version, "%d.%d", &major, &minor);
2249#endif
2250
2251 GLVersion.major = major; GLVersion.minor = minor;
2252 max_loaded_major = major; max_loaded_minor = minor;
2253 GLAD_GL_ES_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
2254 GLAD_GL_ES_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3;
2255 GLAD_GL_ES_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3;
2256 GLAD_GL_ES_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3;
2257 if (GLVersion.major > 3 || (GLVersion.major >= 3 && GLVersion.minor >= 2)) {
2258 max_loaded_major = 3;
2259 max_loaded_minor = 2;
2260 }
2261}
2262
2263int gladLoadGLES2Loader(GLADloadproc load) {
2264 GLVersion.major = 0; GLVersion.minor = 0;
2265 glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
2266 if(glGetString == NULL) return 0;
2267 if(glGetString(GL_VERSION) == NULL) return 0;
2268 find_coreGLES2();
2269 load_GL_ES_VERSION_2_0(load);
2270 load_GL_ES_VERSION_3_0(load);
2271 load_GL_ES_VERSION_3_1(load);
2272 load_GL_ES_VERSION_3_2(load);
2273
2274 if (!find_extensionsGLES2()) return 0;
2275 return GLVersion.major != 0 || GLVersion.minor != 0;
2276}
2277
diff --git a/app/include/gfx/app.h b/app/include/gfx/app.h
index ffff4bc..3843d92 100644
--- a/app/include/gfx/app.h
+++ b/app/include/gfx/app.h
@@ -60,6 +60,10 @@ typedef enum Key {
60 KeyZ, 60 KeyZ,
61} Key; 61} Key;
62 62
63#ifdef __cplusplus
64extern "C" {
65#endif
66
63/// Create a window with an OpenGL context and run the main loop. 67/// Create a window with an OpenGL context and run the main loop.
64bool gfx_app_run(const GfxAppDesc*, const GfxAppCallbacks*); 68bool gfx_app_run(const GfxAppDesc*, const GfxAppCallbacks*);
65 69
@@ -69,6 +73,10 @@ void gfx_app_get_mouse_position(double* x, double* y);
69/// Return true if the given key is pressed. 73/// Return true if the given key is pressed.
70bool gfx_is_key_pressed(Key); 74bool gfx_is_key_pressed(Key);
71 75
76#ifdef __cplusplus
77} // extern "C"
78#endif
79
72/// Define a main function that initializes and puts the application in a loop. 80/// Define a main function that initializes and puts the application in a loop.
73/// See also: gfx_app_run(). 81/// See also: gfx_app_run().
74#define GFX_APP_MAIN(WIDTH, HEIGHT, MAX_FPS, TITLE) \ 82#define GFX_APP_MAIN(WIDTH, HEIGHT, MAX_FPS, TITLE) \
@@ -86,10 +94,10 @@ bool gfx_is_key_pressed(Key);
86 .app_state = &app_state, \ 94 .app_state = &app_state, \
87 }, \ 95 }, \
88 &(GfxAppCallbacks){ \ 96 &(GfxAppCallbacks){ \
89 .init = (GfxAppInit)app_init, \ 97 .init = (GfxAppInit)Init, \
90 .update = (GfxAppUpdate)app_update, \ 98 .shutdown = (GfxAppShutdown)Shutdown, \
91 .render = (GfxAppRender)app_render, \ 99 .update = (GfxAppUpdate)Update, \
92 .resize = (GfxAppResize)app_resize, \ 100 .render = (GfxAppRender)Render, \
93 .shutdown = (GfxAppShutdown)app_end}); \ 101 .resize = (GfxAppResize)Resize}); \
94 return 0; \ 102 return 0; \
95 } 103 }
diff --git a/app/src/app.c b/app/src/app.c
index b6d10ca..1e636af 100644
--- a/app/src/app.c
+++ b/app/src/app.c
@@ -1,5 +1,7 @@
1#include <gfx/app.h> 1#include <gfx/app.h>
2 2
3#include <glad/glad.h>
4
3#include <GLFW/glfw3.h> 5#include <GLFW/glfw3.h>
4#include <log/log.h> 6#include <log/log.h>
5#include <timer.h> 7#include <timer.h>
@@ -110,6 +112,12 @@ bool gfx_app_run(const GfxAppDesc* desc, const GfxAppCallbacks* callbacks) {
110 } 112 }
111 glfwMakeContextCurrent(g_gfx_app.window); 113 glfwMakeContextCurrent(g_gfx_app.window);
112 114
115 // Load GL before calling the application init clalback.
116 if (!gladLoadGL()) {
117 LOGE("Failed loading glad!");
118 return 0;
119 }
120
113 // Initialize the application's state before setting any callbacks. 121 // Initialize the application's state before setting any callbacks.
114 if (!(*g_gfx_app.callbacks.init)( 122 if (!(*g_gfx_app.callbacks.init)(
115 g_gfx_app.app_state, desc->argc, desc->argv)) { 123 g_gfx_app.app_state, desc->argc, desc->argv)) {