summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--externals/glad/CMakeLists.txt11
-rw-r--r--externals/glad/Readme.md5
-rw-r--r--externals/glad/include/KHR/khrplatform.h282
-rw-r--r--externals/glad/include/glad/glad.h2264
-rw-r--r--externals/glad/src/glad.c1404
-rw-r--r--src/citra/CMakeLists.txt4
-rw-r--r--src/citra/emu_window/emu_window_glfw.cpp2
-rw-r--r--src/video_core/CMakeLists.txt3
-rw-r--r--src/video_core/renderer_opengl/generated/Readme.md5
-rw-r--r--src/video_core/renderer_opengl/generated/gl_3_2_core.c1186
-rw-r--r--src/video_core/renderer_opengl/generated/gl_3_2_core.h1609
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp4
-rw-r--r--src/video_core/renderer_opengl/gl_resource_manager.h3
-rw-r--r--src/video_core/renderer_opengl/gl_shader_util.h2
-rw-r--r--src/video_core/renderer_opengl/gl_state.h2
-rw-r--r--src/video_core/renderer_opengl/pica_to_gl.h4
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.cpp4
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.h2
19 files changed, 3982 insertions, 2815 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2ac94bc9f..ebffc0d85 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -213,6 +213,7 @@ set(INI_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/externals/inih")
213include_directories(${INI_PREFIX}) 213include_directories(${INI_PREFIX})
214add_subdirectory(${INI_PREFIX}) 214add_subdirectory(${INI_PREFIX})
215 215
216add_subdirectory(externals/glad)
216include_directories(externals/microprofile) 217include_directories(externals/microprofile)
217include_directories(externals/nihstro/include) 218include_directories(externals/nihstro/include)
218 219
diff --git a/externals/glad/CMakeLists.txt b/externals/glad/CMakeLists.txt
new file mode 100644
index 000000000..ebc5db1f2
--- /dev/null
+++ b/externals/glad/CMakeLists.txt
@@ -0,0 +1,11 @@
1set(SRCS
2 src/glad.c
3 )
4set(HEADERS
5 include/KHR/khrplatform.h
6 include/glad/glad.h
7 )
8
9create_directory_groups(${SRCS} ${HEADERS})
10add_library(glad STATIC ${SRCS} ${HEADERS})
11target_include_directories(glad PUBLIC "include/")
diff --git a/externals/glad/Readme.md b/externals/glad/Readme.md
new file mode 100644
index 000000000..87866455c
--- /dev/null
+++ b/externals/glad/Readme.md
@@ -0,0 +1,5 @@
1These files were generated by the [glad](https://github.com/Dav1dde/glad) OpenGL loader generator and have been checked in as-is. You can re-generate them using glad with the following command:
2
3```
4python -m glad --profile core --out-path glad/ --api gl=3.3,gles=3.0
5```
diff --git a/externals/glad/include/KHR/khrplatform.h b/externals/glad/include/KHR/khrplatform.h
new file mode 100644
index 000000000..c9e6f17d3
--- /dev/null
+++ b/externals/glad/include/KHR/khrplatform.h
@@ -0,0 +1,282 @@
1#ifndef __khrplatform_h_
2#define __khrplatform_h_
3
4/*
5** Copyright (c) 2008-2009 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 * $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $
30 *
31 * Adopters may modify this file to suit their platform. Adopters are
32 * encouraged to submit platform specific modifications to the Khronos
33 * group so that they can be included in future versions of this file.
34 * Please submit changes by sending them to the public Khronos Bugzilla
35 * (http://khronos.org/bugzilla) by filing a bug against product
36 * "Khronos (general)" component "Registry".
37 *
38 * A predefined template which fills in some of the bug fields can be
39 * reached using http://tinyurl.com/khrplatform-h-bugreport, but you
40 * must create a Bugzilla login first.
41 *
42 *
43 * See the Implementer's Guidelines for information about where this file
44 * should be located on your system and for more details of its use:
45 * http://www.khronos.org/registry/implementers_guide.pdf
46 *
47 * This file should be included as
48 * #include <KHR/khrplatform.h>
49 * by Khronos client API header files that use its types and defines.
50 *
51 * The types in khrplatform.h should only be used to define API-specific types.
52 *
53 * Types defined in khrplatform.h:
54 * khronos_int8_t signed 8 bit
55 * khronos_uint8_t unsigned 8 bit
56 * khronos_int16_t signed 16 bit
57 * khronos_uint16_t unsigned 16 bit
58 * khronos_int32_t signed 32 bit
59 * khronos_uint32_t unsigned 32 bit
60 * khronos_int64_t signed 64 bit
61 * khronos_uint64_t unsigned 64 bit
62 * khronos_intptr_t signed same number of bits as a pointer
63 * khronos_uintptr_t unsigned same number of bits as a pointer
64 * khronos_ssize_t signed size
65 * khronos_usize_t unsigned size
66 * khronos_float_t signed 32 bit floating point
67 * khronos_time_ns_t unsigned 64 bit time in nanoseconds
68 * khronos_utime_nanoseconds_t unsigned time interval or absolute time in
69 * nanoseconds
70 * khronos_stime_nanoseconds_t signed time interval in nanoseconds
71 * khronos_boolean_enum_t enumerated boolean type. This should
72 * only be used as a base type when a client API's boolean type is
73 * an enum. Client APIs which use an integer or other type for
74 * booleans cannot use this as the base type for their boolean.
75 *
76 * Tokens defined in khrplatform.h:
77 *
78 * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
79 *
80 * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
81 * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
82 *
83 * Calling convention macros defined in this file:
84 * KHRONOS_APICALL
85 * KHRONOS_APIENTRY
86 * KHRONOS_APIATTRIBUTES
87 *
88 * These may be used in function prototypes as:
89 *
90 * KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
91 * int arg1,
92 * int arg2) KHRONOS_APIATTRIBUTES;
93 */
94
95/*-------------------------------------------------------------------------
96 * Definition of KHRONOS_APICALL
97 *-------------------------------------------------------------------------
98 * This precedes the return type of the function in the function prototype.
99 */
100#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
101# define KHRONOS_APICALL __declspec(dllimport)
102#elif defined (__SYMBIAN32__)
103# define KHRONOS_APICALL IMPORT_C
104#else
105# define KHRONOS_APICALL
106#endif
107
108/*-------------------------------------------------------------------------
109 * Definition of KHRONOS_APIENTRY
110 *-------------------------------------------------------------------------
111 * This follows the return type of the function and precedes the function
112 * name in the function prototype.
113 */
114#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
115 /* Win32 but not WinCE */
116# define KHRONOS_APIENTRY __stdcall
117#else
118# define KHRONOS_APIENTRY
119#endif
120
121/*-------------------------------------------------------------------------
122 * Definition of KHRONOS_APIATTRIBUTES
123 *-------------------------------------------------------------------------
124 * This follows the closing parenthesis of the function prototype arguments.
125 */
126#if defined (__ARMCC_2__)
127#define KHRONOS_APIATTRIBUTES __softfp
128#else
129#define KHRONOS_APIATTRIBUTES
130#endif
131
132/*-------------------------------------------------------------------------
133 * basic type definitions
134 *-----------------------------------------------------------------------*/
135#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
136
137
138/*
139 * Using <stdint.h>
140 */
141#include <stdint.h>
142typedef int32_t khronos_int32_t;
143typedef uint32_t khronos_uint32_t;
144typedef int64_t khronos_int64_t;
145typedef uint64_t khronos_uint64_t;
146#define KHRONOS_SUPPORT_INT64 1
147#define KHRONOS_SUPPORT_FLOAT 1
148
149#elif defined(__VMS ) || defined(__sgi)
150
151/*
152 * Using <inttypes.h>
153 */
154#include <inttypes.h>
155typedef int32_t khronos_int32_t;
156typedef uint32_t khronos_uint32_t;
157typedef int64_t khronos_int64_t;
158typedef uint64_t khronos_uint64_t;
159#define KHRONOS_SUPPORT_INT64 1
160#define KHRONOS_SUPPORT_FLOAT 1
161
162#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
163
164/*
165 * Win32
166 */
167typedef __int32 khronos_int32_t;
168typedef unsigned __int32 khronos_uint32_t;
169typedef __int64 khronos_int64_t;
170typedef unsigned __int64 khronos_uint64_t;
171#define KHRONOS_SUPPORT_INT64 1
172#define KHRONOS_SUPPORT_FLOAT 1
173
174#elif defined(__sun__) || defined(__digital__)
175
176/*
177 * Sun or Digital
178 */
179typedef int khronos_int32_t;
180typedef unsigned int khronos_uint32_t;
181#if defined(__arch64__) || defined(_LP64)
182typedef long int khronos_int64_t;
183typedef unsigned long int khronos_uint64_t;
184#else
185typedef long long int khronos_int64_t;
186typedef unsigned long long int khronos_uint64_t;
187#endif /* __arch64__ */
188#define KHRONOS_SUPPORT_INT64 1
189#define KHRONOS_SUPPORT_FLOAT 1
190
191#elif 0
192
193/*
194 * Hypothetical platform with no float or int64 support
195 */
196typedef int khronos_int32_t;
197typedef unsigned int khronos_uint32_t;
198#define KHRONOS_SUPPORT_INT64 0
199#define KHRONOS_SUPPORT_FLOAT 0
200
201#else
202
203/*
204 * Generic fallback
205 */
206#include <stdint.h>
207typedef int32_t khronos_int32_t;
208typedef uint32_t khronos_uint32_t;
209typedef int64_t khronos_int64_t;
210typedef uint64_t khronos_uint64_t;
211#define KHRONOS_SUPPORT_INT64 1
212#define KHRONOS_SUPPORT_FLOAT 1
213
214#endif
215
216
217/*
218 * Types that are (so far) the same on all platforms
219 */
220typedef signed char khronos_int8_t;
221typedef unsigned char khronos_uint8_t;
222typedef signed short int khronos_int16_t;
223typedef unsigned short int khronos_uint16_t;
224
225/*
226 * Types that differ between LLP64 and LP64 architectures - in LLP64,
227 * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
228 * to be the only LLP64 architecture in current use.
229 */
230#ifdef _WIN64
231typedef signed long long int khronos_intptr_t;
232typedef unsigned long long int khronos_uintptr_t;
233typedef signed long long int khronos_ssize_t;
234typedef unsigned long long int khronos_usize_t;
235#else
236typedef signed long int khronos_intptr_t;
237typedef unsigned long int khronos_uintptr_t;
238typedef signed long int khronos_ssize_t;
239typedef unsigned long int khronos_usize_t;
240#endif
241
242#if KHRONOS_SUPPORT_FLOAT
243/*
244 * Float type
245 */
246typedef float khronos_float_t;
247#endif
248
249#if KHRONOS_SUPPORT_INT64
250/* Time types
251 *
252 * These types can be used to represent a time interval in nanoseconds or
253 * an absolute Unadjusted System Time. Unadjusted System Time is the number
254 * of nanoseconds since some arbitrary system event (e.g. since the last
255 * time the system booted). The Unadjusted System Time is an unsigned
256 * 64 bit value that wraps back to 0 every 584 years. Time intervals
257 * may be either signed or unsigned.
258 */
259typedef khronos_uint64_t khronos_utime_nanoseconds_t;
260typedef khronos_int64_t khronos_stime_nanoseconds_t;
261#endif
262
263/*
264 * Dummy value used to pad enum types to 32 bits.
265 */
266#ifndef KHRONOS_MAX_ENUM
267#define KHRONOS_MAX_ENUM 0x7FFFFFFF
268#endif
269
270/*
271 * Enumerated boolean type
272 *
273 * Values other than zero should be considered to be true. Therefore
274 * comparisons should not be made against KHRONOS_TRUE.
275 */
276typedef enum {
277 KHRONOS_FALSE = 0,
278 KHRONOS_TRUE = 1,
279 KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
280} khronos_boolean_enum_t;
281
282#endif /* __khrplatform_h_ */
diff --git a/externals/glad/include/glad/glad.h b/externals/glad/include/glad/glad.h
new file mode 100644
index 000000000..678a5287a
--- /dev/null
+++ b/externals/glad/include/glad/glad.h
@@ -0,0 +1,2264 @@
1
2#ifndef __glad_h_
3#define __glad_h_
4
5#ifdef __gl_h_
6#error OpenGL header already included, remove this include, glad already provides it
7#endif
8#define __gl_h_
9
10#ifdef __gl2_h_
11#error OpenGL ES 2 header already included, remove this include, glad already provides it
12#endif
13#define __gl2_h_
14
15#ifdef __gl3_h_
16#error OpenGL ES 3 header already included, remove this include, glad already provides it
17#endif
18#define __gl3_h_
19
20#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
21#ifndef WIN32_LEAN_AND_MEAN
22#define WIN32_LEAN_AND_MEAN 1
23#endif
24#include <windows.h>
25#endif
26
27#ifndef APIENTRY
28#define APIENTRY
29#endif
30#ifndef APIENTRYP
31#define APIENTRYP APIENTRY *
32#endif
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38struct gladGLversionStruct {
39 int major;
40 int minor;
41};
42
43extern struct gladGLversionStruct GLVersion;
44
45typedef void* (* GLADloadproc)(const char *name);
46
47#ifndef GLAPI
48# if defined(GLAD_GLAPI_EXPORT)
49# if defined(WIN32) || defined(__CYGWIN__)
50# if defined(GLAD_GLAPI_EXPORT_BUILD)
51# if defined(__GNUC__)
52# define GLAPI __attribute__ ((dllexport)) extern
53# else
54# define GLAPI __declspec(dllexport) extern
55# endif
56# else
57# if defined(__GNUC__)
58# define GLAPI __attribute__ ((dllimport)) extern
59# else
60# define GLAPI __declspec(dllimport) extern
61# endif
62# endif
63# elif defined(__GNUC__) && defined(GLAD_GLAPI_EXPORT_BUILD)
64# define GLAPI __attribute__ ((visibility ("default"))) extern
65# else
66# define GLAPI extern
67# endif
68# else
69# define GLAPI extern
70# endif
71#endif
72
73GLAPI int gladLoadGL(void);
74
75GLAPI int gladLoadGLLoader(GLADloadproc);
76
77GLAPI int gladLoadGLES2Loader(GLADloadproc);
78
79#include <stddef.h>
80#include <KHR/khrplatform.h>
81#ifndef GLEXT_64_TYPES_DEFINED
82/* This code block is duplicated in glxext.h, so must be protected */
83#define GLEXT_64_TYPES_DEFINED
84/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
85/* (as used in the GL_EXT_timer_query extension). */
86#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
87#include <inttypes.h>
88#elif defined(__sun__) || defined(__digital__)
89#include <inttypes.h>
90#if defined(__STDC__)
91#if defined(__arch64__) || defined(_LP64)
92typedef long int int64_t;
93typedef unsigned long int uint64_t;
94#else
95typedef long long int int64_t;
96typedef unsigned long long int uint64_t;
97#endif /* __arch64__ */
98#endif /* __STDC__ */
99#elif defined( __VMS ) || defined(__sgi)
100#include <inttypes.h>
101#elif defined(__SCO__) || defined(__USLC__)
102#include <stdint.h>
103#elif defined(__UNIXOS2__) || defined(__SOL64__)
104typedef long int int32_t;
105typedef long long int int64_t;
106typedef unsigned long long int uint64_t;
107#elif defined(_WIN32) && defined(__GNUC__)
108#include <stdint.h>
109#elif defined(_WIN32)
110typedef __int32 int32_t;
111typedef __int64 int64_t;
112typedef unsigned __int64 uint64_t;
113#else
114/* Fallback if nothing above works */
115#include <inttypes.h>
116#endif
117#endif
118typedef unsigned int GLenum;
119typedef unsigned char GLboolean;
120typedef unsigned int GLbitfield;
121typedef void GLvoid;
122typedef signed char GLbyte;
123typedef short GLshort;
124typedef int GLint;
125typedef int GLclampx;
126typedef unsigned char GLubyte;
127typedef unsigned short GLushort;
128typedef unsigned int GLuint;
129typedef int GLsizei;
130typedef float GLfloat;
131typedef float GLclampf;
132typedef double GLdouble;
133typedef double GLclampd;
134typedef void *GLeglImageOES;
135typedef char GLchar;
136typedef char GLcharARB;
137#ifdef __APPLE__
138typedef void *GLhandleARB;
139#else
140typedef unsigned int GLhandleARB;
141#endif
142typedef unsigned short GLhalfARB;
143typedef unsigned short GLhalf;
144typedef GLint GLfixed;
145typedef ptrdiff_t GLintptr;
146typedef ptrdiff_t GLsizeiptr;
147typedef int64_t GLint64;
148typedef uint64_t GLuint64;
149typedef ptrdiff_t GLintptrARB;
150typedef ptrdiff_t GLsizeiptrARB;
151typedef int64_t GLint64EXT;
152typedef uint64_t GLuint64EXT;
153typedef struct __GLsync *GLsync;
154struct _cl_context;
155struct _cl_event;
156typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
157typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
158typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
159typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
160typedef unsigned short GLhalfNV;
161typedef GLintptr GLvdpauSurfaceNV;
162#define GL_DEPTH_BUFFER_BIT 0x00000100
163#define GL_STENCIL_BUFFER_BIT 0x00000400
164#define GL_COLOR_BUFFER_BIT 0x00004000
165#define GL_FALSE 0
166#define GL_TRUE 1
167#define GL_POINTS 0x0000
168#define GL_LINES 0x0001
169#define GL_LINE_LOOP 0x0002
170#define GL_LINE_STRIP 0x0003
171#define GL_TRIANGLES 0x0004
172#define GL_TRIANGLE_STRIP 0x0005
173#define GL_TRIANGLE_FAN 0x0006
174#define GL_NEVER 0x0200
175#define GL_LESS 0x0201
176#define GL_EQUAL 0x0202
177#define GL_LEQUAL 0x0203
178#define GL_GREATER 0x0204
179#define GL_NOTEQUAL 0x0205
180#define GL_GEQUAL 0x0206
181#define GL_ALWAYS 0x0207
182#define GL_ZERO 0
183#define GL_ONE 1
184#define GL_SRC_COLOR 0x0300
185#define GL_ONE_MINUS_SRC_COLOR 0x0301
186#define GL_SRC_ALPHA 0x0302
187#define GL_ONE_MINUS_SRC_ALPHA 0x0303
188#define GL_DST_ALPHA 0x0304
189#define GL_ONE_MINUS_DST_ALPHA 0x0305
190#define GL_DST_COLOR 0x0306
191#define GL_ONE_MINUS_DST_COLOR 0x0307
192#define GL_SRC_ALPHA_SATURATE 0x0308
193#define GL_NONE 0
194#define GL_FRONT_LEFT 0x0400
195#define GL_FRONT_RIGHT 0x0401
196#define GL_BACK_LEFT 0x0402
197#define GL_BACK_RIGHT 0x0403
198#define GL_FRONT 0x0404
199#define GL_BACK 0x0405
200#define GL_LEFT 0x0406
201#define GL_RIGHT 0x0407
202#define GL_FRONT_AND_BACK 0x0408
203#define GL_NO_ERROR 0
204#define GL_INVALID_ENUM 0x0500
205#define GL_INVALID_VALUE 0x0501
206#define GL_INVALID_OPERATION 0x0502
207#define GL_OUT_OF_MEMORY 0x0505
208#define GL_CW 0x0900
209#define GL_CCW 0x0901
210#define GL_POINT_SIZE 0x0B11
211#define GL_POINT_SIZE_RANGE 0x0B12
212#define GL_POINT_SIZE_GRANULARITY 0x0B13
213#define GL_LINE_SMOOTH 0x0B20
214#define GL_LINE_WIDTH 0x0B21
215#define GL_LINE_WIDTH_RANGE 0x0B22
216#define GL_LINE_WIDTH_GRANULARITY 0x0B23
217#define GL_POLYGON_MODE 0x0B40
218#define GL_POLYGON_SMOOTH 0x0B41
219#define GL_CULL_FACE 0x0B44
220#define GL_CULL_FACE_MODE 0x0B45
221#define GL_FRONT_FACE 0x0B46
222#define GL_DEPTH_RANGE 0x0B70
223#define GL_DEPTH_TEST 0x0B71
224#define GL_DEPTH_WRITEMASK 0x0B72
225#define GL_DEPTH_CLEAR_VALUE 0x0B73
226#define GL_DEPTH_FUNC 0x0B74
227#define GL_STENCIL_TEST 0x0B90
228#define GL_STENCIL_CLEAR_VALUE 0x0B91
229#define GL_STENCIL_FUNC 0x0B92
230#define GL_STENCIL_VALUE_MASK 0x0B93
231#define GL_STENCIL_FAIL 0x0B94
232#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
233#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
234#define GL_STENCIL_REF 0x0B97
235#define GL_STENCIL_WRITEMASK 0x0B98
236#define GL_VIEWPORT 0x0BA2
237#define GL_DITHER 0x0BD0
238#define GL_BLEND_DST 0x0BE0
239#define GL_BLEND_SRC 0x0BE1
240#define GL_BLEND 0x0BE2
241#define GL_LOGIC_OP_MODE 0x0BF0
242#define GL_COLOR_LOGIC_OP 0x0BF2
243#define GL_DRAW_BUFFER 0x0C01
244#define GL_READ_BUFFER 0x0C02
245#define GL_SCISSOR_BOX 0x0C10
246#define GL_SCISSOR_TEST 0x0C11
247#define GL_COLOR_CLEAR_VALUE 0x0C22
248#define GL_COLOR_WRITEMASK 0x0C23
249#define GL_DOUBLEBUFFER 0x0C32
250#define GL_STEREO 0x0C33
251#define GL_LINE_SMOOTH_HINT 0x0C52
252#define GL_POLYGON_SMOOTH_HINT 0x0C53
253#define GL_UNPACK_SWAP_BYTES 0x0CF0
254#define GL_UNPACK_LSB_FIRST 0x0CF1
255#define GL_UNPACK_ROW_LENGTH 0x0CF2
256#define GL_UNPACK_SKIP_ROWS 0x0CF3
257#define GL_UNPACK_SKIP_PIXELS 0x0CF4
258#define GL_UNPACK_ALIGNMENT 0x0CF5
259#define GL_PACK_SWAP_BYTES 0x0D00
260#define GL_PACK_LSB_FIRST 0x0D01
261#define GL_PACK_ROW_LENGTH 0x0D02
262#define GL_PACK_SKIP_ROWS 0x0D03
263#define GL_PACK_SKIP_PIXELS 0x0D04
264#define GL_PACK_ALIGNMENT 0x0D05
265#define GL_MAX_TEXTURE_SIZE 0x0D33
266#define GL_MAX_VIEWPORT_DIMS 0x0D3A
267#define GL_SUBPIXEL_BITS 0x0D50
268#define GL_TEXTURE_1D 0x0DE0
269#define GL_TEXTURE_2D 0x0DE1
270#define GL_POLYGON_OFFSET_UNITS 0x2A00
271#define GL_POLYGON_OFFSET_POINT 0x2A01
272#define GL_POLYGON_OFFSET_LINE 0x2A02
273#define GL_POLYGON_OFFSET_FILL 0x8037
274#define GL_POLYGON_OFFSET_FACTOR 0x8038
275#define GL_TEXTURE_BINDING_1D 0x8068
276#define GL_TEXTURE_BINDING_2D 0x8069
277#define GL_TEXTURE_WIDTH 0x1000
278#define GL_TEXTURE_HEIGHT 0x1001
279#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
280#define GL_TEXTURE_BORDER_COLOR 0x1004
281#define GL_TEXTURE_RED_SIZE 0x805C
282#define GL_TEXTURE_GREEN_SIZE 0x805D
283#define GL_TEXTURE_BLUE_SIZE 0x805E
284#define GL_TEXTURE_ALPHA_SIZE 0x805F
285#define GL_DONT_CARE 0x1100
286#define GL_FASTEST 0x1101
287#define GL_NICEST 0x1102
288#define GL_BYTE 0x1400
289#define GL_UNSIGNED_BYTE 0x1401
290#define GL_SHORT 0x1402
291#define GL_UNSIGNED_SHORT 0x1403
292#define GL_INT 0x1404
293#define GL_UNSIGNED_INT 0x1405
294#define GL_FLOAT 0x1406
295#define GL_DOUBLE 0x140A
296#define GL_CLEAR 0x1500
297#define GL_AND 0x1501
298#define GL_AND_REVERSE 0x1502
299#define GL_COPY 0x1503
300#define GL_AND_INVERTED 0x1504
301#define GL_NOOP 0x1505
302#define GL_XOR 0x1506
303#define GL_OR 0x1507
304#define GL_NOR 0x1508
305#define GL_EQUIV 0x1509
306#define GL_INVERT 0x150A
307#define GL_OR_REVERSE 0x150B
308#define GL_COPY_INVERTED 0x150C
309#define GL_OR_INVERTED 0x150D
310#define GL_NAND 0x150E
311#define GL_SET 0x150F
312#define GL_TEXTURE 0x1702
313#define GL_COLOR 0x1800
314#define GL_DEPTH 0x1801
315#define GL_STENCIL 0x1802
316#define GL_STENCIL_INDEX 0x1901
317#define GL_DEPTH_COMPONENT 0x1902
318#define GL_RED 0x1903
319#define GL_GREEN 0x1904
320#define GL_BLUE 0x1905
321#define GL_ALPHA 0x1906
322#define GL_RGB 0x1907
323#define GL_RGBA 0x1908
324#define GL_POINT 0x1B00
325#define GL_LINE 0x1B01
326#define GL_FILL 0x1B02
327#define GL_KEEP 0x1E00
328#define GL_REPLACE 0x1E01
329#define GL_INCR 0x1E02
330#define GL_DECR 0x1E03
331#define GL_VENDOR 0x1F00
332#define GL_RENDERER 0x1F01
333#define GL_VERSION 0x1F02
334#define GL_EXTENSIONS 0x1F03
335#define GL_NEAREST 0x2600
336#define GL_LINEAR 0x2601
337#define GL_NEAREST_MIPMAP_NEAREST 0x2700
338#define GL_LINEAR_MIPMAP_NEAREST 0x2701
339#define GL_NEAREST_MIPMAP_LINEAR 0x2702
340#define GL_LINEAR_MIPMAP_LINEAR 0x2703
341#define GL_TEXTURE_MAG_FILTER 0x2800
342#define GL_TEXTURE_MIN_FILTER 0x2801
343#define GL_TEXTURE_WRAP_S 0x2802
344#define GL_TEXTURE_WRAP_T 0x2803
345#define GL_PROXY_TEXTURE_1D 0x8063
346#define GL_PROXY_TEXTURE_2D 0x8064
347#define GL_REPEAT 0x2901
348#define GL_R3_G3_B2 0x2A10
349#define GL_RGB4 0x804F
350#define GL_RGB5 0x8050
351#define GL_RGB8 0x8051
352#define GL_RGB10 0x8052
353#define GL_RGB12 0x8053
354#define GL_RGB16 0x8054
355#define GL_RGBA2 0x8055
356#define GL_RGBA4 0x8056
357#define GL_RGB5_A1 0x8057
358#define GL_RGBA8 0x8058
359#define GL_RGB10_A2 0x8059
360#define GL_RGBA12 0x805A
361#define GL_RGBA16 0x805B
362#define GL_UNSIGNED_BYTE_3_3_2 0x8032
363#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
364#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
365#define GL_UNSIGNED_INT_8_8_8_8 0x8035
366#define GL_UNSIGNED_INT_10_10_10_2 0x8036
367#define GL_TEXTURE_BINDING_3D 0x806A
368#define GL_PACK_SKIP_IMAGES 0x806B
369#define GL_PACK_IMAGE_HEIGHT 0x806C
370#define GL_UNPACK_SKIP_IMAGES 0x806D
371#define GL_UNPACK_IMAGE_HEIGHT 0x806E
372#define GL_TEXTURE_3D 0x806F
373#define GL_PROXY_TEXTURE_3D 0x8070
374#define GL_TEXTURE_DEPTH 0x8071
375#define GL_TEXTURE_WRAP_R 0x8072
376#define GL_MAX_3D_TEXTURE_SIZE 0x8073
377#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
378#define GL_UNSIGNED_SHORT_5_6_5 0x8363
379#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
380#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
381#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
382#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
383#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
384#define GL_BGR 0x80E0
385#define GL_BGRA 0x80E1
386#define GL_MAX_ELEMENTS_VERTICES 0x80E8
387#define GL_MAX_ELEMENTS_INDICES 0x80E9
388#define GL_CLAMP_TO_EDGE 0x812F
389#define GL_TEXTURE_MIN_LOD 0x813A
390#define GL_TEXTURE_MAX_LOD 0x813B
391#define GL_TEXTURE_BASE_LEVEL 0x813C
392#define GL_TEXTURE_MAX_LEVEL 0x813D
393#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
394#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
395#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
396#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
397#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
398#define GL_TEXTURE0 0x84C0
399#define GL_TEXTURE1 0x84C1
400#define GL_TEXTURE2 0x84C2
401#define GL_TEXTURE3 0x84C3
402#define GL_TEXTURE4 0x84C4
403#define GL_TEXTURE5 0x84C5
404#define GL_TEXTURE6 0x84C6
405#define GL_TEXTURE7 0x84C7
406#define GL_TEXTURE8 0x84C8
407#define GL_TEXTURE9 0x84C9
408#define GL_TEXTURE10 0x84CA
409#define GL_TEXTURE11 0x84CB
410#define GL_TEXTURE12 0x84CC
411#define GL_TEXTURE13 0x84CD
412#define GL_TEXTURE14 0x84CE
413#define GL_TEXTURE15 0x84CF
414#define GL_TEXTURE16 0x84D0
415#define GL_TEXTURE17 0x84D1
416#define GL_TEXTURE18 0x84D2
417#define GL_TEXTURE19 0x84D3
418#define GL_TEXTURE20 0x84D4
419#define GL_TEXTURE21 0x84D5
420#define GL_TEXTURE22 0x84D6
421#define GL_TEXTURE23 0x84D7
422#define GL_TEXTURE24 0x84D8
423#define GL_TEXTURE25 0x84D9
424#define GL_TEXTURE26 0x84DA
425#define GL_TEXTURE27 0x84DB
426#define GL_TEXTURE28 0x84DC
427#define GL_TEXTURE29 0x84DD
428#define GL_TEXTURE30 0x84DE
429#define GL_TEXTURE31 0x84DF
430#define GL_ACTIVE_TEXTURE 0x84E0
431#define GL_MULTISAMPLE 0x809D
432#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
433#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
434#define GL_SAMPLE_COVERAGE 0x80A0
435#define GL_SAMPLE_BUFFERS 0x80A8
436#define GL_SAMPLES 0x80A9
437#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
438#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
439#define GL_TEXTURE_CUBE_MAP 0x8513
440#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
441#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
442#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
443#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
444#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
445#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
446#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
447#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
448#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
449#define GL_COMPRESSED_RGB 0x84ED
450#define GL_COMPRESSED_RGBA 0x84EE
451#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
452#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
453#define GL_TEXTURE_COMPRESSED 0x86A1
454#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
455#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
456#define GL_CLAMP_TO_BORDER 0x812D
457#define GL_BLEND_DST_RGB 0x80C8
458#define GL_BLEND_SRC_RGB 0x80C9
459#define GL_BLEND_DST_ALPHA 0x80CA
460#define GL_BLEND_SRC_ALPHA 0x80CB
461#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
462#define GL_DEPTH_COMPONENT16 0x81A5
463#define GL_DEPTH_COMPONENT24 0x81A6
464#define GL_DEPTH_COMPONENT32 0x81A7
465#define GL_MIRRORED_REPEAT 0x8370
466#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
467#define GL_TEXTURE_LOD_BIAS 0x8501
468#define GL_INCR_WRAP 0x8507
469#define GL_DECR_WRAP 0x8508
470#define GL_TEXTURE_DEPTH_SIZE 0x884A
471#define GL_TEXTURE_COMPARE_MODE 0x884C
472#define GL_TEXTURE_COMPARE_FUNC 0x884D
473#define GL_FUNC_ADD 0x8006
474#define GL_FUNC_SUBTRACT 0x800A
475#define GL_FUNC_REVERSE_SUBTRACT 0x800B
476#define GL_MIN 0x8007
477#define GL_MAX 0x8008
478#define GL_CONSTANT_COLOR 0x8001
479#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
480#define GL_CONSTANT_ALPHA 0x8003
481#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
482#define GL_BUFFER_SIZE 0x8764
483#define GL_BUFFER_USAGE 0x8765
484#define GL_QUERY_COUNTER_BITS 0x8864
485#define GL_CURRENT_QUERY 0x8865
486#define GL_QUERY_RESULT 0x8866
487#define GL_QUERY_RESULT_AVAILABLE 0x8867
488#define GL_ARRAY_BUFFER 0x8892
489#define GL_ELEMENT_ARRAY_BUFFER 0x8893
490#define GL_ARRAY_BUFFER_BINDING 0x8894
491#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
492#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
493#define GL_READ_ONLY 0x88B8
494#define GL_WRITE_ONLY 0x88B9
495#define GL_READ_WRITE 0x88BA
496#define GL_BUFFER_ACCESS 0x88BB
497#define GL_BUFFER_MAPPED 0x88BC
498#define GL_BUFFER_MAP_POINTER 0x88BD
499#define GL_STREAM_DRAW 0x88E0
500#define GL_STREAM_READ 0x88E1
501#define GL_STREAM_COPY 0x88E2
502#define GL_STATIC_DRAW 0x88E4
503#define GL_STATIC_READ 0x88E5
504#define GL_STATIC_COPY 0x88E6
505#define GL_DYNAMIC_DRAW 0x88E8
506#define GL_DYNAMIC_READ 0x88E9
507#define GL_DYNAMIC_COPY 0x88EA
508#define GL_SAMPLES_PASSED 0x8914
509#define GL_SRC1_ALPHA 0x8589
510#define GL_BLEND_EQUATION_RGB 0x8009
511#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
512#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
513#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
514#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
515#define GL_CURRENT_VERTEX_ATTRIB 0x8626
516#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
517#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
518#define GL_STENCIL_BACK_FUNC 0x8800
519#define GL_STENCIL_BACK_FAIL 0x8801
520#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
521#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
522#define GL_MAX_DRAW_BUFFERS 0x8824
523#define GL_DRAW_BUFFER0 0x8825
524#define GL_DRAW_BUFFER1 0x8826
525#define GL_DRAW_BUFFER2 0x8827
526#define GL_DRAW_BUFFER3 0x8828
527#define GL_DRAW_BUFFER4 0x8829
528#define GL_DRAW_BUFFER5 0x882A
529#define GL_DRAW_BUFFER6 0x882B
530#define GL_DRAW_BUFFER7 0x882C
531#define GL_DRAW_BUFFER8 0x882D
532#define GL_DRAW_BUFFER9 0x882E
533#define GL_DRAW_BUFFER10 0x882F
534#define GL_DRAW_BUFFER11 0x8830
535#define GL_DRAW_BUFFER12 0x8831
536#define GL_DRAW_BUFFER13 0x8832
537#define GL_DRAW_BUFFER14 0x8833
538#define GL_DRAW_BUFFER15 0x8834
539#define GL_BLEND_EQUATION_ALPHA 0x883D
540#define GL_MAX_VERTEX_ATTRIBS 0x8869
541#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
542#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
543#define GL_FRAGMENT_SHADER 0x8B30
544#define GL_VERTEX_SHADER 0x8B31
545#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
546#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
547#define GL_MAX_VARYING_FLOATS 0x8B4B
548#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
549#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
550#define GL_SHADER_TYPE 0x8B4F
551#define GL_FLOAT_VEC2 0x8B50
552#define GL_FLOAT_VEC3 0x8B51
553#define GL_FLOAT_VEC4 0x8B52
554#define GL_INT_VEC2 0x8B53
555#define GL_INT_VEC3 0x8B54
556#define GL_INT_VEC4 0x8B55
557#define GL_BOOL 0x8B56
558#define GL_BOOL_VEC2 0x8B57
559#define GL_BOOL_VEC3 0x8B58
560#define GL_BOOL_VEC4 0x8B59
561#define GL_FLOAT_MAT2 0x8B5A
562#define GL_FLOAT_MAT3 0x8B5B
563#define GL_FLOAT_MAT4 0x8B5C
564#define GL_SAMPLER_1D 0x8B5D
565#define GL_SAMPLER_2D 0x8B5E
566#define GL_SAMPLER_3D 0x8B5F
567#define GL_SAMPLER_CUBE 0x8B60
568#define GL_SAMPLER_1D_SHADOW 0x8B61
569#define GL_SAMPLER_2D_SHADOW 0x8B62
570#define GL_DELETE_STATUS 0x8B80
571#define GL_COMPILE_STATUS 0x8B81
572#define GL_LINK_STATUS 0x8B82
573#define GL_VALIDATE_STATUS 0x8B83
574#define GL_INFO_LOG_LENGTH 0x8B84
575#define GL_ATTACHED_SHADERS 0x8B85
576#define GL_ACTIVE_UNIFORMS 0x8B86
577#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
578#define GL_SHADER_SOURCE_LENGTH 0x8B88
579#define GL_ACTIVE_ATTRIBUTES 0x8B89
580#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
581#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
582#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
583#define GL_CURRENT_PROGRAM 0x8B8D
584#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
585#define GL_LOWER_LEFT 0x8CA1
586#define GL_UPPER_LEFT 0x8CA2
587#define GL_STENCIL_BACK_REF 0x8CA3
588#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
589#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
590#define GL_PIXEL_PACK_BUFFER 0x88EB
591#define GL_PIXEL_UNPACK_BUFFER 0x88EC
592#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
593#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
594#define GL_FLOAT_MAT2x3 0x8B65
595#define GL_FLOAT_MAT2x4 0x8B66
596#define GL_FLOAT_MAT3x2 0x8B67
597#define GL_FLOAT_MAT3x4 0x8B68
598#define GL_FLOAT_MAT4x2 0x8B69
599#define GL_FLOAT_MAT4x3 0x8B6A
600#define GL_SRGB 0x8C40
601#define GL_SRGB8 0x8C41
602#define GL_SRGB_ALPHA 0x8C42
603#define GL_SRGB8_ALPHA8 0x8C43
604#define GL_COMPRESSED_SRGB 0x8C48
605#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
606#define GL_COMPARE_REF_TO_TEXTURE 0x884E
607#define GL_CLIP_DISTANCE0 0x3000
608#define GL_CLIP_DISTANCE1 0x3001
609#define GL_CLIP_DISTANCE2 0x3002
610#define GL_CLIP_DISTANCE3 0x3003
611#define GL_CLIP_DISTANCE4 0x3004
612#define GL_CLIP_DISTANCE5 0x3005
613#define GL_CLIP_DISTANCE6 0x3006
614#define GL_CLIP_DISTANCE7 0x3007
615#define GL_MAX_CLIP_DISTANCES 0x0D32
616#define GL_MAJOR_VERSION 0x821B
617#define GL_MINOR_VERSION 0x821C
618#define GL_NUM_EXTENSIONS 0x821D
619#define GL_CONTEXT_FLAGS 0x821E
620#define GL_COMPRESSED_RED 0x8225
621#define GL_COMPRESSED_RG 0x8226
622#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001
623#define GL_RGBA32F 0x8814
624#define GL_RGB32F 0x8815
625#define GL_RGBA16F 0x881A
626#define GL_RGB16F 0x881B
627#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
628#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
629#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
630#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
631#define GL_CLAMP_READ_COLOR 0x891C
632#define GL_FIXED_ONLY 0x891D
633#define GL_MAX_VARYING_COMPONENTS 0x8B4B
634#define GL_TEXTURE_1D_ARRAY 0x8C18
635#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
636#define GL_TEXTURE_2D_ARRAY 0x8C1A
637#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
638#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
639#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
640#define GL_R11F_G11F_B10F 0x8C3A
641#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
642#define GL_RGB9_E5 0x8C3D
643#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
644#define GL_TEXTURE_SHARED_SIZE 0x8C3F
645#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
646#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
647#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
648#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
649#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
650#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
651#define GL_PRIMITIVES_GENERATED 0x8C87
652#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
653#define GL_RASTERIZER_DISCARD 0x8C89
654#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
655#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
656#define GL_INTERLEAVED_ATTRIBS 0x8C8C
657#define GL_SEPARATE_ATTRIBS 0x8C8D
658#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
659#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
660#define GL_RGBA32UI 0x8D70
661#define GL_RGB32UI 0x8D71
662#define GL_RGBA16UI 0x8D76
663#define GL_RGB16UI 0x8D77
664#define GL_RGBA8UI 0x8D7C
665#define GL_RGB8UI 0x8D7D
666#define GL_RGBA32I 0x8D82
667#define GL_RGB32I 0x8D83
668#define GL_RGBA16I 0x8D88
669#define GL_RGB16I 0x8D89
670#define GL_RGBA8I 0x8D8E
671#define GL_RGB8I 0x8D8F
672#define GL_RED_INTEGER 0x8D94
673#define GL_GREEN_INTEGER 0x8D95
674#define GL_BLUE_INTEGER 0x8D96
675#define GL_RGB_INTEGER 0x8D98
676#define GL_RGBA_INTEGER 0x8D99
677#define GL_BGR_INTEGER 0x8D9A
678#define GL_BGRA_INTEGER 0x8D9B
679#define GL_SAMPLER_1D_ARRAY 0x8DC0
680#define GL_SAMPLER_2D_ARRAY 0x8DC1
681#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
682#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
683#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
684#define GL_UNSIGNED_INT_VEC2 0x8DC6
685#define GL_UNSIGNED_INT_VEC3 0x8DC7
686#define GL_UNSIGNED_INT_VEC4 0x8DC8
687#define GL_INT_SAMPLER_1D 0x8DC9
688#define GL_INT_SAMPLER_2D 0x8DCA
689#define GL_INT_SAMPLER_3D 0x8DCB
690#define GL_INT_SAMPLER_CUBE 0x8DCC
691#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
692#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
693#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
694#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
695#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
696#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
697#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
698#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
699#define GL_QUERY_WAIT 0x8E13
700#define GL_QUERY_NO_WAIT 0x8E14
701#define GL_QUERY_BY_REGION_WAIT 0x8E15
702#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
703#define GL_BUFFER_ACCESS_FLAGS 0x911F
704#define GL_BUFFER_MAP_LENGTH 0x9120
705#define GL_BUFFER_MAP_OFFSET 0x9121
706#define GL_DEPTH_COMPONENT32F 0x8CAC
707#define GL_DEPTH32F_STENCIL8 0x8CAD
708#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
709#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
710#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
711#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
712#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
713#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
714#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
715#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
716#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
717#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
718#define GL_FRAMEBUFFER_DEFAULT 0x8218
719#define GL_FRAMEBUFFER_UNDEFINED 0x8219
720#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
721#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
722#define GL_DEPTH_STENCIL 0x84F9
723#define GL_UNSIGNED_INT_24_8 0x84FA
724#define GL_DEPTH24_STENCIL8 0x88F0
725#define GL_TEXTURE_STENCIL_SIZE 0x88F1
726#define GL_TEXTURE_RED_TYPE 0x8C10
727#define GL_TEXTURE_GREEN_TYPE 0x8C11
728#define GL_TEXTURE_BLUE_TYPE 0x8C12
729#define GL_TEXTURE_ALPHA_TYPE 0x8C13
730#define GL_TEXTURE_DEPTH_TYPE 0x8C16
731#define GL_UNSIGNED_NORMALIZED 0x8C17
732#define GL_FRAMEBUFFER_BINDING 0x8CA6
733#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
734#define GL_RENDERBUFFER_BINDING 0x8CA7
735#define GL_READ_FRAMEBUFFER 0x8CA8
736#define GL_DRAW_FRAMEBUFFER 0x8CA9
737#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
738#define GL_RENDERBUFFER_SAMPLES 0x8CAB
739#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
740#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
741#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
742#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
743#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
744#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
745#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
746#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
747#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
748#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
749#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
750#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
751#define GL_COLOR_ATTACHMENT0 0x8CE0
752#define GL_COLOR_ATTACHMENT1 0x8CE1
753#define GL_COLOR_ATTACHMENT2 0x8CE2
754#define GL_COLOR_ATTACHMENT3 0x8CE3
755#define GL_COLOR_ATTACHMENT4 0x8CE4
756#define GL_COLOR_ATTACHMENT5 0x8CE5
757#define GL_COLOR_ATTACHMENT6 0x8CE6
758#define GL_COLOR_ATTACHMENT7 0x8CE7
759#define GL_COLOR_ATTACHMENT8 0x8CE8
760#define GL_COLOR_ATTACHMENT9 0x8CE9
761#define GL_COLOR_ATTACHMENT10 0x8CEA
762#define GL_COLOR_ATTACHMENT11 0x8CEB
763#define GL_COLOR_ATTACHMENT12 0x8CEC
764#define GL_COLOR_ATTACHMENT13 0x8CED
765#define GL_COLOR_ATTACHMENT14 0x8CEE
766#define GL_COLOR_ATTACHMENT15 0x8CEF
767#define GL_COLOR_ATTACHMENT16 0x8CF0
768#define GL_COLOR_ATTACHMENT17 0x8CF1
769#define GL_COLOR_ATTACHMENT18 0x8CF2
770#define GL_COLOR_ATTACHMENT19 0x8CF3
771#define GL_COLOR_ATTACHMENT20 0x8CF4
772#define GL_COLOR_ATTACHMENT21 0x8CF5
773#define GL_COLOR_ATTACHMENT22 0x8CF6
774#define GL_COLOR_ATTACHMENT23 0x8CF7
775#define GL_COLOR_ATTACHMENT24 0x8CF8
776#define GL_COLOR_ATTACHMENT25 0x8CF9
777#define GL_COLOR_ATTACHMENT26 0x8CFA
778#define GL_COLOR_ATTACHMENT27 0x8CFB
779#define GL_COLOR_ATTACHMENT28 0x8CFC
780#define GL_COLOR_ATTACHMENT29 0x8CFD
781#define GL_COLOR_ATTACHMENT30 0x8CFE
782#define GL_COLOR_ATTACHMENT31 0x8CFF
783#define GL_DEPTH_ATTACHMENT 0x8D00
784#define GL_STENCIL_ATTACHMENT 0x8D20
785#define GL_FRAMEBUFFER 0x8D40
786#define GL_RENDERBUFFER 0x8D41
787#define GL_RENDERBUFFER_WIDTH 0x8D42
788#define GL_RENDERBUFFER_HEIGHT 0x8D43
789#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
790#define GL_STENCIL_INDEX1 0x8D46
791#define GL_STENCIL_INDEX4 0x8D47
792#define GL_STENCIL_INDEX8 0x8D48
793#define GL_STENCIL_INDEX16 0x8D49
794#define GL_RENDERBUFFER_RED_SIZE 0x8D50
795#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
796#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
797#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
798#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
799#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
800#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
801#define GL_MAX_SAMPLES 0x8D57
802#define GL_INDEX 0x8222
803#define GL_FRAMEBUFFER_SRGB 0x8DB9
804#define GL_HALF_FLOAT 0x140B
805#define GL_MAP_READ_BIT 0x0001
806#define GL_MAP_WRITE_BIT 0x0002
807#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
808#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
809#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
810#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
811#define GL_COMPRESSED_RED_RGTC1 0x8DBB
812#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
813#define GL_COMPRESSED_RG_RGTC2 0x8DBD
814#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
815#define GL_RG 0x8227
816#define GL_RG_INTEGER 0x8228
817#define GL_R8 0x8229
818#define GL_R16 0x822A
819#define GL_RG8 0x822B
820#define GL_RG16 0x822C
821#define GL_R16F 0x822D
822#define GL_R32F 0x822E
823#define GL_RG16F 0x822F
824#define GL_RG32F 0x8230
825#define GL_R8I 0x8231
826#define GL_R8UI 0x8232
827#define GL_R16I 0x8233
828#define GL_R16UI 0x8234
829#define GL_R32I 0x8235
830#define GL_R32UI 0x8236
831#define GL_RG8I 0x8237
832#define GL_RG8UI 0x8238
833#define GL_RG16I 0x8239
834#define GL_RG16UI 0x823A
835#define GL_RG32I 0x823B
836#define GL_RG32UI 0x823C
837#define GL_VERTEX_ARRAY_BINDING 0x85B5
838#define GL_SAMPLER_2D_RECT 0x8B63
839#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
840#define GL_SAMPLER_BUFFER 0x8DC2
841#define GL_INT_SAMPLER_2D_RECT 0x8DCD
842#define GL_INT_SAMPLER_BUFFER 0x8DD0
843#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
844#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
845#define GL_TEXTURE_BUFFER 0x8C2A
846#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
847#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
848#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
849#define GL_TEXTURE_RECTANGLE 0x84F5
850#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
851#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
852#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
853#define GL_R8_SNORM 0x8F94
854#define GL_RG8_SNORM 0x8F95
855#define GL_RGB8_SNORM 0x8F96
856#define GL_RGBA8_SNORM 0x8F97
857#define GL_R16_SNORM 0x8F98
858#define GL_RG16_SNORM 0x8F99
859#define GL_RGB16_SNORM 0x8F9A
860#define GL_RGBA16_SNORM 0x8F9B
861#define GL_SIGNED_NORMALIZED 0x8F9C
862#define GL_PRIMITIVE_RESTART 0x8F9D
863#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
864#define GL_COPY_READ_BUFFER 0x8F36
865#define GL_COPY_WRITE_BUFFER 0x8F37
866#define GL_UNIFORM_BUFFER 0x8A11
867#define GL_UNIFORM_BUFFER_BINDING 0x8A28
868#define GL_UNIFORM_BUFFER_START 0x8A29
869#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
870#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
871#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
872#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
873#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
874#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
875#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
876#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
877#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
878#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
879#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
880#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
881#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
882#define GL_UNIFORM_TYPE 0x8A37
883#define GL_UNIFORM_SIZE 0x8A38
884#define GL_UNIFORM_NAME_LENGTH 0x8A39
885#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
886#define GL_UNIFORM_OFFSET 0x8A3B
887#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
888#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
889#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
890#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
891#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
892#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
893#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
894#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
895#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
896#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
897#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
898#define GL_INVALID_INDEX 0xFFFFFFFF
899#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
900#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
901#define GL_LINES_ADJACENCY 0x000A
902#define GL_LINE_STRIP_ADJACENCY 0x000B
903#define GL_TRIANGLES_ADJACENCY 0x000C
904#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
905#define GL_PROGRAM_POINT_SIZE 0x8642
906#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
907#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
908#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
909#define GL_GEOMETRY_SHADER 0x8DD9
910#define GL_GEOMETRY_VERTICES_OUT 0x8916
911#define GL_GEOMETRY_INPUT_TYPE 0x8917
912#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
913#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
914#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
915#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
916#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
917#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
918#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
919#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
920#define GL_CONTEXT_PROFILE_MASK 0x9126
921#define GL_DEPTH_CLAMP 0x864F
922#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
923#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
924#define GL_LAST_VERTEX_CONVENTION 0x8E4E
925#define GL_PROVOKING_VERTEX 0x8E4F
926#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
927#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
928#define GL_OBJECT_TYPE 0x9112
929#define GL_SYNC_CONDITION 0x9113
930#define GL_SYNC_STATUS 0x9114
931#define GL_SYNC_FLAGS 0x9115
932#define GL_SYNC_FENCE 0x9116
933#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
934#define GL_UNSIGNALED 0x9118
935#define GL_SIGNALED 0x9119
936#define GL_ALREADY_SIGNALED 0x911A
937#define GL_TIMEOUT_EXPIRED 0x911B
938#define GL_CONDITION_SATISFIED 0x911C
939#define GL_WAIT_FAILED 0x911D
940#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF
941#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
942#define GL_SAMPLE_POSITION 0x8E50
943#define GL_SAMPLE_MASK 0x8E51
944#define GL_SAMPLE_MASK_VALUE 0x8E52
945#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
946#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
947#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
948#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
949#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
950#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
951#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
952#define GL_TEXTURE_SAMPLES 0x9106
953#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
954#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
955#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
956#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
957#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
958#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
959#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
960#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
961#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
962#define GL_MAX_INTEGER_SAMPLES 0x9110
963#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
964#define GL_SRC1_COLOR 0x88F9
965#define GL_ONE_MINUS_SRC1_COLOR 0x88FA
966#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
967#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC
968#define GL_ANY_SAMPLES_PASSED 0x8C2F
969#define GL_SAMPLER_BINDING 0x8919
970#define GL_RGB10_A2UI 0x906F
971#define GL_TEXTURE_SWIZZLE_R 0x8E42
972#define GL_TEXTURE_SWIZZLE_G 0x8E43
973#define GL_TEXTURE_SWIZZLE_B 0x8E44
974#define GL_TEXTURE_SWIZZLE_A 0x8E45
975#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
976#define GL_TIME_ELAPSED 0x88BF
977#define GL_TIMESTAMP 0x8E28
978#define GL_INT_2_10_10_10_REV 0x8D9F
979#define GL_BLEND_EQUATION 0x8009
980#define GL_BLEND_COLOR 0x8005
981#define GL_FIXED 0x140C
982#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
983#define GL_MAX_VARYING_VECTORS 0x8DFC
984#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
985#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
986#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
987#define GL_SHADER_COMPILER 0x8DFA
988#define GL_SHADER_BINARY_FORMATS 0x8DF8
989#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
990#define GL_LOW_FLOAT 0x8DF0
991#define GL_MEDIUM_FLOAT 0x8DF1
992#define GL_HIGH_FLOAT 0x8DF2
993#define GL_LOW_INT 0x8DF3
994#define GL_MEDIUM_INT 0x8DF4
995#define GL_HIGH_INT 0x8DF5
996#define GL_RGB565 0x8D62
997#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
998#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
999#define GL_COPY_READ_BUFFER_BINDING 0x8F36
1000#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
1001#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
1002#define GL_TRANSFORM_FEEDBACK 0x8E22
1003#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
1004#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
1005#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
1006#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
1007#define GL_PROGRAM_BINARY_LENGTH 0x8741
1008#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
1009#define GL_PROGRAM_BINARY_FORMATS 0x87FF
1010#define GL_COMPRESSED_R11_EAC 0x9270
1011#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
1012#define GL_COMPRESSED_RG11_EAC 0x9272
1013#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
1014#define GL_COMPRESSED_RGB8_ETC2 0x9274
1015#define GL_COMPRESSED_SRGB8_ETC2 0x9275
1016#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
1017#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
1018#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
1019#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
1020#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
1021#define GL_MAX_ELEMENT_INDEX 0x8D6B
1022#define GL_NUM_SAMPLE_COUNTS 0x9380
1023#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
1024#ifndef GL_VERSION_1_0
1025#define GL_VERSION_1_0 1
1026GLAPI int GLAD_GL_VERSION_1_0;
1027typedef void (APIENTRYP PFNGLCULLFACEPROC)(GLenum);
1028GLAPI PFNGLCULLFACEPROC glad_glCullFace;
1029#define glCullFace glad_glCullFace
1030typedef void (APIENTRYP PFNGLFRONTFACEPROC)(GLenum);
1031GLAPI PFNGLFRONTFACEPROC glad_glFrontFace;
1032#define glFrontFace glad_glFrontFace
1033typedef void (APIENTRYP PFNGLHINTPROC)(GLenum, GLenum);
1034GLAPI PFNGLHINTPROC glad_glHint;
1035#define glHint glad_glHint
1036typedef void (APIENTRYP PFNGLLINEWIDTHPROC)(GLfloat);
1037GLAPI PFNGLLINEWIDTHPROC glad_glLineWidth;
1038#define glLineWidth glad_glLineWidth
1039typedef void (APIENTRYP PFNGLPOINTSIZEPROC)(GLfloat);
1040GLAPI PFNGLPOINTSIZEPROC glad_glPointSize;
1041#define glPointSize glad_glPointSize
1042typedef void (APIENTRYP PFNGLPOLYGONMODEPROC)(GLenum, GLenum);
1043GLAPI PFNGLPOLYGONMODEPROC glad_glPolygonMode;
1044#define glPolygonMode glad_glPolygonMode
1045typedef void (APIENTRYP PFNGLSCISSORPROC)(GLint, GLint, GLsizei, GLsizei);
1046GLAPI PFNGLSCISSORPROC glad_glScissor;
1047#define glScissor glad_glScissor
1048typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC)(GLenum, GLenum, GLfloat);
1049GLAPI PFNGLTEXPARAMETERFPROC glad_glTexParameterf;
1050#define glTexParameterf glad_glTexParameterf
1051typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC)(GLenum, GLenum, const GLfloat*);
1052GLAPI PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv;
1053#define glTexParameterfv glad_glTexParameterfv
1054typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC)(GLenum, GLenum, GLint);
1055GLAPI PFNGLTEXPARAMETERIPROC glad_glTexParameteri;
1056#define glTexParameteri glad_glTexParameteri
1057typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC)(GLenum, GLenum, const GLint*);
1058GLAPI PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv;
1059#define glTexParameteriv glad_glTexParameteriv
1060typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const void*);
1061GLAPI PFNGLTEXIMAGE1DPROC glad_glTexImage1D;
1062#define glTexImage1D glad_glTexImage1D
1063typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*);
1064GLAPI PFNGLTEXIMAGE2DPROC glad_glTexImage2D;
1065#define glTexImage2D glad_glTexImage2D
1066typedef void (APIENTRYP PFNGLDRAWBUFFERPROC)(GLenum);
1067GLAPI PFNGLDRAWBUFFERPROC glad_glDrawBuffer;
1068#define glDrawBuffer glad_glDrawBuffer
1069typedef void (APIENTRYP PFNGLCLEARPROC)(GLbitfield);
1070GLAPI PFNGLCLEARPROC glad_glClear;
1071#define glClear glad_glClear
1072typedef void (APIENTRYP PFNGLCLEARCOLORPROC)(GLfloat, GLfloat, GLfloat, GLfloat);
1073GLAPI PFNGLCLEARCOLORPROC glad_glClearColor;
1074#define glClearColor glad_glClearColor
1075typedef void (APIENTRYP PFNGLCLEARSTENCILPROC)(GLint);
1076GLAPI PFNGLCLEARSTENCILPROC glad_glClearStencil;
1077#define glClearStencil glad_glClearStencil
1078typedef void (APIENTRYP PFNGLCLEARDEPTHPROC)(GLdouble);
1079GLAPI PFNGLCLEARDEPTHPROC glad_glClearDepth;
1080#define glClearDepth glad_glClearDepth
1081typedef void (APIENTRYP PFNGLSTENCILMASKPROC)(GLuint);
1082GLAPI PFNGLSTENCILMASKPROC glad_glStencilMask;
1083#define glStencilMask glad_glStencilMask
1084typedef void (APIENTRYP PFNGLCOLORMASKPROC)(GLboolean, GLboolean, GLboolean, GLboolean);
1085GLAPI PFNGLCOLORMASKPROC glad_glColorMask;
1086#define glColorMask glad_glColorMask
1087typedef void (APIENTRYP PFNGLDEPTHMASKPROC)(GLboolean);
1088GLAPI PFNGLDEPTHMASKPROC glad_glDepthMask;
1089#define glDepthMask glad_glDepthMask
1090typedef void (APIENTRYP PFNGLDISABLEPROC)(GLenum);
1091GLAPI PFNGLDISABLEPROC glad_glDisable;
1092#define glDisable glad_glDisable
1093typedef void (APIENTRYP PFNGLENABLEPROC)(GLenum);
1094GLAPI PFNGLENABLEPROC glad_glEnable;
1095#define glEnable glad_glEnable
1096typedef void (APIENTRYP PFNGLFINISHPROC)();
1097GLAPI PFNGLFINISHPROC glad_glFinish;
1098#define glFinish glad_glFinish
1099typedef void (APIENTRYP PFNGLFLUSHPROC)();
1100GLAPI PFNGLFLUSHPROC glad_glFlush;
1101#define glFlush glad_glFlush
1102typedef void (APIENTRYP PFNGLBLENDFUNCPROC)(GLenum, GLenum);
1103GLAPI PFNGLBLENDFUNCPROC glad_glBlendFunc;
1104#define glBlendFunc glad_glBlendFunc
1105typedef void (APIENTRYP PFNGLLOGICOPPROC)(GLenum);
1106GLAPI PFNGLLOGICOPPROC glad_glLogicOp;
1107#define glLogicOp glad_glLogicOp
1108typedef void (APIENTRYP PFNGLSTENCILFUNCPROC)(GLenum, GLint, GLuint);
1109GLAPI PFNGLSTENCILFUNCPROC glad_glStencilFunc;
1110#define glStencilFunc glad_glStencilFunc
1111typedef void (APIENTRYP PFNGLSTENCILOPPROC)(GLenum, GLenum, GLenum);
1112GLAPI PFNGLSTENCILOPPROC glad_glStencilOp;
1113#define glStencilOp glad_glStencilOp
1114typedef void (APIENTRYP PFNGLDEPTHFUNCPROC)(GLenum);
1115GLAPI PFNGLDEPTHFUNCPROC glad_glDepthFunc;
1116#define glDepthFunc glad_glDepthFunc
1117typedef void (APIENTRYP PFNGLPIXELSTOREFPROC)(GLenum, GLfloat);
1118GLAPI PFNGLPIXELSTOREFPROC glad_glPixelStoref;
1119#define glPixelStoref glad_glPixelStoref
1120typedef void (APIENTRYP PFNGLPIXELSTOREIPROC)(GLenum, GLint);
1121GLAPI PFNGLPIXELSTOREIPROC glad_glPixelStorei;
1122#define glPixelStorei glad_glPixelStorei
1123typedef void (APIENTRYP PFNGLREADBUFFERPROC)(GLenum);
1124GLAPI PFNGLREADBUFFERPROC glad_glReadBuffer;
1125#define glReadBuffer glad_glReadBuffer
1126typedef void (APIENTRYP PFNGLREADPIXELSPROC)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void*);
1127GLAPI PFNGLREADPIXELSPROC glad_glReadPixels;
1128#define glReadPixels glad_glReadPixels
1129typedef void (APIENTRYP PFNGLGETBOOLEANVPROC)(GLenum, GLboolean*);
1130GLAPI PFNGLGETBOOLEANVPROC glad_glGetBooleanv;
1131#define glGetBooleanv glad_glGetBooleanv
1132typedef void (APIENTRYP PFNGLGETDOUBLEVPROC)(GLenum, GLdouble*);
1133GLAPI PFNGLGETDOUBLEVPROC glad_glGetDoublev;
1134#define glGetDoublev glad_glGetDoublev
1135typedef GLenum (APIENTRYP PFNGLGETERRORPROC)();
1136GLAPI PFNGLGETERRORPROC glad_glGetError;
1137#define glGetError glad_glGetError
1138typedef void (APIENTRYP PFNGLGETFLOATVPROC)(GLenum, GLfloat*);
1139GLAPI PFNGLGETFLOATVPROC glad_glGetFloatv;
1140#define glGetFloatv glad_glGetFloatv
1141typedef void (APIENTRYP PFNGLGETINTEGERVPROC)(GLenum, GLint*);
1142GLAPI PFNGLGETINTEGERVPROC glad_glGetIntegerv;
1143#define glGetIntegerv glad_glGetIntegerv
1144typedef const GLubyte* (APIENTRYP PFNGLGETSTRINGPROC)(GLenum);
1145GLAPI PFNGLGETSTRINGPROC glad_glGetString;
1146#define glGetString glad_glGetString
1147typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC)(GLenum, GLint, GLenum, GLenum, void*);
1148GLAPI PFNGLGETTEXIMAGEPROC glad_glGetTexImage;
1149#define glGetTexImage glad_glGetTexImage
1150typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC)(GLenum, GLenum, GLfloat*);
1151GLAPI PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv;
1152#define glGetTexParameterfv glad_glGetTexParameterfv
1153typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC)(GLenum, GLenum, GLint*);
1154GLAPI PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv;
1155#define glGetTexParameteriv glad_glGetTexParameteriv
1156typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum, GLint, GLenum, GLfloat*);
1157GLAPI PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv;
1158#define glGetTexLevelParameterfv glad_glGetTexLevelParameterfv
1159typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum, GLint, GLenum, GLint*);
1160GLAPI PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv;
1161#define glGetTexLevelParameteriv glad_glGetTexLevelParameteriv
1162typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC)(GLenum);
1163GLAPI PFNGLISENABLEDPROC glad_glIsEnabled;
1164#define glIsEnabled glad_glIsEnabled
1165typedef void (APIENTRYP PFNGLDEPTHRANGEPROC)(GLdouble, GLdouble);
1166GLAPI PFNGLDEPTHRANGEPROC glad_glDepthRange;
1167#define glDepthRange glad_glDepthRange
1168typedef void (APIENTRYP PFNGLVIEWPORTPROC)(GLint, GLint, GLsizei, GLsizei);
1169GLAPI PFNGLVIEWPORTPROC glad_glViewport;
1170#define glViewport glad_glViewport
1171#endif
1172#ifndef GL_VERSION_1_1
1173#define GL_VERSION_1_1 1
1174GLAPI int GLAD_GL_VERSION_1_1;
1175typedef void (APIENTRYP PFNGLDRAWARRAYSPROC)(GLenum, GLint, GLsizei);
1176GLAPI PFNGLDRAWARRAYSPROC glad_glDrawArrays;
1177#define glDrawArrays glad_glDrawArrays
1178typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC)(GLenum, GLsizei, GLenum, const void*);
1179GLAPI PFNGLDRAWELEMENTSPROC glad_glDrawElements;
1180#define glDrawElements glad_glDrawElements
1181typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC)(GLfloat, GLfloat);
1182GLAPI PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset;
1183#define glPolygonOffset glad_glPolygonOffset
1184typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
1185GLAPI PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D;
1186#define glCopyTexImage1D glad_glCopyTexImage1D
1187typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
1188GLAPI PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D;
1189#define glCopyTexImage2D glad_glCopyTexImage2D
1190typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum, GLint, GLint, GLint, GLint, GLsizei);
1191GLAPI PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D;
1192#define glCopyTexSubImage1D glad_glCopyTexSubImage1D
1193typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
1194GLAPI PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D;
1195#define glCopyTexSubImage2D glad_glCopyTexSubImage2D
1196typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const void*);
1197GLAPI PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D;
1198#define glTexSubImage1D glad_glTexSubImage1D
1199typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const void*);
1200GLAPI PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D;
1201#define glTexSubImage2D glad_glTexSubImage2D
1202typedef void (APIENTRYP PFNGLBINDTEXTUREPROC)(GLenum, GLuint);
1203GLAPI PFNGLBINDTEXTUREPROC glad_glBindTexture;
1204#define glBindTexture glad_glBindTexture
1205typedef void (APIENTRYP PFNGLDELETETEXTURESPROC)(GLsizei, const GLuint*);
1206GLAPI PFNGLDELETETEXTURESPROC glad_glDeleteTextures;
1207#define glDeleteTextures glad_glDeleteTextures
1208typedef void (APIENTRYP PFNGLGENTEXTURESPROC)(GLsizei, GLuint*);
1209GLAPI PFNGLGENTEXTURESPROC glad_glGenTextures;
1210#define glGenTextures glad_glGenTextures
1211typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC)(GLuint);
1212GLAPI PFNGLISTEXTUREPROC glad_glIsTexture;
1213#define glIsTexture glad_glIsTexture
1214#endif
1215#ifndef GL_VERSION_1_2
1216#define GL_VERSION_1_2 1
1217GLAPI int GLAD_GL_VERSION_1_2;
1218typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void*);
1219GLAPI PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements;
1220#define glDrawRangeElements glad_glDrawRangeElements
1221typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void*);
1222GLAPI PFNGLTEXIMAGE3DPROC glad_glTexImage3D;
1223#define glTexImage3D glad_glTexImage3D
1224typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void*);
1225GLAPI PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D;
1226#define glTexSubImage3D glad_glTexSubImage3D
1227typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
1228GLAPI PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D;
1229#define glCopyTexSubImage3D glad_glCopyTexSubImage3D
1230#endif
1231#ifndef GL_VERSION_1_3
1232#define GL_VERSION_1_3 1
1233GLAPI int GLAD_GL_VERSION_1_3;
1234typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum);
1235GLAPI PFNGLACTIVETEXTUREPROC glad_glActiveTexture;
1236#define glActiveTexture glad_glActiveTexture
1237typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC)(GLfloat, GLboolean);
1238GLAPI PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage;
1239#define glSampleCoverage glad_glSampleCoverage
1240typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void*);
1241GLAPI PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D;
1242#define glCompressedTexImage3D glad_glCompressedTexImage3D
1243typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void*);
1244GLAPI PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D;
1245#define glCompressedTexImage2D glad_glCompressedTexImage2D
1246typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const void*);
1247GLAPI PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D;
1248#define glCompressedTexImage1D glad_glCompressedTexImage1D
1249typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void*);
1250GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D;
1251#define glCompressedTexSubImage3D glad_glCompressedTexSubImage3D
1252typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const void*);
1253GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D;
1254#define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D
1255typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const void*);
1256GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D;
1257#define glCompressedTexSubImage1D glad_glCompressedTexSubImage1D
1258typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum, GLint, void*);
1259GLAPI PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage;
1260#define glGetCompressedTexImage glad_glGetCompressedTexImage
1261#endif
1262#ifndef GL_VERSION_1_4
1263#define GL_VERSION_1_4 1
1264GLAPI int GLAD_GL_VERSION_1_4;
1265typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC)(GLenum, GLenum, GLenum, GLenum);
1266GLAPI PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate;
1267#define glBlendFuncSeparate glad_glBlendFuncSeparate
1268typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC)(GLenum, const GLint*, const GLsizei*, GLsizei);
1269GLAPI PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays;
1270#define glMultiDrawArrays glad_glMultiDrawArrays
1271typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC)(GLenum, const GLsizei*, GLenum, const void**, GLsizei);
1272GLAPI PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements;
1273#define glMultiDrawElements glad_glMultiDrawElements
1274typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC)(GLenum, GLfloat);
1275GLAPI PFNGLPOINTPARAMETERFPROC glad_glPointParameterf;
1276#define glPointParameterf glad_glPointParameterf
1277typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC)(GLenum, const GLfloat*);
1278GLAPI PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv;
1279#define glPointParameterfv glad_glPointParameterfv
1280typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC)(GLenum, GLint);
1281GLAPI PFNGLPOINTPARAMETERIPROC glad_glPointParameteri;
1282#define glPointParameteri glad_glPointParameteri
1283typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC)(GLenum, const GLint*);
1284GLAPI PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv;
1285#define glPointParameteriv glad_glPointParameteriv
1286typedef void (APIENTRYP PFNGLBLENDCOLORPROC)(GLfloat, GLfloat, GLfloat, GLfloat);
1287GLAPI PFNGLBLENDCOLORPROC glad_glBlendColor;
1288#define glBlendColor glad_glBlendColor
1289typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC)(GLenum);
1290GLAPI PFNGLBLENDEQUATIONPROC glad_glBlendEquation;
1291#define glBlendEquation glad_glBlendEquation
1292#endif
1293#ifndef GL_VERSION_1_5
1294#define GL_VERSION_1_5 1
1295GLAPI int GLAD_GL_VERSION_1_5;
1296typedef void (APIENTRYP PFNGLGENQUERIESPROC)(GLsizei, GLuint*);
1297GLAPI PFNGLGENQUERIESPROC glad_glGenQueries;
1298#define glGenQueries glad_glGenQueries
1299typedef void (APIENTRYP PFNGLDELETEQUERIESPROC)(GLsizei, const GLuint*);
1300GLAPI PFNGLDELETEQUERIESPROC glad_glDeleteQueries;
1301#define glDeleteQueries glad_glDeleteQueries
1302typedef GLboolean (APIENTRYP PFNGLISQUERYPROC)(GLuint);
1303GLAPI PFNGLISQUERYPROC glad_glIsQuery;
1304#define glIsQuery glad_glIsQuery
1305typedef void (APIENTRYP PFNGLBEGINQUERYPROC)(GLenum, GLuint);
1306GLAPI PFNGLBEGINQUERYPROC glad_glBeginQuery;
1307#define glBeginQuery glad_glBeginQuery
1308typedef void (APIENTRYP PFNGLENDQUERYPROC)(GLenum);
1309GLAPI PFNGLENDQUERYPROC glad_glEndQuery;
1310#define glEndQuery glad_glEndQuery
1311typedef void (APIENTRYP PFNGLGETQUERYIVPROC)(GLenum, GLenum, GLint*);
1312GLAPI PFNGLGETQUERYIVPROC glad_glGetQueryiv;
1313#define glGetQueryiv glad_glGetQueryiv
1314typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC)(GLuint, GLenum, GLint*);
1315GLAPI PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv;
1316#define glGetQueryObjectiv glad_glGetQueryObjectiv
1317typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC)(GLuint, GLenum, GLuint*);
1318GLAPI PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv;
1319#define glGetQueryObjectuiv glad_glGetQueryObjectuiv
1320typedef void (APIENTRYP PFNGLBINDBUFFERPROC)(GLenum, GLuint);
1321GLAPI PFNGLBINDBUFFERPROC glad_glBindBuffer;
1322#define glBindBuffer glad_glBindBuffer
1323typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC)(GLsizei, const GLuint*);
1324GLAPI PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers;
1325#define glDeleteBuffers glad_glDeleteBuffers
1326typedef void (APIENTRYP PFNGLGENBUFFERSPROC)(GLsizei, GLuint*);
1327GLAPI PFNGLGENBUFFERSPROC glad_glGenBuffers;
1328#define glGenBuffers glad_glGenBuffers
1329typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC)(GLuint);
1330GLAPI PFNGLISBUFFERPROC glad_glIsBuffer;
1331#define glIsBuffer glad_glIsBuffer
1332typedef void (APIENTRYP PFNGLBUFFERDATAPROC)(GLenum, GLsizeiptr, const void*, GLenum);
1333GLAPI PFNGLBUFFERDATAPROC glad_glBufferData;
1334#define glBufferData glad_glBufferData
1335typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC)(GLenum, GLintptr, GLsizeiptr, const void*);
1336GLAPI PFNGLBUFFERSUBDATAPROC glad_glBufferSubData;
1337#define glBufferSubData glad_glBufferSubData
1338typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC)(GLenum, GLintptr, GLsizeiptr, void*);
1339GLAPI PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData;
1340#define glGetBufferSubData glad_glGetBufferSubData
1341typedef void* (APIENTRYP PFNGLMAPBUFFERPROC)(GLenum, GLenum);
1342GLAPI PFNGLMAPBUFFERPROC glad_glMapBuffer;
1343#define glMapBuffer glad_glMapBuffer
1344typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC)(GLenum);
1345GLAPI PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer;
1346#define glUnmapBuffer glad_glUnmapBuffer
1347typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC)(GLenum, GLenum, GLint*);
1348GLAPI PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv;
1349#define glGetBufferParameteriv glad_glGetBufferParameteriv
1350typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum, GLenum, void**);
1351GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;
1352#define glGetBufferPointerv glad_glGetBufferPointerv
1353#endif
1354#ifndef GL_VERSION_2_0
1355#define GL_VERSION_2_0 1
1356GLAPI int GLAD_GL_VERSION_2_0;
1357typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum, GLenum);
1358GLAPI PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate;
1359#define glBlendEquationSeparate glad_glBlendEquationSeparate
1360typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC)(GLsizei, const GLenum*);
1361GLAPI PFNGLDRAWBUFFERSPROC glad_glDrawBuffers;
1362#define glDrawBuffers glad_glDrawBuffers
1363typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC)(GLenum, GLenum, GLenum, GLenum);
1364GLAPI PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate;
1365#define glStencilOpSeparate glad_glStencilOpSeparate
1366typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC)(GLenum, GLenum, GLint, GLuint);
1367GLAPI PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate;
1368#define glStencilFuncSeparate glad_glStencilFuncSeparate
1369typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC)(GLenum, GLuint);
1370GLAPI PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate;
1371#define glStencilMaskSeparate glad_glStencilMaskSeparate
1372typedef void (APIENTRYP PFNGLATTACHSHADERPROC)(GLuint, GLuint);
1373GLAPI PFNGLATTACHSHADERPROC glad_glAttachShader;
1374#define glAttachShader glad_glAttachShader
1375typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC)(GLuint, GLuint, const GLchar*);
1376GLAPI PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation;
1377#define glBindAttribLocation glad_glBindAttribLocation
1378typedef void (APIENTRYP PFNGLCOMPILESHADERPROC)(GLuint);
1379GLAPI PFNGLCOMPILESHADERPROC glad_glCompileShader;
1380#define glCompileShader glad_glCompileShader
1381typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC)();
1382GLAPI PFNGLCREATEPROGRAMPROC glad_glCreateProgram;
1383#define glCreateProgram glad_glCreateProgram
1384typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC)(GLenum);
1385GLAPI PFNGLCREATESHADERPROC glad_glCreateShader;
1386#define glCreateShader glad_glCreateShader
1387typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC)(GLuint);
1388GLAPI PFNGLDELETEPROGRAMPROC glad_glDeleteProgram;
1389#define glDeleteProgram glad_glDeleteProgram
1390typedef void (APIENTRYP PFNGLDELETESHADERPROC)(GLuint);
1391GLAPI PFNGLDELETESHADERPROC glad_glDeleteShader;
1392#define glDeleteShader glad_glDeleteShader
1393typedef void (APIENTRYP PFNGLDETACHSHADERPROC)(GLuint, GLuint);
1394GLAPI PFNGLDETACHSHADERPROC glad_glDetachShader;
1395#define glDetachShader glad_glDetachShader
1396typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint);
1397GLAPI PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray;
1398#define glDisableVertexAttribArray glad_glDisableVertexAttribArray
1399typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint);
1400GLAPI PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray;
1401#define glEnableVertexAttribArray glad_glEnableVertexAttribArray
1402typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*);
1403GLAPI PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib;
1404#define glGetActiveAttrib glad_glGetActiveAttrib
1405typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*);
1406GLAPI PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform;
1407#define glGetActiveUniform glad_glGetActiveUniform
1408typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC)(GLuint, GLsizei, GLsizei*, GLuint*);
1409GLAPI PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders;
1410#define glGetAttachedShaders glad_glGetAttachedShaders
1411typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC)(GLuint, const GLchar*);
1412GLAPI PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation;
1413#define glGetAttribLocation glad_glGetAttribLocation
1414typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC)(GLuint, GLenum, GLint*);
1415GLAPI PFNGLGETPROGRAMIVPROC glad_glGetProgramiv;
1416#define glGetProgramiv glad_glGetProgramiv
1417typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC)(GLuint, GLsizei, GLsizei*, GLchar*);
1418GLAPI PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog;
1419#define glGetProgramInfoLog glad_glGetProgramInfoLog
1420typedef void (APIENTRYP PFNGLGETSHADERIVPROC)(GLuint, GLenum, GLint*);
1421GLAPI PFNGLGETSHADERIVPROC glad_glGetShaderiv;
1422#define glGetShaderiv glad_glGetShaderiv
1423typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC)(GLuint, GLsizei, GLsizei*, GLchar*);
1424GLAPI PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog;
1425#define glGetShaderInfoLog glad_glGetShaderInfoLog
1426typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC)(GLuint, GLsizei, GLsizei*, GLchar*);
1427GLAPI PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource;
1428#define glGetShaderSource glad_glGetShaderSource
1429typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC)(GLuint, const GLchar*);
1430GLAPI PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation;
1431#define glGetUniformLocation glad_glGetUniformLocation
1432typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC)(GLuint, GLint, GLfloat*);
1433GLAPI PFNGLGETUNIFORMFVPROC glad_glGetUniformfv;
1434#define glGetUniformfv glad_glGetUniformfv
1435typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC)(GLuint, GLint, GLint*);
1436GLAPI PFNGLGETUNIFORMIVPROC glad_glGetUniformiv;
1437#define glGetUniformiv glad_glGetUniformiv
1438typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC)(GLuint, GLenum, GLdouble*);
1439GLAPI PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv;
1440#define glGetVertexAttribdv glad_glGetVertexAttribdv
1441typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC)(GLuint, GLenum, GLfloat*);
1442GLAPI PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv;
1443#define glGetVertexAttribfv glad_glGetVertexAttribfv
1444typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC)(GLuint, GLenum, GLint*);
1445GLAPI PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv;
1446#define glGetVertexAttribiv glad_glGetVertexAttribiv
1447typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint, GLenum, void**);
1448GLAPI PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv;
1449#define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv
1450typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC)(GLuint);
1451GLAPI PFNGLISPROGRAMPROC glad_glIsProgram;
1452#define glIsProgram glad_glIsProgram
1453typedef GLboolean (APIENTRYP PFNGLISSHADERPROC)(GLuint);
1454GLAPI PFNGLISSHADERPROC glad_glIsShader;
1455#define glIsShader glad_glIsShader
1456typedef void (APIENTRYP PFNGLLINKPROGRAMPROC)(GLuint);
1457GLAPI PFNGLLINKPROGRAMPROC glad_glLinkProgram;
1458#define glLinkProgram glad_glLinkProgram
1459typedef void (APIENTRYP PFNGLSHADERSOURCEPROC)(GLuint, GLsizei, const GLchar**, const GLint*);
1460GLAPI PFNGLSHADERSOURCEPROC glad_glShaderSource;
1461#define glShaderSource glad_glShaderSource
1462typedef void (APIENTRYP PFNGLUSEPROGRAMPROC)(GLuint);
1463GLAPI PFNGLUSEPROGRAMPROC glad_glUseProgram;
1464#define glUseProgram glad_glUseProgram
1465typedef void (APIENTRYP PFNGLUNIFORM1FPROC)(GLint, GLfloat);
1466GLAPI PFNGLUNIFORM1FPROC glad_glUniform1f;
1467#define glUniform1f glad_glUniform1f
1468typedef void (APIENTRYP PFNGLUNIFORM2FPROC)(GLint, GLfloat, GLfloat);
1469GLAPI PFNGLUNIFORM2FPROC glad_glUniform2f;
1470#define glUniform2f glad_glUniform2f
1471typedef void (APIENTRYP PFNGLUNIFORM3FPROC)(GLint, GLfloat, GLfloat, GLfloat);
1472GLAPI PFNGLUNIFORM3FPROC glad_glUniform3f;
1473#define glUniform3f glad_glUniform3f
1474typedef void (APIENTRYP PFNGLUNIFORM4FPROC)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
1475GLAPI PFNGLUNIFORM4FPROC glad_glUniform4f;
1476#define glUniform4f glad_glUniform4f
1477typedef void (APIENTRYP PFNGLUNIFORM1IPROC)(GLint, GLint);
1478GLAPI PFNGLUNIFORM1IPROC glad_glUniform1i;
1479#define glUniform1i glad_glUniform1i
1480typedef void (APIENTRYP PFNGLUNIFORM2IPROC)(GLint, GLint, GLint);
1481GLAPI PFNGLUNIFORM2IPROC glad_glUniform2i;
1482#define glUniform2i glad_glUniform2i
1483typedef void (APIENTRYP PFNGLUNIFORM3IPROC)(GLint, GLint, GLint, GLint);
1484GLAPI PFNGLUNIFORM3IPROC glad_glUniform3i;
1485#define glUniform3i glad_glUniform3i
1486typedef void (APIENTRYP PFNGLUNIFORM4IPROC)(GLint, GLint, GLint, GLint, GLint);
1487GLAPI PFNGLUNIFORM4IPROC glad_glUniform4i;
1488#define glUniform4i glad_glUniform4i
1489typedef void (APIENTRYP PFNGLUNIFORM1FVPROC)(GLint, GLsizei, const GLfloat*);
1490GLAPI PFNGLUNIFORM1FVPROC glad_glUniform1fv;
1491#define glUniform1fv glad_glUniform1fv
1492typedef void (APIENTRYP PFNGLUNIFORM2FVPROC)(GLint, GLsizei, const GLfloat*);
1493GLAPI PFNGLUNIFORM2FVPROC glad_glUniform2fv;
1494#define glUniform2fv glad_glUniform2fv
1495typedef void (APIENTRYP PFNGLUNIFORM3FVPROC)(GLint, GLsizei, const GLfloat*);
1496GLAPI PFNGLUNIFORM3FVPROC glad_glUniform3fv;
1497#define glUniform3fv glad_glUniform3fv
1498typedef void (APIENTRYP PFNGLUNIFORM4FVPROC)(GLint, GLsizei, const GLfloat*);
1499GLAPI PFNGLUNIFORM4FVPROC glad_glUniform4fv;
1500#define glUniform4fv glad_glUniform4fv
1501typedef void (APIENTRYP PFNGLUNIFORM1IVPROC)(GLint, GLsizei, const GLint*);
1502GLAPI PFNGLUNIFORM1IVPROC glad_glUniform1iv;
1503#define glUniform1iv glad_glUniform1iv
1504typedef void (APIENTRYP PFNGLUNIFORM2IVPROC)(GLint, GLsizei, const GLint*);
1505GLAPI PFNGLUNIFORM2IVPROC glad_glUniform2iv;
1506#define glUniform2iv glad_glUniform2iv
1507typedef void (APIENTRYP PFNGLUNIFORM3IVPROC)(GLint, GLsizei, const GLint*);
1508GLAPI PFNGLUNIFORM3IVPROC glad_glUniform3iv;
1509#define glUniform3iv glad_glUniform3iv
1510typedef void (APIENTRYP PFNGLUNIFORM4IVPROC)(GLint, GLsizei, const GLint*);
1511GLAPI PFNGLUNIFORM4IVPROC glad_glUniform4iv;
1512#define glUniform4iv glad_glUniform4iv
1513typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
1514GLAPI PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv;
1515#define glUniformMatrix2fv glad_glUniformMatrix2fv
1516typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
1517GLAPI PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv;
1518#define glUniformMatrix3fv glad_glUniformMatrix3fv
1519typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
1520GLAPI PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv;
1521#define glUniformMatrix4fv glad_glUniformMatrix4fv
1522typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC)(GLuint);
1523GLAPI PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram;
1524#define glValidateProgram glad_glValidateProgram
1525typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC)(GLuint, GLdouble);
1526GLAPI PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d;
1527#define glVertexAttrib1d glad_glVertexAttrib1d
1528typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC)(GLuint, const GLdouble*);
1529GLAPI PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv;
1530#define glVertexAttrib1dv glad_glVertexAttrib1dv
1531typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC)(GLuint, GLfloat);
1532GLAPI PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f;
1533#define glVertexAttrib1f glad_glVertexAttrib1f
1534typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC)(GLuint, const GLfloat*);
1535GLAPI PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv;
1536#define glVertexAttrib1fv glad_glVertexAttrib1fv
1537typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC)(GLuint, GLshort);
1538GLAPI PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s;
1539#define glVertexAttrib1s glad_glVertexAttrib1s
1540typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC)(GLuint, const GLshort*);
1541GLAPI PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv;
1542#define glVertexAttrib1sv glad_glVertexAttrib1sv
1543typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC)(GLuint, GLdouble, GLdouble);
1544GLAPI PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d;
1545#define glVertexAttrib2d glad_glVertexAttrib2d
1546typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC)(GLuint, const GLdouble*);
1547GLAPI PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv;
1548#define glVertexAttrib2dv glad_glVertexAttrib2dv
1549typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC)(GLuint, GLfloat, GLfloat);
1550GLAPI PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f;
1551#define glVertexAttrib2f glad_glVertexAttrib2f
1552typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC)(GLuint, const GLfloat*);
1553GLAPI PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv;
1554#define glVertexAttrib2fv glad_glVertexAttrib2fv
1555typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC)(GLuint, GLshort, GLshort);
1556GLAPI PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s;
1557#define glVertexAttrib2s glad_glVertexAttrib2s
1558typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC)(GLuint, const GLshort*);
1559GLAPI PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv;
1560#define glVertexAttrib2sv glad_glVertexAttrib2sv
1561typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC)(GLuint, GLdouble, GLdouble, GLdouble);
1562GLAPI PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d;
1563#define glVertexAttrib3d glad_glVertexAttrib3d
1564typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC)(GLuint, const GLdouble*);
1565GLAPI PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv;
1566#define glVertexAttrib3dv glad_glVertexAttrib3dv
1567typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC)(GLuint, GLfloat, GLfloat, GLfloat);
1568GLAPI PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f;
1569#define glVertexAttrib3f glad_glVertexAttrib3f
1570typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC)(GLuint, const GLfloat*);
1571GLAPI PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv;
1572#define glVertexAttrib3fv glad_glVertexAttrib3fv
1573typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC)(GLuint, GLshort, GLshort, GLshort);
1574GLAPI PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s;
1575#define glVertexAttrib3s glad_glVertexAttrib3s
1576typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC)(GLuint, const GLshort*);
1577GLAPI PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv;
1578#define glVertexAttrib3sv glad_glVertexAttrib3sv
1579typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC)(GLuint, const GLbyte*);
1580GLAPI PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv;
1581#define glVertexAttrib4Nbv glad_glVertexAttrib4Nbv
1582typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC)(GLuint, const GLint*);
1583GLAPI PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv;
1584#define glVertexAttrib4Niv glad_glVertexAttrib4Niv
1585typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC)(GLuint, const GLshort*);
1586GLAPI PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv;
1587#define glVertexAttrib4Nsv glad_glVertexAttrib4Nsv
1588typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
1589GLAPI PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub;
1590#define glVertexAttrib4Nub glad_glVertexAttrib4Nub
1591typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC)(GLuint, const GLubyte*);
1592GLAPI PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv;
1593#define glVertexAttrib4Nubv glad_glVertexAttrib4Nubv
1594typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC)(GLuint, const GLuint*);
1595GLAPI PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv;
1596#define glVertexAttrib4Nuiv glad_glVertexAttrib4Nuiv
1597typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC)(GLuint, const GLushort*);
1598GLAPI PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv;
1599#define glVertexAttrib4Nusv glad_glVertexAttrib4Nusv
1600typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC)(GLuint, const GLbyte*);
1601GLAPI PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv;
1602#define glVertexAttrib4bv glad_glVertexAttrib4bv
1603typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
1604GLAPI PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d;
1605#define glVertexAttrib4d glad_glVertexAttrib4d
1606typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC)(GLuint, const GLdouble*);
1607GLAPI PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv;
1608#define glVertexAttrib4dv glad_glVertexAttrib4dv
1609typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
1610GLAPI PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f;
1611#define glVertexAttrib4f glad_glVertexAttrib4f
1612typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC)(GLuint, const GLfloat*);
1613GLAPI PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv;
1614#define glVertexAttrib4fv glad_glVertexAttrib4fv
1615typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC)(GLuint, const GLint*);
1616GLAPI PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv;
1617#define glVertexAttrib4iv glad_glVertexAttrib4iv
1618typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC)(GLuint, GLshort, GLshort, GLshort, GLshort);
1619GLAPI PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s;
1620#define glVertexAttrib4s glad_glVertexAttrib4s
1621typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC)(GLuint, const GLshort*);
1622GLAPI PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv;
1623#define glVertexAttrib4sv glad_glVertexAttrib4sv
1624typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC)(GLuint, const GLubyte*);
1625GLAPI PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv;
1626#define glVertexAttrib4ubv glad_glVertexAttrib4ubv
1627typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC)(GLuint, const GLuint*);
1628GLAPI PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv;
1629#define glVertexAttrib4uiv glad_glVertexAttrib4uiv
1630typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC)(GLuint, const GLushort*);
1631GLAPI PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv;
1632#define glVertexAttrib4usv glad_glVertexAttrib4usv
1633typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void*);
1634GLAPI PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer;
1635#define glVertexAttribPointer glad_glVertexAttribPointer
1636#endif
1637#ifndef GL_VERSION_2_1
1638#define GL_VERSION_2_1 1
1639GLAPI int GLAD_GL_VERSION_2_1;
1640typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
1641GLAPI PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv;
1642#define glUniformMatrix2x3fv glad_glUniformMatrix2x3fv
1643typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
1644GLAPI PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv;
1645#define glUniformMatrix3x2fv glad_glUniformMatrix3x2fv
1646typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
1647GLAPI PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv;
1648#define glUniformMatrix2x4fv glad_glUniformMatrix2x4fv
1649typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
1650GLAPI PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv;
1651#define glUniformMatrix4x2fv glad_glUniformMatrix4x2fv
1652typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
1653GLAPI PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv;
1654#define glUniformMatrix3x4fv glad_glUniformMatrix3x4fv
1655typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint, GLsizei, GLboolean, const GLfloat*);
1656GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;
1657#define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv
1658#endif
1659#ifndef GL_VERSION_3_0
1660#define GL_VERSION_3_0 1
1661GLAPI int GLAD_GL_VERSION_3_0;
1662typedef void (APIENTRYP PFNGLCOLORMASKIPROC)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
1663GLAPI PFNGLCOLORMASKIPROC glad_glColorMaski;
1664#define glColorMaski glad_glColorMaski
1665typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum, GLuint, GLboolean*);
1666GLAPI PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v;
1667#define glGetBooleani_v glad_glGetBooleani_v
1668typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum, GLuint, GLint*);
1669GLAPI PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v;
1670#define glGetIntegeri_v glad_glGetIntegeri_v
1671typedef void (APIENTRYP PFNGLENABLEIPROC)(GLenum, GLuint);
1672GLAPI PFNGLENABLEIPROC glad_glEnablei;
1673#define glEnablei glad_glEnablei
1674typedef void (APIENTRYP PFNGLDISABLEIPROC)(GLenum, GLuint);
1675GLAPI PFNGLDISABLEIPROC glad_glDisablei;
1676#define glDisablei glad_glDisablei
1677typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC)(GLenum, GLuint);
1678GLAPI PFNGLISENABLEDIPROC glad_glIsEnabledi;
1679#define glIsEnabledi glad_glIsEnabledi
1680typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum);
1681GLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback;
1682#define glBeginTransformFeedback glad_glBeginTransformFeedback
1683typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)();
1684GLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback;
1685#define glEndTransformFeedback glad_glEndTransformFeedback
1686typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
1687GLAPI PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange;
1688#define glBindBufferRange glad_glBindBufferRange
1689typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum, GLuint, GLuint);
1690GLAPI PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase;
1691#define glBindBufferBase glad_glBindBufferBase
1692typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint, GLsizei, const GLchar**, GLenum);
1693GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings;
1694#define glTransformFeedbackVaryings glad_glTransformFeedbackVaryings
1695typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*);
1696GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying;
1697#define glGetTransformFeedbackVarying glad_glGetTransformFeedbackVarying
1698typedef void (APIENTRYP PFNGLCLAMPCOLORPROC)(GLenum, GLenum);
1699GLAPI PFNGLCLAMPCOLORPROC glad_glClampColor;
1700#define glClampColor glad_glClampColor
1701typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC)(GLuint, GLenum);
1702GLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender;
1703#define glBeginConditionalRender glad_glBeginConditionalRender
1704typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC)();
1705GLAPI PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender;
1706#define glEndConditionalRender glad_glEndConditionalRender
1707typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint, GLint, GLenum, GLsizei, const void*);
1708GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer;
1709#define glVertexAttribIPointer glad_glVertexAttribIPointer
1710typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint, GLenum, GLint*);
1711GLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv;
1712#define glGetVertexAttribIiv glad_glGetVertexAttribIiv
1713typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint, GLenum, GLuint*);
1714GLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv;
1715#define glGetVertexAttribIuiv glad_glGetVertexAttribIuiv
1716typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC)(GLuint, GLint);
1717GLAPI PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i;
1718#define glVertexAttribI1i glad_glVertexAttribI1i
1719typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC)(GLuint, GLint, GLint);
1720GLAPI PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i;
1721#define glVertexAttribI2i glad_glVertexAttribI2i
1722typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC)(GLuint, GLint, GLint, GLint);
1723GLAPI PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i;
1724#define glVertexAttribI3i glad_glVertexAttribI3i
1725typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint, GLint, GLint, GLint, GLint);
1726GLAPI PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i;
1727#define glVertexAttribI4i glad_glVertexAttribI4i
1728typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC)(GLuint, GLuint);
1729GLAPI PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui;
1730#define glVertexAttribI1ui glad_glVertexAttribI1ui
1731typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC)(GLuint, GLuint, GLuint);
1732GLAPI PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui;
1733#define glVertexAttribI2ui glad_glVertexAttribI2ui
1734typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC)(GLuint, GLuint, GLuint, GLuint);
1735GLAPI PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui;
1736#define glVertexAttribI3ui glad_glVertexAttribI3ui
1737typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint, GLuint, GLuint, GLuint, GLuint);
1738GLAPI PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui;
1739#define glVertexAttribI4ui glad_glVertexAttribI4ui
1740typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC)(GLuint, const GLint*);
1741GLAPI PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv;
1742#define glVertexAttribI1iv glad_glVertexAttribI1iv
1743typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC)(GLuint, const GLint*);
1744GLAPI PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv;
1745#define glVertexAttribI2iv glad_glVertexAttribI2iv
1746typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC)(GLuint, const GLint*);
1747GLAPI PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv;
1748#define glVertexAttribI3iv glad_glVertexAttribI3iv
1749typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint, const GLint*);
1750GLAPI PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv;
1751#define glVertexAttribI4iv glad_glVertexAttribI4iv
1752typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC)(GLuint, const GLuint*);
1753GLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv;
1754#define glVertexAttribI1uiv glad_glVertexAttribI1uiv
1755typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC)(GLuint, const GLuint*);
1756GLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv;
1757#define glVertexAttribI2uiv glad_glVertexAttribI2uiv
1758typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC)(GLuint, const GLuint*);
1759GLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv;
1760#define glVertexAttribI3uiv glad_glVertexAttribI3uiv
1761typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint, const GLuint*);
1762GLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv;
1763#define glVertexAttribI4uiv glad_glVertexAttribI4uiv
1764typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC)(GLuint, const GLbyte*);
1765GLAPI PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv;
1766#define glVertexAttribI4bv glad_glVertexAttribI4bv
1767typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC)(GLuint, const GLshort*);
1768GLAPI PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv;
1769#define glVertexAttribI4sv glad_glVertexAttribI4sv
1770typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC)(GLuint, const GLubyte*);
1771GLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv;
1772#define glVertexAttribI4ubv glad_glVertexAttribI4ubv
1773typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC)(GLuint, const GLushort*);
1774GLAPI PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv;
1775#define glVertexAttribI4usv glad_glVertexAttribI4usv
1776typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint, GLint, GLuint*);
1777GLAPI PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv;
1778#define glGetUniformuiv glad_glGetUniformuiv
1779typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC)(GLuint, GLuint, const GLchar*);
1780GLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation;
1781#define glBindFragDataLocation glad_glBindFragDataLocation
1782typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint, const GLchar*);
1783GLAPI PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation;
1784#define glGetFragDataLocation glad_glGetFragDataLocation
1785typedef void (APIENTRYP PFNGLUNIFORM1UIPROC)(GLint, GLuint);
1786GLAPI PFNGLUNIFORM1UIPROC glad_glUniform1ui;
1787#define glUniform1ui glad_glUniform1ui
1788typedef void (APIENTRYP PFNGLUNIFORM2UIPROC)(GLint, GLuint, GLuint);
1789GLAPI PFNGLUNIFORM2UIPROC glad_glUniform2ui;
1790#define glUniform2ui glad_glUniform2ui
1791typedef void (APIENTRYP PFNGLUNIFORM3UIPROC)(GLint, GLuint, GLuint, GLuint);
1792GLAPI PFNGLUNIFORM3UIPROC glad_glUniform3ui;
1793#define glUniform3ui glad_glUniform3ui
1794typedef void (APIENTRYP PFNGLUNIFORM4UIPROC)(GLint, GLuint, GLuint, GLuint, GLuint);
1795GLAPI PFNGLUNIFORM4UIPROC glad_glUniform4ui;
1796#define glUniform4ui glad_glUniform4ui
1797typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint, GLsizei, const GLuint*);
1798GLAPI PFNGLUNIFORM1UIVPROC glad_glUniform1uiv;
1799#define glUniform1uiv glad_glUniform1uiv
1800typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint, GLsizei, const GLuint*);
1801GLAPI PFNGLUNIFORM2UIVPROC glad_glUniform2uiv;
1802#define glUniform2uiv glad_glUniform2uiv
1803typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint, GLsizei, const GLuint*);
1804GLAPI PFNGLUNIFORM3UIVPROC glad_glUniform3uiv;
1805#define glUniform3uiv glad_glUniform3uiv
1806typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint, GLsizei, const GLuint*);
1807GLAPI PFNGLUNIFORM4UIVPROC glad_glUniform4uiv;
1808#define glUniform4uiv glad_glUniform4uiv
1809typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum, GLenum, const GLint*);
1810GLAPI PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv;
1811#define glTexParameterIiv glad_glTexParameterIiv
1812typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum, GLenum, const GLuint*);
1813GLAPI PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv;
1814#define glTexParameterIuiv glad_glTexParameterIuiv
1815typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum, GLenum, GLint*);
1816GLAPI PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv;
1817#define glGetTexParameterIiv glad_glGetTexParameterIiv
1818typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum, GLenum, GLuint*);
1819GLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv;
1820#define glGetTexParameterIuiv glad_glGetTexParameterIuiv
1821typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum, GLint, const GLint*);
1822GLAPI PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv;
1823#define glClearBufferiv glad_glClearBufferiv
1824typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum, GLint, const GLuint*);
1825GLAPI PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv;
1826#define glClearBufferuiv glad_glClearBufferuiv
1827typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum, GLint, const GLfloat*);
1828GLAPI PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv;
1829#define glClearBufferfv glad_glClearBufferfv
1830typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum, GLint, GLfloat, GLint);
1831GLAPI PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi;
1832#define glClearBufferfi glad_glClearBufferfi
1833typedef const GLubyte* (APIENTRYP PFNGLGETSTRINGIPROC)(GLenum, GLuint);
1834GLAPI PFNGLGETSTRINGIPROC glad_glGetStringi;
1835#define glGetStringi glad_glGetStringi
1836typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC)(GLuint);
1837GLAPI PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;
1838#define glIsRenderbuffer glad_glIsRenderbuffer
1839typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC)(GLenum, GLuint);
1840GLAPI PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;
1841#define glBindRenderbuffer glad_glBindRenderbuffer
1842typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC)(GLsizei, const GLuint*);
1843GLAPI PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;
1844#define glDeleteRenderbuffers glad_glDeleteRenderbuffers
1845typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC)(GLsizei, GLuint*);
1846GLAPI PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;
1847#define glGenRenderbuffers glad_glGenRenderbuffers
1848typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC)(GLenum, GLenum, GLsizei, GLsizei);
1849GLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;
1850#define glRenderbufferStorage glad_glRenderbufferStorage
1851typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum, GLenum, GLint*);
1852GLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;
1853#define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv
1854typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC)(GLuint);
1855GLAPI PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;
1856#define glIsFramebuffer glad_glIsFramebuffer
1857typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC)(GLenum, GLuint);
1858GLAPI PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;
1859#define glBindFramebuffer glad_glBindFramebuffer
1860typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei, const GLuint*);
1861GLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;
1862#define glDeleteFramebuffers glad_glDeleteFramebuffers
1863typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC)(GLsizei, GLuint*);
1864GLAPI PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;
1865#define glGenFramebuffers glad_glGenFramebuffers
1866typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum);
1867GLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;
1868#define glCheckFramebufferStatus glad_glCheckFramebufferStatus
1869typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum, GLenum, GLenum, GLuint, GLint);
1870GLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D;
1871#define glFramebufferTexture1D glad_glFramebufferTexture1D
1872typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum, GLenum, GLenum, GLuint, GLint);
1873GLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;
1874#define glFramebufferTexture2D glad_glFramebufferTexture2D
1875typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
1876GLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D;
1877#define glFramebufferTexture3D glad_glFramebufferTexture3D
1878typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum, GLenum, GLenum, GLuint);
1879GLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;
1880#define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer
1881typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum, GLenum, GLenum, GLint*);
1882GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;
1883#define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv
1884typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC)(GLenum);
1885GLAPI PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;
1886#define glGenerateMipmap glad_glGenerateMipmap
1887typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
1888GLAPI PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer;
1889#define glBlitFramebuffer glad_glBlitFramebuffer
1890typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1891GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample;
1892#define glRenderbufferStorageMultisample glad_glRenderbufferStorageMultisample
1893typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum, GLenum, GLuint, GLint, GLint);
1894GLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer;
1895#define glFramebufferTextureLayer glad_glFramebufferTextureLayer
1896typedef void* (APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum, GLintptr, GLsizeiptr, GLbitfield);
1897GLAPI PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange;
1898#define glMapBufferRange glad_glMapBufferRange
1899typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum, GLintptr, GLsizeiptr);
1900GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange;
1901#define glFlushMappedBufferRange glad_glFlushMappedBufferRange
1902typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint);
1903GLAPI PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray;
1904#define glBindVertexArray glad_glBindVertexArray
1905typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei, const GLuint*);
1906GLAPI PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays;
1907#define glDeleteVertexArrays glad_glDeleteVertexArrays
1908typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei, GLuint*);
1909GLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays;
1910#define glGenVertexArrays glad_glGenVertexArrays
1911typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint);
1912GLAPI PFNGLISVERTEXARRAYPROC glad_glIsVertexArray;
1913#define glIsVertexArray glad_glIsVertexArray
1914#endif
1915#ifndef GL_VERSION_3_1
1916#define GL_VERSION_3_1 1
1917GLAPI int GLAD_GL_VERSION_3_1;
1918typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum, GLint, GLsizei, GLsizei);
1919GLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced;
1920#define glDrawArraysInstanced glad_glDrawArraysInstanced
1921typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum, GLsizei, GLenum, const void*, GLsizei);
1922GLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced;
1923#define glDrawElementsInstanced glad_glDrawElementsInstanced
1924typedef void (APIENTRYP PFNGLTEXBUFFERPROC)(GLenum, GLenum, GLuint);
1925GLAPI PFNGLTEXBUFFERPROC glad_glTexBuffer;
1926#define glTexBuffer glad_glTexBuffer
1927typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint);
1928GLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex;
1929#define glPrimitiveRestartIndex glad_glPrimitiveRestartIndex
1930typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr);
1931GLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData;
1932#define glCopyBufferSubData glad_glCopyBufferSubData
1933typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint, GLsizei, const GLchar**, GLuint*);
1934GLAPI PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices;
1935#define glGetUniformIndices glad_glGetUniformIndices
1936typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint, GLsizei, const GLuint*, GLenum, GLint*);
1937GLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv;
1938#define glGetActiveUniformsiv glad_glGetActiveUniformsiv
1939typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLchar*);
1940GLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName;
1941#define glGetActiveUniformName glad_glGetActiveUniformName
1942typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint, const GLchar*);
1943GLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex;
1944#define glGetUniformBlockIndex glad_glGetUniformBlockIndex
1945typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint, GLuint, GLenum, GLint*);
1946GLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv;
1947#define glGetActiveUniformBlockiv glad_glGetActiveUniformBlockiv
1948typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint, GLuint, GLsizei, GLsizei*, GLchar*);
1949GLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName;
1950#define glGetActiveUniformBlockName glad_glGetActiveUniformBlockName
1951typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint, GLuint, GLuint);
1952GLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding;
1953#define glUniformBlockBinding glad_glUniformBlockBinding
1954#endif
1955#ifndef GL_VERSION_3_2
1956#define GL_VERSION_3_2 1
1957GLAPI int GLAD_GL_VERSION_3_2;
1958typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum, GLsizei, GLenum, const void*, GLint);
1959GLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex;
1960#define glDrawElementsBaseVertex glad_glDrawElementsBaseVertex
1961typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum, GLuint, GLuint, GLsizei, GLenum, const void*, GLint);
1962GLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex;
1963#define glDrawRangeElementsBaseVertex glad_glDrawRangeElementsBaseVertex
1964typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum, GLsizei, GLenum, const void*, GLsizei, GLint);
1965GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex;
1966#define glDrawElementsInstancedBaseVertex glad_glDrawElementsInstancedBaseVertex
1967typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum, const GLsizei*, GLenum, const void**, GLsizei, const GLint*);
1968GLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex;
1969#define glMultiDrawElementsBaseVertex glad_glMultiDrawElementsBaseVertex
1970typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC)(GLenum);
1971GLAPI PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex;
1972#define glProvokingVertex glad_glProvokingVertex
1973typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC)(GLenum, GLbitfield);
1974GLAPI PFNGLFENCESYNCPROC glad_glFenceSync;
1975#define glFenceSync glad_glFenceSync
1976typedef GLboolean (APIENTRYP PFNGLISSYNCPROC)(GLsync);
1977GLAPI PFNGLISSYNCPROC glad_glIsSync;
1978#define glIsSync glad_glIsSync
1979typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync);
1980GLAPI PFNGLDELETESYNCPROC glad_glDeleteSync;
1981#define glDeleteSync glad_glDeleteSync
1982typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync, GLbitfield, GLuint64);
1983GLAPI PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync;
1984#define glClientWaitSync glad_glClientWaitSync
1985typedef void (APIENTRYP PFNGLWAITSYNCPROC)(GLsync, GLbitfield, GLuint64);
1986GLAPI PFNGLWAITSYNCPROC glad_glWaitSync;
1987#define glWaitSync glad_glWaitSync
1988typedef void (APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum, GLint64*);
1989GLAPI PFNGLGETINTEGER64VPROC glad_glGetInteger64v;
1990#define glGetInteger64v glad_glGetInteger64v
1991typedef void (APIENTRYP PFNGLGETSYNCIVPROC)(GLsync, GLenum, GLsizei, GLsizei*, GLint*);
1992GLAPI PFNGLGETSYNCIVPROC glad_glGetSynciv;
1993#define glGetSynciv glad_glGetSynciv
1994typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum, GLuint, GLint64*);
1995GLAPI PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v;
1996#define glGetInteger64i_v glad_glGetInteger64i_v
1997typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum, GLenum, GLint64*);
1998GLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v;
1999#define glGetBufferParameteri64v glad_glGetBufferParameteri64v
2000typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum, GLenum, GLuint, GLint);
2001GLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture;
2002#define glFramebufferTexture glad_glFramebufferTexture
2003typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
2004GLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample;
2005#define glTexImage2DMultisample glad_glTexImage2DMultisample
2006typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
2007GLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample;
2008#define glTexImage3DMultisample glad_glTexImage3DMultisample
2009typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum, GLuint, GLfloat*);
2010GLAPI PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv;
2011#define glGetMultisamplefv glad_glGetMultisamplefv
2012typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint, GLbitfield);
2013GLAPI PFNGLSAMPLEMASKIPROC glad_glSampleMaski;
2014#define glSampleMaski glad_glSampleMaski
2015#endif
2016#ifndef GL_VERSION_3_3
2017#define GL_VERSION_3_3 1
2018GLAPI int GLAD_GL_VERSION_3_3;
2019typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint, GLuint, GLuint, const GLchar*);
2020GLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed;
2021#define glBindFragDataLocationIndexed glad_glBindFragDataLocationIndexed
2022typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC)(GLuint, const GLchar*);
2023GLAPI PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex;
2024#define glGetFragDataIndex glad_glGetFragDataIndex
2025typedef void (APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei, GLuint*);
2026GLAPI PFNGLGENSAMPLERSPROC glad_glGenSamplers;
2027#define glGenSamplers glad_glGenSamplers
2028typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei, const GLuint*);
2029GLAPI PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers;
2030#define glDeleteSamplers glad_glDeleteSamplers
2031typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC)(GLuint);
2032GLAPI PFNGLISSAMPLERPROC glad_glIsSampler;
2033#define glIsSampler glad_glIsSampler
2034typedef void (APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint, GLuint);
2035GLAPI PFNGLBINDSAMPLERPROC glad_glBindSampler;
2036#define glBindSampler glad_glBindSampler
2037typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint, GLenum, GLint);
2038GLAPI PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri;
2039#define glSamplerParameteri glad_glSamplerParameteri
2040typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint, GLenum, const GLint*);
2041GLAPI PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv;
2042#define glSamplerParameteriv glad_glSamplerParameteriv
2043typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint, GLenum, GLfloat);
2044GLAPI PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf;
2045#define glSamplerParameterf glad_glSamplerParameterf
2046typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint, GLenum, const GLfloat*);
2047GLAPI PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv;
2048#define glSamplerParameterfv glad_glSamplerParameterfv
2049typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint, GLenum, const GLint*);
2050GLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv;
2051#define glSamplerParameterIiv glad_glSamplerParameterIiv
2052typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint, GLenum, const GLuint*);
2053GLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv;
2054#define glSamplerParameterIuiv glad_glSamplerParameterIuiv
2055typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint, GLenum, GLint*);
2056GLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv;
2057#define glGetSamplerParameteriv glad_glGetSamplerParameteriv
2058typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint, GLenum, GLint*);
2059GLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv;
2060#define glGetSamplerParameterIiv glad_glGetSamplerParameterIiv
2061typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint, GLenum, GLfloat*);
2062GLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv;
2063#define glGetSamplerParameterfv glad_glGetSamplerParameterfv
2064typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint, GLenum, GLuint*);
2065GLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv;
2066#define glGetSamplerParameterIuiv glad_glGetSamplerParameterIuiv
2067typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC)(GLuint, GLenum);
2068GLAPI PFNGLQUERYCOUNTERPROC glad_glQueryCounter;
2069#define glQueryCounter glad_glQueryCounter
2070typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC)(GLuint, GLenum, GLint64*);
2071GLAPI PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v;
2072#define glGetQueryObjecti64v glad_glGetQueryObjecti64v
2073typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC)(GLuint, GLenum, GLuint64*);
2074GLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v;
2075#define glGetQueryObjectui64v glad_glGetQueryObjectui64v
2076typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint, GLuint);
2077GLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor;
2078#define glVertexAttribDivisor glad_glVertexAttribDivisor
2079typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC)(GLuint, GLenum, GLboolean, GLuint);
2080GLAPI PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui;
2081#define glVertexAttribP1ui glad_glVertexAttribP1ui
2082typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC)(GLuint, GLenum, GLboolean, const GLuint*);
2083GLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv;
2084#define glVertexAttribP1uiv glad_glVertexAttribP1uiv
2085typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC)(GLuint, GLenum, GLboolean, GLuint);
2086GLAPI PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui;
2087#define glVertexAttribP2ui glad_glVertexAttribP2ui
2088typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC)(GLuint, GLenum, GLboolean, const GLuint*);
2089GLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv;
2090#define glVertexAttribP2uiv glad_glVertexAttribP2uiv
2091typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC)(GLuint, GLenum, GLboolean, GLuint);
2092GLAPI PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui;
2093#define glVertexAttribP3ui glad_glVertexAttribP3ui
2094typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC)(GLuint, GLenum, GLboolean, const GLuint*);
2095GLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv;
2096#define glVertexAttribP3uiv glad_glVertexAttribP3uiv
2097typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC)(GLuint, GLenum, GLboolean, GLuint);
2098GLAPI PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui;
2099#define glVertexAttribP4ui glad_glVertexAttribP4ui
2100typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC)(GLuint, GLenum, GLboolean, const GLuint*);
2101GLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv;
2102#define glVertexAttribP4uiv glad_glVertexAttribP4uiv
2103typedef void (APIENTRYP PFNGLVERTEXP2UIPROC)(GLenum, GLuint);
2104GLAPI PFNGLVERTEXP2UIPROC glad_glVertexP2ui;
2105#define glVertexP2ui glad_glVertexP2ui
2106typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC)(GLenum, const GLuint*);
2107GLAPI PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv;
2108#define glVertexP2uiv glad_glVertexP2uiv
2109typedef void (APIENTRYP PFNGLVERTEXP3UIPROC)(GLenum, GLuint);
2110GLAPI PFNGLVERTEXP3UIPROC glad_glVertexP3ui;
2111#define glVertexP3ui glad_glVertexP3ui
2112typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC)(GLenum, const GLuint*);
2113GLAPI PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv;
2114#define glVertexP3uiv glad_glVertexP3uiv
2115typedef void (APIENTRYP PFNGLVERTEXP4UIPROC)(GLenum, GLuint);
2116GLAPI PFNGLVERTEXP4UIPROC glad_glVertexP4ui;
2117#define glVertexP4ui glad_glVertexP4ui
2118typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC)(GLenum, const GLuint*);
2119GLAPI PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv;
2120#define glVertexP4uiv glad_glVertexP4uiv
2121typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC)(GLenum, GLuint);
2122GLAPI PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui;
2123#define glTexCoordP1ui glad_glTexCoordP1ui
2124typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC)(GLenum, const GLuint*);
2125GLAPI PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv;
2126#define glTexCoordP1uiv glad_glTexCoordP1uiv
2127typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC)(GLenum, GLuint);
2128GLAPI PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui;
2129#define glTexCoordP2ui glad_glTexCoordP2ui
2130typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC)(GLenum, const GLuint*);
2131GLAPI PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv;
2132#define glTexCoordP2uiv glad_glTexCoordP2uiv
2133typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC)(GLenum, GLuint);
2134GLAPI PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui;
2135#define glTexCoordP3ui glad_glTexCoordP3ui
2136typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC)(GLenum, const GLuint*);
2137GLAPI PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv;
2138#define glTexCoordP3uiv glad_glTexCoordP3uiv
2139typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC)(GLenum, GLuint);
2140GLAPI PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui;
2141#define glTexCoordP4ui glad_glTexCoordP4ui
2142typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC)(GLenum, const GLuint*);
2143GLAPI PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv;
2144#define glTexCoordP4uiv glad_glTexCoordP4uiv
2145typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC)(GLenum, GLenum, GLuint);
2146GLAPI PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui;
2147#define glMultiTexCoordP1ui glad_glMultiTexCoordP1ui
2148typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC)(GLenum, GLenum, const GLuint*);
2149GLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv;
2150#define glMultiTexCoordP1uiv glad_glMultiTexCoordP1uiv
2151typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC)(GLenum, GLenum, GLuint);
2152GLAPI PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui;
2153#define glMultiTexCoordP2ui glad_glMultiTexCoordP2ui
2154typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC)(GLenum, GLenum, const GLuint*);
2155GLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv;
2156#define glMultiTexCoordP2uiv glad_glMultiTexCoordP2uiv
2157typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC)(GLenum, GLenum, GLuint);
2158GLAPI PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui;
2159#define glMultiTexCoordP3ui glad_glMultiTexCoordP3ui
2160typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC)(GLenum, GLenum, const GLuint*);
2161GLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv;
2162#define glMultiTexCoordP3uiv glad_glMultiTexCoordP3uiv
2163typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC)(GLenum, GLenum, GLuint);
2164GLAPI PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui;
2165#define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui
2166typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC)(GLenum, GLenum, const GLuint*);
2167GLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv;
2168#define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv
2169typedef void (APIENTRYP PFNGLNORMALP3UIPROC)(GLenum, GLuint);
2170GLAPI PFNGLNORMALP3UIPROC glad_glNormalP3ui;
2171#define glNormalP3ui glad_glNormalP3ui
2172typedef void (APIENTRYP PFNGLNORMALP3UIVPROC)(GLenum, const GLuint*);
2173GLAPI PFNGLNORMALP3UIVPROC glad_glNormalP3uiv;
2174#define glNormalP3uiv glad_glNormalP3uiv
2175typedef void (APIENTRYP PFNGLCOLORP3UIPROC)(GLenum, GLuint);
2176GLAPI PFNGLCOLORP3UIPROC glad_glColorP3ui;
2177#define glColorP3ui glad_glColorP3ui
2178typedef void (APIENTRYP PFNGLCOLORP3UIVPROC)(GLenum, const GLuint*);
2179GLAPI PFNGLCOLORP3UIVPROC glad_glColorP3uiv;
2180#define glColorP3uiv glad_glColorP3uiv
2181typedef void (APIENTRYP PFNGLCOLORP4UIPROC)(GLenum, GLuint);
2182GLAPI PFNGLCOLORP4UIPROC glad_glColorP4ui;
2183#define glColorP4ui glad_glColorP4ui
2184typedef void (APIENTRYP PFNGLCOLORP4UIVPROC)(GLenum, const GLuint*);
2185GLAPI PFNGLCOLORP4UIVPROC glad_glColorP4uiv;
2186#define glColorP4uiv glad_glColorP4uiv
2187typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC)(GLenum, GLuint);
2188GLAPI PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui;
2189#define glSecondaryColorP3ui glad_glSecondaryColorP3ui
2190typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum, const GLuint*);
2191GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv;
2192#define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv
2193#endif
2194#ifndef GL_ES_VERSION_2_0
2195#define GL_ES_VERSION_2_0 1
2196GLAPI int GLAD_GL_ES_VERSION_2_0;
2197typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC)(GLfloat);
2198GLAPI PFNGLCLEARDEPTHFPROC glad_glClearDepthf;
2199#define glClearDepthf glad_glClearDepthf
2200typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC)(GLfloat, GLfloat);
2201GLAPI PFNGLDEPTHRANGEFPROC glad_glDepthRangef;
2202#define glDepthRangef glad_glDepthRangef
2203typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum, GLenum, GLint*, GLint*);
2204GLAPI PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat;
2205#define glGetShaderPrecisionFormat glad_glGetShaderPrecisionFormat
2206typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC)();
2207GLAPI PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler;
2208#define glReleaseShaderCompiler glad_glReleaseShaderCompiler
2209typedef void (APIENTRYP PFNGLSHADERBINARYPROC)(GLsizei, const GLuint*, GLenum, const void*, GLsizei);
2210GLAPI PFNGLSHADERBINARYPROC glad_glShaderBinary;
2211#define glShaderBinary glad_glShaderBinary
2212#endif
2213#ifndef GL_ES_VERSION_3_0
2214#define GL_ES_VERSION_3_0 1
2215GLAPI int GLAD_GL_ES_VERSION_3_0;
2216typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC)(GLenum, GLuint);
2217GLAPI PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback;
2218#define glBindTransformFeedback glad_glBindTransformFeedback
2219typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC)(GLsizei, const GLuint*);
2220GLAPI PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks;
2221#define glDeleteTransformFeedbacks glad_glDeleteTransformFeedbacks
2222typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC)(GLsizei, GLuint*);
2223GLAPI PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks;
2224#define glGenTransformFeedbacks glad_glGenTransformFeedbacks
2225typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC)(GLuint);
2226GLAPI PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback;
2227#define glIsTransformFeedback glad_glIsTransformFeedback
2228typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC)();
2229GLAPI PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback;
2230#define glPauseTransformFeedback glad_glPauseTransformFeedback
2231typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC)();
2232GLAPI PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback;
2233#define glResumeTransformFeedback glad_glResumeTransformFeedback
2234typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC)(GLuint, GLsizei, GLsizei*, GLenum*, void*);
2235GLAPI PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary;
2236#define glGetProgramBinary glad_glGetProgramBinary
2237typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC)(GLuint, GLenum, const void*, GLsizei);
2238GLAPI PFNGLPROGRAMBINARYPROC glad_glProgramBinary;
2239#define glProgramBinary glad_glProgramBinary
2240typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC)(GLuint, GLenum, GLint);
2241GLAPI PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri;
2242#define glProgramParameteri glad_glProgramParameteri
2243typedef void (APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC)(GLenum, GLsizei, const GLenum*);
2244GLAPI PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer;
2245#define glInvalidateFramebuffer glad_glInvalidateFramebuffer
2246typedef void (APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC)(GLenum, GLsizei, const GLenum*, GLint, GLint, GLsizei, GLsizei);
2247GLAPI PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer;
2248#define glInvalidateSubFramebuffer glad_glInvalidateSubFramebuffer
2249typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
2250GLAPI PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D;
2251#define glTexStorage2D glad_glTexStorage2D
2252typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei);
2253GLAPI PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D;
2254#define glTexStorage3D glad_glTexStorage3D
2255typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC)(GLenum, GLenum, GLenum, GLsizei, GLint*);
2256GLAPI PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ;
2257#define glGetInternalformativ glad_glGetInternalformativ
2258#endif
2259
2260#ifdef __cplusplus
2261}
2262#endif
2263
2264#endif
diff --git a/externals/glad/src/glad.c b/externals/glad/src/glad.c
new file mode 100644
index 000000000..014b54383
--- /dev/null
+++ b/externals/glad/src/glad.c
@@ -0,0 +1,1404 @@
1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4#include <glad/glad.h>
5
6static void* get_proc(const char *namez);
7
8#ifdef _WIN32
9#include <windows.h>
10static HMODULE libGL;
11
12typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);
13PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
14
15static
16int open_gl(void) {
17 libGL = LoadLibraryA("opengl32.dll");
18 if(libGL != NULL) {
19 gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE)GetProcAddress(
20 libGL, "wglGetProcAddress");
21 return gladGetProcAddressPtr != NULL;
22 }
23
24 return 0;
25}
26
27static
28void close_gl(void) {
29 if(libGL != NULL) {
30 FreeLibrary(libGL);
31 libGL = NULL;
32 }
33}
34#else
35#include <dlfcn.h>
36static void* libGL;
37
38#ifndef __APPLE__
39typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);
40PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
41#endif
42
43static
44int open_gl(void) {
45#ifdef __APPLE__
46 static const char *NAMES[] = {
47 "../Frameworks/OpenGL.framework/OpenGL",
48 "/Library/Frameworks/OpenGL.framework/OpenGL",
49 "/System/Library/Frameworks/OpenGL.framework/OpenGL",
50 "/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL"
51 };
52#else
53 static const char *NAMES[] = {"libGL.so.1", "libGL.so"};
54#endif
55
56 unsigned int index = 0;
57 for(index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) {
58 libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);
59
60 if(libGL != NULL) {
61#ifdef __APPLE__
62 return 1;
63#else
64 gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,
65 "glXGetProcAddressARB");
66 return gladGetProcAddressPtr != NULL;
67#endif
68 }
69 }
70
71 return 0;
72}
73
74static
75void close_gl() {
76 if(libGL != NULL) {
77 dlclose(libGL);
78 libGL = NULL;
79 }
80}
81#endif
82
83static
84void* get_proc(const char *namez) {
85 void* result = NULL;
86 if(libGL == NULL) return NULL;
87
88#ifndef __APPLE__
89 if(gladGetProcAddressPtr != NULL) {
90 result = gladGetProcAddressPtr(namez);
91 }
92#endif
93 if(result == NULL) {
94#ifdef _WIN32
95 result = (void*)GetProcAddress(libGL, namez);
96#else
97 result = dlsym(libGL, namez);
98#endif
99 }
100
101 return result;
102}
103
104int gladLoadGL(void) {
105 int status = 0;
106
107 if(open_gl()) {
108 status = gladLoadGLLoader(&get_proc);
109 close_gl();
110 }
111
112 return status;
113}
114
115struct gladGLversionStruct GLVersion;
116
117#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)
118#define _GLAD_IS_SOME_NEW_VERSION 1
119#endif
120
121static int max_loaded_major;
122static int max_loaded_minor;
123
124static const char *exts = NULL;
125static int num_exts_i = 0;
126static const char **exts_i = NULL;
127
128static void get_exts(void) {
129#ifdef _GLAD_IS_SOME_NEW_VERSION
130 if(max_loaded_major < 3) {
131#endif
132 exts = (const char *)glGetString(GL_EXTENSIONS);
133#ifdef _GLAD_IS_SOME_NEW_VERSION
134 } else {
135 int index;
136
137 num_exts_i = 0;
138 glGetIntegerv(GL_NUM_EXTENSIONS, &num_exts_i);
139 if (num_exts_i > 0) {
140 exts_i = (const char **)realloc((void *)exts_i, num_exts_i * sizeof *exts_i);
141 }
142
143 for(index = 0; index < num_exts_i; index++) {
144 exts_i[index] = (const char*)glGetStringi(GL_EXTENSIONS, index);
145 }
146 }
147#endif
148}
149
150static int has_ext(const char *ext) {
151#ifdef _GLAD_IS_SOME_NEW_VERSION
152 if(max_loaded_major < 3) {
153#endif
154 const char *extensions;
155 const char *loc;
156 const char *terminator;
157 extensions = exts;
158 if(extensions == NULL || ext == NULL) {
159 return 0;
160 }
161
162 while(1) {
163 loc = strstr(extensions, ext);
164 if(loc == NULL) {
165 return 0;
166 }
167
168 terminator = loc + strlen(ext);
169 if((loc == extensions || *(loc - 1) == ' ') &&
170 (*terminator == ' ' || *terminator == '\0')) {
171 return 1;
172 }
173 extensions = terminator;
174 }
175#ifdef _GLAD_IS_SOME_NEW_VERSION
176 } else {
177 int index;
178
179 for(index = 0; index < num_exts_i; index++) {
180 const char *e = exts_i[index];
181
182 if(strcmp(e, ext) == 0) {
183 return 1;
184 }
185 }
186 }
187#endif
188
189 return 0;
190}
191int GLAD_GL_VERSION_1_0;
192int GLAD_GL_VERSION_1_1;
193int GLAD_GL_VERSION_1_2;
194int GLAD_GL_VERSION_1_3;
195int GLAD_GL_VERSION_1_4;
196int GLAD_GL_VERSION_1_5;
197int GLAD_GL_VERSION_2_0;
198int GLAD_GL_VERSION_2_1;
199int GLAD_GL_VERSION_3_0;
200int GLAD_GL_VERSION_3_1;
201int GLAD_GL_VERSION_3_2;
202int GLAD_GL_VERSION_3_3;
203int GLAD_GL_ES_VERSION_2_0;
204int GLAD_GL_ES_VERSION_3_0;
205PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D;
206PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui;
207PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate;
208PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;
209PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D;
210PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv;
211PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv;
212PFNGLBINDSAMPLERPROC glad_glBindSampler;
213PFNGLLINEWIDTHPROC glad_glLineWidth;
214PFNGLCOLORP3UIVPROC glad_glColorP3uiv;
215PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v;
216PFNGLCOMPILESHADERPROC glad_glCompileShader;
217PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying;
218PFNGLDEPTHRANGEFPROC glad_glDepthRangef;
219PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer;
220PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui;
221PFNGLVERTEXP4UIPROC glad_glVertexP4ui;
222PFNGLENABLEIPROC glad_glEnablei;
223PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui;
224PFNGLCREATESHADERPROC glad_glCreateShader;
225PFNGLISBUFFERPROC glad_glIsBuffer;
226PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv;
227PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;
228PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D;
229PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D;
230PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f;
231PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate;
232PFNGLHINTPROC glad_glHint;
233PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s;
234PFNGLSAMPLEMASKIPROC glad_glSampleMaski;
235PFNGLVERTEXP2UIPROC glad_glVertexP2ui;
236PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv;
237PFNGLPOINTSIZEPROC glad_glPointSize;
238PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv;
239PFNGLDELETEPROGRAMPROC glad_glDeleteProgram;
240PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv;
241PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;
242PFNGLWAITSYNCPROC glad_glWaitSync;
243PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv;
244PFNGLUNIFORM3IPROC glad_glUniform3i;
245PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv;
246PFNGLUNIFORM3FPROC glad_glUniform3f;
247PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv;
248PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv;
249PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui;
250PFNGLCOLORMASKIPROC glad_glColorMaski;
251PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi;
252PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays;
253PFNGLPAUSETRANSFORMFEEDBACKPROC glad_glPauseTransformFeedback;
254PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui;
255PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv;
256PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex;
257PFNGLTEXSTORAGE3DPROC glad_glTexStorage3D;
258PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv;
259PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv;
260PFNGLRESUMETRANSFORMFEEDBACKPROC glad_glResumeTransformFeedback;
261PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui;
262PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;
263PFNGLDRAWARRAYSPROC glad_glDrawArrays;
264PFNGLUNIFORM1UIPROC glad_glUniform1ui;
265PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i;
266PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui;
267PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d;
268PFNGLCLEARPROC glad_glClear;
269PFNGLPROGRAMPARAMETERIPROC glad_glProgramParameteri;
270PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName;
271PFNGLISENABLEDPROC glad_glIsEnabled;
272PFNGLSTENCILOPPROC glad_glStencilOp;
273PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;
274PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;
275PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub;
276PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation;
277PFNGLTEXIMAGE1DPROC glad_glTexImage1D;
278PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv;
279PFNGLGETTEXIMAGEPROC glad_glGetTexImage;
280PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v;
281PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;
282PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders;
283PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;
284PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays;
285PFNGLISVERTEXARRAYPROC glad_glIsVertexArray;
286PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray;
287PFNGLGETQUERYIVPROC glad_glGetQueryiv;
288PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv;
289PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices;
290PFNGLISSHADERPROC glad_glIsShader;
291PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv;
292PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv;
293PFNGLENABLEPROC glad_glEnable;
294PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv;
295PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation;
296PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv;
297PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv;
298PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui;
299PFNGLGETUNIFORMFVPROC glad_glGetUniformfv;
300PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv;
301PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv;
302PFNGLDRAWBUFFERPROC glad_glDrawBuffer;
303PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv;
304PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced;
305PFNGLFLUSHPROC glad_glFlush;
306PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;
307PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv;
308PFNGLFENCESYNCPROC glad_glFenceSync;
309PFNGLCOLORP3UIPROC glad_glColorP3ui;
310PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv;
311PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender;
312PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv;
313PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv;
314PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate;
315PFNGLGENSAMPLERSPROC glad_glGenSamplers;
316PFNGLCLAMPCOLORPROC glad_glClampColor;
317PFNGLUNIFORM4IVPROC glad_glUniform4iv;
318PFNGLCLEARSTENCILPROC glad_glClearStencil;
319PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv;
320PFNGLGENTEXTURESPROC glad_glGenTextures;
321PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv;
322PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv;
323PFNGLISSYNCPROC glad_glIsSync;
324PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName;
325PFNGLUNIFORM2IPROC glad_glUniform2i;
326PFNGLUNIFORM2FPROC glad_glUniform2f;
327PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui;
328PFNGLGETPROGRAMIVPROC glad_glGetProgramiv;
329PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer;
330PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer;
331PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange;
332PFNGLTEXSTORAGE2DPROC glad_glTexStorage2D;
333PFNGLGENQUERIESPROC glad_glGenQueries;
334PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui;
335PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D;
336PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v;
337PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers;
338PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D;
339PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer;
340PFNGLISENABLEDIPROC glad_glIsEnabledi;
341PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui;
342PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed;
343PFNGLUNIFORM2IVPROC glad_glUniform2iv;
344PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv;
345PFNGLUNIFORM4UIVPROC glad_glUniform4uiv;
346PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D;
347PFNGLGETSHADERIVPROC glad_glGetShaderiv;
348PFNGLINVALIDATEFRAMEBUFFERPROC glad_glInvalidateFramebuffer;
349PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation;
350PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset;
351PFNGLGETDOUBLEVPROC glad_glGetDoublev;
352PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d;
353PFNGLGETUNIFORMIVPROC glad_glGetUniformiv;
354PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv;
355PFNGLUNIFORM3FVPROC glad_glUniform3fv;
356PFNGLDEPTHRANGEPROC glad_glDepthRange;
357PFNGLINVALIDATESUBFRAMEBUFFERPROC glad_glInvalidateSubFramebuffer;
358PFNGLMAPBUFFERPROC glad_glMapBuffer;
359PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D;
360PFNGLDELETESYNCPROC glad_glDeleteSync;
361PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D;
362PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv;
363PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements;
364PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv;
365PFNGLUNIFORM3IVPROC glad_glUniform3iv;
366PFNGLPOLYGONMODEPROC glad_glPolygonMode;
367PFNGLDRAWBUFFERSPROC glad_glDrawBuffers;
368PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv;
369PFNGLGETPROGRAMBINARYPROC glad_glGetProgramBinary;
370PFNGLUSEPROGRAMPROC glad_glUseProgram;
371PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog;
372PFNGLBINDTRANSFORMFEEDBACKPROC glad_glBindTransformFeedback;
373PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray;
374PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers;
375PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv;
376PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex;
377PFNGLUNIFORM2UIVPROC glad_glUniform2uiv;
378PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D;
379PFNGLFINISHPROC glad_glFinish;
380PFNGLDELETESHADERPROC glad_glDeleteShader;
381PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv;
382PFNGLVIEWPORTPROC glad_glViewport;
383PFNGLUNIFORM1UIVPROC glad_glUniform1uiv;
384PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings;
385PFNGLUNIFORM2UIPROC glad_glUniform2ui;
386PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i;
387PFNGLCLEARDEPTHPROC glad_glClearDepth;
388PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv;
389PFNGLTEXPARAMETERFPROC glad_glTexParameterf;
390PFNGLTEXPARAMETERIPROC glad_glTexParameteri;
391PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource;
392PFNGLTEXBUFFERPROC glad_glTexBuffer;
393PFNGLPIXELSTOREIPROC glad_glPixelStorei;
394PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram;
395PFNGLPIXELSTOREFPROC glad_glPixelStoref;
396PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v;
397PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv;
398PFNGLGETINTERNALFORMATIVPROC glad_glGetInternalformativ;
399PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv;
400PFNGLLINKPROGRAMPROC glad_glLinkProgram;
401PFNGLBINDTEXTUREPROC glad_glBindTexture;
402PFNGLGETSTRINGPROC glad_glGetString;
403PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv;
404PFNGLDETACHSHADERPROC glad_glDetachShader;
405PFNGLENDQUERYPROC glad_glEndQuery;
406PFNGLNORMALP3UIPROC glad_glNormalP3ui;
407PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui;
408PFNGLDELETETEXTURESPROC glad_glDeleteTextures;
409PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate;
410PFNGLDELETEQUERIESPROC glad_glDeleteQueries;
411PFNGLNORMALP3UIVPROC glad_glNormalP3uiv;
412PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f;
413PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d;
414PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv;
415PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s;
416PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex;
417PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage;
418PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri;
419PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf;
420PFNGLUNIFORM1FPROC glad_glUniform1f;
421PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv;
422PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage;
423PFNGLUNIFORM1IPROC glad_glUniform1i;
424PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib;
425PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D;
426PFNGLDISABLEPROC glad_glDisable;
427PFNGLLOGICOPPROC glad_glLogicOp;
428PFNGLUNIFORM4UIPROC glad_glUniform4ui;
429PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;
430PFNGLCULLFACEPROC glad_glCullFace;
431PFNGLGETSTRINGIPROC glad_glGetStringi;
432PFNGLATTACHSHADERPROC glad_glAttachShader;
433PFNGLQUERYCOUNTERPROC glad_glQueryCounter;
434PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex;
435PFNGLSHADERBINARYPROC glad_glShaderBinary;
436PFNGLDRAWELEMENTSPROC glad_glDrawElements;
437PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv;
438PFNGLUNIFORM1IVPROC glad_glUniform1iv;
439PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv;
440PFNGLREADBUFFERPROC glad_glReadBuffer;
441PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv;
442PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced;
443PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;
444PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv;
445PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f;
446PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv;
447PFNGLPOINTPARAMETERIPROC glad_glPointParameteri;
448PFNGLBLENDCOLORPROC glad_glBlendColor;
449PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv;
450PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer;
451PFNGLPOINTPARAMETERFPROC glad_glPointParameterf;
452PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s;
453PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;
454PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv;
455PFNGLISPROGRAMPROC glad_glIsProgram;
456PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv;
457PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv;
458PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler;
459PFNGLUNIFORM4IPROC glad_glUniform4i;
460PFNGLACTIVETEXTUREPROC glad_glActiveTexture;
461PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray;
462PFNGLREADPIXELSPROC glad_glReadPixels;
463PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv;
464PFNGLUNIFORM4FPROC glad_glUniform4f;
465PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample;
466PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv;
467PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex;
468PFNGLSTENCILFUNCPROC glad_glStencilFunc;
469PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding;
470PFNGLCOLORP4UIPROC glad_glColorP4ui;
471PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv;
472PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog;
473PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i;
474PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData;
475PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate;
476PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui;
477PFNGLGENBUFFERSPROC glad_glGenBuffers;
478PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv;
479PFNGLBLENDFUNCPROC glad_glBlendFunc;
480PFNGLCREATEPROGRAMPROC glad_glCreateProgram;
481PFNGLTEXIMAGE3DPROC glad_glTexImage3D;
482PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;
483PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex;
484PFNGLGETINTEGER64VPROC glad_glGetInteger64v;
485PFNGLSCISSORPROC glad_glScissor;
486PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv;
487PFNGLGETBOOLEANVPROC glad_glGetBooleanv;
488PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv;
489PFNGLUNIFORM3UIVPROC glad_glUniform3uiv;
490PFNGLCLEARCOLORPROC glad_glClearColor;
491PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv;
492PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv;
493PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v;
494PFNGLCOLORP4UIVPROC glad_glColorP4uiv;
495PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv;
496PFNGLUNIFORM3UIPROC glad_glUniform3ui;
497PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv;
498PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv;
499PFNGLUNIFORM2FVPROC glad_glUniform2fv;
500PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv;
501PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange;
502PFNGLCLEARDEPTHFPROC glad_glClearDepthf;
503PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv;
504PFNGLGENTRANSFORMFEEDBACKSPROC glad_glGenTransformFeedbacks;
505PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv;
506PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv;
507PFNGLDEPTHFUNCPROC glad_glDepthFunc;
508PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D;
509PFNGLPROGRAMBINARYPROC glad_glProgramBinary;
510PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv;
511PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv;
512PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui;
513PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync;
514PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui;
515PFNGLCOLORMASKPROC glad_glColorMask;
516PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv;
517PFNGLBLENDEQUATIONPROC glad_glBlendEquation;
518PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation;
519PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback;
520PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv;
521PFNGLUNIFORM4FVPROC glad_glUniform4fv;
522PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback;
523PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv;
524PFNGLISSAMPLERPROC glad_glIsSampler;
525PFNGLVERTEXP3UIPROC glad_glVertexP3ui;
526PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor;
527PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D;
528PFNGLDELETETRANSFORMFEEDBACKSPROC glad_glDeleteTransformFeedbacks;
529PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D;
530PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex;
531PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;
532PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender;
533PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv;
534PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation;
535PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv;
536PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv;
537PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements;
538PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv;
539PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase;
540PFNGLBUFFERSUBDATAPROC glad_glBufferSubData;
541PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv;
542PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange;
543PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture;
544PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays;
545PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv;
546PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv;
547PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat;
548PFNGLDISABLEIPROC glad_glDisablei;
549PFNGLSHADERSOURCEPROC glad_glShaderSource;
550PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;
551PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv;
552PFNGLISTRANSFORMFEEDBACKPROC glad_glIsTransformFeedback;
553PFNGLGETSYNCIVPROC glad_glGetSynciv;
554PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv;
555PFNGLBEGINQUERYPROC glad_glBeginQuery;
556PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv;
557PFNGLBINDBUFFERPROC glad_glBindBuffer;
558PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv;
559PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv;
560PFNGLBUFFERDATAPROC glad_glBufferData;
561PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv;
562PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui;
563PFNGLGETERRORPROC glad_glGetError;
564PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui;
565PFNGLGETFLOATVPROC glad_glGetFloatv;
566PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D;
567PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv;
568PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv;
569PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i;
570PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv;
571PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv;
572PFNGLGETINTEGERVPROC glad_glGetIntegerv;
573PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;
574PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D;
575PFNGLISQUERYPROC glad_glIsQuery;
576PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv;
577PFNGLTEXIMAGE2DPROC glad_glTexImage2D;
578PFNGLSTENCILMASKPROC glad_glStencilMask;
579PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv;
580PFNGLISTEXTUREPROC glad_glIsTexture;
581PFNGLUNIFORM1FVPROC glad_glUniform1fv;
582PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv;
583PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv;
584PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv;
585PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData;
586PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv;
587PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d;
588PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f;
589PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv;
590PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v;
591PFNGLDEPTHMASKPROC glad_glDepthMask;
592PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s;
593PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample;
594PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex;
595PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample;
596PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform;
597PFNGLFRONTFACEPROC glad_glFrontFace;
598static void load_GL_VERSION_1_0(GLADloadproc load) {
599 if(!GLAD_GL_VERSION_1_0) return;
600 glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace");
601 glad_glFrontFace = (PFNGLFRONTFACEPROC)load("glFrontFace");
602 glad_glHint = (PFNGLHINTPROC)load("glHint");
603 glad_glLineWidth = (PFNGLLINEWIDTHPROC)load("glLineWidth");
604 glad_glPointSize = (PFNGLPOINTSIZEPROC)load("glPointSize");
605 glad_glPolygonMode = (PFNGLPOLYGONMODEPROC)load("glPolygonMode");
606 glad_glScissor = (PFNGLSCISSORPROC)load("glScissor");
607 glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC)load("glTexParameterf");
608 glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC)load("glTexParameterfv");
609 glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC)load("glTexParameteri");
610 glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC)load("glTexParameteriv");
611 glad_glTexImage1D = (PFNGLTEXIMAGE1DPROC)load("glTexImage1D");
612 glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC)load("glTexImage2D");
613 glad_glDrawBuffer = (PFNGLDRAWBUFFERPROC)load("glDrawBuffer");
614 glad_glClear = (PFNGLCLEARPROC)load("glClear");
615 glad_glClearColor = (PFNGLCLEARCOLORPROC)load("glClearColor");
616 glad_glClearStencil = (PFNGLCLEARSTENCILPROC)load("glClearStencil");
617 glad_glClearDepth = (PFNGLCLEARDEPTHPROC)load("glClearDepth");
618 glad_glStencilMask = (PFNGLSTENCILMASKPROC)load("glStencilMask");
619 glad_glColorMask = (PFNGLCOLORMASKPROC)load("glColorMask");
620 glad_glDepthMask = (PFNGLDEPTHMASKPROC)load("glDepthMask");
621 glad_glDisable = (PFNGLDISABLEPROC)load("glDisable");
622 glad_glEnable = (PFNGLENABLEPROC)load("glEnable");
623 glad_glFinish = (PFNGLFINISHPROC)load("glFinish");
624 glad_glFlush = (PFNGLFLUSHPROC)load("glFlush");
625 glad_glBlendFunc = (PFNGLBLENDFUNCPROC)load("glBlendFunc");
626 glad_glLogicOp = (PFNGLLOGICOPPROC)load("glLogicOp");
627 glad_glStencilFunc = (PFNGLSTENCILFUNCPROC)load("glStencilFunc");
628 glad_glStencilOp = (PFNGLSTENCILOPPROC)load("glStencilOp");
629 glad_glDepthFunc = (PFNGLDEPTHFUNCPROC)load("glDepthFunc");
630 glad_glPixelStoref = (PFNGLPIXELSTOREFPROC)load("glPixelStoref");
631 glad_glPixelStorei = (PFNGLPIXELSTOREIPROC)load("glPixelStorei");
632 glad_glReadBuffer = (PFNGLREADBUFFERPROC)load("glReadBuffer");
633 glad_glReadPixels = (PFNGLREADPIXELSPROC)load("glReadPixels");
634 glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC)load("glGetBooleanv");
635 glad_glGetDoublev = (PFNGLGETDOUBLEVPROC)load("glGetDoublev");
636 glad_glGetError = (PFNGLGETERRORPROC)load("glGetError");
637 glad_glGetFloatv = (PFNGLGETFLOATVPROC)load("glGetFloatv");
638 glad_glGetIntegerv = (PFNGLGETINTEGERVPROC)load("glGetIntegerv");
639 glad_glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
640 glad_glGetTexImage = (PFNGLGETTEXIMAGEPROC)load("glGetTexImage");
641 glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load("glGetTexParameterfv");
642 glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load("glGetTexParameteriv");
643 glad_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)load("glGetTexLevelParameterfv");
644 glad_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)load("glGetTexLevelParameteriv");
645 glad_glIsEnabled = (PFNGLISENABLEDPROC)load("glIsEnabled");
646 glad_glDepthRange = (PFNGLDEPTHRANGEPROC)load("glDepthRange");
647 glad_glViewport = (PFNGLVIEWPORTPROC)load("glViewport");
648}
649static void load_GL_VERSION_1_1(GLADloadproc load) {
650 if(!GLAD_GL_VERSION_1_1) return;
651 glad_glDrawArrays = (PFNGLDRAWARRAYSPROC)load("glDrawArrays");
652 glad_glDrawElements = (PFNGLDRAWELEMENTSPROC)load("glDrawElements");
653 glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)load("glPolygonOffset");
654 glad_glCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC)load("glCopyTexImage1D");
655 glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)load("glCopyTexImage2D");
656 glad_glCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC)load("glCopyTexSubImage1D");
657 glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)load("glCopyTexSubImage2D");
658 glad_glTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC)load("glTexSubImage1D");
659 glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load("glTexSubImage2D");
660 glad_glBindTexture = (PFNGLBINDTEXTUREPROC)load("glBindTexture");
661 glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC)load("glDeleteTextures");
662 glad_glGenTextures = (PFNGLGENTEXTURESPROC)load("glGenTextures");
663 glad_glIsTexture = (PFNGLISTEXTUREPROC)load("glIsTexture");
664}
665static void load_GL_VERSION_1_2(GLADloadproc load) {
666 if(!GLAD_GL_VERSION_1_2) return;
667 glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load("glDrawRangeElements");
668 glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)load("glTexImage3D");
669 glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)load("glTexSubImage3D");
670 glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)load("glCopyTexSubImage3D");
671}
672static void load_GL_VERSION_1_3(GLADloadproc load) {
673 if(!GLAD_GL_VERSION_1_3) return;
674 glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)load("glActiveTexture");
675 glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load("glSampleCoverage");
676 glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)load("glCompressedTexImage3D");
677 glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)load("glCompressedTexImage2D");
678 glad_glCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC)load("glCompressedTexImage1D");
679 glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)load("glCompressedTexSubImage3D");
680 glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load("glCompressedTexSubImage2D");
681 glad_glCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)load("glCompressedTexSubImage1D");
682 glad_glGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC)load("glGetCompressedTexImage");
683}
684static void load_GL_VERSION_1_4(GLADloadproc load) {
685 if(!GLAD_GL_VERSION_1_4) return;
686 glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load("glBlendFuncSeparate");
687 glad_glMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC)load("glMultiDrawArrays");
688 glad_glMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC)load("glMultiDrawElements");
689 glad_glPointParameterf = (PFNGLPOINTPARAMETERFPROC)load("glPointParameterf");
690 glad_glPointParameterfv = (PFNGLPOINTPARAMETERFVPROC)load("glPointParameterfv");
691 glad_glPointParameteri = (PFNGLPOINTPARAMETERIPROC)load("glPointParameteri");
692 glad_glPointParameteriv = (PFNGLPOINTPARAMETERIVPROC)load("glPointParameteriv");
693 glad_glBlendColor = (PFNGLBLENDCOLORPROC)load("glBlendColor");
694 glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load("glBlendEquation");
695}
696static void load_GL_VERSION_1_5(GLADloadproc load) {
697 if(!GLAD_GL_VERSION_1_5) return;
698 glad_glGenQueries = (PFNGLGENQUERIESPROC)load("glGenQueries");
699 glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)load("glDeleteQueries");
700 glad_glIsQuery = (PFNGLISQUERYPROC)load("glIsQuery");
701 glad_glBeginQuery = (PFNGLBEGINQUERYPROC)load("glBeginQuery");
702 glad_glEndQuery = (PFNGLENDQUERYPROC)load("glEndQuery");
703 glad_glGetQueryiv = (PFNGLGETQUERYIVPROC)load("glGetQueryiv");
704 glad_glGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC)load("glGetQueryObjectiv");
705 glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)load("glGetQueryObjectuiv");
706 glad_glBindBuffer = (PFNGLBINDBUFFERPROC)load("glBindBuffer");
707 glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)load("glDeleteBuffers");
708 glad_glGenBuffers = (PFNGLGENBUFFERSPROC)load("glGenBuffers");
709 glad_glIsBuffer = (PFNGLISBUFFERPROC)load("glIsBuffer");
710 glad_glBufferData = (PFNGLBUFFERDATAPROC)load("glBufferData");
711 glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)load("glBufferSubData");
712 glad_glGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)load("glGetBufferSubData");
713 glad_glMapBuffer = (PFNGLMAPBUFFERPROC)load("glMapBuffer");
714 glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)load("glUnmapBuffer");
715 glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv");
716 glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv");
717}
718static void load_GL_VERSION_2_0(GLADloadproc load) {
719 if(!GLAD_GL_VERSION_2_0) return;
720 glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load("glBlendEquationSeparate");
721 glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)load("glDrawBuffers");
722 glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load("glStencilOpSeparate");
723 glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load("glStencilFuncSeparate");
724 glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load("glStencilMaskSeparate");
725 glad_glAttachShader = (PFNGLATTACHSHADERPROC)load("glAttachShader");
726 glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)load("glBindAttribLocation");
727 glad_glCompileShader = (PFNGLCOMPILESHADERPROC)load("glCompileShader");
728 glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)load("glCreateProgram");
729 glad_glCreateShader = (PFNGLCREATESHADERPROC)load("glCreateShader");
730 glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)load("glDeleteProgram");
731 glad_glDeleteShader = (PFNGLDELETESHADERPROC)load("glDeleteShader");
732 glad_glDetachShader = (PFNGLDETACHSHADERPROC)load("glDetachShader");
733 glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load("glDisableVertexAttribArray");
734 glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load("glEnableVertexAttribArray");
735 glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)load("glGetActiveAttrib");
736 glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)load("glGetActiveUniform");
737 glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)load("glGetAttachedShaders");
738 glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load("glGetAttribLocation");
739 glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)load("glGetProgramiv");
740 glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)load("glGetProgramInfoLog");
741 glad_glGetShaderiv = (PFNGLGETSHADERIVPROC)load("glGetShaderiv");
742 glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)load("glGetShaderInfoLog");
743 glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)load("glGetShaderSource");
744 glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load("glGetUniformLocation");
745 glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)load("glGetUniformfv");
746 glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)load("glGetUniformiv");
747 glad_glGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC)load("glGetVertexAttribdv");
748 glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load("glGetVertexAttribfv");
749 glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load("glGetVertexAttribiv");
750 glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load("glGetVertexAttribPointerv");
751 glad_glIsProgram = (PFNGLISPROGRAMPROC)load("glIsProgram");
752 glad_glIsShader = (PFNGLISSHADERPROC)load("glIsShader");
753 glad_glLinkProgram = (PFNGLLINKPROGRAMPROC)load("glLinkProgram");
754 glad_glShaderSource = (PFNGLSHADERSOURCEPROC)load("glShaderSource");
755 glad_glUseProgram = (PFNGLUSEPROGRAMPROC)load("glUseProgram");
756 glad_glUniform1f = (PFNGLUNIFORM1FPROC)load("glUniform1f");
757 glad_glUniform2f = (PFNGLUNIFORM2FPROC)load("glUniform2f");
758 glad_glUniform3f = (PFNGLUNIFORM3FPROC)load("glUniform3f");
759 glad_glUniform4f = (PFNGLUNIFORM4FPROC)load("glUniform4f");
760 glad_glUniform1i = (PFNGLUNIFORM1IPROC)load("glUniform1i");
761 glad_glUniform2i = (PFNGLUNIFORM2IPROC)load("glUniform2i");
762 glad_glUniform3i = (PFNGLUNIFORM3IPROC)load("glUniform3i");
763 glad_glUniform4i = (PFNGLUNIFORM4IPROC)load("glUniform4i");
764 glad_glUniform1fv = (PFNGLUNIFORM1FVPROC)load("glUniform1fv");
765 glad_glUniform2fv = (PFNGLUNIFORM2FVPROC)load("glUniform2fv");
766 glad_glUniform3fv = (PFNGLUNIFORM3FVPROC)load("glUniform3fv");
767 glad_glUniform4fv = (PFNGLUNIFORM4FVPROC)load("glUniform4fv");
768 glad_glUniform1iv = (PFNGLUNIFORM1IVPROC)load("glUniform1iv");
769 glad_glUniform2iv = (PFNGLUNIFORM2IVPROC)load("glUniform2iv");
770 glad_glUniform3iv = (PFNGLUNIFORM3IVPROC)load("glUniform3iv");
771 glad_glUniform4iv = (PFNGLUNIFORM4IVPROC)load("glUniform4iv");
772 glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load("glUniformMatrix2fv");
773 glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load("glUniformMatrix3fv");
774 glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load("glUniformMatrix4fv");
775 glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)load("glValidateProgram");
776 glad_glVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC)load("glVertexAttrib1d");
777 glad_glVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC)load("glVertexAttrib1dv");
778 glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load("glVertexAttrib1f");
779 glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load("glVertexAttrib1fv");
780 glad_glVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC)load("glVertexAttrib1s");
781 glad_glVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC)load("glVertexAttrib1sv");
782 glad_glVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC)load("glVertexAttrib2d");
783 glad_glVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC)load("glVertexAttrib2dv");
784 glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load("glVertexAttrib2f");
785 glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load("glVertexAttrib2fv");
786 glad_glVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC)load("glVertexAttrib2s");
787 glad_glVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC)load("glVertexAttrib2sv");
788 glad_glVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC)load("glVertexAttrib3d");
789 glad_glVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC)load("glVertexAttrib3dv");
790 glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load("glVertexAttrib3f");
791 glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load("glVertexAttrib3fv");
792 glad_glVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC)load("glVertexAttrib3s");
793 glad_glVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC)load("glVertexAttrib3sv");
794 glad_glVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC)load("glVertexAttrib4Nbv");
795 glad_glVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC)load("glVertexAttrib4Niv");
796 glad_glVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC)load("glVertexAttrib4Nsv");
797 glad_glVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC)load("glVertexAttrib4Nub");
798 glad_glVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC)load("glVertexAttrib4Nubv");
799 glad_glVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC)load("glVertexAttrib4Nuiv");
800 glad_glVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC)load("glVertexAttrib4Nusv");
801 glad_glVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC)load("glVertexAttrib4bv");
802 glad_glVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC)load("glVertexAttrib4d");
803 glad_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)load("glVertexAttrib4dv");
804 glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load("glVertexAttrib4f");
805 glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load("glVertexAttrib4fv");
806 glad_glVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC)load("glVertexAttrib4iv");
807 glad_glVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC)load("glVertexAttrib4s");
808 glad_glVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC)load("glVertexAttrib4sv");
809 glad_glVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC)load("glVertexAttrib4ubv");
810 glad_glVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC)load("glVertexAttrib4uiv");
811 glad_glVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC)load("glVertexAttrib4usv");
812 glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load("glVertexAttribPointer");
813}
814static void load_GL_VERSION_2_1(GLADloadproc load) {
815 if(!GLAD_GL_VERSION_2_1) return;
816 glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)load("glUniformMatrix2x3fv");
817 glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)load("glUniformMatrix3x2fv");
818 glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)load("glUniformMatrix2x4fv");
819 glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)load("glUniformMatrix4x2fv");
820 glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv");
821 glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv");
822}
823static void load_GL_VERSION_3_0(GLADloadproc load) {
824 if(!GLAD_GL_VERSION_3_0) return;
825 glad_glColorMaski = (PFNGLCOLORMASKIPROC)load("glColorMaski");
826 glad_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)load("glGetBooleani_v");
827 glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v");
828 glad_glEnablei = (PFNGLENABLEIPROC)load("glEnablei");
829 glad_glDisablei = (PFNGLDISABLEIPROC)load("glDisablei");
830 glad_glIsEnabledi = (PFNGLISENABLEDIPROC)load("glIsEnabledi");
831 glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load("glBeginTransformFeedback");
832 glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load("glEndTransformFeedback");
833 glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange");
834 glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase");
835 glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load("glTransformFeedbackVaryings");
836 glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load("glGetTransformFeedbackVarying");
837 glad_glClampColor = (PFNGLCLAMPCOLORPROC)load("glClampColor");
838 glad_glBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC)load("glBeginConditionalRender");
839 glad_glEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC)load("glEndConditionalRender");
840 glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load("glVertexAttribIPointer");
841 glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load("glGetVertexAttribIiv");
842 glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load("glGetVertexAttribIuiv");
843 glad_glVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC)load("glVertexAttribI1i");
844 glad_glVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC)load("glVertexAttribI2i");
845 glad_glVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC)load("glVertexAttribI3i");
846 glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load("glVertexAttribI4i");
847 glad_glVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC)load("glVertexAttribI1ui");
848 glad_glVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC)load("glVertexAttribI2ui");
849 glad_glVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC)load("glVertexAttribI3ui");
850 glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load("glVertexAttribI4ui");
851 glad_glVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC)load("glVertexAttribI1iv");
852 glad_glVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC)load("glVertexAttribI2iv");
853 glad_glVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC)load("glVertexAttribI3iv");
854 glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load("glVertexAttribI4iv");
855 glad_glVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC)load("glVertexAttribI1uiv");
856 glad_glVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC)load("glVertexAttribI2uiv");
857 glad_glVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC)load("glVertexAttribI3uiv");
858 glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load("glVertexAttribI4uiv");
859 glad_glVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC)load("glVertexAttribI4bv");
860 glad_glVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC)load("glVertexAttribI4sv");
861 glad_glVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC)load("glVertexAttribI4ubv");
862 glad_glVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC)load("glVertexAttribI4usv");
863 glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load("glGetUniformuiv");
864 glad_glBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC)load("glBindFragDataLocation");
865 glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load("glGetFragDataLocation");
866 glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load("glUniform1ui");
867 glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load("glUniform2ui");
868 glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load("glUniform3ui");
869 glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load("glUniform4ui");
870 glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load("glUniform1uiv");
871 glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load("glUniform2uiv");
872 glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load("glUniform3uiv");
873 glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load("glUniform4uiv");
874 glad_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)load("glTexParameterIiv");
875 glad_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)load("glTexParameterIuiv");
876 glad_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)load("glGetTexParameterIiv");
877 glad_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)load("glGetTexParameterIuiv");
878 glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load("glClearBufferiv");
879 glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load("glClearBufferuiv");
880 glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load("glClearBufferfv");
881 glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load("glClearBufferfi");
882 glad_glGetStringi = (PFNGLGETSTRINGIPROC)load("glGetStringi");
883 glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer");
884 glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer");
885 glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers");
886 glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers");
887 glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage");
888 glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv");
889 glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer");
890 glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer");
891 glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers");
892 glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers");
893 glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus");
894 glad_glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)load("glFramebufferTexture1D");
895 glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D");
896 glad_glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)load("glFramebufferTexture3D");
897 glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer");
898 glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv");
899 glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap");
900 glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer");
901 glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample");
902 glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer");
903 glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange");
904 glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange");
905 glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray");
906 glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays");
907 glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays");
908 glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray");
909}
910static void load_GL_VERSION_3_1(GLADloadproc load) {
911 if(!GLAD_GL_VERSION_3_1) return;
912 glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load("glDrawArraysInstanced");
913 glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load("glDrawElementsInstanced");
914 glad_glTexBuffer = (PFNGLTEXBUFFERPROC)load("glTexBuffer");
915 glad_glPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC)load("glPrimitiveRestartIndex");
916 glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData");
917 glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices");
918 glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv");
919 glad_glGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC)load("glGetActiveUniformName");
920 glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex");
921 glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv");
922 glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName");
923 glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding");
924 glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange");
925 glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase");
926 glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v");
927}
928static void load_GL_VERSION_3_2(GLADloadproc load) {
929 if(!GLAD_GL_VERSION_3_2) return;
930 glad_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)load("glDrawElementsBaseVertex");
931 glad_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)load("glDrawRangeElementsBaseVertex");
932 glad_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)load("glDrawElementsInstancedBaseVertex");
933 glad_glMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)load("glMultiDrawElementsBaseVertex");
934 glad_glProvokingVertex = (PFNGLPROVOKINGVERTEXPROC)load("glProvokingVertex");
935 glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync");
936 glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync");
937 glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync");
938 glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync");
939 glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync");
940 glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v");
941 glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv");
942 glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load("glGetInteger64i_v");
943 glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load("glGetBufferParameteri64v");
944 glad_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)load("glFramebufferTexture");
945 glad_glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC)load("glTexImage2DMultisample");
946 glad_glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC)load("glTexImage3DMultisample");
947 glad_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)load("glGetMultisamplefv");
948 glad_glSampleMaski = (PFNGLSAMPLEMASKIPROC)load("glSampleMaski");
949}
950static void load_GL_VERSION_3_3(GLADloadproc load) {
951 if(!GLAD_GL_VERSION_3_3) return;
952 glad_glBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)load("glBindFragDataLocationIndexed");
953 glad_glGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC)load("glGetFragDataIndex");
954 glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers");
955 glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers");
956 glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler");
957 glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler");
958 glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri");
959 glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv");
960 glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf");
961 glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv");
962 glad_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)load("glSamplerParameterIiv");
963 glad_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)load("glSamplerParameterIuiv");
964 glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv");
965 glad_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)load("glGetSamplerParameterIiv");
966 glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv");
967 glad_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)load("glGetSamplerParameterIuiv");
968 glad_glQueryCounter = (PFNGLQUERYCOUNTERPROC)load("glQueryCounter");
969 glad_glGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC)load("glGetQueryObjecti64v");
970 glad_glGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC)load("glGetQueryObjectui64v");
971 glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load("glVertexAttribDivisor");
972 glad_glVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC)load("glVertexAttribP1ui");
973 glad_glVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC)load("glVertexAttribP1uiv");
974 glad_glVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC)load("glVertexAttribP2ui");
975 glad_glVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC)load("glVertexAttribP2uiv");
976 glad_glVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC)load("glVertexAttribP3ui");
977 glad_glVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC)load("glVertexAttribP3uiv");
978 glad_glVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC)load("glVertexAttribP4ui");
979 glad_glVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC)load("glVertexAttribP4uiv");
980 glad_glVertexP2ui = (PFNGLVERTEXP2UIPROC)load("glVertexP2ui");
981 glad_glVertexP2uiv = (PFNGLVERTEXP2UIVPROC)load("glVertexP2uiv");
982 glad_glVertexP3ui = (PFNGLVERTEXP3UIPROC)load("glVertexP3ui");
983 glad_glVertexP3uiv = (PFNGLVERTEXP3UIVPROC)load("glVertexP3uiv");
984 glad_glVertexP4ui = (PFNGLVERTEXP4UIPROC)load("glVertexP4ui");
985 glad_glVertexP4uiv = (PFNGLVERTEXP4UIVPROC)load("glVertexP4uiv");
986 glad_glTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC)load("glTexCoordP1ui");
987 glad_glTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC)load("glTexCoordP1uiv");
988 glad_glTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC)load("glTexCoordP2ui");
989 glad_glTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC)load("glTexCoordP2uiv");
990 glad_glTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC)load("glTexCoordP3ui");
991 glad_glTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC)load("glTexCoordP3uiv");
992 glad_glTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC)load("glTexCoordP4ui");
993 glad_glTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC)load("glTexCoordP4uiv");
994 glad_glMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC)load("glMultiTexCoordP1ui");
995 glad_glMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC)load("glMultiTexCoordP1uiv");
996 glad_glMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC)load("glMultiTexCoordP2ui");
997 glad_glMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC)load("glMultiTexCoordP2uiv");
998 glad_glMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC)load("glMultiTexCoordP3ui");
999 glad_glMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC)load("glMultiTexCoordP3uiv");
1000 glad_glMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC)load("glMultiTexCoordP4ui");
1001 glad_glMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC)load("glMultiTexCoordP4uiv");
1002 glad_glNormalP3ui = (PFNGLNORMALP3UIPROC)load("glNormalP3ui");
1003 glad_glNormalP3uiv = (PFNGLNORMALP3UIVPROC)load("glNormalP3uiv");
1004 glad_glColorP3ui = (PFNGLCOLORP3UIPROC)load("glColorP3ui");
1005 glad_glColorP3uiv = (PFNGLCOLORP3UIVPROC)load("glColorP3uiv");
1006 glad_glColorP4ui = (PFNGLCOLORP4UIPROC)load("glColorP4ui");
1007 glad_glColorP4uiv = (PFNGLCOLORP4UIVPROC)load("glColorP4uiv");
1008 glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui");
1009 glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv");
1010}
1011static void find_extensionsGL(void) {
1012 get_exts();
1013}
1014
1015static void find_coreGL(void) {
1016
1017 /* Thank you @elmindreda
1018 * https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176
1019 * https://github.com/glfw/glfw/blob/master/src/context.c#L36
1020 */
1021 int i, major, minor;
1022
1023 const char* version;
1024 const char* prefixes[] = {
1025 "OpenGL ES-CM ",
1026 "OpenGL ES-CL ",
1027 "OpenGL ES ",
1028 NULL
1029 };
1030
1031 version = (const char*) glGetString(GL_VERSION);
1032 if (!version) return;
1033
1034 for (i = 0; prefixes[i]; i++) {
1035 const size_t length = strlen(prefixes[i]);
1036 if (strncmp(version, prefixes[i], length) == 0) {
1037 version += length;
1038 break;
1039 }
1040 }
1041
1042/* PR #18 */
1043#ifdef _MSC_VER
1044 sscanf_s(version, "%d.%d", &major, &minor);
1045#else
1046 sscanf(version, "%d.%d", &major, &minor);
1047#endif
1048
1049 GLVersion.major = major; GLVersion.minor = minor;
1050 max_loaded_major = major; max_loaded_minor = minor;
1051 GLAD_GL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1;
1052 GLAD_GL_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1;
1053 GLAD_GL_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1;
1054 GLAD_GL_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1;
1055 GLAD_GL_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1;
1056 GLAD_GL_VERSION_1_5 = (major == 1 && minor >= 5) || major > 1;
1057 GLAD_GL_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
1058 GLAD_GL_VERSION_2_1 = (major == 2 && minor >= 1) || major > 2;
1059 GLAD_GL_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3;
1060 GLAD_GL_VERSION_3_1 = (major == 3 && minor >= 1) || major > 3;
1061 GLAD_GL_VERSION_3_2 = (major == 3 && minor >= 2) || major > 3;
1062 GLAD_GL_VERSION_3_3 = (major == 3 && minor >= 3) || major > 3;
1063 if (GLVersion.major > 3 || (GLVersion.major >= 3 && GLVersion.minor >= 3)) {
1064 max_loaded_major = 3;
1065 max_loaded_minor = 3;
1066 }
1067}
1068
1069int gladLoadGLLoader(GLADloadproc load) {
1070 GLVersion.major = 0; GLVersion.minor = 0;
1071 glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
1072 if(glGetString == NULL) return 0;
1073 if(glGetString(GL_VERSION) == NULL) return 0;
1074 find_coreGL();
1075 load_GL_VERSION_1_0(load);
1076 load_GL_VERSION_1_1(load);
1077 load_GL_VERSION_1_2(load);
1078 load_GL_VERSION_1_3(load);
1079 load_GL_VERSION_1_4(load);
1080 load_GL_VERSION_1_5(load);
1081 load_GL_VERSION_2_0(load);
1082 load_GL_VERSION_2_1(load);
1083 load_GL_VERSION_3_0(load);
1084 load_GL_VERSION_3_1(load);
1085 load_GL_VERSION_3_2(load);
1086 load_GL_VERSION_3_3(load);
1087
1088 find_extensionsGL();
1089 return GLVersion.major != 0 || GLVersion.minor != 0;
1090}
1091
1092static void load_GL_ES_VERSION_2_0(GLADloadproc load) {
1093 if(!GLAD_GL_ES_VERSION_2_0) return;
1094 glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC)load("glActiveTexture");
1095 glad_glAttachShader = (PFNGLATTACHSHADERPROC)load("glAttachShader");
1096 glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)load("glBindAttribLocation");
1097 glad_glBindBuffer = (PFNGLBINDBUFFERPROC)load("glBindBuffer");
1098 glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load("glBindFramebuffer");
1099 glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load("glBindRenderbuffer");
1100 glad_glBindTexture = (PFNGLBINDTEXTUREPROC)load("glBindTexture");
1101 glad_glBlendColor = (PFNGLBLENDCOLORPROC)load("glBlendColor");
1102 glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC)load("glBlendEquation");
1103 glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load("glBlendEquationSeparate");
1104 glad_glBlendFunc = (PFNGLBLENDFUNCPROC)load("glBlendFunc");
1105 glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load("glBlendFuncSeparate");
1106 glad_glBufferData = (PFNGLBUFFERDATAPROC)load("glBufferData");
1107 glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC)load("glBufferSubData");
1108 glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load("glCheckFramebufferStatus");
1109 glad_glClear = (PFNGLCLEARPROC)load("glClear");
1110 glad_glClearColor = (PFNGLCLEARCOLORPROC)load("glClearColor");
1111 glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC)load("glClearDepthf");
1112 glad_glClearStencil = (PFNGLCLEARSTENCILPROC)load("glClearStencil");
1113 glad_glColorMask = (PFNGLCOLORMASKPROC)load("glColorMask");
1114 glad_glCompileShader = (PFNGLCOMPILESHADERPROC)load("glCompileShader");
1115 glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)load("glCompressedTexImage2D");
1116 glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load("glCompressedTexSubImage2D");
1117 glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC)load("glCopyTexImage2D");
1118 glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC)load("glCopyTexSubImage2D");
1119 glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC)load("glCreateProgram");
1120 glad_glCreateShader = (PFNGLCREATESHADERPROC)load("glCreateShader");
1121 glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace");
1122 glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC)load("glDeleteBuffers");
1123 glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)load("glDeleteFramebuffers");
1124 glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC)load("glDeleteProgram");
1125 glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)load("glDeleteRenderbuffers");
1126 glad_glDeleteShader = (PFNGLDELETESHADERPROC)load("glDeleteShader");
1127 glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC)load("glDeleteTextures");
1128 glad_glDepthFunc = (PFNGLDEPTHFUNCPROC)load("glDepthFunc");
1129 glad_glDepthMask = (PFNGLDEPTHMASKPROC)load("glDepthMask");
1130 glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC)load("glDepthRangef");
1131 glad_glDetachShader = (PFNGLDETACHSHADERPROC)load("glDetachShader");
1132 glad_glDisable = (PFNGLDISABLEPROC)load("glDisable");
1133 glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load("glDisableVertexAttribArray");
1134 glad_glDrawArrays = (PFNGLDRAWARRAYSPROC)load("glDrawArrays");
1135 glad_glDrawElements = (PFNGLDRAWELEMENTSPROC)load("glDrawElements");
1136 glad_glEnable = (PFNGLENABLEPROC)load("glEnable");
1137 glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load("glEnableVertexAttribArray");
1138 glad_glFinish = (PFNGLFINISHPROC)load("glFinish");
1139 glad_glFlush = (PFNGLFLUSHPROC)load("glFlush");
1140 glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load("glFramebufferRenderbuffer");
1141 glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load("glFramebufferTexture2D");
1142 glad_glFrontFace = (PFNGLFRONTFACEPROC)load("glFrontFace");
1143 glad_glGenBuffers = (PFNGLGENBUFFERSPROC)load("glGenBuffers");
1144 glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load("glGenerateMipmap");
1145 glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load("glGenFramebuffers");
1146 glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load("glGenRenderbuffers");
1147 glad_glGenTextures = (PFNGLGENTEXTURESPROC)load("glGenTextures");
1148 glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC)load("glGetActiveAttrib");
1149 glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC)load("glGetActiveUniform");
1150 glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC)load("glGetAttachedShaders");
1151 glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load("glGetAttribLocation");
1152 glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC)load("glGetBooleanv");
1153 glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv");
1154 glad_glGetError = (PFNGLGETERRORPROC)load("glGetError");
1155 glad_glGetFloatv = (PFNGLGETFLOATVPROC)load("glGetFloatv");
1156 glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load("glGetFramebufferAttachmentParameteriv");
1157 glad_glGetIntegerv = (PFNGLGETINTEGERVPROC)load("glGetIntegerv");
1158 glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC)load("glGetProgramiv");
1159 glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)load("glGetProgramInfoLog");
1160 glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load("glGetRenderbufferParameteriv");
1161 glad_glGetShaderiv = (PFNGLGETSHADERIVPROC)load("glGetShaderiv");
1162 glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)load("glGetShaderInfoLog");
1163 glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC)load("glGetShaderPrecisionFormat");
1164 glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC)load("glGetShaderSource");
1165 glad_glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
1166 glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load("glGetTexParameterfv");
1167 glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load("glGetTexParameteriv");
1168 glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC)load("glGetUniformfv");
1169 glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC)load("glGetUniformiv");
1170 glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load("glGetUniformLocation");
1171 glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load("glGetVertexAttribfv");
1172 glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load("glGetVertexAttribiv");
1173 glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load("glGetVertexAttribPointerv");
1174 glad_glHint = (PFNGLHINTPROC)load("glHint");
1175 glad_glIsBuffer = (PFNGLISBUFFERPROC)load("glIsBuffer");
1176 glad_glIsEnabled = (PFNGLISENABLEDPROC)load("glIsEnabled");
1177 glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC)load("glIsFramebuffer");
1178 glad_glIsProgram = (PFNGLISPROGRAMPROC)load("glIsProgram");
1179 glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC)load("glIsRenderbuffer");
1180 glad_glIsShader = (PFNGLISSHADERPROC)load("glIsShader");
1181 glad_glIsTexture = (PFNGLISTEXTUREPROC)load("glIsTexture");
1182 glad_glLineWidth = (PFNGLLINEWIDTHPROC)load("glLineWidth");
1183 glad_glLinkProgram = (PFNGLLINKPROGRAMPROC)load("glLinkProgram");
1184 glad_glPixelStorei = (PFNGLPIXELSTOREIPROC)load("glPixelStorei");
1185 glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC)load("glPolygonOffset");
1186 glad_glReadPixels = (PFNGLREADPIXELSPROC)load("glReadPixels");
1187 glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC)load("glReleaseShaderCompiler");
1188 glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load("glRenderbufferStorage");
1189 glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load("glSampleCoverage");
1190 glad_glScissor = (PFNGLSCISSORPROC)load("glScissor");
1191 glad_glShaderBinary = (PFNGLSHADERBINARYPROC)load("glShaderBinary");
1192 glad_glShaderSource = (PFNGLSHADERSOURCEPROC)load("glShaderSource");
1193 glad_glStencilFunc = (PFNGLSTENCILFUNCPROC)load("glStencilFunc");
1194 glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load("glStencilFuncSeparate");
1195 glad_glStencilMask = (PFNGLSTENCILMASKPROC)load("glStencilMask");
1196 glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load("glStencilMaskSeparate");
1197 glad_glStencilOp = (PFNGLSTENCILOPPROC)load("glStencilOp");
1198 glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load("glStencilOpSeparate");
1199 glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC)load("glTexImage2D");
1200 glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC)load("glTexParameterf");
1201 glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC)load("glTexParameterfv");
1202 glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC)load("glTexParameteri");
1203 glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC)load("glTexParameteriv");
1204 glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load("glTexSubImage2D");
1205 glad_glUniform1f = (PFNGLUNIFORM1FPROC)load("glUniform1f");
1206 glad_glUniform1fv = (PFNGLUNIFORM1FVPROC)load("glUniform1fv");
1207 glad_glUniform1i = (PFNGLUNIFORM1IPROC)load("glUniform1i");
1208 glad_glUniform1iv = (PFNGLUNIFORM1IVPROC)load("glUniform1iv");
1209 glad_glUniform2f = (PFNGLUNIFORM2FPROC)load("glUniform2f");
1210 glad_glUniform2fv = (PFNGLUNIFORM2FVPROC)load("glUniform2fv");
1211 glad_glUniform2i = (PFNGLUNIFORM2IPROC)load("glUniform2i");
1212 glad_glUniform2iv = (PFNGLUNIFORM2IVPROC)load("glUniform2iv");
1213 glad_glUniform3f = (PFNGLUNIFORM3FPROC)load("glUniform3f");
1214 glad_glUniform3fv = (PFNGLUNIFORM3FVPROC)load("glUniform3fv");
1215 glad_glUniform3i = (PFNGLUNIFORM3IPROC)load("glUniform3i");
1216 glad_glUniform3iv = (PFNGLUNIFORM3IVPROC)load("glUniform3iv");
1217 glad_glUniform4f = (PFNGLUNIFORM4FPROC)load("glUniform4f");
1218 glad_glUniform4fv = (PFNGLUNIFORM4FVPROC)load("glUniform4fv");
1219 glad_glUniform4i = (PFNGLUNIFORM4IPROC)load("glUniform4i");
1220 glad_glUniform4iv = (PFNGLUNIFORM4IVPROC)load("glUniform4iv");
1221 glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load("glUniformMatrix2fv");
1222 glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load("glUniformMatrix3fv");
1223 glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load("glUniformMatrix4fv");
1224 glad_glUseProgram = (PFNGLUSEPROGRAMPROC)load("glUseProgram");
1225 glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)load("glValidateProgram");
1226 glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load("glVertexAttrib1f");
1227 glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load("glVertexAttrib1fv");
1228 glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load("glVertexAttrib2f");
1229 glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load("glVertexAttrib2fv");
1230 glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load("glVertexAttrib3f");
1231 glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load("glVertexAttrib3fv");
1232 glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load("glVertexAttrib4f");
1233 glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load("glVertexAttrib4fv");
1234 glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load("glVertexAttribPointer");
1235 glad_glViewport = (PFNGLVIEWPORTPROC)load("glViewport");
1236}
1237static void load_GL_ES_VERSION_3_0(GLADloadproc load) {
1238 if(!GLAD_GL_ES_VERSION_3_0) return;
1239 glad_glReadBuffer = (PFNGLREADBUFFERPROC)load("glReadBuffer");
1240 glad_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load("glDrawRangeElements");
1241 glad_glTexImage3D = (PFNGLTEXIMAGE3DPROC)load("glTexImage3D");
1242 glad_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)load("glTexSubImage3D");
1243 glad_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)load("glCopyTexSubImage3D");
1244 glad_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)load("glCompressedTexImage3D");
1245 glad_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)load("glCompressedTexSubImage3D");
1246 glad_glGenQueries = (PFNGLGENQUERIESPROC)load("glGenQueries");
1247 glad_glDeleteQueries = (PFNGLDELETEQUERIESPROC)load("glDeleteQueries");
1248 glad_glIsQuery = (PFNGLISQUERYPROC)load("glIsQuery");
1249 glad_glBeginQuery = (PFNGLBEGINQUERYPROC)load("glBeginQuery");
1250 glad_glEndQuery = (PFNGLENDQUERYPROC)load("glEndQuery");
1251 glad_glGetQueryiv = (PFNGLGETQUERYIVPROC)load("glGetQueryiv");
1252 glad_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)load("glGetQueryObjectuiv");
1253 glad_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)load("glUnmapBuffer");
1254 glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv");
1255 glad_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)load("glDrawBuffers");
1256 glad_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)load("glUniformMatrix2x3fv");
1257 glad_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)load("glUniformMatrix3x2fv");
1258 glad_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)load("glUniformMatrix2x4fv");
1259 glad_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)load("glUniformMatrix4x2fv");
1260 glad_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)load("glUniformMatrix3x4fv");
1261 glad_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)load("glUniformMatrix4x3fv");
1262 glad_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)load("glBlitFramebuffer");
1263 glad_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)load("glRenderbufferStorageMultisample");
1264 glad_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)load("glFramebufferTextureLayer");
1265 glad_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)load("glMapBufferRange");
1266 glad_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)load("glFlushMappedBufferRange");
1267 glad_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)load("glBindVertexArray");
1268 glad_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)load("glDeleteVertexArrays");
1269 glad_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)load("glGenVertexArrays");
1270 glad_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)load("glIsVertexArray");
1271 glad_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)load("glGetIntegeri_v");
1272 glad_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)load("glBeginTransformFeedback");
1273 glad_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)load("glEndTransformFeedback");
1274 glad_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)load("glBindBufferRange");
1275 glad_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)load("glBindBufferBase");
1276 glad_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)load("glTransformFeedbackVaryings");
1277 glad_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)load("glGetTransformFeedbackVarying");
1278 glad_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)load("glVertexAttribIPointer");
1279 glad_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)load("glGetVertexAttribIiv");
1280 glad_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)load("glGetVertexAttribIuiv");
1281 glad_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)load("glVertexAttribI4i");
1282 glad_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)load("glVertexAttribI4ui");
1283 glad_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)load("glVertexAttribI4iv");
1284 glad_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)load("glVertexAttribI4uiv");
1285 glad_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)load("glGetUniformuiv");
1286 glad_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)load("glGetFragDataLocation");
1287 glad_glUniform1ui = (PFNGLUNIFORM1UIPROC)load("glUniform1ui");
1288 glad_glUniform2ui = (PFNGLUNIFORM2UIPROC)load("glUniform2ui");
1289 glad_glUniform3ui = (PFNGLUNIFORM3UIPROC)load("glUniform3ui");
1290 glad_glUniform4ui = (PFNGLUNIFORM4UIPROC)load("glUniform4ui");
1291 glad_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)load("glUniform1uiv");
1292 glad_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)load("glUniform2uiv");
1293 glad_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)load("glUniform3uiv");
1294 glad_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)load("glUniform4uiv");
1295 glad_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)load("glClearBufferiv");
1296 glad_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)load("glClearBufferuiv");
1297 glad_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)load("glClearBufferfv");
1298 glad_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)load("glClearBufferfi");
1299 glad_glGetStringi = (PFNGLGETSTRINGIPROC)load("glGetStringi");
1300 glad_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)load("glCopyBufferSubData");
1301 glad_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)load("glGetUniformIndices");
1302 glad_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)load("glGetActiveUniformsiv");
1303 glad_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)load("glGetUniformBlockIndex");
1304 glad_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)load("glGetActiveUniformBlockiv");
1305 glad_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)load("glGetActiveUniformBlockName");
1306 glad_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)load("glUniformBlockBinding");
1307 glad_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)load("glDrawArraysInstanced");
1308 glad_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)load("glDrawElementsInstanced");
1309 glad_glFenceSync = (PFNGLFENCESYNCPROC)load("glFenceSync");
1310 glad_glIsSync = (PFNGLISSYNCPROC)load("glIsSync");
1311 glad_glDeleteSync = (PFNGLDELETESYNCPROC)load("glDeleteSync");
1312 glad_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)load("glClientWaitSync");
1313 glad_glWaitSync = (PFNGLWAITSYNCPROC)load("glWaitSync");
1314 glad_glGetInteger64v = (PFNGLGETINTEGER64VPROC)load("glGetInteger64v");
1315 glad_glGetSynciv = (PFNGLGETSYNCIVPROC)load("glGetSynciv");
1316 glad_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)load("glGetInteger64i_v");
1317 glad_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)load("glGetBufferParameteri64v");
1318 glad_glGenSamplers = (PFNGLGENSAMPLERSPROC)load("glGenSamplers");
1319 glad_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)load("glDeleteSamplers");
1320 glad_glIsSampler = (PFNGLISSAMPLERPROC)load("glIsSampler");
1321 glad_glBindSampler = (PFNGLBINDSAMPLERPROC)load("glBindSampler");
1322 glad_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)load("glSamplerParameteri");
1323 glad_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)load("glSamplerParameteriv");
1324 glad_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)load("glSamplerParameterf");
1325 glad_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)load("glSamplerParameterfv");
1326 glad_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)load("glGetSamplerParameteriv");
1327 glad_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)load("glGetSamplerParameterfv");
1328 glad_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)load("glVertexAttribDivisor");
1329 glad_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)load("glBindTransformFeedback");
1330 glad_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)load("glDeleteTransformFeedbacks");
1331 glad_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)load("glGenTransformFeedbacks");
1332 glad_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)load("glIsTransformFeedback");
1333 glad_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)load("glPauseTransformFeedback");
1334 glad_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)load("glResumeTransformFeedback");
1335 glad_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)load("glGetProgramBinary");
1336 glad_glProgramBinary = (PFNGLPROGRAMBINARYPROC)load("glProgramBinary");
1337 glad_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)load("glProgramParameteri");
1338 glad_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)load("glInvalidateFramebuffer");
1339 glad_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)load("glInvalidateSubFramebuffer");
1340 glad_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)load("glTexStorage2D");
1341 glad_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)load("glTexStorage3D");
1342 glad_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)load("glGetInternalformativ");
1343}
1344static void find_extensionsGLES2(void) {
1345 get_exts();
1346}
1347
1348static void find_coreGLES2(void) {
1349
1350 /* Thank you @elmindreda
1351 * https://github.com/elmindreda/greg/blob/master/templates/greg.c.in#L176
1352 * https://github.com/glfw/glfw/blob/master/src/context.c#L36
1353 */
1354 int i, major, minor;
1355
1356 const char* version;
1357 const char* prefixes[] = {
1358 "OpenGL ES-CM ",
1359 "OpenGL ES-CL ",
1360 "OpenGL ES ",
1361 NULL
1362 };
1363
1364 version = (const char*) glGetString(GL_VERSION);
1365 if (!version) return;
1366
1367 for (i = 0; prefixes[i]; i++) {
1368 const size_t length = strlen(prefixes[i]);
1369 if (strncmp(version, prefixes[i], length) == 0) {
1370 version += length;
1371 break;
1372 }
1373 }
1374
1375/* PR #18 */
1376#ifdef _MSC_VER
1377 sscanf_s(version, "%d.%d", &major, &minor);
1378#else
1379 sscanf(version, "%d.%d", &major, &minor);
1380#endif
1381
1382 GLVersion.major = major; GLVersion.minor = minor;
1383 max_loaded_major = major; max_loaded_minor = minor;
1384 GLAD_GL_ES_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
1385 GLAD_GL_ES_VERSION_3_0 = (major == 3 && minor >= 0) || major > 3;
1386 if (GLVersion.major > 3 || (GLVersion.major >= 3 && GLVersion.minor >= 0)) {
1387 max_loaded_major = 3;
1388 max_loaded_minor = 0;
1389 }
1390}
1391
1392int gladLoadGLES2Loader(GLADloadproc load) {
1393 GLVersion.major = 0; GLVersion.minor = 0;
1394 glGetString = (PFNGLGETSTRINGPROC)load("glGetString");
1395 if(glGetString == NULL) return 0;
1396 if(glGetString(GL_VERSION) == NULL) return 0;
1397 find_coreGLES2();
1398 load_GL_ES_VERSION_2_0(load);
1399 load_GL_ES_VERSION_3_0(load);
1400
1401 find_extensionsGLES2();
1402 return GLVersion.major != 0 || GLVersion.minor != 0;
1403}
1404
diff --git a/src/citra/CMakeLists.txt b/src/citra/CMakeLists.txt
index 1d6aac9a9..beb96bd30 100644
--- a/src/citra/CMakeLists.txt
+++ b/src/citra/CMakeLists.txt
@@ -15,7 +15,7 @@ create_directory_groups(${SRCS} ${HEADERS})
15 15
16add_executable(citra ${SRCS} ${HEADERS}) 16add_executable(citra ${SRCS} ${HEADERS})
17target_link_libraries(citra core video_core common) 17target_link_libraries(citra core video_core common)
18target_link_libraries(citra ${GLFW_LIBRARIES} ${OPENGL_gl_LIBRARY} inih) 18target_link_libraries(citra ${GLFW_LIBRARIES} ${OPENGL_gl_LIBRARY} inih glad)
19if (MSVC) 19if (MSVC)
20 target_link_libraries(citra getopt) 20 target_link_libraries(citra getopt)
21endif() 21endif()
@@ -23,4 +23,4 @@ target_link_libraries(citra ${PLATFORM_LIBRARIES})
23 23
24if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD|OpenBSD|NetBSD") 24if(${CMAKE_SYSTEM_NAME} MATCHES "Linux|FreeBSD|OpenBSD|NetBSD")
25 install(TARGETS citra RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") 25 install(TARGETS citra RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
26endif() \ No newline at end of file 26endif()
diff --git a/src/citra/emu_window/emu_window_glfw.cpp b/src/citra/emu_window/emu_window_glfw.cpp
index 6d6656b5a..096efc4a2 100644
--- a/src/citra/emu_window/emu_window_glfw.cpp
+++ b/src/citra/emu_window/emu_window_glfw.cpp
@@ -7,7 +7,7 @@
7#include <string> 7#include <string>
8 8
9// Let’s use our own GL header, instead of one from GLFW. 9// Let’s use our own GL header, instead of one from GLFW.
10#include "video_core/renderer_opengl/generated/gl_3_2_core.h" 10#include <glad/glad.h>
11#define GLFW_INCLUDE_NONE 11#define GLFW_INCLUDE_NONE
12#include <GLFW/glfw3.h> 12#include <GLFW/glfw3.h>
13 13
diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
index 183709d8b..8c9d76ab4 100644
--- a/src/video_core/CMakeLists.txt
+++ b/src/video_core/CMakeLists.txt
@@ -1,5 +1,4 @@
1set(SRCS 1set(SRCS
2 renderer_opengl/generated/gl_3_2_core.c
3 renderer_opengl/gl_rasterizer.cpp 2 renderer_opengl/gl_rasterizer.cpp
4 renderer_opengl/gl_rasterizer_cache.cpp 3 renderer_opengl/gl_rasterizer_cache.cpp
5 renderer_opengl/gl_shader_util.cpp 4 renderer_opengl/gl_shader_util.cpp
@@ -19,7 +18,6 @@ set(SRCS
19 18
20set(HEADERS 19set(HEADERS
21 debug_utils/debug_utils.h 20 debug_utils/debug_utils.h
22 renderer_opengl/generated/gl_3_2_core.h
23 renderer_opengl/gl_rasterizer.h 21 renderer_opengl/gl_rasterizer.h
24 renderer_opengl/gl_rasterizer_cache.h 22 renderer_opengl/gl_rasterizer_cache.h
25 renderer_opengl/gl_resource_manager.h 23 renderer_opengl/gl_resource_manager.h
@@ -53,6 +51,7 @@ endif()
53create_directory_groups(${SRCS} ${HEADERS}) 51create_directory_groups(${SRCS} ${HEADERS})
54 52
55add_library(video_core STATIC ${SRCS} ${HEADERS}) 53add_library(video_core STATIC ${SRCS} ${HEADERS})
54target_link_libraries(video_core glad)
56 55
57if (PNG_FOUND) 56if (PNG_FOUND)
58 target_link_libraries(video_core ${PNG_LIBRARIES}) 57 target_link_libraries(video_core ${PNG_LIBRARIES})
diff --git a/src/video_core/renderer_opengl/generated/Readme.md b/src/video_core/renderer_opengl/generated/Readme.md
deleted file mode 100644
index ff41524f5..000000000
--- a/src/video_core/renderer_opengl/generated/Readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
1These file were generated by the [glLoadGen](https://bitbucket.org/alfonse/glloadgen/wiki/Home) OpenGL loader generator and have been checked in as-is. You can re-generate them using version 2.0.2 of glLoadGen and executing the following command:
2
3```
4lua LoadGen.lua -version 3.2 -profile core -indent space 3_2_core
5```
diff --git a/src/video_core/renderer_opengl/generated/gl_3_2_core.c b/src/video_core/renderer_opengl/generated/gl_3_2_core.c
deleted file mode 100644
index 95fd29c0a..000000000
--- a/src/video_core/renderer_opengl/generated/gl_3_2_core.c
+++ /dev/null
@@ -1,1186 +0,0 @@
1#include <stdlib.h>
2#include <string.h>
3#include <stddef.h>
4#include "gl_3_2_core.h"
5
6#if defined(__APPLE__)
7#include <mach-o/dyld.h>
8
9static void* AppleGLGetProcAddress (const GLubyte *name)
10{
11 static const struct mach_header* image = NULL;
12 NSSymbol symbol;
13 char* symbolName;
14 if (NULL == image)
15 {
16 image = NSAddImage("/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL", NSADDIMAGE_OPTION_RETURN_ON_ERROR);
17 }
18 /* prepend a '_' for the Unix C symbol mangling convention */
19 symbolName = malloc(strlen((const char*)name) + 2);
20 strcpy(symbolName+1, (const char*)name);
21 symbolName[0] = '_';
22 symbol = NULL;
23 /* if (NSIsSymbolNameDefined(symbolName))
24 symbol = NSLookupAndBindSymbol(symbolName); */
25 symbol = image ? NSLookupSymbolInImage(image, symbolName, NSLOOKUPSYMBOLINIMAGE_OPTION_BIND | NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR) : NULL;
26 free(symbolName);
27 return symbol ? NSAddressOfSymbol(symbol) : NULL;
28}
29#endif /* __APPLE__ */
30
31#if defined(__sgi) || defined (__sun)
32#include <dlfcn.h>
33#include <stdio.h>
34
35static void* SunGetProcAddress (const GLubyte* name)
36{
37 static void* h = NULL;
38 static void* gpa;
39
40 if (h == NULL)
41 {
42 if ((h = dlopen(NULL, RTLD_LAZY | RTLD_LOCAL)) == NULL) return NULL;
43 gpa = dlsym(h, "glXGetProcAddress");
44 }
45
46 if (gpa != NULL)
47 return ((void*(*)(const GLubyte*))gpa)(name);
48 else
49 return dlsym(h, (const char*)name);
50}
51#endif /* __sgi || __sun */
52
53#if defined(_WIN32)
54
55#ifdef _MSC_VER
56#pragma warning(disable: 4055)
57#pragma warning(disable: 4054)
58#endif
59
60static int TestPointer(const PROC pTest)
61{
62 ptrdiff_t iTest;
63 if(!pTest) return 0;
64 iTest = (ptrdiff_t)pTest;
65
66 if(iTest == 1 || iTest == 2 || iTest == 3 || iTest == -1) return 0;
67
68 return 1;
69}
70
71static PROC WinGetProcAddress(const char *name)
72{
73 HMODULE glMod = NULL;
74 PROC pFunc = wglGetProcAddress((LPCSTR)name);
75 if(TestPointer(pFunc))
76 {
77 return pFunc;
78 }
79 glMod = GetModuleHandleA("OpenGL32.dll");
80 return (PROC)GetProcAddress(glMod, (LPCSTR)name);
81}
82
83#define IntGetProcAddress(name) WinGetProcAddress(name)
84#else
85 #if defined(__APPLE__)
86 #define IntGetProcAddress(name) AppleGLGetProcAddress(name)
87 #else
88 #if defined(__sgi) || defined(__sun)
89 #define IntGetProcAddress(name) SunGetProcAddress(name)
90 #else /* GLX */
91 #include <GL/glx.h>
92
93 #define IntGetProcAddress(name) (*glXGetProcAddressARB)((const GLubyte*)name)
94 #endif
95 #endif
96#endif
97
98void (CODEGEN_FUNCPTR *_ptrc_glBlendFunc)(GLenum, GLenum) = NULL;
99void (CODEGEN_FUNCPTR *_ptrc_glClear)(GLbitfield) = NULL;
100void (CODEGEN_FUNCPTR *_ptrc_glClearColor)(GLfloat, GLfloat, GLfloat, GLfloat) = NULL;
101void (CODEGEN_FUNCPTR *_ptrc_glClearDepth)(GLdouble) = NULL;
102void (CODEGEN_FUNCPTR *_ptrc_glClearStencil)(GLint) = NULL;
103void (CODEGEN_FUNCPTR *_ptrc_glColorMask)(GLboolean, GLboolean, GLboolean, GLboolean) = NULL;
104void (CODEGEN_FUNCPTR *_ptrc_glCullFace)(GLenum) = NULL;
105void (CODEGEN_FUNCPTR *_ptrc_glDepthFunc)(GLenum) = NULL;
106void (CODEGEN_FUNCPTR *_ptrc_glDepthMask)(GLboolean) = NULL;
107void (CODEGEN_FUNCPTR *_ptrc_glDepthRange)(GLdouble, GLdouble) = NULL;
108void (CODEGEN_FUNCPTR *_ptrc_glDisable)(GLenum) = NULL;
109void (CODEGEN_FUNCPTR *_ptrc_glDrawBuffer)(GLenum) = NULL;
110void (CODEGEN_FUNCPTR *_ptrc_glEnable)(GLenum) = NULL;
111void (CODEGEN_FUNCPTR *_ptrc_glFinish)() = NULL;
112void (CODEGEN_FUNCPTR *_ptrc_glFlush)() = NULL;
113void (CODEGEN_FUNCPTR *_ptrc_glFrontFace)(GLenum) = NULL;
114void (CODEGEN_FUNCPTR *_ptrc_glGetBooleanv)(GLenum, GLboolean *) = NULL;
115void (CODEGEN_FUNCPTR *_ptrc_glGetDoublev)(GLenum, GLdouble *) = NULL;
116GLenum (CODEGEN_FUNCPTR *_ptrc_glGetError)() = NULL;
117void (CODEGEN_FUNCPTR *_ptrc_glGetFloatv)(GLenum, GLfloat *) = NULL;
118void (CODEGEN_FUNCPTR *_ptrc_glGetIntegerv)(GLenum, GLint *) = NULL;
119const GLubyte * (CODEGEN_FUNCPTR *_ptrc_glGetString)(GLenum) = NULL;
120void (CODEGEN_FUNCPTR *_ptrc_glGetTexImage)(GLenum, GLint, GLenum, GLenum, GLvoid *) = NULL;
121void (CODEGEN_FUNCPTR *_ptrc_glGetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *) = NULL;
122void (CODEGEN_FUNCPTR *_ptrc_glGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *) = NULL;
123void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterfv)(GLenum, GLenum, GLfloat *) = NULL;
124void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameteriv)(GLenum, GLenum, GLint *) = NULL;
125void (CODEGEN_FUNCPTR *_ptrc_glHint)(GLenum, GLenum) = NULL;
126GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsEnabled)(GLenum) = NULL;
127void (CODEGEN_FUNCPTR *_ptrc_glLineWidth)(GLfloat) = NULL;
128void (CODEGEN_FUNCPTR *_ptrc_glLogicOp)(GLenum) = NULL;
129void (CODEGEN_FUNCPTR *_ptrc_glPixelStoref)(GLenum, GLfloat) = NULL;
130void (CODEGEN_FUNCPTR *_ptrc_glPixelStorei)(GLenum, GLint) = NULL;
131void (CODEGEN_FUNCPTR *_ptrc_glPointSize)(GLfloat) = NULL;
132void (CODEGEN_FUNCPTR *_ptrc_glPolygonMode)(GLenum, GLenum) = NULL;
133void (CODEGEN_FUNCPTR *_ptrc_glReadBuffer)(GLenum) = NULL;
134void (CODEGEN_FUNCPTR *_ptrc_glReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *) = NULL;
135void (CODEGEN_FUNCPTR *_ptrc_glScissor)(GLint, GLint, GLsizei, GLsizei) = NULL;
136void (CODEGEN_FUNCPTR *_ptrc_glStencilFunc)(GLenum, GLint, GLuint) = NULL;
137void (CODEGEN_FUNCPTR *_ptrc_glStencilMask)(GLuint) = NULL;
138void (CODEGEN_FUNCPTR *_ptrc_glStencilOp)(GLenum, GLenum, GLenum) = NULL;
139void (CODEGEN_FUNCPTR *_ptrc_glTexImage1D)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *) = NULL;
140void (CODEGEN_FUNCPTR *_ptrc_glTexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *) = NULL;
141void (CODEGEN_FUNCPTR *_ptrc_glTexParameterf)(GLenum, GLenum, GLfloat) = NULL;
142void (CODEGEN_FUNCPTR *_ptrc_glTexParameterfv)(GLenum, GLenum, const GLfloat *) = NULL;
143void (CODEGEN_FUNCPTR *_ptrc_glTexParameteri)(GLenum, GLenum, GLint) = NULL;
144void (CODEGEN_FUNCPTR *_ptrc_glTexParameteriv)(GLenum, GLenum, const GLint *) = NULL;
145void (CODEGEN_FUNCPTR *_ptrc_glViewport)(GLint, GLint, GLsizei, GLsizei) = NULL;
146
147void (CODEGEN_FUNCPTR *_ptrc_glBindTexture)(GLenum, GLuint) = NULL;
148void (CODEGEN_FUNCPTR *_ptrc_glCopyTexImage1D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint) = NULL;
149void (CODEGEN_FUNCPTR *_ptrc_glCopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint) = NULL;
150void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage1D)(GLenum, GLint, GLint, GLint, GLint, GLsizei) = NULL;
151void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = NULL;
152void (CODEGEN_FUNCPTR *_ptrc_glDeleteTextures)(GLsizei, const GLuint *) = NULL;
153void (CODEGEN_FUNCPTR *_ptrc_glDrawArrays)(GLenum, GLint, GLsizei) = NULL;
154void (CODEGEN_FUNCPTR *_ptrc_glDrawElements)(GLenum, GLsizei, GLenum, const GLvoid *) = NULL;
155void (CODEGEN_FUNCPTR *_ptrc_glGenTextures)(GLsizei, GLuint *) = NULL;
156GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsTexture)(GLuint) = NULL;
157void (CODEGEN_FUNCPTR *_ptrc_glPolygonOffset)(GLfloat, GLfloat) = NULL;
158void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *) = NULL;
159void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *) = NULL;
160
161void (CODEGEN_FUNCPTR *_ptrc_glBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat) = NULL;
162void (CODEGEN_FUNCPTR *_ptrc_glBlendEquation)(GLenum) = NULL;
163void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) = NULL;
164void (CODEGEN_FUNCPTR *_ptrc_glDrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *) = NULL;
165void (CODEGEN_FUNCPTR *_ptrc_glTexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *) = NULL;
166void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *) = NULL;
167
168void (CODEGEN_FUNCPTR *_ptrc_glActiveTexture)(GLenum) = NULL;
169void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage1D)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *) = NULL;
170void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *) = NULL;
171void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *) = NULL;
172void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *) = NULL;
173void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *) = NULL;
174void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *) = NULL;
175void (CODEGEN_FUNCPTR *_ptrc_glGetCompressedTexImage)(GLenum, GLint, GLvoid *) = NULL;
176void (CODEGEN_FUNCPTR *_ptrc_glSampleCoverage)(GLfloat, GLboolean) = NULL;
177
178void (CODEGEN_FUNCPTR *_ptrc_glBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum) = NULL;
179void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawArrays)(GLenum, const GLint *, const GLsizei *, GLsizei) = NULL;
180void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawElements)(GLenum, const GLsizei *, GLenum, const GLvoid *const*, GLsizei) = NULL;
181void (CODEGEN_FUNCPTR *_ptrc_glPointParameterf)(GLenum, GLfloat) = NULL;
182void (CODEGEN_FUNCPTR *_ptrc_glPointParameterfv)(GLenum, const GLfloat *) = NULL;
183void (CODEGEN_FUNCPTR *_ptrc_glPointParameteri)(GLenum, GLint) = NULL;
184void (CODEGEN_FUNCPTR *_ptrc_glPointParameteriv)(GLenum, const GLint *) = NULL;
185
186void (CODEGEN_FUNCPTR *_ptrc_glBeginQuery)(GLenum, GLuint) = NULL;
187void (CODEGEN_FUNCPTR *_ptrc_glBindBuffer)(GLenum, GLuint) = NULL;
188void (CODEGEN_FUNCPTR *_ptrc_glBufferData)(GLenum, GLsizeiptr, const GLvoid *, GLenum) = NULL;
189void (CODEGEN_FUNCPTR *_ptrc_glBufferSubData)(GLenum, GLintptr, GLsizeiptr, const GLvoid *) = NULL;
190void (CODEGEN_FUNCPTR *_ptrc_glDeleteBuffers)(GLsizei, const GLuint *) = NULL;
191void (CODEGEN_FUNCPTR *_ptrc_glDeleteQueries)(GLsizei, const GLuint *) = NULL;
192void (CODEGEN_FUNCPTR *_ptrc_glEndQuery)(GLenum) = NULL;
193void (CODEGEN_FUNCPTR *_ptrc_glGenBuffers)(GLsizei, GLuint *) = NULL;
194void (CODEGEN_FUNCPTR *_ptrc_glGenQueries)(GLsizei, GLuint *) = NULL;
195void (CODEGEN_FUNCPTR *_ptrc_glGetBufferParameteriv)(GLenum, GLenum, GLint *) = NULL;
196void (CODEGEN_FUNCPTR *_ptrc_glGetBufferPointerv)(GLenum, GLenum, GLvoid **) = NULL;
197void (CODEGEN_FUNCPTR *_ptrc_glGetBufferSubData)(GLenum, GLintptr, GLsizeiptr, GLvoid *) = NULL;
198void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjectiv)(GLuint, GLenum, GLint *) = NULL;
199void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjectuiv)(GLuint, GLenum, GLuint *) = NULL;
200void (CODEGEN_FUNCPTR *_ptrc_glGetQueryiv)(GLenum, GLenum, GLint *) = NULL;
201GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsBuffer)(GLuint) = NULL;
202GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsQuery)(GLuint) = NULL;
203void * (CODEGEN_FUNCPTR *_ptrc_glMapBuffer)(GLenum, GLenum) = NULL;
204GLboolean (CODEGEN_FUNCPTR *_ptrc_glUnmapBuffer)(GLenum) = NULL;
205
206void (CODEGEN_FUNCPTR *_ptrc_glAttachShader)(GLuint, GLuint) = NULL;
207void (CODEGEN_FUNCPTR *_ptrc_glBindAttribLocation)(GLuint, GLuint, const GLchar *) = NULL;
208void (CODEGEN_FUNCPTR *_ptrc_glBlendEquationSeparate)(GLenum, GLenum) = NULL;
209void (CODEGEN_FUNCPTR *_ptrc_glCompileShader)(GLuint) = NULL;
210GLuint (CODEGEN_FUNCPTR *_ptrc_glCreateProgram)() = NULL;
211GLuint (CODEGEN_FUNCPTR *_ptrc_glCreateShader)(GLenum) = NULL;
212void (CODEGEN_FUNCPTR *_ptrc_glDeleteProgram)(GLuint) = NULL;
213void (CODEGEN_FUNCPTR *_ptrc_glDeleteShader)(GLuint) = NULL;
214void (CODEGEN_FUNCPTR *_ptrc_glDetachShader)(GLuint, GLuint) = NULL;
215void (CODEGEN_FUNCPTR *_ptrc_glDisableVertexAttribArray)(GLuint) = NULL;
216void (CODEGEN_FUNCPTR *_ptrc_glDrawBuffers)(GLsizei, const GLenum *) = NULL;
217void (CODEGEN_FUNCPTR *_ptrc_glEnableVertexAttribArray)(GLuint) = NULL;
218void (CODEGEN_FUNCPTR *_ptrc_glGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) = NULL;
219void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *) = NULL;
220void (CODEGEN_FUNCPTR *_ptrc_glGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *) = NULL;
221GLint (CODEGEN_FUNCPTR *_ptrc_glGetAttribLocation)(GLuint, const GLchar *) = NULL;
222void (CODEGEN_FUNCPTR *_ptrc_glGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = NULL;
223void (CODEGEN_FUNCPTR *_ptrc_glGetProgramiv)(GLuint, GLenum, GLint *) = NULL;
224void (CODEGEN_FUNCPTR *_ptrc_glGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *) = NULL;
225void (CODEGEN_FUNCPTR *_ptrc_glGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *) = NULL;
226void (CODEGEN_FUNCPTR *_ptrc_glGetShaderiv)(GLuint, GLenum, GLint *) = NULL;
227GLint (CODEGEN_FUNCPTR *_ptrc_glGetUniformLocation)(GLuint, const GLchar *) = NULL;
228void (CODEGEN_FUNCPTR *_ptrc_glGetUniformfv)(GLuint, GLint, GLfloat *) = NULL;
229void (CODEGEN_FUNCPTR *_ptrc_glGetUniformiv)(GLuint, GLint, GLint *) = NULL;
230void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribPointerv)(GLuint, GLenum, GLvoid **) = NULL;
231void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribdv)(GLuint, GLenum, GLdouble *) = NULL;
232void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribfv)(GLuint, GLenum, GLfloat *) = NULL;
233void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribiv)(GLuint, GLenum, GLint *) = NULL;
234GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsProgram)(GLuint) = NULL;
235GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsShader)(GLuint) = NULL;
236void (CODEGEN_FUNCPTR *_ptrc_glLinkProgram)(GLuint) = NULL;
237void (CODEGEN_FUNCPTR *_ptrc_glShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *) = NULL;
238void (CODEGEN_FUNCPTR *_ptrc_glStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint) = NULL;
239void (CODEGEN_FUNCPTR *_ptrc_glStencilMaskSeparate)(GLenum, GLuint) = NULL;
240void (CODEGEN_FUNCPTR *_ptrc_glStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum) = NULL;
241void (CODEGEN_FUNCPTR *_ptrc_glUniform1f)(GLint, GLfloat) = NULL;
242void (CODEGEN_FUNCPTR *_ptrc_glUniform1fv)(GLint, GLsizei, const GLfloat *) = NULL;
243void (CODEGEN_FUNCPTR *_ptrc_glUniform1i)(GLint, GLint) = NULL;
244void (CODEGEN_FUNCPTR *_ptrc_glUniform1iv)(GLint, GLsizei, const GLint *) = NULL;
245void (CODEGEN_FUNCPTR *_ptrc_glUniform2f)(GLint, GLfloat, GLfloat) = NULL;
246void (CODEGEN_FUNCPTR *_ptrc_glUniform2fv)(GLint, GLsizei, const GLfloat *) = NULL;
247void (CODEGEN_FUNCPTR *_ptrc_glUniform2i)(GLint, GLint, GLint) = NULL;
248void (CODEGEN_FUNCPTR *_ptrc_glUniform2iv)(GLint, GLsizei, const GLint *) = NULL;
249void (CODEGEN_FUNCPTR *_ptrc_glUniform3f)(GLint, GLfloat, GLfloat, GLfloat) = NULL;
250void (CODEGEN_FUNCPTR *_ptrc_glUniform3fv)(GLint, GLsizei, const GLfloat *) = NULL;
251void (CODEGEN_FUNCPTR *_ptrc_glUniform3i)(GLint, GLint, GLint, GLint) = NULL;
252void (CODEGEN_FUNCPTR *_ptrc_glUniform3iv)(GLint, GLsizei, const GLint *) = NULL;
253void (CODEGEN_FUNCPTR *_ptrc_glUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat) = NULL;
254void (CODEGEN_FUNCPTR *_ptrc_glUniform4fv)(GLint, GLsizei, const GLfloat *) = NULL;
255void (CODEGEN_FUNCPTR *_ptrc_glUniform4i)(GLint, GLint, GLint, GLint, GLint) = NULL;
256void (CODEGEN_FUNCPTR *_ptrc_glUniform4iv)(GLint, GLsizei, const GLint *) = NULL;
257void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL;
258void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL;
259void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL;
260void (CODEGEN_FUNCPTR *_ptrc_glUseProgram)(GLuint) = NULL;
261void (CODEGEN_FUNCPTR *_ptrc_glValidateProgram)(GLuint) = NULL;
262void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1d)(GLuint, GLdouble) = NULL;
263void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1dv)(GLuint, const GLdouble *) = NULL;
264void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1f)(GLuint, GLfloat) = NULL;
265void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1fv)(GLuint, const GLfloat *) = NULL;
266void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1s)(GLuint, GLshort) = NULL;
267void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1sv)(GLuint, const GLshort *) = NULL;
268void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2d)(GLuint, GLdouble, GLdouble) = NULL;
269void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2dv)(GLuint, const GLdouble *) = NULL;
270void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2f)(GLuint, GLfloat, GLfloat) = NULL;
271void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2fv)(GLuint, const GLfloat *) = NULL;
272void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2s)(GLuint, GLshort, GLshort) = NULL;
273void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2sv)(GLuint, const GLshort *) = NULL;
274void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3d)(GLuint, GLdouble, GLdouble, GLdouble) = NULL;
275void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3dv)(GLuint, const GLdouble *) = NULL;
276void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat) = NULL;
277void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3fv)(GLuint, const GLfloat *) = NULL;
278void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3s)(GLuint, GLshort, GLshort, GLshort) = NULL;
279void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3sv)(GLuint, const GLshort *) = NULL;
280void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nbv)(GLuint, const GLbyte *) = NULL;
281void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Niv)(GLuint, const GLint *) = NULL;
282void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nsv)(GLuint, const GLshort *) = NULL;
283void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nub)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte) = NULL;
284void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nubv)(GLuint, const GLubyte *) = NULL;
285void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nuiv)(GLuint, const GLuint *) = NULL;
286void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nusv)(GLuint, const GLushort *) = NULL;
287void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4bv)(GLuint, const GLbyte *) = NULL;
288void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble) = NULL;
289void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4dv)(GLuint, const GLdouble *) = NULL;
290void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat) = NULL;
291void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4fv)(GLuint, const GLfloat *) = NULL;
292void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4iv)(GLuint, const GLint *) = NULL;
293void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4s)(GLuint, GLshort, GLshort, GLshort, GLshort) = NULL;
294void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4sv)(GLuint, const GLshort *) = NULL;
295void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4ubv)(GLuint, const GLubyte *) = NULL;
296void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4uiv)(GLuint, const GLuint *) = NULL;
297void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4usv)(GLuint, const GLushort *) = NULL;
298void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *) = NULL;
299
300void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL;
301void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL;
302void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL;
303void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL;
304void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL;
305void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *) = NULL;
306
307void (CODEGEN_FUNCPTR *_ptrc_glBeginConditionalRender)(GLuint, GLenum) = NULL;
308void (CODEGEN_FUNCPTR *_ptrc_glBeginTransformFeedback)(GLenum) = NULL;
309void (CODEGEN_FUNCPTR *_ptrc_glBindBufferBase)(GLenum, GLuint, GLuint) = NULL;
310void (CODEGEN_FUNCPTR *_ptrc_glBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr) = NULL;
311void (CODEGEN_FUNCPTR *_ptrc_glBindFragDataLocation)(GLuint, GLuint, const GLchar *) = NULL;
312void (CODEGEN_FUNCPTR *_ptrc_glBindFramebuffer)(GLenum, GLuint) = NULL;
313void (CODEGEN_FUNCPTR *_ptrc_glBindRenderbuffer)(GLenum, GLuint) = NULL;
314void (CODEGEN_FUNCPTR *_ptrc_glBindVertexArray)(GLuint) = NULL;
315void (CODEGEN_FUNCPTR *_ptrc_glBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum) = NULL;
316GLenum (CODEGEN_FUNCPTR *_ptrc_glCheckFramebufferStatus)(GLenum) = NULL;
317void (CODEGEN_FUNCPTR *_ptrc_glClampColor)(GLenum, GLenum) = NULL;
318void (CODEGEN_FUNCPTR *_ptrc_glClearBufferfi)(GLenum, GLint, GLfloat, GLint) = NULL;
319void (CODEGEN_FUNCPTR *_ptrc_glClearBufferfv)(GLenum, GLint, const GLfloat *) = NULL;
320void (CODEGEN_FUNCPTR *_ptrc_glClearBufferiv)(GLenum, GLint, const GLint *) = NULL;
321void (CODEGEN_FUNCPTR *_ptrc_glClearBufferuiv)(GLenum, GLint, const GLuint *) = NULL;
322void (CODEGEN_FUNCPTR *_ptrc_glColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean) = NULL;
323void (CODEGEN_FUNCPTR *_ptrc_glDeleteFramebuffers)(GLsizei, const GLuint *) = NULL;
324void (CODEGEN_FUNCPTR *_ptrc_glDeleteRenderbuffers)(GLsizei, const GLuint *) = NULL;
325void (CODEGEN_FUNCPTR *_ptrc_glDeleteVertexArrays)(GLsizei, const GLuint *) = NULL;
326void (CODEGEN_FUNCPTR *_ptrc_glDisablei)(GLenum, GLuint) = NULL;
327void (CODEGEN_FUNCPTR *_ptrc_glEnablei)(GLenum, GLuint) = NULL;
328void (CODEGEN_FUNCPTR *_ptrc_glEndConditionalRender)() = NULL;
329void (CODEGEN_FUNCPTR *_ptrc_glEndTransformFeedback)() = NULL;
330void (CODEGEN_FUNCPTR *_ptrc_glFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr) = NULL;
331void (CODEGEN_FUNCPTR *_ptrc_glFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint) = NULL;
332void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture1D)(GLenum, GLenum, GLenum, GLuint, GLint) = NULL;
333void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint) = NULL;
334void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture3D)(GLenum, GLenum, GLenum, GLuint, GLint, GLint) = NULL;
335void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint) = NULL;
336void (CODEGEN_FUNCPTR *_ptrc_glGenFramebuffers)(GLsizei, GLuint *) = NULL;
337void (CODEGEN_FUNCPTR *_ptrc_glGenRenderbuffers)(GLsizei, GLuint *) = NULL;
338void (CODEGEN_FUNCPTR *_ptrc_glGenVertexArrays)(GLsizei, GLuint *) = NULL;
339void (CODEGEN_FUNCPTR *_ptrc_glGenerateMipmap)(GLenum) = NULL;
340void (CODEGEN_FUNCPTR *_ptrc_glGetBooleani_v)(GLenum, GLuint, GLboolean *) = NULL;
341GLint (CODEGEN_FUNCPTR *_ptrc_glGetFragDataLocation)(GLuint, const GLchar *) = NULL;
342void (CODEGEN_FUNCPTR *_ptrc_glGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *) = NULL;
343void (CODEGEN_FUNCPTR *_ptrc_glGetIntegeri_v)(GLenum, GLuint, GLint *) = NULL;
344void (CODEGEN_FUNCPTR *_ptrc_glGetRenderbufferParameteriv)(GLenum, GLenum, GLint *) = NULL;
345const GLubyte * (CODEGEN_FUNCPTR *_ptrc_glGetStringi)(GLenum, GLuint) = NULL;
346void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterIiv)(GLenum, GLenum, GLint *) = NULL;
347void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterIuiv)(GLenum, GLenum, GLuint *) = NULL;
348void (CODEGEN_FUNCPTR *_ptrc_glGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *) = NULL;
349void (CODEGEN_FUNCPTR *_ptrc_glGetUniformuiv)(GLuint, GLint, GLuint *) = NULL;
350void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribIiv)(GLuint, GLenum, GLint *) = NULL;
351void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribIuiv)(GLuint, GLenum, GLuint *) = NULL;
352GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsEnabledi)(GLenum, GLuint) = NULL;
353GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsFramebuffer)(GLuint) = NULL;
354GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsRenderbuffer)(GLuint) = NULL;
355GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsVertexArray)(GLuint) = NULL;
356void * (CODEGEN_FUNCPTR *_ptrc_glMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield) = NULL;
357void (CODEGEN_FUNCPTR *_ptrc_glRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei) = NULL;
358void (CODEGEN_FUNCPTR *_ptrc_glRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei) = NULL;
359void (CODEGEN_FUNCPTR *_ptrc_glTexParameterIiv)(GLenum, GLenum, const GLint *) = NULL;
360void (CODEGEN_FUNCPTR *_ptrc_glTexParameterIuiv)(GLenum, GLenum, const GLuint *) = NULL;
361void (CODEGEN_FUNCPTR *_ptrc_glTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum) = NULL;
362void (CODEGEN_FUNCPTR *_ptrc_glUniform1ui)(GLint, GLuint) = NULL;
363void (CODEGEN_FUNCPTR *_ptrc_glUniform1uiv)(GLint, GLsizei, const GLuint *) = NULL;
364void (CODEGEN_FUNCPTR *_ptrc_glUniform2ui)(GLint, GLuint, GLuint) = NULL;
365void (CODEGEN_FUNCPTR *_ptrc_glUniform2uiv)(GLint, GLsizei, const GLuint *) = NULL;
366void (CODEGEN_FUNCPTR *_ptrc_glUniform3ui)(GLint, GLuint, GLuint, GLuint) = NULL;
367void (CODEGEN_FUNCPTR *_ptrc_glUniform3uiv)(GLint, GLsizei, const GLuint *) = NULL;
368void (CODEGEN_FUNCPTR *_ptrc_glUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint) = NULL;
369void (CODEGEN_FUNCPTR *_ptrc_glUniform4uiv)(GLint, GLsizei, const GLuint *) = NULL;
370void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1i)(GLuint, GLint) = NULL;
371void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1iv)(GLuint, const GLint *) = NULL;
372void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1ui)(GLuint, GLuint) = NULL;
373void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1uiv)(GLuint, const GLuint *) = NULL;
374void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2i)(GLuint, GLint, GLint) = NULL;
375void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2iv)(GLuint, const GLint *) = NULL;
376void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2ui)(GLuint, GLuint, GLuint) = NULL;
377void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2uiv)(GLuint, const GLuint *) = NULL;
378void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3i)(GLuint, GLint, GLint, GLint) = NULL;
379void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3iv)(GLuint, const GLint *) = NULL;
380void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3ui)(GLuint, GLuint, GLuint, GLuint) = NULL;
381void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3uiv)(GLuint, const GLuint *) = NULL;
382void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4bv)(GLuint, const GLbyte *) = NULL;
383void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint) = NULL;
384void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4iv)(GLuint, const GLint *) = NULL;
385void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4sv)(GLuint, const GLshort *) = NULL;
386void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4ubv)(GLuint, const GLubyte *) = NULL;
387void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint) = NULL;
388void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4uiv)(GLuint, const GLuint *) = NULL;
389void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4usv)(GLuint, const GLushort *) = NULL;
390void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const GLvoid *) = NULL;
391
392void (CODEGEN_FUNCPTR *_ptrc_glCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr) = NULL;
393void (CODEGEN_FUNCPTR *_ptrc_glDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei) = NULL;
394void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstanced)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei) = NULL;
395void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *) = NULL;
396void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *) = NULL;
397void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *) = NULL;
398void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *) = NULL;
399GLuint (CODEGEN_FUNCPTR *_ptrc_glGetUniformBlockIndex)(GLuint, const GLchar *) = NULL;
400void (CODEGEN_FUNCPTR *_ptrc_glGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *) = NULL;
401void (CODEGEN_FUNCPTR *_ptrc_glPrimitiveRestartIndex)(GLuint) = NULL;
402void (CODEGEN_FUNCPTR *_ptrc_glTexBuffer)(GLenum, GLenum, GLuint) = NULL;
403void (CODEGEN_FUNCPTR *_ptrc_glUniformBlockBinding)(GLuint, GLuint, GLuint) = NULL;
404
405GLenum (CODEGEN_FUNCPTR *_ptrc_glClientWaitSync)(GLsync, GLbitfield, GLuint64) = NULL;
406void (CODEGEN_FUNCPTR *_ptrc_glDeleteSync)(GLsync) = NULL;
407void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLint) = NULL;
408void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint) = NULL;
409void (CODEGEN_FUNCPTR *_ptrc_glDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint) = NULL;
410GLsync (CODEGEN_FUNCPTR *_ptrc_glFenceSync)(GLenum, GLbitfield) = NULL;
411void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture)(GLenum, GLenum, GLuint, GLint) = NULL;
412void (CODEGEN_FUNCPTR *_ptrc_glGetBufferParameteri64v)(GLenum, GLenum, GLint64 *) = NULL;
413void (CODEGEN_FUNCPTR *_ptrc_glGetInteger64i_v)(GLenum, GLuint, GLint64 *) = NULL;
414void (CODEGEN_FUNCPTR *_ptrc_glGetInteger64v)(GLenum, GLint64 *) = NULL;
415void (CODEGEN_FUNCPTR *_ptrc_glGetMultisamplefv)(GLenum, GLuint, GLfloat *) = NULL;
416void (CODEGEN_FUNCPTR *_ptrc_glGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *) = NULL;
417GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsSync)(GLsync) = NULL;
418void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawElementsBaseVertex)(GLenum, const GLsizei *, GLenum, const GLvoid *const*, GLsizei, const GLint *) = NULL;
419void (CODEGEN_FUNCPTR *_ptrc_glProvokingVertex)(GLenum) = NULL;
420void (CODEGEN_FUNCPTR *_ptrc_glSampleMaski)(GLuint, GLbitfield) = NULL;
421void (CODEGEN_FUNCPTR *_ptrc_glTexImage2DMultisample)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean) = NULL;
422void (CODEGEN_FUNCPTR *_ptrc_glTexImage3DMultisample)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean) = NULL;
423void (CODEGEN_FUNCPTR *_ptrc_glWaitSync)(GLsync, GLbitfield, GLuint64) = NULL;
424
425static int Load_Version_3_2()
426{
427 int numFailed = 0;
428 _ptrc_glBlendFunc = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glBlendFunc");
429 if(!_ptrc_glBlendFunc) numFailed++;
430 _ptrc_glClear = (void (CODEGEN_FUNCPTR *)(GLbitfield))IntGetProcAddress("glClear");
431 if(!_ptrc_glClear) numFailed++;
432 _ptrc_glClearColor = (void (CODEGEN_FUNCPTR *)(GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glClearColor");
433 if(!_ptrc_glClearColor) numFailed++;
434 _ptrc_glClearDepth = (void (CODEGEN_FUNCPTR *)(GLdouble))IntGetProcAddress("glClearDepth");
435 if(!_ptrc_glClearDepth) numFailed++;
436 _ptrc_glClearStencil = (void (CODEGEN_FUNCPTR *)(GLint))IntGetProcAddress("glClearStencil");
437 if(!_ptrc_glClearStencil) numFailed++;
438 _ptrc_glColorMask = (void (CODEGEN_FUNCPTR *)(GLboolean, GLboolean, GLboolean, GLboolean))IntGetProcAddress("glColorMask");
439 if(!_ptrc_glColorMask) numFailed++;
440 _ptrc_glCullFace = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glCullFace");
441 if(!_ptrc_glCullFace) numFailed++;
442 _ptrc_glDepthFunc = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glDepthFunc");
443 if(!_ptrc_glDepthFunc) numFailed++;
444 _ptrc_glDepthMask = (void (CODEGEN_FUNCPTR *)(GLboolean))IntGetProcAddress("glDepthMask");
445 if(!_ptrc_glDepthMask) numFailed++;
446 _ptrc_glDepthRange = (void (CODEGEN_FUNCPTR *)(GLdouble, GLdouble))IntGetProcAddress("glDepthRange");
447 if(!_ptrc_glDepthRange) numFailed++;
448 _ptrc_glDisable = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glDisable");
449 if(!_ptrc_glDisable) numFailed++;
450 _ptrc_glDrawBuffer = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glDrawBuffer");
451 if(!_ptrc_glDrawBuffer) numFailed++;
452 _ptrc_glEnable = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glEnable");
453 if(!_ptrc_glEnable) numFailed++;
454 _ptrc_glFinish = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glFinish");
455 if(!_ptrc_glFinish) numFailed++;
456 _ptrc_glFlush = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glFlush");
457 if(!_ptrc_glFlush) numFailed++;
458 _ptrc_glFrontFace = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glFrontFace");
459 if(!_ptrc_glFrontFace) numFailed++;
460 _ptrc_glGetBooleanv = (void (CODEGEN_FUNCPTR *)(GLenum, GLboolean *))IntGetProcAddress("glGetBooleanv");
461 if(!_ptrc_glGetBooleanv) numFailed++;
462 _ptrc_glGetDoublev = (void (CODEGEN_FUNCPTR *)(GLenum, GLdouble *))IntGetProcAddress("glGetDoublev");
463 if(!_ptrc_glGetDoublev) numFailed++;
464 _ptrc_glGetError = (GLenum (CODEGEN_FUNCPTR *)())IntGetProcAddress("glGetError");
465 if(!_ptrc_glGetError) numFailed++;
466 _ptrc_glGetFloatv = (void (CODEGEN_FUNCPTR *)(GLenum, GLfloat *))IntGetProcAddress("glGetFloatv");
467 if(!_ptrc_glGetFloatv) numFailed++;
468 _ptrc_glGetIntegerv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint *))IntGetProcAddress("glGetIntegerv");
469 if(!_ptrc_glGetIntegerv) numFailed++;
470 _ptrc_glGetString = (const GLubyte * (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glGetString");
471 if(!_ptrc_glGetString) numFailed++;
472 _ptrc_glGetTexImage = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLenum, GLvoid *))IntGetProcAddress("glGetTexImage");
473 if(!_ptrc_glGetTexImage) numFailed++;
474 _ptrc_glGetTexLevelParameterfv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLfloat *))IntGetProcAddress("glGetTexLevelParameterfv");
475 if(!_ptrc_glGetTexLevelParameterfv) numFailed++;
476 _ptrc_glGetTexLevelParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLint *))IntGetProcAddress("glGetTexLevelParameteriv");
477 if(!_ptrc_glGetTexLevelParameteriv) numFailed++;
478 _ptrc_glGetTexParameterfv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLfloat *))IntGetProcAddress("glGetTexParameterfv");
479 if(!_ptrc_glGetTexParameterfv) numFailed++;
480 _ptrc_glGetTexParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *))IntGetProcAddress("glGetTexParameteriv");
481 if(!_ptrc_glGetTexParameteriv) numFailed++;
482 _ptrc_glHint = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glHint");
483 if(!_ptrc_glHint) numFailed++;
484 _ptrc_glIsEnabled = (GLboolean (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glIsEnabled");
485 if(!_ptrc_glIsEnabled) numFailed++;
486 _ptrc_glLineWidth = (void (CODEGEN_FUNCPTR *)(GLfloat))IntGetProcAddress("glLineWidth");
487 if(!_ptrc_glLineWidth) numFailed++;
488 _ptrc_glLogicOp = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glLogicOp");
489 if(!_ptrc_glLogicOp) numFailed++;
490 _ptrc_glPixelStoref = (void (CODEGEN_FUNCPTR *)(GLenum, GLfloat))IntGetProcAddress("glPixelStoref");
491 if(!_ptrc_glPixelStoref) numFailed++;
492 _ptrc_glPixelStorei = (void (CODEGEN_FUNCPTR *)(GLenum, GLint))IntGetProcAddress("glPixelStorei");
493 if(!_ptrc_glPixelStorei) numFailed++;
494 _ptrc_glPointSize = (void (CODEGEN_FUNCPTR *)(GLfloat))IntGetProcAddress("glPointSize");
495 if(!_ptrc_glPointSize) numFailed++;
496 _ptrc_glPolygonMode = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glPolygonMode");
497 if(!_ptrc_glPolygonMode) numFailed++;
498 _ptrc_glReadBuffer = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glReadBuffer");
499 if(!_ptrc_glReadBuffer) numFailed++;
500 _ptrc_glReadPixels = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *))IntGetProcAddress("glReadPixels");
501 if(!_ptrc_glReadPixels) numFailed++;
502 _ptrc_glScissor = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glScissor");
503 if(!_ptrc_glScissor) numFailed++;
504 _ptrc_glStencilFunc = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLuint))IntGetProcAddress("glStencilFunc");
505 if(!_ptrc_glStencilFunc) numFailed++;
506 _ptrc_glStencilMask = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glStencilMask");
507 if(!_ptrc_glStencilMask) numFailed++;
508 _ptrc_glStencilOp = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum))IntGetProcAddress("glStencilOp");
509 if(!_ptrc_glStencilOp) numFailed++;
510 _ptrc_glTexImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *))IntGetProcAddress("glTexImage1D");
511 if(!_ptrc_glTexImage1D) numFailed++;
512 _ptrc_glTexImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *))IntGetProcAddress("glTexImage2D");
513 if(!_ptrc_glTexImage2D) numFailed++;
514 _ptrc_glTexParameterf = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLfloat))IntGetProcAddress("glTexParameterf");
515 if(!_ptrc_glTexParameterf) numFailed++;
516 _ptrc_glTexParameterfv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, const GLfloat *))IntGetProcAddress("glTexParameterfv");
517 if(!_ptrc_glTexParameterfv) numFailed++;
518 _ptrc_glTexParameteri = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint))IntGetProcAddress("glTexParameteri");
519 if(!_ptrc_glTexParameteri) numFailed++;
520 _ptrc_glTexParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, const GLint *))IntGetProcAddress("glTexParameteriv");
521 if(!_ptrc_glTexParameteriv) numFailed++;
522 _ptrc_glViewport = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glViewport");
523 if(!_ptrc_glViewport) numFailed++;
524 _ptrc_glBindTexture = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glBindTexture");
525 if(!_ptrc_glBindTexture) numFailed++;
526 _ptrc_glCopyTexImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint))IntGetProcAddress("glCopyTexImage1D");
527 if(!_ptrc_glCopyTexImage1D) numFailed++;
528 _ptrc_glCopyTexImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint))IntGetProcAddress("glCopyTexImage2D");
529 if(!_ptrc_glCopyTexImage2D) numFailed++;
530 _ptrc_glCopyTexSubImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLint, GLsizei))IntGetProcAddress("glCopyTexSubImage1D");
531 if(!_ptrc_glCopyTexSubImage1D) numFailed++;
532 _ptrc_glCopyTexSubImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glCopyTexSubImage2D");
533 if(!_ptrc_glCopyTexSubImage2D) numFailed++;
534 _ptrc_glDeleteTextures = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteTextures");
535 if(!_ptrc_glDeleteTextures) numFailed++;
536 _ptrc_glDrawArrays = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLsizei))IntGetProcAddress("glDrawArrays");
537 if(!_ptrc_glDrawArrays) numFailed++;
538 _ptrc_glDrawElements = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, const GLvoid *))IntGetProcAddress("glDrawElements");
539 if(!_ptrc_glDrawElements) numFailed++;
540 _ptrc_glGenTextures = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenTextures");
541 if(!_ptrc_glGenTextures) numFailed++;
542 _ptrc_glIsTexture = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsTexture");
543 if(!_ptrc_glIsTexture) numFailed++;
544 _ptrc_glPolygonOffset = (void (CODEGEN_FUNCPTR *)(GLfloat, GLfloat))IntGetProcAddress("glPolygonOffset");
545 if(!_ptrc_glPolygonOffset) numFailed++;
546 _ptrc_glTexSubImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *))IntGetProcAddress("glTexSubImage1D");
547 if(!_ptrc_glTexSubImage1D) numFailed++;
548 _ptrc_glTexSubImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *))IntGetProcAddress("glTexSubImage2D");
549 if(!_ptrc_glTexSubImage2D) numFailed++;
550 _ptrc_glBlendColor = (void (CODEGEN_FUNCPTR *)(GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glBlendColor");
551 if(!_ptrc_glBlendColor) numFailed++;
552 _ptrc_glBlendEquation = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glBlendEquation");
553 if(!_ptrc_glBlendEquation) numFailed++;
554 _ptrc_glCopyTexSubImage3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei))IntGetProcAddress("glCopyTexSubImage3D");
555 if(!_ptrc_glCopyTexSubImage3D) numFailed++;
556 _ptrc_glDrawRangeElements = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *))IntGetProcAddress("glDrawRangeElements");
557 if(!_ptrc_glDrawRangeElements) numFailed++;
558 _ptrc_glTexImage3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *))IntGetProcAddress("glTexImage3D");
559 if(!_ptrc_glTexImage3D) numFailed++;
560 _ptrc_glTexSubImage3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *))IntGetProcAddress("glTexSubImage3D");
561 if(!_ptrc_glTexSubImage3D) numFailed++;
562 _ptrc_glActiveTexture = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glActiveTexture");
563 if(!_ptrc_glActiveTexture) numFailed++;
564 _ptrc_glCompressedTexImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *))IntGetProcAddress("glCompressedTexImage1D");
565 if(!_ptrc_glCompressedTexImage1D) numFailed++;
566 _ptrc_glCompressedTexImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *))IntGetProcAddress("glCompressedTexImage2D");
567 if(!_ptrc_glCompressedTexImage2D) numFailed++;
568 _ptrc_glCompressedTexImage3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *))IntGetProcAddress("glCompressedTexImage3D");
569 if(!_ptrc_glCompressedTexImage3D) numFailed++;
570 _ptrc_glCompressedTexSubImage1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *))IntGetProcAddress("glCompressedTexSubImage1D");
571 if(!_ptrc_glCompressedTexSubImage1D) numFailed++;
572 _ptrc_glCompressedTexSubImage2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *))IntGetProcAddress("glCompressedTexSubImage2D");
573 if(!_ptrc_glCompressedTexSubImage2D) numFailed++;
574 _ptrc_glCompressedTexSubImage3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *))IntGetProcAddress("glCompressedTexSubImage3D");
575 if(!_ptrc_glCompressedTexSubImage3D) numFailed++;
576 _ptrc_glGetCompressedTexImage = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLvoid *))IntGetProcAddress("glGetCompressedTexImage");
577 if(!_ptrc_glGetCompressedTexImage) numFailed++;
578 _ptrc_glSampleCoverage = (void (CODEGEN_FUNCPTR *)(GLfloat, GLboolean))IntGetProcAddress("glSampleCoverage");
579 if(!_ptrc_glSampleCoverage) numFailed++;
580 _ptrc_glBlendFuncSeparate = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLenum))IntGetProcAddress("glBlendFuncSeparate");
581 if(!_ptrc_glBlendFuncSeparate) numFailed++;
582 _ptrc_glMultiDrawArrays = (void (CODEGEN_FUNCPTR *)(GLenum, const GLint *, const GLsizei *, GLsizei))IntGetProcAddress("glMultiDrawArrays");
583 if(!_ptrc_glMultiDrawArrays) numFailed++;
584 _ptrc_glMultiDrawElements = (void (CODEGEN_FUNCPTR *)(GLenum, const GLsizei *, GLenum, const GLvoid *const*, GLsizei))IntGetProcAddress("glMultiDrawElements");
585 if(!_ptrc_glMultiDrawElements) numFailed++;
586 _ptrc_glPointParameterf = (void (CODEGEN_FUNCPTR *)(GLenum, GLfloat))IntGetProcAddress("glPointParameterf");
587 if(!_ptrc_glPointParameterf) numFailed++;
588 _ptrc_glPointParameterfv = (void (CODEGEN_FUNCPTR *)(GLenum, const GLfloat *))IntGetProcAddress("glPointParameterfv");
589 if(!_ptrc_glPointParameterfv) numFailed++;
590 _ptrc_glPointParameteri = (void (CODEGEN_FUNCPTR *)(GLenum, GLint))IntGetProcAddress("glPointParameteri");
591 if(!_ptrc_glPointParameteri) numFailed++;
592 _ptrc_glPointParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, const GLint *))IntGetProcAddress("glPointParameteriv");
593 if(!_ptrc_glPointParameteriv) numFailed++;
594 _ptrc_glBeginQuery = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glBeginQuery");
595 if(!_ptrc_glBeginQuery) numFailed++;
596 _ptrc_glBindBuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glBindBuffer");
597 if(!_ptrc_glBindBuffer) numFailed++;
598 _ptrc_glBufferData = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizeiptr, const GLvoid *, GLenum))IntGetProcAddress("glBufferData");
599 if(!_ptrc_glBufferData) numFailed++;
600 _ptrc_glBufferSubData = (void (CODEGEN_FUNCPTR *)(GLenum, GLintptr, GLsizeiptr, const GLvoid *))IntGetProcAddress("glBufferSubData");
601 if(!_ptrc_glBufferSubData) numFailed++;
602 _ptrc_glDeleteBuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteBuffers");
603 if(!_ptrc_glDeleteBuffers) numFailed++;
604 _ptrc_glDeleteQueries = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteQueries");
605 if(!_ptrc_glDeleteQueries) numFailed++;
606 _ptrc_glEndQuery = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glEndQuery");
607 if(!_ptrc_glEndQuery) numFailed++;
608 _ptrc_glGenBuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenBuffers");
609 if(!_ptrc_glGenBuffers) numFailed++;
610 _ptrc_glGenQueries = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenQueries");
611 if(!_ptrc_glGenQueries) numFailed++;
612 _ptrc_glGetBufferParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *))IntGetProcAddress("glGetBufferParameteriv");
613 if(!_ptrc_glGetBufferParameteriv) numFailed++;
614 _ptrc_glGetBufferPointerv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLvoid **))IntGetProcAddress("glGetBufferPointerv");
615 if(!_ptrc_glGetBufferPointerv) numFailed++;
616 _ptrc_glGetBufferSubData = (void (CODEGEN_FUNCPTR *)(GLenum, GLintptr, GLsizeiptr, GLvoid *))IntGetProcAddress("glGetBufferSubData");
617 if(!_ptrc_glGetBufferSubData) numFailed++;
618 _ptrc_glGetQueryObjectiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetQueryObjectiv");
619 if(!_ptrc_glGetQueryObjectiv) numFailed++;
620 _ptrc_glGetQueryObjectuiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint *))IntGetProcAddress("glGetQueryObjectuiv");
621 if(!_ptrc_glGetQueryObjectuiv) numFailed++;
622 _ptrc_glGetQueryiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *))IntGetProcAddress("glGetQueryiv");
623 if(!_ptrc_glGetQueryiv) numFailed++;
624 _ptrc_glIsBuffer = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsBuffer");
625 if(!_ptrc_glIsBuffer) numFailed++;
626 _ptrc_glIsQuery = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsQuery");
627 if(!_ptrc_glIsQuery) numFailed++;
628 _ptrc_glMapBuffer = (void * (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glMapBuffer");
629 if(!_ptrc_glMapBuffer) numFailed++;
630 _ptrc_glUnmapBuffer = (GLboolean (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glUnmapBuffer");
631 if(!_ptrc_glUnmapBuffer) numFailed++;
632 _ptrc_glAttachShader = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glAttachShader");
633 if(!_ptrc_glAttachShader) numFailed++;
634 _ptrc_glBindAttribLocation = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, const GLchar *))IntGetProcAddress("glBindAttribLocation");
635 if(!_ptrc_glBindAttribLocation) numFailed++;
636 _ptrc_glBlendEquationSeparate = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glBlendEquationSeparate");
637 if(!_ptrc_glBlendEquationSeparate) numFailed++;
638 _ptrc_glCompileShader = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glCompileShader");
639 if(!_ptrc_glCompileShader) numFailed++;
640 _ptrc_glCreateProgram = (GLuint (CODEGEN_FUNCPTR *)())IntGetProcAddress("glCreateProgram");
641 if(!_ptrc_glCreateProgram) numFailed++;
642 _ptrc_glCreateShader = (GLuint (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glCreateShader");
643 if(!_ptrc_glCreateShader) numFailed++;
644 _ptrc_glDeleteProgram = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glDeleteProgram");
645 if(!_ptrc_glDeleteProgram) numFailed++;
646 _ptrc_glDeleteShader = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glDeleteShader");
647 if(!_ptrc_glDeleteShader) numFailed++;
648 _ptrc_glDetachShader = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glDetachShader");
649 if(!_ptrc_glDetachShader) numFailed++;
650 _ptrc_glDisableVertexAttribArray = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glDisableVertexAttribArray");
651 if(!_ptrc_glDisableVertexAttribArray) numFailed++;
652 _ptrc_glDrawBuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLenum *))IntGetProcAddress("glDrawBuffers");
653 if(!_ptrc_glDrawBuffers) numFailed++;
654 _ptrc_glEnableVertexAttribArray = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glEnableVertexAttribArray");
655 if(!_ptrc_glEnableVertexAttribArray) numFailed++;
656 _ptrc_glGetActiveAttrib = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *))IntGetProcAddress("glGetActiveAttrib");
657 if(!_ptrc_glGetActiveAttrib) numFailed++;
658 _ptrc_glGetActiveUniform = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *))IntGetProcAddress("glGetActiveUniform");
659 if(!_ptrc_glGetActiveUniform) numFailed++;
660 _ptrc_glGetAttachedShaders = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLsizei *, GLuint *))IntGetProcAddress("glGetAttachedShaders");
661 if(!_ptrc_glGetAttachedShaders) numFailed++;
662 _ptrc_glGetAttribLocation = (GLint (CODEGEN_FUNCPTR *)(GLuint, const GLchar *))IntGetProcAddress("glGetAttribLocation");
663 if(!_ptrc_glGetAttribLocation) numFailed++;
664 _ptrc_glGetProgramInfoLog = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetProgramInfoLog");
665 if(!_ptrc_glGetProgramInfoLog) numFailed++;
666 _ptrc_glGetProgramiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetProgramiv");
667 if(!_ptrc_glGetProgramiv) numFailed++;
668 _ptrc_glGetShaderInfoLog = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetShaderInfoLog");
669 if(!_ptrc_glGetShaderInfoLog) numFailed++;
670 _ptrc_glGetShaderSource = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetShaderSource");
671 if(!_ptrc_glGetShaderSource) numFailed++;
672 _ptrc_glGetShaderiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetShaderiv");
673 if(!_ptrc_glGetShaderiv) numFailed++;
674 _ptrc_glGetUniformLocation = (GLint (CODEGEN_FUNCPTR *)(GLuint, const GLchar *))IntGetProcAddress("glGetUniformLocation");
675 if(!_ptrc_glGetUniformLocation) numFailed++;
676 _ptrc_glGetUniformfv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLfloat *))IntGetProcAddress("glGetUniformfv");
677 if(!_ptrc_glGetUniformfv) numFailed++;
678 _ptrc_glGetUniformiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint *))IntGetProcAddress("glGetUniformiv");
679 if(!_ptrc_glGetUniformiv) numFailed++;
680 _ptrc_glGetVertexAttribPointerv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLvoid **))IntGetProcAddress("glGetVertexAttribPointerv");
681 if(!_ptrc_glGetVertexAttribPointerv) numFailed++;
682 _ptrc_glGetVertexAttribdv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLdouble *))IntGetProcAddress("glGetVertexAttribdv");
683 if(!_ptrc_glGetVertexAttribdv) numFailed++;
684 _ptrc_glGetVertexAttribfv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLfloat *))IntGetProcAddress("glGetVertexAttribfv");
685 if(!_ptrc_glGetVertexAttribfv) numFailed++;
686 _ptrc_glGetVertexAttribiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetVertexAttribiv");
687 if(!_ptrc_glGetVertexAttribiv) numFailed++;
688 _ptrc_glIsProgram = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsProgram");
689 if(!_ptrc_glIsProgram) numFailed++;
690 _ptrc_glIsShader = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsShader");
691 if(!_ptrc_glIsShader) numFailed++;
692 _ptrc_glLinkProgram = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glLinkProgram");
693 if(!_ptrc_glLinkProgram) numFailed++;
694 _ptrc_glShaderSource = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLchar *const*, const GLint *))IntGetProcAddress("glShaderSource");
695 if(!_ptrc_glShaderSource) numFailed++;
696 _ptrc_glStencilFuncSeparate = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint, GLuint))IntGetProcAddress("glStencilFuncSeparate");
697 if(!_ptrc_glStencilFuncSeparate) numFailed++;
698 _ptrc_glStencilMaskSeparate = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glStencilMaskSeparate");
699 if(!_ptrc_glStencilMaskSeparate) numFailed++;
700 _ptrc_glStencilOpSeparate = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLenum))IntGetProcAddress("glStencilOpSeparate");
701 if(!_ptrc_glStencilOpSeparate) numFailed++;
702 _ptrc_glUniform1f = (void (CODEGEN_FUNCPTR *)(GLint, GLfloat))IntGetProcAddress("glUniform1f");
703 if(!_ptrc_glUniform1f) numFailed++;
704 _ptrc_glUniform1fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLfloat *))IntGetProcAddress("glUniform1fv");
705 if(!_ptrc_glUniform1fv) numFailed++;
706 _ptrc_glUniform1i = (void (CODEGEN_FUNCPTR *)(GLint, GLint))IntGetProcAddress("glUniform1i");
707 if(!_ptrc_glUniform1i) numFailed++;
708 _ptrc_glUniform1iv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLint *))IntGetProcAddress("glUniform1iv");
709 if(!_ptrc_glUniform1iv) numFailed++;
710 _ptrc_glUniform2f = (void (CODEGEN_FUNCPTR *)(GLint, GLfloat, GLfloat))IntGetProcAddress("glUniform2f");
711 if(!_ptrc_glUniform2f) numFailed++;
712 _ptrc_glUniform2fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLfloat *))IntGetProcAddress("glUniform2fv");
713 if(!_ptrc_glUniform2fv) numFailed++;
714 _ptrc_glUniform2i = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLint))IntGetProcAddress("glUniform2i");
715 if(!_ptrc_glUniform2i) numFailed++;
716 _ptrc_glUniform2iv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLint *))IntGetProcAddress("glUniform2iv");
717 if(!_ptrc_glUniform2iv) numFailed++;
718 _ptrc_glUniform3f = (void (CODEGEN_FUNCPTR *)(GLint, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glUniform3f");
719 if(!_ptrc_glUniform3f) numFailed++;
720 _ptrc_glUniform3fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLfloat *))IntGetProcAddress("glUniform3fv");
721 if(!_ptrc_glUniform3fv) numFailed++;
722 _ptrc_glUniform3i = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLint, GLint))IntGetProcAddress("glUniform3i");
723 if(!_ptrc_glUniform3i) numFailed++;
724 _ptrc_glUniform3iv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLint *))IntGetProcAddress("glUniform3iv");
725 if(!_ptrc_glUniform3iv) numFailed++;
726 _ptrc_glUniform4f = (void (CODEGEN_FUNCPTR *)(GLint, GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glUniform4f");
727 if(!_ptrc_glUniform4f) numFailed++;
728 _ptrc_glUniform4fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLfloat *))IntGetProcAddress("glUniform4fv");
729 if(!_ptrc_glUniform4fv) numFailed++;
730 _ptrc_glUniform4i = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLint, GLint, GLint))IntGetProcAddress("glUniform4i");
731 if(!_ptrc_glUniform4i) numFailed++;
732 _ptrc_glUniform4iv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLint *))IntGetProcAddress("glUniform4iv");
733 if(!_ptrc_glUniform4iv) numFailed++;
734 _ptrc_glUniformMatrix2fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix2fv");
735 if(!_ptrc_glUniformMatrix2fv) numFailed++;
736 _ptrc_glUniformMatrix3fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix3fv");
737 if(!_ptrc_glUniformMatrix3fv) numFailed++;
738 _ptrc_glUniformMatrix4fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix4fv");
739 if(!_ptrc_glUniformMatrix4fv) numFailed++;
740 _ptrc_glUseProgram = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glUseProgram");
741 if(!_ptrc_glUseProgram) numFailed++;
742 _ptrc_glValidateProgram = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glValidateProgram");
743 if(!_ptrc_glValidateProgram) numFailed++;
744 _ptrc_glVertexAttrib1d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble))IntGetProcAddress("glVertexAttrib1d");
745 if(!_ptrc_glVertexAttrib1d) numFailed++;
746 _ptrc_glVertexAttrib1dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttrib1dv");
747 if(!_ptrc_glVertexAttrib1dv) numFailed++;
748 _ptrc_glVertexAttrib1f = (void (CODEGEN_FUNCPTR *)(GLuint, GLfloat))IntGetProcAddress("glVertexAttrib1f");
749 if(!_ptrc_glVertexAttrib1f) numFailed++;
750 _ptrc_glVertexAttrib1fv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLfloat *))IntGetProcAddress("glVertexAttrib1fv");
751 if(!_ptrc_glVertexAttrib1fv) numFailed++;
752 _ptrc_glVertexAttrib1s = (void (CODEGEN_FUNCPTR *)(GLuint, GLshort))IntGetProcAddress("glVertexAttrib1s");
753 if(!_ptrc_glVertexAttrib1s) numFailed++;
754 _ptrc_glVertexAttrib1sv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttrib1sv");
755 if(!_ptrc_glVertexAttrib1sv) numFailed++;
756 _ptrc_glVertexAttrib2d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble, GLdouble))IntGetProcAddress("glVertexAttrib2d");
757 if(!_ptrc_glVertexAttrib2d) numFailed++;
758 _ptrc_glVertexAttrib2dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttrib2dv");
759 if(!_ptrc_glVertexAttrib2dv) numFailed++;
760 _ptrc_glVertexAttrib2f = (void (CODEGEN_FUNCPTR *)(GLuint, GLfloat, GLfloat))IntGetProcAddress("glVertexAttrib2f");
761 if(!_ptrc_glVertexAttrib2f) numFailed++;
762 _ptrc_glVertexAttrib2fv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLfloat *))IntGetProcAddress("glVertexAttrib2fv");
763 if(!_ptrc_glVertexAttrib2fv) numFailed++;
764 _ptrc_glVertexAttrib2s = (void (CODEGEN_FUNCPTR *)(GLuint, GLshort, GLshort))IntGetProcAddress("glVertexAttrib2s");
765 if(!_ptrc_glVertexAttrib2s) numFailed++;
766 _ptrc_glVertexAttrib2sv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttrib2sv");
767 if(!_ptrc_glVertexAttrib2sv) numFailed++;
768 _ptrc_glVertexAttrib3d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glVertexAttrib3d");
769 if(!_ptrc_glVertexAttrib3d) numFailed++;
770 _ptrc_glVertexAttrib3dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttrib3dv");
771 if(!_ptrc_glVertexAttrib3dv) numFailed++;
772 _ptrc_glVertexAttrib3f = (void (CODEGEN_FUNCPTR *)(GLuint, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glVertexAttrib3f");
773 if(!_ptrc_glVertexAttrib3f) numFailed++;
774 _ptrc_glVertexAttrib3fv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLfloat *))IntGetProcAddress("glVertexAttrib3fv");
775 if(!_ptrc_glVertexAttrib3fv) numFailed++;
776 _ptrc_glVertexAttrib3s = (void (CODEGEN_FUNCPTR *)(GLuint, GLshort, GLshort, GLshort))IntGetProcAddress("glVertexAttrib3s");
777 if(!_ptrc_glVertexAttrib3s) numFailed++;
778 _ptrc_glVertexAttrib3sv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttrib3sv");
779 if(!_ptrc_glVertexAttrib3sv) numFailed++;
780 _ptrc_glVertexAttrib4Nbv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLbyte *))IntGetProcAddress("glVertexAttrib4Nbv");
781 if(!_ptrc_glVertexAttrib4Nbv) numFailed++;
782 _ptrc_glVertexAttrib4Niv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttrib4Niv");
783 if(!_ptrc_glVertexAttrib4Niv) numFailed++;
784 _ptrc_glVertexAttrib4Nsv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttrib4Nsv");
785 if(!_ptrc_glVertexAttrib4Nsv) numFailed++;
786 _ptrc_glVertexAttrib4Nub = (void (CODEGEN_FUNCPTR *)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte))IntGetProcAddress("glVertexAttrib4Nub");
787 if(!_ptrc_glVertexAttrib4Nub) numFailed++;
788 _ptrc_glVertexAttrib4Nubv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLubyte *))IntGetProcAddress("glVertexAttrib4Nubv");
789 if(!_ptrc_glVertexAttrib4Nubv) numFailed++;
790 _ptrc_glVertexAttrib4Nuiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttrib4Nuiv");
791 if(!_ptrc_glVertexAttrib4Nuiv) numFailed++;
792 _ptrc_glVertexAttrib4Nusv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLushort *))IntGetProcAddress("glVertexAttrib4Nusv");
793 if(!_ptrc_glVertexAttrib4Nusv) numFailed++;
794 _ptrc_glVertexAttrib4bv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLbyte *))IntGetProcAddress("glVertexAttrib4bv");
795 if(!_ptrc_glVertexAttrib4bv) numFailed++;
796 _ptrc_glVertexAttrib4d = (void (CODEGEN_FUNCPTR *)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble))IntGetProcAddress("glVertexAttrib4d");
797 if(!_ptrc_glVertexAttrib4d) numFailed++;
798 _ptrc_glVertexAttrib4dv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLdouble *))IntGetProcAddress("glVertexAttrib4dv");
799 if(!_ptrc_glVertexAttrib4dv) numFailed++;
800 _ptrc_glVertexAttrib4f = (void (CODEGEN_FUNCPTR *)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat))IntGetProcAddress("glVertexAttrib4f");
801 if(!_ptrc_glVertexAttrib4f) numFailed++;
802 _ptrc_glVertexAttrib4fv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLfloat *))IntGetProcAddress("glVertexAttrib4fv");
803 if(!_ptrc_glVertexAttrib4fv) numFailed++;
804 _ptrc_glVertexAttrib4iv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttrib4iv");
805 if(!_ptrc_glVertexAttrib4iv) numFailed++;
806 _ptrc_glVertexAttrib4s = (void (CODEGEN_FUNCPTR *)(GLuint, GLshort, GLshort, GLshort, GLshort))IntGetProcAddress("glVertexAttrib4s");
807 if(!_ptrc_glVertexAttrib4s) numFailed++;
808 _ptrc_glVertexAttrib4sv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttrib4sv");
809 if(!_ptrc_glVertexAttrib4sv) numFailed++;
810 _ptrc_glVertexAttrib4ubv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLubyte *))IntGetProcAddress("glVertexAttrib4ubv");
811 if(!_ptrc_glVertexAttrib4ubv) numFailed++;
812 _ptrc_glVertexAttrib4uiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttrib4uiv");
813 if(!_ptrc_glVertexAttrib4uiv) numFailed++;
814 _ptrc_glVertexAttrib4usv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLushort *))IntGetProcAddress("glVertexAttrib4usv");
815 if(!_ptrc_glVertexAttrib4usv) numFailed++;
816 _ptrc_glVertexAttribPointer = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *))IntGetProcAddress("glVertexAttribPointer");
817 if(!_ptrc_glVertexAttribPointer) numFailed++;
818 _ptrc_glUniformMatrix2x3fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix2x3fv");
819 if(!_ptrc_glUniformMatrix2x3fv) numFailed++;
820 _ptrc_glUniformMatrix2x4fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix2x4fv");
821 if(!_ptrc_glUniformMatrix2x4fv) numFailed++;
822 _ptrc_glUniformMatrix3x2fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix3x2fv");
823 if(!_ptrc_glUniformMatrix3x2fv) numFailed++;
824 _ptrc_glUniformMatrix3x4fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix3x4fv");
825 if(!_ptrc_glUniformMatrix3x4fv) numFailed++;
826 _ptrc_glUniformMatrix4x2fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix4x2fv");
827 if(!_ptrc_glUniformMatrix4x2fv) numFailed++;
828 _ptrc_glUniformMatrix4x3fv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, GLboolean, const GLfloat *))IntGetProcAddress("glUniformMatrix4x3fv");
829 if(!_ptrc_glUniformMatrix4x3fv) numFailed++;
830 _ptrc_glBeginConditionalRender = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum))IntGetProcAddress("glBeginConditionalRender");
831 if(!_ptrc_glBeginConditionalRender) numFailed++;
832 _ptrc_glBeginTransformFeedback = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glBeginTransformFeedback");
833 if(!_ptrc_glBeginTransformFeedback) numFailed++;
834 _ptrc_glBindBufferBase = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLuint))IntGetProcAddress("glBindBufferBase");
835 if(!_ptrc_glBindBufferBase) numFailed++;
836 _ptrc_glBindBufferRange = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr))IntGetProcAddress("glBindBufferRange");
837 if(!_ptrc_glBindBufferRange) numFailed++;
838 _ptrc_glBindFragDataLocation = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, const GLchar *))IntGetProcAddress("glBindFragDataLocation");
839 if(!_ptrc_glBindFragDataLocation) numFailed++;
840 _ptrc_glBindFramebuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glBindFramebuffer");
841 if(!_ptrc_glBindFramebuffer) numFailed++;
842 _ptrc_glBindRenderbuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glBindRenderbuffer");
843 if(!_ptrc_glBindRenderbuffer) numFailed++;
844 _ptrc_glBindVertexArray = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glBindVertexArray");
845 if(!_ptrc_glBindVertexArray) numFailed++;
846 _ptrc_glBlitFramebuffer = (void (CODEGEN_FUNCPTR *)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum))IntGetProcAddress("glBlitFramebuffer");
847 if(!_ptrc_glBlitFramebuffer) numFailed++;
848 _ptrc_glCheckFramebufferStatus = (GLenum (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glCheckFramebufferStatus");
849 if(!_ptrc_glCheckFramebufferStatus) numFailed++;
850 _ptrc_glClampColor = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum))IntGetProcAddress("glClampColor");
851 if(!_ptrc_glClampColor) numFailed++;
852 _ptrc_glClearBufferfi = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLfloat, GLint))IntGetProcAddress("glClearBufferfi");
853 if(!_ptrc_glClearBufferfi) numFailed++;
854 _ptrc_glClearBufferfv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, const GLfloat *))IntGetProcAddress("glClearBufferfv");
855 if(!_ptrc_glClearBufferfv) numFailed++;
856 _ptrc_glClearBufferiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, const GLint *))IntGetProcAddress("glClearBufferiv");
857 if(!_ptrc_glClearBufferiv) numFailed++;
858 _ptrc_glClearBufferuiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, const GLuint *))IntGetProcAddress("glClearBufferuiv");
859 if(!_ptrc_glClearBufferuiv) numFailed++;
860 _ptrc_glColorMaski = (void (CODEGEN_FUNCPTR *)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean))IntGetProcAddress("glColorMaski");
861 if(!_ptrc_glColorMaski) numFailed++;
862 _ptrc_glDeleteFramebuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteFramebuffers");
863 if(!_ptrc_glDeleteFramebuffers) numFailed++;
864 _ptrc_glDeleteRenderbuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteRenderbuffers");
865 if(!_ptrc_glDeleteRenderbuffers) numFailed++;
866 _ptrc_glDeleteVertexArrays = (void (CODEGEN_FUNCPTR *)(GLsizei, const GLuint *))IntGetProcAddress("glDeleteVertexArrays");
867 if(!_ptrc_glDeleteVertexArrays) numFailed++;
868 _ptrc_glDisablei = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glDisablei");
869 if(!_ptrc_glDisablei) numFailed++;
870 _ptrc_glEnablei = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glEnablei");
871 if(!_ptrc_glEnablei) numFailed++;
872 _ptrc_glEndConditionalRender = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glEndConditionalRender");
873 if(!_ptrc_glEndConditionalRender) numFailed++;
874 _ptrc_glEndTransformFeedback = (void (CODEGEN_FUNCPTR *)())IntGetProcAddress("glEndTransformFeedback");
875 if(!_ptrc_glEndTransformFeedback) numFailed++;
876 _ptrc_glFlushMappedBufferRange = (void (CODEGEN_FUNCPTR *)(GLenum, GLintptr, GLsizeiptr))IntGetProcAddress("glFlushMappedBufferRange");
877 if(!_ptrc_glFlushMappedBufferRange) numFailed++;
878 _ptrc_glFramebufferRenderbuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLuint))IntGetProcAddress("glFramebufferRenderbuffer");
879 if(!_ptrc_glFramebufferRenderbuffer) numFailed++;
880 _ptrc_glFramebufferTexture1D = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLuint, GLint))IntGetProcAddress("glFramebufferTexture1D");
881 if(!_ptrc_glFramebufferTexture1D) numFailed++;
882 _ptrc_glFramebufferTexture2D = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLuint, GLint))IntGetProcAddress("glFramebufferTexture2D");
883 if(!_ptrc_glFramebufferTexture2D) numFailed++;
884 _ptrc_glFramebufferTexture3D = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLuint, GLint, GLint))IntGetProcAddress("glFramebufferTexture3D");
885 if(!_ptrc_glFramebufferTexture3D) numFailed++;
886 _ptrc_glFramebufferTextureLayer = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint, GLint, GLint))IntGetProcAddress("glFramebufferTextureLayer");
887 if(!_ptrc_glFramebufferTextureLayer) numFailed++;
888 _ptrc_glGenFramebuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenFramebuffers");
889 if(!_ptrc_glGenFramebuffers) numFailed++;
890 _ptrc_glGenRenderbuffers = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenRenderbuffers");
891 if(!_ptrc_glGenRenderbuffers) numFailed++;
892 _ptrc_glGenVertexArrays = (void (CODEGEN_FUNCPTR *)(GLsizei, GLuint *))IntGetProcAddress("glGenVertexArrays");
893 if(!_ptrc_glGenVertexArrays) numFailed++;
894 _ptrc_glGenerateMipmap = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glGenerateMipmap");
895 if(!_ptrc_glGenerateMipmap) numFailed++;
896 _ptrc_glGetBooleani_v = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLboolean *))IntGetProcAddress("glGetBooleani_v");
897 if(!_ptrc_glGetBooleani_v) numFailed++;
898 _ptrc_glGetFragDataLocation = (GLint (CODEGEN_FUNCPTR *)(GLuint, const GLchar *))IntGetProcAddress("glGetFragDataLocation");
899 if(!_ptrc_glGetFragDataLocation) numFailed++;
900 _ptrc_glGetFramebufferAttachmentParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLenum, GLint *))IntGetProcAddress("glGetFramebufferAttachmentParameteriv");
901 if(!_ptrc_glGetFramebufferAttachmentParameteriv) numFailed++;
902 _ptrc_glGetIntegeri_v = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLint *))IntGetProcAddress("glGetIntegeri_v");
903 if(!_ptrc_glGetIntegeri_v) numFailed++;
904 _ptrc_glGetRenderbufferParameteriv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *))IntGetProcAddress("glGetRenderbufferParameteriv");
905 if(!_ptrc_glGetRenderbufferParameteriv) numFailed++;
906 _ptrc_glGetStringi = (const GLubyte * (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glGetStringi");
907 if(!_ptrc_glGetStringi) numFailed++;
908 _ptrc_glGetTexParameterIiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint *))IntGetProcAddress("glGetTexParameterIiv");
909 if(!_ptrc_glGetTexParameterIiv) numFailed++;
910 _ptrc_glGetTexParameterIuiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint *))IntGetProcAddress("glGetTexParameterIuiv");
911 if(!_ptrc_glGetTexParameterIuiv) numFailed++;
912 _ptrc_glGetTransformFeedbackVarying = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *))IntGetProcAddress("glGetTransformFeedbackVarying");
913 if(!_ptrc_glGetTransformFeedbackVarying) numFailed++;
914 _ptrc_glGetUniformuiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLuint *))IntGetProcAddress("glGetUniformuiv");
915 if(!_ptrc_glGetUniformuiv) numFailed++;
916 _ptrc_glGetVertexAttribIiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLint *))IntGetProcAddress("glGetVertexAttribIiv");
917 if(!_ptrc_glGetVertexAttribIiv) numFailed++;
918 _ptrc_glGetVertexAttribIuiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLenum, GLuint *))IntGetProcAddress("glGetVertexAttribIuiv");
919 if(!_ptrc_glGetVertexAttribIuiv) numFailed++;
920 _ptrc_glIsEnabledi = (GLboolean (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glIsEnabledi");
921 if(!_ptrc_glIsEnabledi) numFailed++;
922 _ptrc_glIsFramebuffer = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsFramebuffer");
923 if(!_ptrc_glIsFramebuffer) numFailed++;
924 _ptrc_glIsRenderbuffer = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsRenderbuffer");
925 if(!_ptrc_glIsRenderbuffer) numFailed++;
926 _ptrc_glIsVertexArray = (GLboolean (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glIsVertexArray");
927 if(!_ptrc_glIsVertexArray) numFailed++;
928 _ptrc_glMapBufferRange = (void * (CODEGEN_FUNCPTR *)(GLenum, GLintptr, GLsizeiptr, GLbitfield))IntGetProcAddress("glMapBufferRange");
929 if(!_ptrc_glMapBufferRange) numFailed++;
930 _ptrc_glRenderbufferStorage = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLsizei, GLsizei))IntGetProcAddress("glRenderbufferStorage");
931 if(!_ptrc_glRenderbufferStorage) numFailed++;
932 _ptrc_glRenderbufferStorageMultisample = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei))IntGetProcAddress("glRenderbufferStorageMultisample");
933 if(!_ptrc_glRenderbufferStorageMultisample) numFailed++;
934 _ptrc_glTexParameterIiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, const GLint *))IntGetProcAddress("glTexParameterIiv");
935 if(!_ptrc_glTexParameterIiv) numFailed++;
936 _ptrc_glTexParameterIuiv = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, const GLuint *))IntGetProcAddress("glTexParameterIuiv");
937 if(!_ptrc_glTexParameterIuiv) numFailed++;
938 _ptrc_glTransformFeedbackVaryings = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLchar *const*, GLenum))IntGetProcAddress("glTransformFeedbackVaryings");
939 if(!_ptrc_glTransformFeedbackVaryings) numFailed++;
940 _ptrc_glUniform1ui = (void (CODEGEN_FUNCPTR *)(GLint, GLuint))IntGetProcAddress("glUniform1ui");
941 if(!_ptrc_glUniform1ui) numFailed++;
942 _ptrc_glUniform1uiv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLuint *))IntGetProcAddress("glUniform1uiv");
943 if(!_ptrc_glUniform1uiv) numFailed++;
944 _ptrc_glUniform2ui = (void (CODEGEN_FUNCPTR *)(GLint, GLuint, GLuint))IntGetProcAddress("glUniform2ui");
945 if(!_ptrc_glUniform2ui) numFailed++;
946 _ptrc_glUniform2uiv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLuint *))IntGetProcAddress("glUniform2uiv");
947 if(!_ptrc_glUniform2uiv) numFailed++;
948 _ptrc_glUniform3ui = (void (CODEGEN_FUNCPTR *)(GLint, GLuint, GLuint, GLuint))IntGetProcAddress("glUniform3ui");
949 if(!_ptrc_glUniform3ui) numFailed++;
950 _ptrc_glUniform3uiv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLuint *))IntGetProcAddress("glUniform3uiv");
951 if(!_ptrc_glUniform3uiv) numFailed++;
952 _ptrc_glUniform4ui = (void (CODEGEN_FUNCPTR *)(GLint, GLuint, GLuint, GLuint, GLuint))IntGetProcAddress("glUniform4ui");
953 if(!_ptrc_glUniform4ui) numFailed++;
954 _ptrc_glUniform4uiv = (void (CODEGEN_FUNCPTR *)(GLint, GLsizei, const GLuint *))IntGetProcAddress("glUniform4uiv");
955 if(!_ptrc_glUniform4uiv) numFailed++;
956 _ptrc_glVertexAttribI1i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint))IntGetProcAddress("glVertexAttribI1i");
957 if(!_ptrc_glVertexAttribI1i) numFailed++;
958 _ptrc_glVertexAttribI1iv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttribI1iv");
959 if(!_ptrc_glVertexAttribI1iv) numFailed++;
960 _ptrc_glVertexAttribI1ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint))IntGetProcAddress("glVertexAttribI1ui");
961 if(!_ptrc_glVertexAttribI1ui) numFailed++;
962 _ptrc_glVertexAttribI1uiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttribI1uiv");
963 if(!_ptrc_glVertexAttribI1uiv) numFailed++;
964 _ptrc_glVertexAttribI2i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint))IntGetProcAddress("glVertexAttribI2i");
965 if(!_ptrc_glVertexAttribI2i) numFailed++;
966 _ptrc_glVertexAttribI2iv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttribI2iv");
967 if(!_ptrc_glVertexAttribI2iv) numFailed++;
968 _ptrc_glVertexAttribI2ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint))IntGetProcAddress("glVertexAttribI2ui");
969 if(!_ptrc_glVertexAttribI2ui) numFailed++;
970 _ptrc_glVertexAttribI2uiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttribI2uiv");
971 if(!_ptrc_glVertexAttribI2uiv) numFailed++;
972 _ptrc_glVertexAttribI3i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint))IntGetProcAddress("glVertexAttribI3i");
973 if(!_ptrc_glVertexAttribI3i) numFailed++;
974 _ptrc_glVertexAttribI3iv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttribI3iv");
975 if(!_ptrc_glVertexAttribI3iv) numFailed++;
976 _ptrc_glVertexAttribI3ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint, GLuint))IntGetProcAddress("glVertexAttribI3ui");
977 if(!_ptrc_glVertexAttribI3ui) numFailed++;
978 _ptrc_glVertexAttribI3uiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttribI3uiv");
979 if(!_ptrc_glVertexAttribI3uiv) numFailed++;
980 _ptrc_glVertexAttribI4bv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLbyte *))IntGetProcAddress("glVertexAttribI4bv");
981 if(!_ptrc_glVertexAttribI4bv) numFailed++;
982 _ptrc_glVertexAttribI4i = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLint, GLint, GLint))IntGetProcAddress("glVertexAttribI4i");
983 if(!_ptrc_glVertexAttribI4i) numFailed++;
984 _ptrc_glVertexAttribI4iv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLint *))IntGetProcAddress("glVertexAttribI4iv");
985 if(!_ptrc_glVertexAttribI4iv) numFailed++;
986 _ptrc_glVertexAttribI4sv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLshort *))IntGetProcAddress("glVertexAttribI4sv");
987 if(!_ptrc_glVertexAttribI4sv) numFailed++;
988 _ptrc_glVertexAttribI4ubv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLubyte *))IntGetProcAddress("glVertexAttribI4ubv");
989 if(!_ptrc_glVertexAttribI4ubv) numFailed++;
990 _ptrc_glVertexAttribI4ui = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint, GLuint, GLuint))IntGetProcAddress("glVertexAttribI4ui");
991 if(!_ptrc_glVertexAttribI4ui) numFailed++;
992 _ptrc_glVertexAttribI4uiv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLuint *))IntGetProcAddress("glVertexAttribI4uiv");
993 if(!_ptrc_glVertexAttribI4uiv) numFailed++;
994 _ptrc_glVertexAttribI4usv = (void (CODEGEN_FUNCPTR *)(GLuint, const GLushort *))IntGetProcAddress("glVertexAttribI4usv");
995 if(!_ptrc_glVertexAttribI4usv) numFailed++;
996 _ptrc_glVertexAttribIPointer = (void (CODEGEN_FUNCPTR *)(GLuint, GLint, GLenum, GLsizei, const GLvoid *))IntGetProcAddress("glVertexAttribIPointer");
997 if(!_ptrc_glVertexAttribIPointer) numFailed++;
998 _ptrc_glCopyBufferSubData = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr))IntGetProcAddress("glCopyBufferSubData");
999 if(!_ptrc_glCopyBufferSubData) numFailed++;
1000 _ptrc_glDrawArraysInstanced = (void (CODEGEN_FUNCPTR *)(GLenum, GLint, GLsizei, GLsizei))IntGetProcAddress("glDrawArraysInstanced");
1001 if(!_ptrc_glDrawArraysInstanced) numFailed++;
1002 _ptrc_glDrawElementsInstanced = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei))IntGetProcAddress("glDrawElementsInstanced");
1003 if(!_ptrc_glDrawElementsInstanced) numFailed++;
1004 _ptrc_glGetActiveUniformBlockName = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetActiveUniformBlockName");
1005 if(!_ptrc_glGetActiveUniformBlockName) numFailed++;
1006 _ptrc_glGetActiveUniformBlockiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLenum, GLint *))IntGetProcAddress("glGetActiveUniformBlockiv");
1007 if(!_ptrc_glGetActiveUniformBlockiv) numFailed++;
1008 _ptrc_glGetActiveUniformName = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *))IntGetProcAddress("glGetActiveUniformName");
1009 if(!_ptrc_glGetActiveUniformName) numFailed++;
1010 _ptrc_glGetActiveUniformsiv = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLuint *, GLenum, GLint *))IntGetProcAddress("glGetActiveUniformsiv");
1011 if(!_ptrc_glGetActiveUniformsiv) numFailed++;
1012 _ptrc_glGetUniformBlockIndex = (GLuint (CODEGEN_FUNCPTR *)(GLuint, const GLchar *))IntGetProcAddress("glGetUniformBlockIndex");
1013 if(!_ptrc_glGetUniformBlockIndex) numFailed++;
1014 _ptrc_glGetUniformIndices = (void (CODEGEN_FUNCPTR *)(GLuint, GLsizei, const GLchar *const*, GLuint *))IntGetProcAddress("glGetUniformIndices");
1015 if(!_ptrc_glGetUniformIndices) numFailed++;
1016 _ptrc_glPrimitiveRestartIndex = (void (CODEGEN_FUNCPTR *)(GLuint))IntGetProcAddress("glPrimitiveRestartIndex");
1017 if(!_ptrc_glPrimitiveRestartIndex) numFailed++;
1018 _ptrc_glTexBuffer = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint))IntGetProcAddress("glTexBuffer");
1019 if(!_ptrc_glTexBuffer) numFailed++;
1020 _ptrc_glUniformBlockBinding = (void (CODEGEN_FUNCPTR *)(GLuint, GLuint, GLuint))IntGetProcAddress("glUniformBlockBinding");
1021 if(!_ptrc_glUniformBlockBinding) numFailed++;
1022 _ptrc_glClientWaitSync = (GLenum (CODEGEN_FUNCPTR *)(GLsync, GLbitfield, GLuint64))IntGetProcAddress("glClientWaitSync");
1023 if(!_ptrc_glClientWaitSync) numFailed++;
1024 _ptrc_glDeleteSync = (void (CODEGEN_FUNCPTR *)(GLsync))IntGetProcAddress("glDeleteSync");
1025 if(!_ptrc_glDeleteSync) numFailed++;
1026 _ptrc_glDrawElementsBaseVertex = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, const GLvoid *, GLint))IntGetProcAddress("glDrawElementsBaseVertex");
1027 if(!_ptrc_glDrawElementsBaseVertex) numFailed++;
1028 _ptrc_glDrawElementsInstancedBaseVertex = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint))IntGetProcAddress("glDrawElementsInstancedBaseVertex");
1029 if(!_ptrc_glDrawElementsInstancedBaseVertex) numFailed++;
1030 _ptrc_glDrawRangeElementsBaseVertex = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint))IntGetProcAddress("glDrawRangeElementsBaseVertex");
1031 if(!_ptrc_glDrawRangeElementsBaseVertex) numFailed++;
1032 _ptrc_glFenceSync = (GLsync (CODEGEN_FUNCPTR *)(GLenum, GLbitfield))IntGetProcAddress("glFenceSync");
1033 if(!_ptrc_glFenceSync) numFailed++;
1034 _ptrc_glFramebufferTexture = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLuint, GLint))IntGetProcAddress("glFramebufferTexture");
1035 if(!_ptrc_glFramebufferTexture) numFailed++;
1036 _ptrc_glGetBufferParameteri64v = (void (CODEGEN_FUNCPTR *)(GLenum, GLenum, GLint64 *))IntGetProcAddress("glGetBufferParameteri64v");
1037 if(!_ptrc_glGetBufferParameteri64v) numFailed++;
1038 _ptrc_glGetInteger64i_v = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLint64 *))IntGetProcAddress("glGetInteger64i_v");
1039 if(!_ptrc_glGetInteger64i_v) numFailed++;
1040 _ptrc_glGetInteger64v = (void (CODEGEN_FUNCPTR *)(GLenum, GLint64 *))IntGetProcAddress("glGetInteger64v");
1041 if(!_ptrc_glGetInteger64v) numFailed++;
1042 _ptrc_glGetMultisamplefv = (void (CODEGEN_FUNCPTR *)(GLenum, GLuint, GLfloat *))IntGetProcAddress("glGetMultisamplefv");
1043 if(!_ptrc_glGetMultisamplefv) numFailed++;
1044 _ptrc_glGetSynciv = (void (CODEGEN_FUNCPTR *)(GLsync, GLenum, GLsizei, GLsizei *, GLint *))IntGetProcAddress("glGetSynciv");
1045 if(!_ptrc_glGetSynciv) numFailed++;
1046 _ptrc_glIsSync = (GLboolean (CODEGEN_FUNCPTR *)(GLsync))IntGetProcAddress("glIsSync");
1047 if(!_ptrc_glIsSync) numFailed++;
1048 _ptrc_glMultiDrawElementsBaseVertex = (void (CODEGEN_FUNCPTR *)(GLenum, const GLsizei *, GLenum, const GLvoid *const*, GLsizei, const GLint *))IntGetProcAddress("glMultiDrawElementsBaseVertex");
1049 if(!_ptrc_glMultiDrawElementsBaseVertex) numFailed++;
1050 _ptrc_glProvokingVertex = (void (CODEGEN_FUNCPTR *)(GLenum))IntGetProcAddress("glProvokingVertex");
1051 if(!_ptrc_glProvokingVertex) numFailed++;
1052 _ptrc_glSampleMaski = (void (CODEGEN_FUNCPTR *)(GLuint, GLbitfield))IntGetProcAddress("glSampleMaski");
1053 if(!_ptrc_glSampleMaski) numFailed++;
1054 _ptrc_glTexImage2DMultisample = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean))IntGetProcAddress("glTexImage2DMultisample");
1055 if(!_ptrc_glTexImage2DMultisample) numFailed++;
1056 _ptrc_glTexImage3DMultisample = (void (CODEGEN_FUNCPTR *)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean))IntGetProcAddress("glTexImage3DMultisample");
1057 if(!_ptrc_glTexImage3DMultisample) numFailed++;
1058 _ptrc_glWaitSync = (void (CODEGEN_FUNCPTR *)(GLsync, GLbitfield, GLuint64))IntGetProcAddress("glWaitSync");
1059 if(!_ptrc_glWaitSync) numFailed++;
1060 return numFailed;
1061}
1062
1063typedef int (*PFN_LOADFUNCPOINTERS)();
1064typedef struct ogl_StrToExtMap_s
1065{
1066 char *extensionName;
1067 int *extensionVariable;
1068 PFN_LOADFUNCPOINTERS LoadExtension;
1069} ogl_StrToExtMap;
1070
1071static ogl_StrToExtMap ExtensionMap[1] = {
1072 {"", NULL, NULL},
1073};
1074
1075static int g_extensionMapSize = 0;
1076
1077static ogl_StrToExtMap *FindExtEntry(const char *extensionName)
1078{
1079 int loop;
1080 ogl_StrToExtMap *currLoc = ExtensionMap;
1081 for(loop = 0; loop < g_extensionMapSize; ++loop, ++currLoc)
1082 {
1083 if(strcmp(extensionName, currLoc->extensionName) == 0)
1084 return currLoc;
1085 }
1086
1087 return NULL;
1088}
1089
1090static void ClearExtensionVars()
1091{
1092}
1093
1094
1095static void LoadExtByName(const char *extensionName)
1096{
1097 ogl_StrToExtMap *entry = NULL;
1098 entry = FindExtEntry(extensionName);
1099 if(entry)
1100 {
1101 if(entry->LoadExtension)
1102 {
1103 int numFailed = entry->LoadExtension();
1104 if(numFailed == 0)
1105 {
1106 *(entry->extensionVariable) = ogl_LOAD_SUCCEEDED;
1107 }
1108 else
1109 {
1110 *(entry->extensionVariable) = ogl_LOAD_SUCCEEDED + numFailed;
1111 }
1112 }
1113 else
1114 {
1115 *(entry->extensionVariable) = ogl_LOAD_SUCCEEDED;
1116 }
1117 }
1118}
1119
1120
1121static void ProcExtsFromExtList()
1122{
1123 GLint iLoop;
1124 GLint iNumExtensions = 0;
1125 _ptrc_glGetIntegerv(GL_NUM_EXTENSIONS, &iNumExtensions);
1126
1127 for(iLoop = 0; iLoop < iNumExtensions; iLoop++)
1128 {
1129 const char *strExtensionName = (const char *)_ptrc_glGetStringi(GL_EXTENSIONS, iLoop);
1130 LoadExtByName(strExtensionName);
1131 }
1132}
1133
1134int ogl_LoadFunctions()
1135{
1136 int numFailed = 0;
1137 ClearExtensionVars();
1138
1139 _ptrc_glGetIntegerv = (void (CODEGEN_FUNCPTR *)(GLenum, GLint *))IntGetProcAddress("glGetIntegerv");
1140 if(!_ptrc_glGetIntegerv) return ogl_LOAD_FAILED;
1141 _ptrc_glGetStringi = (const GLubyte * (CODEGEN_FUNCPTR *)(GLenum, GLuint))IntGetProcAddress("glGetStringi");
1142 if(!_ptrc_glGetStringi) return ogl_LOAD_FAILED;
1143
1144 ProcExtsFromExtList();
1145 numFailed = Load_Version_3_2();
1146
1147 if(numFailed == 0)
1148 return ogl_LOAD_SUCCEEDED;
1149 else
1150 return ogl_LOAD_SUCCEEDED + numFailed;
1151}
1152
1153static int g_major_version = 0;
1154static int g_minor_version = 0;
1155
1156static void GetGLVersion()
1157{
1158 glGetIntegerv(GL_MAJOR_VERSION, &g_major_version);
1159 glGetIntegerv(GL_MINOR_VERSION, &g_minor_version);
1160}
1161
1162int ogl_GetMajorVersion()
1163{
1164 if(g_major_version == 0)
1165 GetGLVersion();
1166 return g_major_version;
1167}
1168
1169int ogl_GetMinorVersion()
1170{
1171 if(g_major_version == 0) //Yes, check the major version to get the minor one.
1172 GetGLVersion();
1173 return g_minor_version;
1174}
1175
1176int ogl_IsVersionGEQ(int majorVersion, int minorVersion)
1177{
1178 if(g_major_version == 0)
1179 GetGLVersion();
1180
1181 if(majorVersion > g_major_version) return 1;
1182 if(majorVersion < g_major_version) return 0;
1183 if(minorVersion >= g_minor_version) return 1;
1184 return 0;
1185}
1186
diff --git a/src/video_core/renderer_opengl/generated/gl_3_2_core.h b/src/video_core/renderer_opengl/generated/gl_3_2_core.h
deleted file mode 100644
index b78cb4341..000000000
--- a/src/video_core/renderer_opengl/generated/gl_3_2_core.h
+++ /dev/null
@@ -1,1609 +0,0 @@
1#ifndef POINTER_C_GENERATED_HEADER_OPENGL_H
2#define POINTER_C_GENERATED_HEADER_OPENGL_H
3
4#if defined(__glew_h__) || defined(__GLEW_H__)
5#error Attempt to include auto-generated header after including glew.h
6#endif
7#if defined(__gl_h_) || defined(__GL_H__)
8#error Attempt to include auto-generated header after including gl.h
9#endif
10#if defined(__glext_h_) || defined(__GLEXT_H_)
11#error Attempt to include auto-generated header after including glext.h
12#endif
13#if defined(__gltypes_h_)
14#error Attempt to include auto-generated header after gltypes.h
15#endif
16#if defined(__gl_ATI_h_)
17#error Attempt to include auto-generated header after including glATI.h
18#endif
19
20#define __glew_h__
21#define __GLEW_H__
22#define __gl_h_
23#define __GL_H__
24#define __glext_h_
25#define __GLEXT_H_
26#define __gltypes_h_
27#define __gl_ATI_h_
28
29#ifndef APIENTRY
30 #if defined(__MINGW32__)
31 #ifndef WIN32_LEAN_AND_MEAN
32 #define WIN32_LEAN_AND_MEAN 1
33 #endif
34 #ifndef NOMINMAX
35 #define NOMINMAX
36 #endif
37 #include <windows.h>
38 #elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__)
39 #ifndef WIN32_LEAN_AND_MEAN
40 #define WIN32_LEAN_AND_MEAN 1
41 #endif
42 #ifndef NOMINMAX
43 #define NOMINMAX
44 #endif
45 #include <windows.h>
46 #else
47 #define APIENTRY
48 #endif
49#endif /*APIENTRY*/
50
51#ifndef CODEGEN_FUNCPTR
52 #define CODEGEN_REMOVE_FUNCPTR
53 #if defined(_WIN32)
54 #define CODEGEN_FUNCPTR APIENTRY
55 #else
56 #define CODEGEN_FUNCPTR
57 #endif
58#endif /*CODEGEN_FUNCPTR*/
59
60#ifndef GLAPI
61 #define GLAPI extern
62#endif
63
64
65#ifndef GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS
66#define GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS
67
68
69#endif /*GL_LOAD_GEN_BASIC_OPENGL_TYPEDEFS*/
70
71
72#include <stddef.h>
73#ifndef GLEXT_64_TYPES_DEFINED
74/* This code block is duplicated in glxext.h, so must be protected */
75#define GLEXT_64_TYPES_DEFINED
76/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
77/* (as used in the GL_EXT_timer_query extension). */
78#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
79#include <inttypes.h>
80#elif defined(__sun__) || defined(__digital__)
81#include <inttypes.h>
82#if defined(__STDC__)
83#if defined(__arch64__) || defined(_LP64)
84typedef long int int64_t;
85typedef unsigned long int uint64_t;
86#else
87typedef long long int int64_t;
88typedef unsigned long long int uint64_t;
89#endif /* __arch64__ */
90#endif /* __STDC__ */
91#elif defined( __VMS ) || defined(__sgi)
92#include <inttypes.h>
93#elif defined(__SCO__) || defined(__USLC__)
94#include <stdint.h>
95#elif defined(__UNIXOS2__) || defined(__SOL64__)
96typedef long int int32_t;
97typedef long long int int64_t;
98typedef unsigned long long int uint64_t;
99#elif defined(_WIN32) && defined(__GNUC__)
100#include <stdint.h>
101#elif defined(_WIN32)
102typedef __int32 int32_t;
103typedef __int64 int64_t;
104typedef unsigned __int64 uint64_t;
105#else
106/* Fallback if nothing above works */
107#include <inttypes.h>
108#endif
109#endif
110 typedef unsigned int GLenum;
111 typedef unsigned char GLboolean;
112 typedef unsigned int GLbitfield;
113 typedef void GLvoid;
114 typedef signed char GLbyte;
115 typedef short GLshort;
116 typedef int GLint;
117 typedef unsigned char GLubyte;
118 typedef unsigned short GLushort;
119 typedef unsigned int GLuint;
120 typedef int GLsizei;
121 typedef float GLfloat;
122 typedef float GLclampf;
123 typedef double GLdouble;
124 typedef double GLclampd;
125 typedef char GLchar;
126 typedef char GLcharARB;
127 #ifdef __APPLE__
128typedef void *GLhandleARB;
129#else
130typedef unsigned int GLhandleARB;
131#endif
132 typedef unsigned short GLhalfARB;
133 typedef unsigned short GLhalf;
134 typedef GLint GLfixed;
135 typedef ptrdiff_t GLintptr;
136 typedef ptrdiff_t GLsizeiptr;
137 typedef int64_t GLint64;
138 typedef uint64_t GLuint64;
139 typedef ptrdiff_t GLintptrARB;
140 typedef ptrdiff_t GLsizeiptrARB;
141 typedef int64_t GLint64EXT;
142 typedef uint64_t GLuint64EXT;
143 typedef struct __GLsync *GLsync;
144 struct _cl_context;
145 struct _cl_event;
146 typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
147 typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
148 typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
149 typedef unsigned short GLhalfNV;
150 typedef GLintptr GLvdpauSurfaceNV;
151
152#ifdef __cplusplus
153extern "C" {
154#endif /*__cplusplus*/
155
156#define GL_ALPHA 0x1906
157#define GL_ALWAYS 0x0207
158#define GL_AND 0x1501
159#define GL_AND_INVERTED 0x1504
160#define GL_AND_REVERSE 0x1502
161#define GL_BACK 0x0405
162#define GL_BACK_LEFT 0x0402
163#define GL_BACK_RIGHT 0x0403
164#define GL_BLEND 0x0BE2
165#define GL_BLEND_DST 0x0BE0
166#define GL_BLEND_SRC 0x0BE1
167#define GL_BLUE 0x1905
168#define GL_BYTE 0x1400
169#define GL_CCW 0x0901
170#define GL_CLEAR 0x1500
171#define GL_COLOR 0x1800
172#define GL_COLOR_BUFFER_BIT 0x00004000
173#define GL_COLOR_CLEAR_VALUE 0x0C22
174#define GL_COLOR_LOGIC_OP 0x0BF2
175#define GL_COLOR_WRITEMASK 0x0C23
176#define GL_COPY 0x1503
177#define GL_COPY_INVERTED 0x150C
178#define GL_CULL_FACE 0x0B44
179#define GL_CULL_FACE_MODE 0x0B45
180#define GL_CW 0x0900
181#define GL_DECR 0x1E03
182#define GL_DEPTH 0x1801
183#define GL_DEPTH_BUFFER_BIT 0x00000100
184#define GL_DEPTH_CLEAR_VALUE 0x0B73
185#define GL_DEPTH_COMPONENT 0x1902
186#define GL_DEPTH_FUNC 0x0B74
187#define GL_DEPTH_RANGE 0x0B70
188#define GL_DEPTH_TEST 0x0B71
189#define GL_DEPTH_WRITEMASK 0x0B72
190#define GL_DITHER 0x0BD0
191#define GL_DONT_CARE 0x1100
192#define GL_DOUBLE 0x140A
193#define GL_DOUBLEBUFFER 0x0C32
194#define GL_DRAW_BUFFER 0x0C01
195#define GL_DST_ALPHA 0x0304
196#define GL_DST_COLOR 0x0306
197#define GL_EQUAL 0x0202
198#define GL_EQUIV 0x1509
199#define GL_EXTENSIONS 0x1F03
200#define GL_FALSE 0
201#define GL_FASTEST 0x1101
202#define GL_FILL 0x1B02
203#define GL_FLOAT 0x1406
204#define GL_FRONT 0x0404
205#define GL_FRONT_AND_BACK 0x0408
206#define GL_FRONT_FACE 0x0B46
207#define GL_FRONT_LEFT 0x0400
208#define GL_FRONT_RIGHT 0x0401
209#define GL_GEQUAL 0x0206
210#define GL_GREATER 0x0204
211#define GL_GREEN 0x1904
212#define GL_INCR 0x1E02
213#define GL_INT 0x1404
214#define GL_INVALID_ENUM 0x0500
215#define GL_INVALID_OPERATION 0x0502
216#define GL_INVALID_VALUE 0x0501
217#define GL_INVERT 0x150A
218#define GL_KEEP 0x1E00
219#define GL_LEFT 0x0406
220#define GL_LEQUAL 0x0203
221#define GL_LESS 0x0201
222#define GL_LINE 0x1B01
223#define GL_LINEAR 0x2601
224#define GL_LINEAR_MIPMAP_LINEAR 0x2703
225#define GL_LINEAR_MIPMAP_NEAREST 0x2701
226#define GL_LINES 0x0001
227#define GL_LINE_LOOP 0x0002
228#define GL_LINE_SMOOTH 0x0B20
229#define GL_LINE_SMOOTH_HINT 0x0C52
230#define GL_LINE_STRIP 0x0003
231#define GL_LINE_WIDTH 0x0B21
232#define GL_LINE_WIDTH_GRANULARITY 0x0B23
233#define GL_LINE_WIDTH_RANGE 0x0B22
234#define GL_LOGIC_OP_MODE 0x0BF0
235#define GL_MAX_TEXTURE_SIZE 0x0D33
236#define GL_MAX_VIEWPORT_DIMS 0x0D3A
237#define GL_NAND 0x150E
238#define GL_NEAREST 0x2600
239#define GL_NEAREST_MIPMAP_LINEAR 0x2702
240#define GL_NEAREST_MIPMAP_NEAREST 0x2700
241#define GL_NEVER 0x0200
242#define GL_NICEST 0x1102
243#define GL_NONE 0
244#define GL_NOOP 0x1505
245#define GL_NOR 0x1508
246#define GL_NOTEQUAL 0x0205
247#define GL_NO_ERROR 0
248#define GL_ONE 1
249#define GL_ONE_MINUS_DST_ALPHA 0x0305
250#define GL_ONE_MINUS_DST_COLOR 0x0307
251#define GL_ONE_MINUS_SRC_ALPHA 0x0303
252#define GL_ONE_MINUS_SRC_COLOR 0x0301
253#define GL_OR 0x1507
254#define GL_OR_INVERTED 0x150D
255#define GL_OR_REVERSE 0x150B
256#define GL_OUT_OF_MEMORY 0x0505
257#define GL_PACK_ALIGNMENT 0x0D05
258#define GL_PACK_LSB_FIRST 0x0D01
259#define GL_PACK_ROW_LENGTH 0x0D02
260#define GL_PACK_SKIP_PIXELS 0x0D04
261#define GL_PACK_SKIP_ROWS 0x0D03
262#define GL_PACK_SWAP_BYTES 0x0D00
263#define GL_POINT 0x1B00
264#define GL_POINTS 0x0000
265#define GL_POINT_SIZE 0x0B11
266#define GL_POINT_SIZE_GRANULARITY 0x0B13
267#define GL_POINT_SIZE_RANGE 0x0B12
268#define GL_POLYGON_MODE 0x0B40
269#define GL_POLYGON_OFFSET_FACTOR 0x8038
270#define GL_POLYGON_OFFSET_FILL 0x8037
271#define GL_POLYGON_OFFSET_LINE 0x2A02
272#define GL_POLYGON_OFFSET_POINT 0x2A01
273#define GL_POLYGON_OFFSET_UNITS 0x2A00
274#define GL_POLYGON_SMOOTH 0x0B41
275#define GL_POLYGON_SMOOTH_HINT 0x0C53
276#define GL_PROXY_TEXTURE_1D 0x8063
277#define GL_PROXY_TEXTURE_2D 0x8064
278#define GL_QUADS 0x0007
279#define GL_R3_G3_B2 0x2A10
280#define GL_READ_BUFFER 0x0C02
281#define GL_RED 0x1903
282#define GL_RENDERER 0x1F01
283#define GL_REPEAT 0x2901
284#define GL_REPLACE 0x1E01
285#define GL_RGB 0x1907
286#define GL_RGB10 0x8052
287#define GL_RGB10_A2 0x8059
288#define GL_RGB12 0x8053
289#define GL_RGB16 0x8054
290#define GL_RGB4 0x804F
291#define GL_RGB5 0x8050
292#define GL_RGB5_A1 0x8057
293#define GL_RGB8 0x8051
294#define GL_RGBA 0x1908
295#define GL_RGBA12 0x805A
296#define GL_RGBA16 0x805B
297#define GL_RGBA2 0x8055
298#define GL_RGBA4 0x8056
299#define GL_RGBA8 0x8058
300#define GL_RIGHT 0x0407
301#define GL_SCISSOR_BOX 0x0C10
302#define GL_SCISSOR_TEST 0x0C11
303#define GL_SET 0x150F
304#define GL_SHORT 0x1402
305#define GL_SRC_ALPHA 0x0302
306#define GL_SRC_ALPHA_SATURATE 0x0308
307#define GL_SRC_COLOR 0x0300
308#define GL_STENCIL 0x1802
309#define GL_STENCIL_BUFFER_BIT 0x00000400
310#define GL_STENCIL_CLEAR_VALUE 0x0B91
311#define GL_STENCIL_FAIL 0x0B94
312#define GL_STENCIL_FUNC 0x0B92
313#define GL_STENCIL_INDEX 0x1901
314#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
315#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
316#define GL_STENCIL_REF 0x0B97
317#define GL_STENCIL_TEST 0x0B90
318#define GL_STENCIL_VALUE_MASK 0x0B93
319#define GL_STENCIL_WRITEMASK 0x0B98
320#define GL_STEREO 0x0C33
321#define GL_SUBPIXEL_BITS 0x0D50
322#define GL_TEXTURE 0x1702
323#define GL_TEXTURE_1D 0x0DE0
324#define GL_TEXTURE_2D 0x0DE1
325#define GL_TEXTURE_ALPHA_SIZE 0x805F
326#define GL_TEXTURE_BINDING_1D 0x8068
327#define GL_TEXTURE_BINDING_2D 0x8069
328#define GL_TEXTURE_BLUE_SIZE 0x805E
329#define GL_TEXTURE_BORDER_COLOR 0x1004
330#define GL_TEXTURE_GREEN_SIZE 0x805D
331#define GL_TEXTURE_HEIGHT 0x1001
332#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
333#define GL_TEXTURE_MAG_FILTER 0x2800
334#define GL_TEXTURE_MIN_FILTER 0x2801
335#define GL_TEXTURE_RED_SIZE 0x805C
336#define GL_TEXTURE_WIDTH 0x1000
337#define GL_TEXTURE_WRAP_S 0x2802
338#define GL_TEXTURE_WRAP_T 0x2803
339#define GL_TRIANGLES 0x0004
340#define GL_TRIANGLE_FAN 0x0006
341#define GL_TRIANGLE_STRIP 0x0005
342#define GL_TRUE 1
343#define GL_UNPACK_ALIGNMENT 0x0CF5
344#define GL_UNPACK_LSB_FIRST 0x0CF1
345#define GL_UNPACK_ROW_LENGTH 0x0CF2
346#define GL_UNPACK_SKIP_PIXELS 0x0CF4
347#define GL_UNPACK_SKIP_ROWS 0x0CF3
348#define GL_UNPACK_SWAP_BYTES 0x0CF0
349#define GL_UNSIGNED_BYTE 0x1401
350#define GL_UNSIGNED_INT 0x1405
351#define GL_UNSIGNED_SHORT 0x1403
352#define GL_VENDOR 0x1F00
353#define GL_VERSION 0x1F02
354#define GL_VIEWPORT 0x0BA2
355#define GL_XOR 0x1506
356#define GL_ZERO 0
357
358#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
359#define GL_BGR 0x80E0
360#define GL_BGRA 0x80E1
361#define GL_CLAMP_TO_EDGE 0x812F
362#define GL_MAX_3D_TEXTURE_SIZE 0x8073
363#define GL_MAX_ELEMENTS_INDICES 0x80E9
364#define GL_MAX_ELEMENTS_VERTICES 0x80E8
365#define GL_PACK_IMAGE_HEIGHT 0x806C
366#define GL_PACK_SKIP_IMAGES 0x806B
367#define GL_PROXY_TEXTURE_3D 0x8070
368#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
369#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
370#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
371#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
372#define GL_TEXTURE_3D 0x806F
373#define GL_TEXTURE_BASE_LEVEL 0x813C
374#define GL_TEXTURE_BINDING_3D 0x806A
375#define GL_TEXTURE_DEPTH 0x8071
376#define GL_TEXTURE_MAX_LEVEL 0x813D
377#define GL_TEXTURE_MAX_LOD 0x813B
378#define GL_TEXTURE_MIN_LOD 0x813A
379#define GL_TEXTURE_WRAP_R 0x8072
380#define GL_UNPACK_IMAGE_HEIGHT 0x806E
381#define GL_UNPACK_SKIP_IMAGES 0x806D
382#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
383#define GL_UNSIGNED_BYTE_3_3_2 0x8032
384#define GL_UNSIGNED_INT_10_10_10_2 0x8036
385#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
386#define GL_UNSIGNED_INT_8_8_8_8 0x8035
387#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
388#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
389#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
390#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
391#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
392#define GL_UNSIGNED_SHORT_5_6_5 0x8363
393#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
394
395#define GL_ACTIVE_TEXTURE 0x84E0
396#define GL_CLAMP_TO_BORDER 0x812D
397#define GL_COMPRESSED_RGB 0x84ED
398#define GL_COMPRESSED_RGBA 0x84EE
399#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
400#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
401#define GL_MULTISAMPLE 0x809D
402#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
403#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
404#define GL_SAMPLES 0x80A9
405#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
406#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
407#define GL_SAMPLE_BUFFERS 0x80A8
408#define GL_SAMPLE_COVERAGE 0x80A0
409#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
410#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
411#define GL_TEXTURE0 0x84C0
412#define GL_TEXTURE1 0x84C1
413#define GL_TEXTURE10 0x84CA
414#define GL_TEXTURE11 0x84CB
415#define GL_TEXTURE12 0x84CC
416#define GL_TEXTURE13 0x84CD
417#define GL_TEXTURE14 0x84CE
418#define GL_TEXTURE15 0x84CF
419#define GL_TEXTURE16 0x84D0
420#define GL_TEXTURE17 0x84D1
421#define GL_TEXTURE18 0x84D2
422#define GL_TEXTURE19 0x84D3
423#define GL_TEXTURE2 0x84C2
424#define GL_TEXTURE20 0x84D4
425#define GL_TEXTURE21 0x84D5
426#define GL_TEXTURE22 0x84D6
427#define GL_TEXTURE23 0x84D7
428#define GL_TEXTURE24 0x84D8
429#define GL_TEXTURE25 0x84D9
430#define GL_TEXTURE26 0x84DA
431#define GL_TEXTURE27 0x84DB
432#define GL_TEXTURE28 0x84DC
433#define GL_TEXTURE29 0x84DD
434#define GL_TEXTURE3 0x84C3
435#define GL_TEXTURE30 0x84DE
436#define GL_TEXTURE31 0x84DF
437#define GL_TEXTURE4 0x84C4
438#define GL_TEXTURE5 0x84C5
439#define GL_TEXTURE6 0x84C6
440#define GL_TEXTURE7 0x84C7
441#define GL_TEXTURE8 0x84C8
442#define GL_TEXTURE9 0x84C9
443#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
444#define GL_TEXTURE_COMPRESSED 0x86A1
445#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
446#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
447#define GL_TEXTURE_CUBE_MAP 0x8513
448#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
449#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
450#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
451#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
452#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
453#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
454
455#define GL_BLEND_COLOR 0x8005
456#define GL_BLEND_DST_ALPHA 0x80CA
457#define GL_BLEND_DST_RGB 0x80C8
458#define GL_BLEND_EQUATION 0x8009
459#define GL_BLEND_SRC_ALPHA 0x80CB
460#define GL_BLEND_SRC_RGB 0x80C9
461#define GL_CONSTANT_ALPHA 0x8003
462#define GL_CONSTANT_COLOR 0x8001
463#define GL_DECR_WRAP 0x8508
464#define GL_DEPTH_COMPONENT16 0x81A5
465#define GL_DEPTH_COMPONENT24 0x81A6
466#define GL_DEPTH_COMPONENT32 0x81A7
467#define GL_FUNC_ADD 0x8006
468#define GL_FUNC_REVERSE_SUBTRACT 0x800B
469#define GL_FUNC_SUBTRACT 0x800A
470#define GL_INCR_WRAP 0x8507
471#define GL_MAX 0x8008
472#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
473#define GL_MIN 0x8007
474#define GL_MIRRORED_REPEAT 0x8370
475#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
476#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
477#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
478#define GL_TEXTURE_COMPARE_FUNC 0x884D
479#define GL_TEXTURE_COMPARE_MODE 0x884C
480#define GL_TEXTURE_DEPTH_SIZE 0x884A
481#define GL_TEXTURE_LOD_BIAS 0x8501
482
483#define GL_ARRAY_BUFFER 0x8892
484#define GL_ARRAY_BUFFER_BINDING 0x8894
485#define GL_BUFFER_ACCESS 0x88BB
486#define GL_BUFFER_MAPPED 0x88BC
487#define GL_BUFFER_MAP_POINTER 0x88BD
488#define GL_BUFFER_SIZE 0x8764
489#define GL_BUFFER_USAGE 0x8765
490#define GL_CURRENT_QUERY 0x8865
491#define GL_DYNAMIC_COPY 0x88EA
492#define GL_DYNAMIC_DRAW 0x88E8
493#define GL_DYNAMIC_READ 0x88E9
494#define GL_ELEMENT_ARRAY_BUFFER 0x8893
495#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
496#define GL_QUERY_COUNTER_BITS 0x8864
497#define GL_QUERY_RESULT 0x8866
498#define GL_QUERY_RESULT_AVAILABLE 0x8867
499#define GL_READ_ONLY 0x88B8
500#define GL_READ_WRITE 0x88BA
501#define GL_SAMPLES_PASSED 0x8914
502#define GL_SRC1_ALPHA 0x8589
503#define GL_STATIC_COPY 0x88E6
504#define GL_STATIC_DRAW 0x88E4
505#define GL_STATIC_READ 0x88E5
506#define GL_STREAM_COPY 0x88E2
507#define GL_STREAM_DRAW 0x88E0
508#define GL_STREAM_READ 0x88E1
509#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
510#define GL_WRITE_ONLY 0x88B9
511
512#define GL_ACTIVE_ATTRIBUTES 0x8B89
513#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
514#define GL_ACTIVE_UNIFORMS 0x8B86
515#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
516#define GL_ATTACHED_SHADERS 0x8B85
517#define GL_BLEND_EQUATION_ALPHA 0x883D
518#define GL_BLEND_EQUATION_RGB 0x8009
519#define GL_BOOL 0x8B56
520#define GL_BOOL_VEC2 0x8B57
521#define GL_BOOL_VEC3 0x8B58
522#define GL_BOOL_VEC4 0x8B59
523#define GL_COMPILE_STATUS 0x8B81
524#define GL_CURRENT_PROGRAM 0x8B8D
525#define GL_CURRENT_VERTEX_ATTRIB 0x8626
526#define GL_DELETE_STATUS 0x8B80
527#define GL_DRAW_BUFFER0 0x8825
528#define GL_DRAW_BUFFER1 0x8826
529#define GL_DRAW_BUFFER10 0x882F
530#define GL_DRAW_BUFFER11 0x8830
531#define GL_DRAW_BUFFER12 0x8831
532#define GL_DRAW_BUFFER13 0x8832
533#define GL_DRAW_BUFFER14 0x8833
534#define GL_DRAW_BUFFER15 0x8834
535#define GL_DRAW_BUFFER2 0x8827
536#define GL_DRAW_BUFFER3 0x8828
537#define GL_DRAW_BUFFER4 0x8829
538#define GL_DRAW_BUFFER5 0x882A
539#define GL_DRAW_BUFFER6 0x882B
540#define GL_DRAW_BUFFER7 0x882C
541#define GL_DRAW_BUFFER8 0x882D
542#define GL_DRAW_BUFFER9 0x882E
543#define GL_FLOAT_MAT2 0x8B5A
544#define GL_FLOAT_MAT3 0x8B5B
545#define GL_FLOAT_MAT4 0x8B5C
546#define GL_FLOAT_VEC2 0x8B50
547#define GL_FLOAT_VEC3 0x8B51
548#define GL_FLOAT_VEC4 0x8B52
549#define GL_FRAGMENT_SHADER 0x8B30
550#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
551#define GL_INFO_LOG_LENGTH 0x8B84
552#define GL_INT_VEC2 0x8B53
553#define GL_INT_VEC3 0x8B54
554#define GL_INT_VEC4 0x8B55
555#define GL_LINK_STATUS 0x8B82
556#define GL_LOWER_LEFT 0x8CA1
557#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
558#define GL_MAX_DRAW_BUFFERS 0x8824
559#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
560#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
561#define GL_MAX_VARYING_FLOATS 0x8B4B
562#define GL_MAX_VERTEX_ATTRIBS 0x8869
563#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
564#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
565#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
566#define GL_SAMPLER_1D 0x8B5D
567#define GL_SAMPLER_1D_SHADOW 0x8B61
568#define GL_SAMPLER_2D 0x8B5E
569#define GL_SAMPLER_2D_SHADOW 0x8B62
570#define GL_SAMPLER_3D 0x8B5F
571#define GL_SAMPLER_CUBE 0x8B60
572#define GL_SHADER_SOURCE_LENGTH 0x8B88
573#define GL_SHADER_TYPE 0x8B4F
574#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
575#define GL_STENCIL_BACK_FAIL 0x8801
576#define GL_STENCIL_BACK_FUNC 0x8800
577#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
578#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
579#define GL_STENCIL_BACK_REF 0x8CA3
580#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
581#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
582#define GL_UPPER_LEFT 0x8CA2
583#define GL_VALIDATE_STATUS 0x8B83
584#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
585#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
586#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
587#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
588#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
589#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
590#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
591#define GL_VERTEX_SHADER 0x8B31
592
593#define GL_COMPRESSED_SRGB 0x8C48
594#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
595#define GL_FLOAT_MAT2x3 0x8B65
596#define GL_FLOAT_MAT2x4 0x8B66
597#define GL_FLOAT_MAT3x2 0x8B67
598#define GL_FLOAT_MAT3x4 0x8B68
599#define GL_FLOAT_MAT4x2 0x8B69
600#define GL_FLOAT_MAT4x3 0x8B6A
601#define GL_PIXEL_PACK_BUFFER 0x88EB
602#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
603#define GL_PIXEL_UNPACK_BUFFER 0x88EC
604#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
605#define GL_SRGB 0x8C40
606#define GL_SRGB8 0x8C41
607#define GL_SRGB8_ALPHA8 0x8C43
608#define GL_SRGB_ALPHA 0x8C42
609
610#define GL_BGRA_INTEGER 0x8D9B
611#define GL_BGR_INTEGER 0x8D9A
612#define GL_BLUE_INTEGER 0x8D96
613#define GL_BUFFER_ACCESS_FLAGS 0x911F
614#define GL_BUFFER_MAP_LENGTH 0x9120
615#define GL_BUFFER_MAP_OFFSET 0x9121
616#define GL_CLAMP_READ_COLOR 0x891C
617#define GL_CLIP_DISTANCE0 0x3000
618#define GL_CLIP_DISTANCE1 0x3001
619#define GL_CLIP_DISTANCE2 0x3002
620#define GL_CLIP_DISTANCE3 0x3003
621#define GL_CLIP_DISTANCE4 0x3004
622#define GL_CLIP_DISTANCE5 0x3005
623#define GL_CLIP_DISTANCE6 0x3006
624#define GL_CLIP_DISTANCE7 0x3007
625#define GL_COLOR_ATTACHMENT0 0x8CE0
626#define GL_COLOR_ATTACHMENT1 0x8CE1
627#define GL_COLOR_ATTACHMENT10 0x8CEA
628#define GL_COLOR_ATTACHMENT11 0x8CEB
629#define GL_COLOR_ATTACHMENT12 0x8CEC
630#define GL_COLOR_ATTACHMENT13 0x8CED
631#define GL_COLOR_ATTACHMENT14 0x8CEE
632#define GL_COLOR_ATTACHMENT15 0x8CEF
633#define GL_COLOR_ATTACHMENT2 0x8CE2
634#define GL_COLOR_ATTACHMENT3 0x8CE3
635#define GL_COLOR_ATTACHMENT4 0x8CE4
636#define GL_COLOR_ATTACHMENT5 0x8CE5
637#define GL_COLOR_ATTACHMENT6 0x8CE6
638#define GL_COLOR_ATTACHMENT7 0x8CE7
639#define GL_COLOR_ATTACHMENT8 0x8CE8
640#define GL_COLOR_ATTACHMENT9 0x8CE9
641#define GL_COMPARE_REF_TO_TEXTURE 0x884E
642#define GL_COMPRESSED_RED 0x8225
643#define GL_COMPRESSED_RED_RGTC1 0x8DBB
644#define GL_COMPRESSED_RG 0x8226
645#define GL_COMPRESSED_RG_RGTC2 0x8DBD
646#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
647#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
648#define GL_CONTEXT_FLAGS 0x821E
649#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001
650#define GL_DEPTH24_STENCIL8 0x88F0
651#define GL_DEPTH32F_STENCIL8 0x8CAD
652#define GL_DEPTH_ATTACHMENT 0x8D00
653#define GL_DEPTH_COMPONENT32F 0x8CAC
654#define GL_DEPTH_STENCIL 0x84F9
655#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
656#define GL_DRAW_FRAMEBUFFER 0x8CA9
657#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
658#define GL_FIXED_ONLY 0x891D
659#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
660#define GL_FRAMEBUFFER 0x8D40
661#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
662#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
663#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
664#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
665#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
666#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
667#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
668#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
669#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
670#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
671#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
672#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
673#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
674#define GL_FRAMEBUFFER_BINDING 0x8CA6
675#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
676#define GL_FRAMEBUFFER_DEFAULT 0x8218
677#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
678#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
679#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
680#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
681#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
682#define GL_FRAMEBUFFER_SRGB 0x8DB9
683#define GL_FRAMEBUFFER_UNDEFINED 0x8219
684#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
685#define GL_GREEN_INTEGER 0x8D95
686#define GL_HALF_FLOAT 0x140B
687#define GL_INTERLEAVED_ATTRIBS 0x8C8C
688#define GL_INT_SAMPLER_1D 0x8DC9
689#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
690#define GL_INT_SAMPLER_2D 0x8DCA
691#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
692#define GL_INT_SAMPLER_3D 0x8DCB
693#define GL_INT_SAMPLER_CUBE 0x8DCC
694#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
695#define GL_MAJOR_VERSION 0x821B
696#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
697#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
698#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
699#define GL_MAP_READ_BIT 0x0001
700#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
701#define GL_MAP_WRITE_BIT 0x0002
702#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
703#define GL_MAX_CLIP_DISTANCES 0x0D32
704#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
705#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
706#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
707#define GL_MAX_SAMPLES 0x8D57
708#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
709#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
710#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
711#define GL_MAX_VARYING_COMPONENTS 0x8B4B
712#define GL_MINOR_VERSION 0x821C
713#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
714#define GL_NUM_EXTENSIONS 0x821D
715#define GL_PRIMITIVES_GENERATED 0x8C87
716#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
717#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
718#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
719#define GL_QUERY_BY_REGION_WAIT 0x8E15
720#define GL_QUERY_NO_WAIT 0x8E14
721#define GL_QUERY_WAIT 0x8E13
722#define GL_R11F_G11F_B10F 0x8C3A
723#define GL_R16 0x822A
724#define GL_R16F 0x822D
725#define GL_R16I 0x8233
726#define GL_R16UI 0x8234
727#define GL_R32F 0x822E
728#define GL_R32I 0x8235
729#define GL_R32UI 0x8236
730#define GL_R8 0x8229
731#define GL_R8I 0x8231
732#define GL_R8UI 0x8232
733#define GL_RASTERIZER_DISCARD 0x8C89
734#define GL_READ_FRAMEBUFFER 0x8CA8
735#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
736#define GL_RED_INTEGER 0x8D94
737#define GL_RENDERBUFFER 0x8D41
738#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
739#define GL_RENDERBUFFER_BINDING 0x8CA7
740#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
741#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
742#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
743#define GL_RENDERBUFFER_HEIGHT 0x8D43
744#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
745#define GL_RENDERBUFFER_RED_SIZE 0x8D50
746#define GL_RENDERBUFFER_SAMPLES 0x8CAB
747#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
748#define GL_RENDERBUFFER_WIDTH 0x8D42
749#define GL_RG 0x8227
750#define GL_RG16 0x822C
751#define GL_RG16F 0x822F
752#define GL_RG16I 0x8239
753#define GL_RG16UI 0x823A
754#define GL_RG32F 0x8230
755#define GL_RG32I 0x823B
756#define GL_RG32UI 0x823C
757#define GL_RG8 0x822B
758#define GL_RG8I 0x8237
759#define GL_RG8UI 0x8238
760#define GL_RGB16F 0x881B
761#define GL_RGB16I 0x8D89
762#define GL_RGB16UI 0x8D77
763#define GL_RGB32F 0x8815
764#define GL_RGB32I 0x8D83
765#define GL_RGB32UI 0x8D71
766#define GL_RGB8I 0x8D8F
767#define GL_RGB8UI 0x8D7D
768#define GL_RGB9_E5 0x8C3D
769#define GL_RGBA16F 0x881A
770#define GL_RGBA16I 0x8D88
771#define GL_RGBA16UI 0x8D76
772#define GL_RGBA32F 0x8814
773#define GL_RGBA32I 0x8D82
774#define GL_RGBA32UI 0x8D70
775#define GL_RGBA8I 0x8D8E
776#define GL_RGBA8UI 0x8D7C
777#define GL_RGBA_INTEGER 0x8D99
778#define GL_RGB_INTEGER 0x8D98
779#define GL_RG_INTEGER 0x8228
780#define GL_SAMPLER_1D_ARRAY 0x8DC0
781#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
782#define GL_SAMPLER_2D_ARRAY 0x8DC1
783#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
784#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
785#define GL_SEPARATE_ATTRIBS 0x8C8D
786#define GL_STENCIL_ATTACHMENT 0x8D20
787#define GL_STENCIL_INDEX1 0x8D46
788#define GL_STENCIL_INDEX16 0x8D49
789#define GL_STENCIL_INDEX4 0x8D47
790#define GL_STENCIL_INDEX8 0x8D48
791#define GL_TEXTURE_1D_ARRAY 0x8C18
792#define GL_TEXTURE_2D_ARRAY 0x8C1A
793#define GL_TEXTURE_ALPHA_TYPE 0x8C13
794#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
795#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
796#define GL_TEXTURE_BLUE_TYPE 0x8C12
797#define GL_TEXTURE_DEPTH_TYPE 0x8C16
798#define GL_TEXTURE_GREEN_TYPE 0x8C11
799#define GL_TEXTURE_RED_TYPE 0x8C10
800#define GL_TEXTURE_SHARED_SIZE 0x8C3F
801#define GL_TEXTURE_STENCIL_SIZE 0x88F1
802#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
803#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
804#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
805#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
806#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
807#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
808#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
809#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
810#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
811#define GL_UNSIGNED_INT_24_8 0x84FA
812#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
813#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
814#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
815#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
816#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
817#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
818#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
819#define GL_UNSIGNED_INT_VEC2 0x8DC6
820#define GL_UNSIGNED_INT_VEC3 0x8DC7
821#define GL_UNSIGNED_INT_VEC4 0x8DC8
822#define GL_UNSIGNED_NORMALIZED 0x8C17
823#define GL_VERTEX_ARRAY_BINDING 0x85B5
824#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
825
826#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
827#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
828#define GL_COPY_READ_BUFFER 0x8F36
829#define GL_COPY_WRITE_BUFFER 0x8F37
830#define GL_INT_SAMPLER_2D_RECT 0x8DCD
831#define GL_INT_SAMPLER_BUFFER 0x8DD0
832#define GL_INVALID_INDEX 0xFFFFFFFF
833#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
834#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
835#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
836#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
837#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
838#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
839#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
840#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
841#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
842#define GL_PRIMITIVE_RESTART 0x8F9D
843#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
844#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
845#define GL_R16_SNORM 0x8F98
846#define GL_R8_SNORM 0x8F94
847#define GL_RG16_SNORM 0x8F99
848#define GL_RG8_SNORM 0x8F95
849#define GL_RGB16_SNORM 0x8F9A
850#define GL_RGB8_SNORM 0x8F96
851#define GL_RGBA16_SNORM 0x8F9B
852#define GL_RGBA8_SNORM 0x8F97
853#define GL_SAMPLER_2D_RECT 0x8B63
854#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
855#define GL_SAMPLER_BUFFER 0x8DC2
856#define GL_SIGNED_NORMALIZED 0x8F9C
857#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
858#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
859#define GL_TEXTURE_BUFFER 0x8C2A
860#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
861#define GL_TEXTURE_RECTANGLE 0x84F5
862#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
863#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
864#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
865#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
866#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
867#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
868#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
869#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
870#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
871#define GL_UNIFORM_BUFFER 0x8A11
872#define GL_UNIFORM_BUFFER_BINDING 0x8A28
873#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
874#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
875#define GL_UNIFORM_BUFFER_START 0x8A29
876#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
877#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
878#define GL_UNIFORM_NAME_LENGTH 0x8A39
879#define GL_UNIFORM_OFFSET 0x8A3B
880#define GL_UNIFORM_SIZE 0x8A38
881#define GL_UNIFORM_TYPE 0x8A37
882#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
883#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
884
885#define GL_ALREADY_SIGNALED 0x911A
886#define GL_CONDITION_SATISFIED 0x911C
887#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
888#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
889#define GL_CONTEXT_PROFILE_MASK 0x9126
890#define GL_DEPTH_CLAMP 0x864F
891#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
892#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
893#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
894#define GL_GEOMETRY_INPUT_TYPE 0x8917
895#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
896#define GL_GEOMETRY_SHADER 0x8DD9
897#define GL_GEOMETRY_VERTICES_OUT 0x8916
898#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
899#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
900#define GL_LAST_VERTEX_CONVENTION 0x8E4E
901#define GL_LINES_ADJACENCY 0x000A
902#define GL_LINE_STRIP_ADJACENCY 0x000B
903#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
904#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
905#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
906#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
907#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
908#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
909#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
910#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
911#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
912#define GL_MAX_INTEGER_SAMPLES 0x9110
913#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
914#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
915#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
916#define GL_OBJECT_TYPE 0x9112
917#define GL_PROGRAM_POINT_SIZE 0x8642
918#define GL_PROVOKING_VERTEX 0x8E4F
919#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
920#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
921#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
922#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
923#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
924#define GL_SAMPLE_MASK 0x8E51
925#define GL_SAMPLE_MASK_VALUE 0x8E52
926#define GL_SAMPLE_POSITION 0x8E50
927#define GL_SIGNALED 0x9119
928#define GL_SYNC_CONDITION 0x9113
929#define GL_SYNC_FENCE 0x9116
930#define GL_SYNC_FLAGS 0x9115
931#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
932#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
933#define GL_SYNC_STATUS 0x9114
934#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
935#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
936#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
937#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
938#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
939#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
940#define GL_TEXTURE_SAMPLES 0x9106
941#define GL_TIMEOUT_EXPIRED 0x911B
942#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF
943#define GL_TRIANGLES_ADJACENCY 0x000C
944#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
945#define GL_UNSIGNALED 0x9118
946#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
947#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
948#define GL_WAIT_FAILED 0x911D
949
950extern void (CODEGEN_FUNCPTR *_ptrc_glBlendFunc)(GLenum, GLenum);
951#define glBlendFunc _ptrc_glBlendFunc
952extern void (CODEGEN_FUNCPTR *_ptrc_glClear)(GLbitfield);
953#define glClear _ptrc_glClear
954extern void (CODEGEN_FUNCPTR *_ptrc_glClearColor)(GLfloat, GLfloat, GLfloat, GLfloat);
955#define glClearColor _ptrc_glClearColor
956extern void (CODEGEN_FUNCPTR *_ptrc_glClearDepth)(GLdouble);
957#define glClearDepth _ptrc_glClearDepth
958extern void (CODEGEN_FUNCPTR *_ptrc_glClearStencil)(GLint);
959#define glClearStencil _ptrc_glClearStencil
960extern void (CODEGEN_FUNCPTR *_ptrc_glColorMask)(GLboolean, GLboolean, GLboolean, GLboolean);
961#define glColorMask _ptrc_glColorMask
962extern void (CODEGEN_FUNCPTR *_ptrc_glCullFace)(GLenum);
963#define glCullFace _ptrc_glCullFace
964extern void (CODEGEN_FUNCPTR *_ptrc_glDepthFunc)(GLenum);
965#define glDepthFunc _ptrc_glDepthFunc
966extern void (CODEGEN_FUNCPTR *_ptrc_glDepthMask)(GLboolean);
967#define glDepthMask _ptrc_glDepthMask
968extern void (CODEGEN_FUNCPTR *_ptrc_glDepthRange)(GLdouble, GLdouble);
969#define glDepthRange _ptrc_glDepthRange
970extern void (CODEGEN_FUNCPTR *_ptrc_glDisable)(GLenum);
971#define glDisable _ptrc_glDisable
972extern void (CODEGEN_FUNCPTR *_ptrc_glDrawBuffer)(GLenum);
973#define glDrawBuffer _ptrc_glDrawBuffer
974extern void (CODEGEN_FUNCPTR *_ptrc_glEnable)(GLenum);
975#define glEnable _ptrc_glEnable
976extern void (CODEGEN_FUNCPTR *_ptrc_glFinish)();
977#define glFinish _ptrc_glFinish
978extern void (CODEGEN_FUNCPTR *_ptrc_glFlush)();
979#define glFlush _ptrc_glFlush
980extern void (CODEGEN_FUNCPTR *_ptrc_glFrontFace)(GLenum);
981#define glFrontFace _ptrc_glFrontFace
982extern void (CODEGEN_FUNCPTR *_ptrc_glGetBooleanv)(GLenum, GLboolean *);
983#define glGetBooleanv _ptrc_glGetBooleanv
984extern void (CODEGEN_FUNCPTR *_ptrc_glGetDoublev)(GLenum, GLdouble *);
985#define glGetDoublev _ptrc_glGetDoublev
986extern GLenum (CODEGEN_FUNCPTR *_ptrc_glGetError)();
987#define glGetError _ptrc_glGetError
988extern void (CODEGEN_FUNCPTR *_ptrc_glGetFloatv)(GLenum, GLfloat *);
989#define glGetFloatv _ptrc_glGetFloatv
990extern void (CODEGEN_FUNCPTR *_ptrc_glGetIntegerv)(GLenum, GLint *);
991#define glGetIntegerv _ptrc_glGetIntegerv
992extern const GLubyte * (CODEGEN_FUNCPTR *_ptrc_glGetString)(GLenum);
993#define glGetString _ptrc_glGetString
994extern void (CODEGEN_FUNCPTR *_ptrc_glGetTexImage)(GLenum, GLint, GLenum, GLenum, GLvoid *);
995#define glGetTexImage _ptrc_glGetTexImage
996extern void (CODEGEN_FUNCPTR *_ptrc_glGetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *);
997#define glGetTexLevelParameterfv _ptrc_glGetTexLevelParameterfv
998extern void (CODEGEN_FUNCPTR *_ptrc_glGetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *);
999#define glGetTexLevelParameteriv _ptrc_glGetTexLevelParameteriv
1000extern void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterfv)(GLenum, GLenum, GLfloat *);
1001#define glGetTexParameterfv _ptrc_glGetTexParameterfv
1002extern void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameteriv)(GLenum, GLenum, GLint *);
1003#define glGetTexParameteriv _ptrc_glGetTexParameteriv
1004extern void (CODEGEN_FUNCPTR *_ptrc_glHint)(GLenum, GLenum);
1005#define glHint _ptrc_glHint
1006extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsEnabled)(GLenum);
1007#define glIsEnabled _ptrc_glIsEnabled
1008extern void (CODEGEN_FUNCPTR *_ptrc_glLineWidth)(GLfloat);
1009#define glLineWidth _ptrc_glLineWidth
1010extern void (CODEGEN_FUNCPTR *_ptrc_glLogicOp)(GLenum);
1011#define glLogicOp _ptrc_glLogicOp
1012extern void (CODEGEN_FUNCPTR *_ptrc_glPixelStoref)(GLenum, GLfloat);
1013#define glPixelStoref _ptrc_glPixelStoref
1014extern void (CODEGEN_FUNCPTR *_ptrc_glPixelStorei)(GLenum, GLint);
1015#define glPixelStorei _ptrc_glPixelStorei
1016extern void (CODEGEN_FUNCPTR *_ptrc_glPointSize)(GLfloat);
1017#define glPointSize _ptrc_glPointSize
1018extern void (CODEGEN_FUNCPTR *_ptrc_glPolygonMode)(GLenum, GLenum);
1019#define glPolygonMode _ptrc_glPolygonMode
1020extern void (CODEGEN_FUNCPTR *_ptrc_glReadBuffer)(GLenum);
1021#define glReadBuffer _ptrc_glReadBuffer
1022extern void (CODEGEN_FUNCPTR *_ptrc_glReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *);
1023#define glReadPixels _ptrc_glReadPixels
1024extern void (CODEGEN_FUNCPTR *_ptrc_glScissor)(GLint, GLint, GLsizei, GLsizei);
1025#define glScissor _ptrc_glScissor
1026extern void (CODEGEN_FUNCPTR *_ptrc_glStencilFunc)(GLenum, GLint, GLuint);
1027#define glStencilFunc _ptrc_glStencilFunc
1028extern void (CODEGEN_FUNCPTR *_ptrc_glStencilMask)(GLuint);
1029#define glStencilMask _ptrc_glStencilMask
1030extern void (CODEGEN_FUNCPTR *_ptrc_glStencilOp)(GLenum, GLenum, GLenum);
1031#define glStencilOp _ptrc_glStencilOp
1032extern void (CODEGEN_FUNCPTR *_ptrc_glTexImage1D)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
1033#define glTexImage1D _ptrc_glTexImage1D
1034extern void (CODEGEN_FUNCPTR *_ptrc_glTexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
1035#define glTexImage2D _ptrc_glTexImage2D
1036extern void (CODEGEN_FUNCPTR *_ptrc_glTexParameterf)(GLenum, GLenum, GLfloat);
1037#define glTexParameterf _ptrc_glTexParameterf
1038extern void (CODEGEN_FUNCPTR *_ptrc_glTexParameterfv)(GLenum, GLenum, const GLfloat *);
1039#define glTexParameterfv _ptrc_glTexParameterfv
1040extern void (CODEGEN_FUNCPTR *_ptrc_glTexParameteri)(GLenum, GLenum, GLint);
1041#define glTexParameteri _ptrc_glTexParameteri
1042extern void (CODEGEN_FUNCPTR *_ptrc_glTexParameteriv)(GLenum, GLenum, const GLint *);
1043#define glTexParameteriv _ptrc_glTexParameteriv
1044extern void (CODEGEN_FUNCPTR *_ptrc_glViewport)(GLint, GLint, GLsizei, GLsizei);
1045#define glViewport _ptrc_glViewport
1046
1047extern void (CODEGEN_FUNCPTR *_ptrc_glBindTexture)(GLenum, GLuint);
1048#define glBindTexture _ptrc_glBindTexture
1049extern void (CODEGEN_FUNCPTR *_ptrc_glCopyTexImage1D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
1050#define glCopyTexImage1D _ptrc_glCopyTexImage1D
1051extern void (CODEGEN_FUNCPTR *_ptrc_glCopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
1052#define glCopyTexImage2D _ptrc_glCopyTexImage2D
1053extern void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage1D)(GLenum, GLint, GLint, GLint, GLint, GLsizei);
1054#define glCopyTexSubImage1D _ptrc_glCopyTexSubImage1D
1055extern void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
1056#define glCopyTexSubImage2D _ptrc_glCopyTexSubImage2D
1057extern void (CODEGEN_FUNCPTR *_ptrc_glDeleteTextures)(GLsizei, const GLuint *);
1058#define glDeleteTextures _ptrc_glDeleteTextures
1059extern void (CODEGEN_FUNCPTR *_ptrc_glDrawArrays)(GLenum, GLint, GLsizei);
1060#define glDrawArrays _ptrc_glDrawArrays
1061extern void (CODEGEN_FUNCPTR *_ptrc_glDrawElements)(GLenum, GLsizei, GLenum, const GLvoid *);
1062#define glDrawElements _ptrc_glDrawElements
1063extern void (CODEGEN_FUNCPTR *_ptrc_glGenTextures)(GLsizei, GLuint *);
1064#define glGenTextures _ptrc_glGenTextures
1065extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsTexture)(GLuint);
1066#define glIsTexture _ptrc_glIsTexture
1067extern void (CODEGEN_FUNCPTR *_ptrc_glPolygonOffset)(GLfloat, GLfloat);
1068#define glPolygonOffset _ptrc_glPolygonOffset
1069extern void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
1070#define glTexSubImage1D _ptrc_glTexSubImage1D
1071extern void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
1072#define glTexSubImage2D _ptrc_glTexSubImage2D
1073
1074extern void (CODEGEN_FUNCPTR *_ptrc_glBlendColor)(GLfloat, GLfloat, GLfloat, GLfloat);
1075#define glBlendColor _ptrc_glBlendColor
1076extern void (CODEGEN_FUNCPTR *_ptrc_glBlendEquation)(GLenum);
1077#define glBlendEquation _ptrc_glBlendEquation
1078extern void (CODEGEN_FUNCPTR *_ptrc_glCopyTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
1079#define glCopyTexSubImage3D _ptrc_glCopyTexSubImage3D
1080extern void (CODEGEN_FUNCPTR *_ptrc_glDrawRangeElements)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
1081#define glDrawRangeElements _ptrc_glDrawRangeElements
1082extern void (CODEGEN_FUNCPTR *_ptrc_glTexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
1083#define glTexImage3D _ptrc_glTexImage3D
1084extern void (CODEGEN_FUNCPTR *_ptrc_glTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
1085#define glTexSubImage3D _ptrc_glTexSubImage3D
1086
1087extern void (CODEGEN_FUNCPTR *_ptrc_glActiveTexture)(GLenum);
1088#define glActiveTexture _ptrc_glActiveTexture
1089extern void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage1D)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
1090#define glCompressedTexImage1D _ptrc_glCompressedTexImage1D
1091extern void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage2D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
1092#define glCompressedTexImage2D _ptrc_glCompressedTexImage2D
1093extern void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexImage3D)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
1094#define glCompressedTexImage3D _ptrc_glCompressedTexImage3D
1095extern void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
1096#define glCompressedTexSubImage1D _ptrc_glCompressedTexSubImage1D
1097extern void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
1098#define glCompressedTexSubImage2D _ptrc_glCompressedTexSubImage2D
1099extern void (CODEGEN_FUNCPTR *_ptrc_glCompressedTexSubImage3D)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
1100#define glCompressedTexSubImage3D _ptrc_glCompressedTexSubImage3D
1101extern void (CODEGEN_FUNCPTR *_ptrc_glGetCompressedTexImage)(GLenum, GLint, GLvoid *);
1102#define glGetCompressedTexImage _ptrc_glGetCompressedTexImage
1103extern void (CODEGEN_FUNCPTR *_ptrc_glSampleCoverage)(GLfloat, GLboolean);
1104#define glSampleCoverage _ptrc_glSampleCoverage
1105
1106extern void (CODEGEN_FUNCPTR *_ptrc_glBlendFuncSeparate)(GLenum, GLenum, GLenum, GLenum);
1107#define glBlendFuncSeparate _ptrc_glBlendFuncSeparate
1108extern void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawArrays)(GLenum, const GLint *, const GLsizei *, GLsizei);
1109#define glMultiDrawArrays _ptrc_glMultiDrawArrays
1110extern void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawElements)(GLenum, const GLsizei *, GLenum, const GLvoid *const*, GLsizei);
1111#define glMultiDrawElements _ptrc_glMultiDrawElements
1112extern void (CODEGEN_FUNCPTR *_ptrc_glPointParameterf)(GLenum, GLfloat);
1113#define glPointParameterf _ptrc_glPointParameterf
1114extern void (CODEGEN_FUNCPTR *_ptrc_glPointParameterfv)(GLenum, const GLfloat *);
1115#define glPointParameterfv _ptrc_glPointParameterfv
1116extern void (CODEGEN_FUNCPTR *_ptrc_glPointParameteri)(GLenum, GLint);
1117#define glPointParameteri _ptrc_glPointParameteri
1118extern void (CODEGEN_FUNCPTR *_ptrc_glPointParameteriv)(GLenum, const GLint *);
1119#define glPointParameteriv _ptrc_glPointParameteriv
1120
1121extern void (CODEGEN_FUNCPTR *_ptrc_glBeginQuery)(GLenum, GLuint);
1122#define glBeginQuery _ptrc_glBeginQuery
1123extern void (CODEGEN_FUNCPTR *_ptrc_glBindBuffer)(GLenum, GLuint);
1124#define glBindBuffer _ptrc_glBindBuffer
1125extern void (CODEGEN_FUNCPTR *_ptrc_glBufferData)(GLenum, GLsizeiptr, const GLvoid *, GLenum);
1126#define glBufferData _ptrc_glBufferData
1127extern void (CODEGEN_FUNCPTR *_ptrc_glBufferSubData)(GLenum, GLintptr, GLsizeiptr, const GLvoid *);
1128#define glBufferSubData _ptrc_glBufferSubData
1129extern void (CODEGEN_FUNCPTR *_ptrc_glDeleteBuffers)(GLsizei, const GLuint *);
1130#define glDeleteBuffers _ptrc_glDeleteBuffers
1131extern void (CODEGEN_FUNCPTR *_ptrc_glDeleteQueries)(GLsizei, const GLuint *);
1132#define glDeleteQueries _ptrc_glDeleteQueries
1133extern void (CODEGEN_FUNCPTR *_ptrc_glEndQuery)(GLenum);
1134#define glEndQuery _ptrc_glEndQuery
1135extern void (CODEGEN_FUNCPTR *_ptrc_glGenBuffers)(GLsizei, GLuint *);
1136#define glGenBuffers _ptrc_glGenBuffers
1137extern void (CODEGEN_FUNCPTR *_ptrc_glGenQueries)(GLsizei, GLuint *);
1138#define glGenQueries _ptrc_glGenQueries
1139extern void (CODEGEN_FUNCPTR *_ptrc_glGetBufferParameteriv)(GLenum, GLenum, GLint *);
1140#define glGetBufferParameteriv _ptrc_glGetBufferParameteriv
1141extern void (CODEGEN_FUNCPTR *_ptrc_glGetBufferPointerv)(GLenum, GLenum, GLvoid **);
1142#define glGetBufferPointerv _ptrc_glGetBufferPointerv
1143extern void (CODEGEN_FUNCPTR *_ptrc_glGetBufferSubData)(GLenum, GLintptr, GLsizeiptr, GLvoid *);
1144#define glGetBufferSubData _ptrc_glGetBufferSubData
1145extern void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjectiv)(GLuint, GLenum, GLint *);
1146#define glGetQueryObjectiv _ptrc_glGetQueryObjectiv
1147extern void (CODEGEN_FUNCPTR *_ptrc_glGetQueryObjectuiv)(GLuint, GLenum, GLuint *);
1148#define glGetQueryObjectuiv _ptrc_glGetQueryObjectuiv
1149extern void (CODEGEN_FUNCPTR *_ptrc_glGetQueryiv)(GLenum, GLenum, GLint *);
1150#define glGetQueryiv _ptrc_glGetQueryiv
1151extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsBuffer)(GLuint);
1152#define glIsBuffer _ptrc_glIsBuffer
1153extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsQuery)(GLuint);
1154#define glIsQuery _ptrc_glIsQuery
1155extern void * (CODEGEN_FUNCPTR *_ptrc_glMapBuffer)(GLenum, GLenum);
1156#define glMapBuffer _ptrc_glMapBuffer
1157extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glUnmapBuffer)(GLenum);
1158#define glUnmapBuffer _ptrc_glUnmapBuffer
1159
1160extern void (CODEGEN_FUNCPTR *_ptrc_glAttachShader)(GLuint, GLuint);
1161#define glAttachShader _ptrc_glAttachShader
1162extern void (CODEGEN_FUNCPTR *_ptrc_glBindAttribLocation)(GLuint, GLuint, const GLchar *);
1163#define glBindAttribLocation _ptrc_glBindAttribLocation
1164extern void (CODEGEN_FUNCPTR *_ptrc_glBlendEquationSeparate)(GLenum, GLenum);
1165#define glBlendEquationSeparate _ptrc_glBlendEquationSeparate
1166extern void (CODEGEN_FUNCPTR *_ptrc_glCompileShader)(GLuint);
1167#define glCompileShader _ptrc_glCompileShader
1168extern GLuint (CODEGEN_FUNCPTR *_ptrc_glCreateProgram)();
1169#define glCreateProgram _ptrc_glCreateProgram
1170extern GLuint (CODEGEN_FUNCPTR *_ptrc_glCreateShader)(GLenum);
1171#define glCreateShader _ptrc_glCreateShader
1172extern void (CODEGEN_FUNCPTR *_ptrc_glDeleteProgram)(GLuint);
1173#define glDeleteProgram _ptrc_glDeleteProgram
1174extern void (CODEGEN_FUNCPTR *_ptrc_glDeleteShader)(GLuint);
1175#define glDeleteShader _ptrc_glDeleteShader
1176extern void (CODEGEN_FUNCPTR *_ptrc_glDetachShader)(GLuint, GLuint);
1177#define glDetachShader _ptrc_glDetachShader
1178extern void (CODEGEN_FUNCPTR *_ptrc_glDisableVertexAttribArray)(GLuint);
1179#define glDisableVertexAttribArray _ptrc_glDisableVertexAttribArray
1180extern void (CODEGEN_FUNCPTR *_ptrc_glDrawBuffers)(GLsizei, const GLenum *);
1181#define glDrawBuffers _ptrc_glDrawBuffers
1182extern void (CODEGEN_FUNCPTR *_ptrc_glEnableVertexAttribArray)(GLuint);
1183#define glEnableVertexAttribArray _ptrc_glEnableVertexAttribArray
1184extern void (CODEGEN_FUNCPTR *_ptrc_glGetActiveAttrib)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
1185#define glGetActiveAttrib _ptrc_glGetActiveAttrib
1186extern void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniform)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
1187#define glGetActiveUniform _ptrc_glGetActiveUniform
1188extern void (CODEGEN_FUNCPTR *_ptrc_glGetAttachedShaders)(GLuint, GLsizei, GLsizei *, GLuint *);
1189#define glGetAttachedShaders _ptrc_glGetAttachedShaders
1190extern GLint (CODEGEN_FUNCPTR *_ptrc_glGetAttribLocation)(GLuint, const GLchar *);
1191#define glGetAttribLocation _ptrc_glGetAttribLocation
1192extern void (CODEGEN_FUNCPTR *_ptrc_glGetProgramInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
1193#define glGetProgramInfoLog _ptrc_glGetProgramInfoLog
1194extern void (CODEGEN_FUNCPTR *_ptrc_glGetProgramiv)(GLuint, GLenum, GLint *);
1195#define glGetProgramiv _ptrc_glGetProgramiv
1196extern void (CODEGEN_FUNCPTR *_ptrc_glGetShaderInfoLog)(GLuint, GLsizei, GLsizei *, GLchar *);
1197#define glGetShaderInfoLog _ptrc_glGetShaderInfoLog
1198extern void (CODEGEN_FUNCPTR *_ptrc_glGetShaderSource)(GLuint, GLsizei, GLsizei *, GLchar *);
1199#define glGetShaderSource _ptrc_glGetShaderSource
1200extern void (CODEGEN_FUNCPTR *_ptrc_glGetShaderiv)(GLuint, GLenum, GLint *);
1201#define glGetShaderiv _ptrc_glGetShaderiv
1202extern GLint (CODEGEN_FUNCPTR *_ptrc_glGetUniformLocation)(GLuint, const GLchar *);
1203#define glGetUniformLocation _ptrc_glGetUniformLocation
1204extern void (CODEGEN_FUNCPTR *_ptrc_glGetUniformfv)(GLuint, GLint, GLfloat *);
1205#define glGetUniformfv _ptrc_glGetUniformfv
1206extern void (CODEGEN_FUNCPTR *_ptrc_glGetUniformiv)(GLuint, GLint, GLint *);
1207#define glGetUniformiv _ptrc_glGetUniformiv
1208extern void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribPointerv)(GLuint, GLenum, GLvoid **);
1209#define glGetVertexAttribPointerv _ptrc_glGetVertexAttribPointerv
1210extern void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribdv)(GLuint, GLenum, GLdouble *);
1211#define glGetVertexAttribdv _ptrc_glGetVertexAttribdv
1212extern void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribfv)(GLuint, GLenum, GLfloat *);
1213#define glGetVertexAttribfv _ptrc_glGetVertexAttribfv
1214extern void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribiv)(GLuint, GLenum, GLint *);
1215#define glGetVertexAttribiv _ptrc_glGetVertexAttribiv
1216extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsProgram)(GLuint);
1217#define glIsProgram _ptrc_glIsProgram
1218extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsShader)(GLuint);
1219#define glIsShader _ptrc_glIsShader
1220extern void (CODEGEN_FUNCPTR *_ptrc_glLinkProgram)(GLuint);
1221#define glLinkProgram _ptrc_glLinkProgram
1222extern void (CODEGEN_FUNCPTR *_ptrc_glShaderSource)(GLuint, GLsizei, const GLchar *const*, const GLint *);
1223#define glShaderSource _ptrc_glShaderSource
1224extern void (CODEGEN_FUNCPTR *_ptrc_glStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint);
1225#define glStencilFuncSeparate _ptrc_glStencilFuncSeparate
1226extern void (CODEGEN_FUNCPTR *_ptrc_glStencilMaskSeparate)(GLenum, GLuint);
1227#define glStencilMaskSeparate _ptrc_glStencilMaskSeparate
1228extern void (CODEGEN_FUNCPTR *_ptrc_glStencilOpSeparate)(GLenum, GLenum, GLenum, GLenum);
1229#define glStencilOpSeparate _ptrc_glStencilOpSeparate
1230extern void (CODEGEN_FUNCPTR *_ptrc_glUniform1f)(GLint, GLfloat);
1231#define glUniform1f _ptrc_glUniform1f
1232extern void (CODEGEN_FUNCPTR *_ptrc_glUniform1fv)(GLint, GLsizei, const GLfloat *);
1233#define glUniform1fv _ptrc_glUniform1fv
1234extern void (CODEGEN_FUNCPTR *_ptrc_glUniform1i)(GLint, GLint);
1235#define glUniform1i _ptrc_glUniform1i
1236extern void (CODEGEN_FUNCPTR *_ptrc_glUniform1iv)(GLint, GLsizei, const GLint *);
1237#define glUniform1iv _ptrc_glUniform1iv
1238extern void (CODEGEN_FUNCPTR *_ptrc_glUniform2f)(GLint, GLfloat, GLfloat);
1239#define glUniform2f _ptrc_glUniform2f
1240extern void (CODEGEN_FUNCPTR *_ptrc_glUniform2fv)(GLint, GLsizei, const GLfloat *);
1241#define glUniform2fv _ptrc_glUniform2fv
1242extern void (CODEGEN_FUNCPTR *_ptrc_glUniform2i)(GLint, GLint, GLint);
1243#define glUniform2i _ptrc_glUniform2i
1244extern void (CODEGEN_FUNCPTR *_ptrc_glUniform2iv)(GLint, GLsizei, const GLint *);
1245#define glUniform2iv _ptrc_glUniform2iv
1246extern void (CODEGEN_FUNCPTR *_ptrc_glUniform3f)(GLint, GLfloat, GLfloat, GLfloat);
1247#define glUniform3f _ptrc_glUniform3f
1248extern void (CODEGEN_FUNCPTR *_ptrc_glUniform3fv)(GLint, GLsizei, const GLfloat *);
1249#define glUniform3fv _ptrc_glUniform3fv
1250extern void (CODEGEN_FUNCPTR *_ptrc_glUniform3i)(GLint, GLint, GLint, GLint);
1251#define glUniform3i _ptrc_glUniform3i
1252extern void (CODEGEN_FUNCPTR *_ptrc_glUniform3iv)(GLint, GLsizei, const GLint *);
1253#define glUniform3iv _ptrc_glUniform3iv
1254extern void (CODEGEN_FUNCPTR *_ptrc_glUniform4f)(GLint, GLfloat, GLfloat, GLfloat, GLfloat);
1255#define glUniform4f _ptrc_glUniform4f
1256extern void (CODEGEN_FUNCPTR *_ptrc_glUniform4fv)(GLint, GLsizei, const GLfloat *);
1257#define glUniform4fv _ptrc_glUniform4fv
1258extern void (CODEGEN_FUNCPTR *_ptrc_glUniform4i)(GLint, GLint, GLint, GLint, GLint);
1259#define glUniform4i _ptrc_glUniform4i
1260extern void (CODEGEN_FUNCPTR *_ptrc_glUniform4iv)(GLint, GLsizei, const GLint *);
1261#define glUniform4iv _ptrc_glUniform4iv
1262extern void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2fv)(GLint, GLsizei, GLboolean, const GLfloat *);
1263#define glUniformMatrix2fv _ptrc_glUniformMatrix2fv
1264extern void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3fv)(GLint, GLsizei, GLboolean, const GLfloat *);
1265#define glUniformMatrix3fv _ptrc_glUniformMatrix3fv
1266extern void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4fv)(GLint, GLsizei, GLboolean, const GLfloat *);
1267#define glUniformMatrix4fv _ptrc_glUniformMatrix4fv
1268extern void (CODEGEN_FUNCPTR *_ptrc_glUseProgram)(GLuint);
1269#define glUseProgram _ptrc_glUseProgram
1270extern void (CODEGEN_FUNCPTR *_ptrc_glValidateProgram)(GLuint);
1271#define glValidateProgram _ptrc_glValidateProgram
1272extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1d)(GLuint, GLdouble);
1273#define glVertexAttrib1d _ptrc_glVertexAttrib1d
1274extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1dv)(GLuint, const GLdouble *);
1275#define glVertexAttrib1dv _ptrc_glVertexAttrib1dv
1276extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1f)(GLuint, GLfloat);
1277#define glVertexAttrib1f _ptrc_glVertexAttrib1f
1278extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1fv)(GLuint, const GLfloat *);
1279#define glVertexAttrib1fv _ptrc_glVertexAttrib1fv
1280extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1s)(GLuint, GLshort);
1281#define glVertexAttrib1s _ptrc_glVertexAttrib1s
1282extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib1sv)(GLuint, const GLshort *);
1283#define glVertexAttrib1sv _ptrc_glVertexAttrib1sv
1284extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2d)(GLuint, GLdouble, GLdouble);
1285#define glVertexAttrib2d _ptrc_glVertexAttrib2d
1286extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2dv)(GLuint, const GLdouble *);
1287#define glVertexAttrib2dv _ptrc_glVertexAttrib2dv
1288extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2f)(GLuint, GLfloat, GLfloat);
1289#define glVertexAttrib2f _ptrc_glVertexAttrib2f
1290extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2fv)(GLuint, const GLfloat *);
1291#define glVertexAttrib2fv _ptrc_glVertexAttrib2fv
1292extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2s)(GLuint, GLshort, GLshort);
1293#define glVertexAttrib2s _ptrc_glVertexAttrib2s
1294extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib2sv)(GLuint, const GLshort *);
1295#define glVertexAttrib2sv _ptrc_glVertexAttrib2sv
1296extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3d)(GLuint, GLdouble, GLdouble, GLdouble);
1297#define glVertexAttrib3d _ptrc_glVertexAttrib3d
1298extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3dv)(GLuint, const GLdouble *);
1299#define glVertexAttrib3dv _ptrc_glVertexAttrib3dv
1300extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3f)(GLuint, GLfloat, GLfloat, GLfloat);
1301#define glVertexAttrib3f _ptrc_glVertexAttrib3f
1302extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3fv)(GLuint, const GLfloat *);
1303#define glVertexAttrib3fv _ptrc_glVertexAttrib3fv
1304extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3s)(GLuint, GLshort, GLshort, GLshort);
1305#define glVertexAttrib3s _ptrc_glVertexAttrib3s
1306extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib3sv)(GLuint, const GLshort *);
1307#define glVertexAttrib3sv _ptrc_glVertexAttrib3sv
1308extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nbv)(GLuint, const GLbyte *);
1309#define glVertexAttrib4Nbv _ptrc_glVertexAttrib4Nbv
1310extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Niv)(GLuint, const GLint *);
1311#define glVertexAttrib4Niv _ptrc_glVertexAttrib4Niv
1312extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nsv)(GLuint, const GLshort *);
1313#define glVertexAttrib4Nsv _ptrc_glVertexAttrib4Nsv
1314extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nub)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
1315#define glVertexAttrib4Nub _ptrc_glVertexAttrib4Nub
1316extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nubv)(GLuint, const GLubyte *);
1317#define glVertexAttrib4Nubv _ptrc_glVertexAttrib4Nubv
1318extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nuiv)(GLuint, const GLuint *);
1319#define glVertexAttrib4Nuiv _ptrc_glVertexAttrib4Nuiv
1320extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4Nusv)(GLuint, const GLushort *);
1321#define glVertexAttrib4Nusv _ptrc_glVertexAttrib4Nusv
1322extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4bv)(GLuint, const GLbyte *);
1323#define glVertexAttrib4bv _ptrc_glVertexAttrib4bv
1324extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4d)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
1325#define glVertexAttrib4d _ptrc_glVertexAttrib4d
1326extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4dv)(GLuint, const GLdouble *);
1327#define glVertexAttrib4dv _ptrc_glVertexAttrib4dv
1328extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4f)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
1329#define glVertexAttrib4f _ptrc_glVertexAttrib4f
1330extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4fv)(GLuint, const GLfloat *);
1331#define glVertexAttrib4fv _ptrc_glVertexAttrib4fv
1332extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4iv)(GLuint, const GLint *);
1333#define glVertexAttrib4iv _ptrc_glVertexAttrib4iv
1334extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4s)(GLuint, GLshort, GLshort, GLshort, GLshort);
1335#define glVertexAttrib4s _ptrc_glVertexAttrib4s
1336extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4sv)(GLuint, const GLshort *);
1337#define glVertexAttrib4sv _ptrc_glVertexAttrib4sv
1338extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4ubv)(GLuint, const GLubyte *);
1339#define glVertexAttrib4ubv _ptrc_glVertexAttrib4ubv
1340extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4uiv)(GLuint, const GLuint *);
1341#define glVertexAttrib4uiv _ptrc_glVertexAttrib4uiv
1342extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttrib4usv)(GLuint, const GLushort *);
1343#define glVertexAttrib4usv _ptrc_glVertexAttrib4usv
1344extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribPointer)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
1345#define glVertexAttribPointer _ptrc_glVertexAttribPointer
1346
1347extern void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x3fv)(GLint, GLsizei, GLboolean, const GLfloat *);
1348#define glUniformMatrix2x3fv _ptrc_glUniformMatrix2x3fv
1349extern void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix2x4fv)(GLint, GLsizei, GLboolean, const GLfloat *);
1350#define glUniformMatrix2x4fv _ptrc_glUniformMatrix2x4fv
1351extern void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x2fv)(GLint, GLsizei, GLboolean, const GLfloat *);
1352#define glUniformMatrix3x2fv _ptrc_glUniformMatrix3x2fv
1353extern void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix3x4fv)(GLint, GLsizei, GLboolean, const GLfloat *);
1354#define glUniformMatrix3x4fv _ptrc_glUniformMatrix3x4fv
1355extern void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x2fv)(GLint, GLsizei, GLboolean, const GLfloat *);
1356#define glUniformMatrix4x2fv _ptrc_glUniformMatrix4x2fv
1357extern void (CODEGEN_FUNCPTR *_ptrc_glUniformMatrix4x3fv)(GLint, GLsizei, GLboolean, const GLfloat *);
1358#define glUniformMatrix4x3fv _ptrc_glUniformMatrix4x3fv
1359
1360extern void (CODEGEN_FUNCPTR *_ptrc_glBeginConditionalRender)(GLuint, GLenum);
1361#define glBeginConditionalRender _ptrc_glBeginConditionalRender
1362extern void (CODEGEN_FUNCPTR *_ptrc_glBeginTransformFeedback)(GLenum);
1363#define glBeginTransformFeedback _ptrc_glBeginTransformFeedback
1364extern void (CODEGEN_FUNCPTR *_ptrc_glBindBufferBase)(GLenum, GLuint, GLuint);
1365#define glBindBufferBase _ptrc_glBindBufferBase
1366extern void (CODEGEN_FUNCPTR *_ptrc_glBindBufferRange)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr);
1367#define glBindBufferRange _ptrc_glBindBufferRange
1368extern void (CODEGEN_FUNCPTR *_ptrc_glBindFragDataLocation)(GLuint, GLuint, const GLchar *);
1369#define glBindFragDataLocation _ptrc_glBindFragDataLocation
1370extern void (CODEGEN_FUNCPTR *_ptrc_glBindFramebuffer)(GLenum, GLuint);
1371#define glBindFramebuffer _ptrc_glBindFramebuffer
1372extern void (CODEGEN_FUNCPTR *_ptrc_glBindRenderbuffer)(GLenum, GLuint);
1373#define glBindRenderbuffer _ptrc_glBindRenderbuffer
1374extern void (CODEGEN_FUNCPTR *_ptrc_glBindVertexArray)(GLuint);
1375#define glBindVertexArray _ptrc_glBindVertexArray
1376extern void (CODEGEN_FUNCPTR *_ptrc_glBlitFramebuffer)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
1377#define glBlitFramebuffer _ptrc_glBlitFramebuffer
1378extern GLenum (CODEGEN_FUNCPTR *_ptrc_glCheckFramebufferStatus)(GLenum);
1379#define glCheckFramebufferStatus _ptrc_glCheckFramebufferStatus
1380extern void (CODEGEN_FUNCPTR *_ptrc_glClampColor)(GLenum, GLenum);
1381#define glClampColor _ptrc_glClampColor
1382extern void (CODEGEN_FUNCPTR *_ptrc_glClearBufferfi)(GLenum, GLint, GLfloat, GLint);
1383#define glClearBufferfi _ptrc_glClearBufferfi
1384extern void (CODEGEN_FUNCPTR *_ptrc_glClearBufferfv)(GLenum, GLint, const GLfloat *);
1385#define glClearBufferfv _ptrc_glClearBufferfv
1386extern void (CODEGEN_FUNCPTR *_ptrc_glClearBufferiv)(GLenum, GLint, const GLint *);
1387#define glClearBufferiv _ptrc_glClearBufferiv
1388extern void (CODEGEN_FUNCPTR *_ptrc_glClearBufferuiv)(GLenum, GLint, const GLuint *);
1389#define glClearBufferuiv _ptrc_glClearBufferuiv
1390extern void (CODEGEN_FUNCPTR *_ptrc_glColorMaski)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
1391#define glColorMaski _ptrc_glColorMaski
1392extern void (CODEGEN_FUNCPTR *_ptrc_glDeleteFramebuffers)(GLsizei, const GLuint *);
1393#define glDeleteFramebuffers _ptrc_glDeleteFramebuffers
1394extern void (CODEGEN_FUNCPTR *_ptrc_glDeleteRenderbuffers)(GLsizei, const GLuint *);
1395#define glDeleteRenderbuffers _ptrc_glDeleteRenderbuffers
1396extern void (CODEGEN_FUNCPTR *_ptrc_glDeleteVertexArrays)(GLsizei, const GLuint *);
1397#define glDeleteVertexArrays _ptrc_glDeleteVertexArrays
1398extern void (CODEGEN_FUNCPTR *_ptrc_glDisablei)(GLenum, GLuint);
1399#define glDisablei _ptrc_glDisablei
1400extern void (CODEGEN_FUNCPTR *_ptrc_glEnablei)(GLenum, GLuint);
1401#define glEnablei _ptrc_glEnablei
1402extern void (CODEGEN_FUNCPTR *_ptrc_glEndConditionalRender)();
1403#define glEndConditionalRender _ptrc_glEndConditionalRender
1404extern void (CODEGEN_FUNCPTR *_ptrc_glEndTransformFeedback)();
1405#define glEndTransformFeedback _ptrc_glEndTransformFeedback
1406extern void (CODEGEN_FUNCPTR *_ptrc_glFlushMappedBufferRange)(GLenum, GLintptr, GLsizeiptr);
1407#define glFlushMappedBufferRange _ptrc_glFlushMappedBufferRange
1408extern void (CODEGEN_FUNCPTR *_ptrc_glFramebufferRenderbuffer)(GLenum, GLenum, GLenum, GLuint);
1409#define glFramebufferRenderbuffer _ptrc_glFramebufferRenderbuffer
1410extern void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture1D)(GLenum, GLenum, GLenum, GLuint, GLint);
1411#define glFramebufferTexture1D _ptrc_glFramebufferTexture1D
1412extern void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture2D)(GLenum, GLenum, GLenum, GLuint, GLint);
1413#define glFramebufferTexture2D _ptrc_glFramebufferTexture2D
1414extern void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture3D)(GLenum, GLenum, GLenum, GLuint, GLint, GLint);
1415#define glFramebufferTexture3D _ptrc_glFramebufferTexture3D
1416extern void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTextureLayer)(GLenum, GLenum, GLuint, GLint, GLint);
1417#define glFramebufferTextureLayer _ptrc_glFramebufferTextureLayer
1418extern void (CODEGEN_FUNCPTR *_ptrc_glGenFramebuffers)(GLsizei, GLuint *);
1419#define glGenFramebuffers _ptrc_glGenFramebuffers
1420extern void (CODEGEN_FUNCPTR *_ptrc_glGenRenderbuffers)(GLsizei, GLuint *);
1421#define glGenRenderbuffers _ptrc_glGenRenderbuffers
1422extern void (CODEGEN_FUNCPTR *_ptrc_glGenVertexArrays)(GLsizei, GLuint *);
1423#define glGenVertexArrays _ptrc_glGenVertexArrays
1424extern void (CODEGEN_FUNCPTR *_ptrc_glGenerateMipmap)(GLenum);
1425#define glGenerateMipmap _ptrc_glGenerateMipmap
1426extern void (CODEGEN_FUNCPTR *_ptrc_glGetBooleani_v)(GLenum, GLuint, GLboolean *);
1427#define glGetBooleani_v _ptrc_glGetBooleani_v
1428extern GLint (CODEGEN_FUNCPTR *_ptrc_glGetFragDataLocation)(GLuint, const GLchar *);
1429#define glGetFragDataLocation _ptrc_glGetFragDataLocation
1430extern void (CODEGEN_FUNCPTR *_ptrc_glGetFramebufferAttachmentParameteriv)(GLenum, GLenum, GLenum, GLint *);
1431#define glGetFramebufferAttachmentParameteriv _ptrc_glGetFramebufferAttachmentParameteriv
1432extern void (CODEGEN_FUNCPTR *_ptrc_glGetIntegeri_v)(GLenum, GLuint, GLint *);
1433#define glGetIntegeri_v _ptrc_glGetIntegeri_v
1434extern void (CODEGEN_FUNCPTR *_ptrc_glGetRenderbufferParameteriv)(GLenum, GLenum, GLint *);
1435#define glGetRenderbufferParameteriv _ptrc_glGetRenderbufferParameteriv
1436extern const GLubyte * (CODEGEN_FUNCPTR *_ptrc_glGetStringi)(GLenum, GLuint);
1437#define glGetStringi _ptrc_glGetStringi
1438extern void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterIiv)(GLenum, GLenum, GLint *);
1439#define glGetTexParameterIiv _ptrc_glGetTexParameterIiv
1440extern void (CODEGEN_FUNCPTR *_ptrc_glGetTexParameterIuiv)(GLenum, GLenum, GLuint *);
1441#define glGetTexParameterIuiv _ptrc_glGetTexParameterIuiv
1442extern void (CODEGEN_FUNCPTR *_ptrc_glGetTransformFeedbackVarying)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *);
1443#define glGetTransformFeedbackVarying _ptrc_glGetTransformFeedbackVarying
1444extern void (CODEGEN_FUNCPTR *_ptrc_glGetUniformuiv)(GLuint, GLint, GLuint *);
1445#define glGetUniformuiv _ptrc_glGetUniformuiv
1446extern void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribIiv)(GLuint, GLenum, GLint *);
1447#define glGetVertexAttribIiv _ptrc_glGetVertexAttribIiv
1448extern void (CODEGEN_FUNCPTR *_ptrc_glGetVertexAttribIuiv)(GLuint, GLenum, GLuint *);
1449#define glGetVertexAttribIuiv _ptrc_glGetVertexAttribIuiv
1450extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsEnabledi)(GLenum, GLuint);
1451#define glIsEnabledi _ptrc_glIsEnabledi
1452extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsFramebuffer)(GLuint);
1453#define glIsFramebuffer _ptrc_glIsFramebuffer
1454extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsRenderbuffer)(GLuint);
1455#define glIsRenderbuffer _ptrc_glIsRenderbuffer
1456extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsVertexArray)(GLuint);
1457#define glIsVertexArray _ptrc_glIsVertexArray
1458extern void * (CODEGEN_FUNCPTR *_ptrc_glMapBufferRange)(GLenum, GLintptr, GLsizeiptr, GLbitfield);
1459#define glMapBufferRange _ptrc_glMapBufferRange
1460extern void (CODEGEN_FUNCPTR *_ptrc_glRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei);
1461#define glRenderbufferStorage _ptrc_glRenderbufferStorage
1462extern void (CODEGEN_FUNCPTR *_ptrc_glRenderbufferStorageMultisample)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1463#define glRenderbufferStorageMultisample _ptrc_glRenderbufferStorageMultisample
1464extern void (CODEGEN_FUNCPTR *_ptrc_glTexParameterIiv)(GLenum, GLenum, const GLint *);
1465#define glTexParameterIiv _ptrc_glTexParameterIiv
1466extern void (CODEGEN_FUNCPTR *_ptrc_glTexParameterIuiv)(GLenum, GLenum, const GLuint *);
1467#define glTexParameterIuiv _ptrc_glTexParameterIuiv
1468extern void (CODEGEN_FUNCPTR *_ptrc_glTransformFeedbackVaryings)(GLuint, GLsizei, const GLchar *const*, GLenum);
1469#define glTransformFeedbackVaryings _ptrc_glTransformFeedbackVaryings
1470extern void (CODEGEN_FUNCPTR *_ptrc_glUniform1ui)(GLint, GLuint);
1471#define glUniform1ui _ptrc_glUniform1ui
1472extern void (CODEGEN_FUNCPTR *_ptrc_glUniform1uiv)(GLint, GLsizei, const GLuint *);
1473#define glUniform1uiv _ptrc_glUniform1uiv
1474extern void (CODEGEN_FUNCPTR *_ptrc_glUniform2ui)(GLint, GLuint, GLuint);
1475#define glUniform2ui _ptrc_glUniform2ui
1476extern void (CODEGEN_FUNCPTR *_ptrc_glUniform2uiv)(GLint, GLsizei, const GLuint *);
1477#define glUniform2uiv _ptrc_glUniform2uiv
1478extern void (CODEGEN_FUNCPTR *_ptrc_glUniform3ui)(GLint, GLuint, GLuint, GLuint);
1479#define glUniform3ui _ptrc_glUniform3ui
1480extern void (CODEGEN_FUNCPTR *_ptrc_glUniform3uiv)(GLint, GLsizei, const GLuint *);
1481#define glUniform3uiv _ptrc_glUniform3uiv
1482extern void (CODEGEN_FUNCPTR *_ptrc_glUniform4ui)(GLint, GLuint, GLuint, GLuint, GLuint);
1483#define glUniform4ui _ptrc_glUniform4ui
1484extern void (CODEGEN_FUNCPTR *_ptrc_glUniform4uiv)(GLint, GLsizei, const GLuint *);
1485#define glUniform4uiv _ptrc_glUniform4uiv
1486extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1i)(GLuint, GLint);
1487#define glVertexAttribI1i _ptrc_glVertexAttribI1i
1488extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1iv)(GLuint, const GLint *);
1489#define glVertexAttribI1iv _ptrc_glVertexAttribI1iv
1490extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1ui)(GLuint, GLuint);
1491#define glVertexAttribI1ui _ptrc_glVertexAttribI1ui
1492extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI1uiv)(GLuint, const GLuint *);
1493#define glVertexAttribI1uiv _ptrc_glVertexAttribI1uiv
1494extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2i)(GLuint, GLint, GLint);
1495#define glVertexAttribI2i _ptrc_glVertexAttribI2i
1496extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2iv)(GLuint, const GLint *);
1497#define glVertexAttribI2iv _ptrc_glVertexAttribI2iv
1498extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2ui)(GLuint, GLuint, GLuint);
1499#define glVertexAttribI2ui _ptrc_glVertexAttribI2ui
1500extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI2uiv)(GLuint, const GLuint *);
1501#define glVertexAttribI2uiv _ptrc_glVertexAttribI2uiv
1502extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3i)(GLuint, GLint, GLint, GLint);
1503#define glVertexAttribI3i _ptrc_glVertexAttribI3i
1504extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3iv)(GLuint, const GLint *);
1505#define glVertexAttribI3iv _ptrc_glVertexAttribI3iv
1506extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3ui)(GLuint, GLuint, GLuint, GLuint);
1507#define glVertexAttribI3ui _ptrc_glVertexAttribI3ui
1508extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI3uiv)(GLuint, const GLuint *);
1509#define glVertexAttribI3uiv _ptrc_glVertexAttribI3uiv
1510extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4bv)(GLuint, const GLbyte *);
1511#define glVertexAttribI4bv _ptrc_glVertexAttribI4bv
1512extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4i)(GLuint, GLint, GLint, GLint, GLint);
1513#define glVertexAttribI4i _ptrc_glVertexAttribI4i
1514extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4iv)(GLuint, const GLint *);
1515#define glVertexAttribI4iv _ptrc_glVertexAttribI4iv
1516extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4sv)(GLuint, const GLshort *);
1517#define glVertexAttribI4sv _ptrc_glVertexAttribI4sv
1518extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4ubv)(GLuint, const GLubyte *);
1519#define glVertexAttribI4ubv _ptrc_glVertexAttribI4ubv
1520extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4ui)(GLuint, GLuint, GLuint, GLuint, GLuint);
1521#define glVertexAttribI4ui _ptrc_glVertexAttribI4ui
1522extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4uiv)(GLuint, const GLuint *);
1523#define glVertexAttribI4uiv _ptrc_glVertexAttribI4uiv
1524extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribI4usv)(GLuint, const GLushort *);
1525#define glVertexAttribI4usv _ptrc_glVertexAttribI4usv
1526extern void (CODEGEN_FUNCPTR *_ptrc_glVertexAttribIPointer)(GLuint, GLint, GLenum, GLsizei, const GLvoid *);
1527#define glVertexAttribIPointer _ptrc_glVertexAttribIPointer
1528
1529extern void (CODEGEN_FUNCPTR *_ptrc_glCopyBufferSubData)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr);
1530#define glCopyBufferSubData _ptrc_glCopyBufferSubData
1531extern void (CODEGEN_FUNCPTR *_ptrc_glDrawArraysInstanced)(GLenum, GLint, GLsizei, GLsizei);
1532#define glDrawArraysInstanced _ptrc_glDrawArraysInstanced
1533extern void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstanced)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei);
1534#define glDrawElementsInstanced _ptrc_glDrawElementsInstanced
1535extern void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformBlockName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
1536#define glGetActiveUniformBlockName _ptrc_glGetActiveUniformBlockName
1537extern void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformBlockiv)(GLuint, GLuint, GLenum, GLint *);
1538#define glGetActiveUniformBlockiv _ptrc_glGetActiveUniformBlockiv
1539extern void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformName)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *);
1540#define glGetActiveUniformName _ptrc_glGetActiveUniformName
1541extern void (CODEGEN_FUNCPTR *_ptrc_glGetActiveUniformsiv)(GLuint, GLsizei, const GLuint *, GLenum, GLint *);
1542#define glGetActiveUniformsiv _ptrc_glGetActiveUniformsiv
1543extern GLuint (CODEGEN_FUNCPTR *_ptrc_glGetUniformBlockIndex)(GLuint, const GLchar *);
1544#define glGetUniformBlockIndex _ptrc_glGetUniformBlockIndex
1545extern void (CODEGEN_FUNCPTR *_ptrc_glGetUniformIndices)(GLuint, GLsizei, const GLchar *const*, GLuint *);
1546#define glGetUniformIndices _ptrc_glGetUniformIndices
1547extern void (CODEGEN_FUNCPTR *_ptrc_glPrimitiveRestartIndex)(GLuint);
1548#define glPrimitiveRestartIndex _ptrc_glPrimitiveRestartIndex
1549extern void (CODEGEN_FUNCPTR *_ptrc_glTexBuffer)(GLenum, GLenum, GLuint);
1550#define glTexBuffer _ptrc_glTexBuffer
1551extern void (CODEGEN_FUNCPTR *_ptrc_glUniformBlockBinding)(GLuint, GLuint, GLuint);
1552#define glUniformBlockBinding _ptrc_glUniformBlockBinding
1553
1554extern GLenum (CODEGEN_FUNCPTR *_ptrc_glClientWaitSync)(GLsync, GLbitfield, GLuint64);
1555#define glClientWaitSync _ptrc_glClientWaitSync
1556extern void (CODEGEN_FUNCPTR *_ptrc_glDeleteSync)(GLsync);
1557#define glDeleteSync _ptrc_glDeleteSync
1558extern void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLint);
1559#define glDrawElementsBaseVertex _ptrc_glDrawElementsBaseVertex
1560extern void (CODEGEN_FUNCPTR *_ptrc_glDrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint);
1561#define glDrawElementsInstancedBaseVertex _ptrc_glDrawElementsInstancedBaseVertex
1562extern void (CODEGEN_FUNCPTR *_ptrc_glDrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint);
1563#define glDrawRangeElementsBaseVertex _ptrc_glDrawRangeElementsBaseVertex
1564extern GLsync (CODEGEN_FUNCPTR *_ptrc_glFenceSync)(GLenum, GLbitfield);
1565#define glFenceSync _ptrc_glFenceSync
1566extern void (CODEGEN_FUNCPTR *_ptrc_glFramebufferTexture)(GLenum, GLenum, GLuint, GLint);
1567#define glFramebufferTexture _ptrc_glFramebufferTexture
1568extern void (CODEGEN_FUNCPTR *_ptrc_glGetBufferParameteri64v)(GLenum, GLenum, GLint64 *);
1569#define glGetBufferParameteri64v _ptrc_glGetBufferParameteri64v
1570extern void (CODEGEN_FUNCPTR *_ptrc_glGetInteger64i_v)(GLenum, GLuint, GLint64 *);
1571#define glGetInteger64i_v _ptrc_glGetInteger64i_v
1572extern void (CODEGEN_FUNCPTR *_ptrc_glGetInteger64v)(GLenum, GLint64 *);
1573#define glGetInteger64v _ptrc_glGetInteger64v
1574extern void (CODEGEN_FUNCPTR *_ptrc_glGetMultisamplefv)(GLenum, GLuint, GLfloat *);
1575#define glGetMultisamplefv _ptrc_glGetMultisamplefv
1576extern void (CODEGEN_FUNCPTR *_ptrc_glGetSynciv)(GLsync, GLenum, GLsizei, GLsizei *, GLint *);
1577#define glGetSynciv _ptrc_glGetSynciv
1578extern GLboolean (CODEGEN_FUNCPTR *_ptrc_glIsSync)(GLsync);
1579#define glIsSync _ptrc_glIsSync
1580extern void (CODEGEN_FUNCPTR *_ptrc_glMultiDrawElementsBaseVertex)(GLenum, const GLsizei *, GLenum, const GLvoid *const*, GLsizei, const GLint *);
1581#define glMultiDrawElementsBaseVertex _ptrc_glMultiDrawElementsBaseVertex
1582extern void (CODEGEN_FUNCPTR *_ptrc_glProvokingVertex)(GLenum);
1583#define glProvokingVertex _ptrc_glProvokingVertex
1584extern void (CODEGEN_FUNCPTR *_ptrc_glSampleMaski)(GLuint, GLbitfield);
1585#define glSampleMaski _ptrc_glSampleMaski
1586extern void (CODEGEN_FUNCPTR *_ptrc_glTexImage2DMultisample)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
1587#define glTexImage2DMultisample _ptrc_glTexImage2DMultisample
1588extern void (CODEGEN_FUNCPTR *_ptrc_glTexImage3DMultisample)(GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
1589#define glTexImage3DMultisample _ptrc_glTexImage3DMultisample
1590extern void (CODEGEN_FUNCPTR *_ptrc_glWaitSync)(GLsync, GLbitfield, GLuint64);
1591#define glWaitSync _ptrc_glWaitSync
1592
1593enum ogl_LoadStatus
1594{
1595 ogl_LOAD_FAILED = 0,
1596 ogl_LOAD_SUCCEEDED = 1,
1597};
1598
1599int ogl_LoadFunctions();
1600
1601int ogl_GetMinorVersion();
1602int ogl_GetMajorVersion();
1603int ogl_IsVersionGEQ(int majorVersion, int minorVersion);
1604
1605#ifdef __cplusplus
1606}
1607#endif /*__cplusplus*/
1608
1609#endif //POINTER_C_GENERATED_HEADER_OPENGL_H
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index d29049508..80e773728 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -5,6 +5,8 @@
5#include <cstring> 5#include <cstring>
6#include <memory> 6#include <memory>
7 7
8#include <glad/glad.h>
9
8#include "common/color.h" 10#include "common/color.h"
9#include "common/math_util.h" 11#include "common/math_util.h"
10#include "common/microprofile.h" 12#include "common/microprofile.h"
@@ -21,8 +23,6 @@
21#include "video_core/renderer_opengl/gl_shader_util.h" 23#include "video_core/renderer_opengl/gl_shader_util.h"
22#include "video_core/renderer_opengl/pica_to_gl.h" 24#include "video_core/renderer_opengl/pica_to_gl.h"
23 25
24#include "generated/gl_3_2_core.h"
25
26static bool IsPassThroughTevStage(const Pica::Regs::TevStageConfig& stage) { 26static bool IsPassThroughTevStage(const Pica::Regs::TevStageConfig& stage) {
27 return (stage.color_op == Pica::Regs::TevStageConfig::Operation::Replace && 27 return (stage.color_op == Pica::Regs::TevStageConfig::Operation::Replace &&
28 stage.alpha_op == Pica::Regs::TevStageConfig::Operation::Replace && 28 stage.alpha_op == Pica::Regs::TevStageConfig::Operation::Replace &&
diff --git a/src/video_core/renderer_opengl/gl_resource_manager.h b/src/video_core/renderer_opengl/gl_resource_manager.h
index 82173d59a..68fc1e6d3 100644
--- a/src/video_core/renderer_opengl/gl_resource_manager.h
+++ b/src/video_core/renderer_opengl/gl_resource_manager.h
@@ -6,9 +6,10 @@
6 6
7#include <utility> 7#include <utility>
8 8
9#include <glad/glad.h>
10
9#include "common/common_types.h" 11#include "common/common_types.h"
10 12
11#include "video_core/renderer_opengl/generated/gl_3_2_core.h"
12#include "video_core/renderer_opengl/gl_shader_util.h" 13#include "video_core/renderer_opengl/gl_shader_util.h"
13#include "video_core/renderer_opengl/gl_state.h" 14#include "video_core/renderer_opengl/gl_state.h"
14 15
diff --git a/src/video_core/renderer_opengl/gl_shader_util.h b/src/video_core/renderer_opengl/gl_shader_util.h
index 9b93a8a0c..c9d7cc380 100644
--- a/src/video_core/renderer_opengl/gl_shader_util.h
+++ b/src/video_core/renderer_opengl/gl_shader_util.h
@@ -4,7 +4,7 @@
4 4
5#pragma once 5#pragma once
6 6
7#include "generated/gl_3_2_core.h" 7#include <glad/glad.h>
8 8
9namespace ShaderUtil { 9namespace ShaderUtil {
10 10
diff --git a/src/video_core/renderer_opengl/gl_state.h b/src/video_core/renderer_opengl/gl_state.h
index 81e7e0877..43aa29a81 100644
--- a/src/video_core/renderer_opengl/gl_state.h
+++ b/src/video_core/renderer_opengl/gl_state.h
@@ -4,7 +4,7 @@
4 4
5#pragma once 5#pragma once
6 6
7#include "generated/gl_3_2_core.h" 7#include <glad/glad.h>
8 8
9class OpenGLState { 9class OpenGLState {
10public: 10public:
diff --git a/src/video_core/renderer_opengl/pica_to_gl.h b/src/video_core/renderer_opengl/pica_to_gl.h
index 12806fad5..6344f467f 100644
--- a/src/video_core/renderer_opengl/pica_to_gl.h
+++ b/src/video_core/renderer_opengl/pica_to_gl.h
@@ -4,12 +4,12 @@
4 4
5#pragma once 5#pragma once
6 6
7#include <glad/glad.h>
8
7#include "common/common_types.h" 9#include "common/common_types.h"
8 10
9#include "video_core/pica.h" 11#include "video_core/pica.h"
10 12
11#include "generated/gl_3_2_core.h"
12
13namespace PicaToGL { 13namespace PicaToGL {
14 14
15inline GLenum TextureFilterMode(Pica::Regs::TextureConfig::TextureFilter mode) { 15inline GLenum TextureFilterMode(Pica::Regs::TextureConfig::TextureFilter mode) {
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
index 79a940ff6..067d072ae 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.cpp
+++ b/src/video_core/renderer_opengl/renderer_opengl.cpp
@@ -373,8 +373,8 @@ void RendererOpenGL::SetWindow(EmuWindow* window) {
373void RendererOpenGL::Init() { 373void RendererOpenGL::Init() {
374 render_window->MakeCurrent(); 374 render_window->MakeCurrent();
375 375
376 int err = ogl_LoadFunctions(); 376 // TODO: Make frontends initialize this, so they can use gladLoadGLLoader with their own loaders
377 if (ogl_LOAD_SUCCEEDED != err) { 377 if (!gladLoadGL()) {
378 LOG_CRITICAL(Render_OpenGL, "Failed to initialize GL functions! Exiting..."); 378 LOG_CRITICAL(Render_OpenGL, "Failed to initialize GL functions! Exiting...");
379 exit(-1); 379 exit(-1);
380 } 380 }
diff --git a/src/video_core/renderer_opengl/renderer_opengl.h b/src/video_core/renderer_opengl/renderer_opengl.h
index 2ec2e14ca..4b023dc98 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.h
+++ b/src/video_core/renderer_opengl/renderer_opengl.h
@@ -6,7 +6,7 @@
6 6
7#include <array> 7#include <array>
8 8
9#include "generated/gl_3_2_core.h" 9#include <glad/glad.h>
10 10
11#include "common/math_util.h" 11#include "common/math_util.h"
12 12