1 #include <GL/gl3w.h>
2 
3 #ifdef _MSC_VER
4 #pragma warning (disable: 4055) // warning C4055: 'type cast' : from data pointer 'void *' to function pointer
5 #pragma warning (disable: 4152) // warning C4152: nonstandard extension, function/data pointer conversion in expression
6 #endif
7 
8 #ifdef _WIN32
9 #define WIN32_LEAN_AND_MEAN 1
10 #include <windows.h>
11 
12 static HMODULE libgl;
13 
open_libgl(void)14 static void open_libgl(void)
15 {
16 	libgl = LoadLibraryA("opengl32.dll");
17 }
18 
close_libgl(void)19 static void close_libgl(void)
20 {
21 	FreeLibrary(libgl);
22 }
23 
get_proc(const char * proc)24 static void *get_proc(const char *proc)
25 {
26 	void *res;
27 
28 	res = wglGetProcAddress(proc);
29 	if (!res)
30 		res = GetProcAddress(libgl, proc);
31 	return res;
32 }
33 #elif defined(__APPLE__) || defined(__APPLE_CC__)
34 #include <Carbon/Carbon.h>
35 
36 CFBundleRef bundle;
37 CFURLRef bundleURL;
38 
open_libgl(void)39 static void open_libgl(void)
40 {
41 	bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
42 		CFSTR("/System/Library/Frameworks/OpenGL.framework"),
43 		kCFURLPOSIXPathStyle, true);
44 
45 	bundle = CFBundleCreate(kCFAllocatorDefault, bundleURL);
46 	assert(bundle != NULL);
47 }
48 
close_libgl(void)49 static void close_libgl(void)
50 {
51 	CFRelease(bundle);
52 	CFRelease(bundleURL);
53 }
54 
get_proc(const char * proc)55 static void *get_proc(const char *proc)
56 {
57 	void *res;
58 
59 	CFStringRef procname = CFStringCreateWithCString(kCFAllocatorDefault, proc,
60 		kCFStringEncodingASCII);
61 	res = CFBundleGetFunctionPointerForName(bundle, procname);
62 	CFRelease(procname);
63 	return res;
64 }
65 #else
66 #include <dlfcn.h>
67 #include <GL/glx.h>
68 
69 static void *libgl;
70 
open_libgl(void)71 static void open_libgl(void)
72 {
73 	libgl = dlopen("libGL.so.1", RTLD_LAZY | RTLD_GLOBAL);
74 }
75 
close_libgl(void)76 static void close_libgl(void)
77 {
78 	dlclose(libgl);
79 }
80 
get_proc(const char * proc)81 static void *get_proc(const char *proc)
82 {
83 	void *res;
84 
85 	res = (void*)glXGetProcAddress((const GLubyte *) proc);
86 	if (!res)
87 		res = dlsym(libgl, proc);
88 	return res;
89 }
90 #endif
91 
92 static struct {
93 	int major, minor;
94 } version;
95 
parse_version(void)96 static int parse_version(void)
97 {
98 	if (!glGetIntegerv)
99 		return -1;
100 
101 	glGetIntegerv(GL_MAJOR_VERSION, &version.major);
102 	glGetIntegerv(GL_MINOR_VERSION, &version.minor);
103 
104 	if (version.major < 3)
105 		return -1;
106 	return 0;
107 }
108 
109 static void load_procs(void);
110 
gl3wInit(void)111 int gl3wInit(void)
112 {
113 	open_libgl();
114 	load_procs();
115 	close_libgl();
116 	return parse_version();
117 }
118 
gl3wIsSupported(int major,int minor)119 int gl3wIsSupported(int major, int minor)
120 {
121 	if (major < 3)
122 		return 0;
123 	if (version.major == major)
124 		return version.minor >= minor;
125 	return version.major >= major;
126 }
127 
gl3wGetProcAddress(const char * proc)128 void *gl3wGetProcAddress(const char *proc)
129 {
130 	return get_proc(proc);
131 }
132 
133 PFNGLCULLFACEPROC gl3wCullFace;
134 PFNGLFRONTFACEPROC gl3wFrontFace;
135 PFNGLHINTPROC gl3wHint;
136 PFNGLLINEWIDTHPROC gl3wLineWidth;
137 PFNGLPOINTSIZEPROC gl3wPointSize;
138 PFNGLPOLYGONMODEPROC gl3wPolygonMode;
139 PFNGLSCISSORPROC gl3wScissor;
140 PFNGLTEXPARAMETERFPROC gl3wTexParameterf;
141 PFNGLTEXPARAMETERFVPROC gl3wTexParameterfv;
142 PFNGLTEXPARAMETERIPROC gl3wTexParameteri;
143 PFNGLTEXPARAMETERIVPROC gl3wTexParameteriv;
144 PFNGLTEXIMAGE1DPROC gl3wTexImage1D;
145 PFNGLTEXIMAGE2DPROC gl3wTexImage2D;
146 PFNGLDRAWBUFFERPROC gl3wDrawBuffer;
147 PFNGLCLEARPROC gl3wClear;
148 PFNGLCLEARCOLORPROC gl3wClearColor;
149 PFNGLCLEARSTENCILPROC gl3wClearStencil;
150 PFNGLCLEARDEPTHPROC gl3wClearDepth;
151 PFNGLSTENCILMASKPROC gl3wStencilMask;
152 PFNGLCOLORMASKPROC gl3wColorMask;
153 PFNGLDEPTHMASKPROC gl3wDepthMask;
154 PFNGLDISABLEPROC gl3wDisable;
155 PFNGLENABLEPROC gl3wEnable;
156 PFNGLFINISHPROC gl3wFinish;
157 PFNGLFLUSHPROC gl3wFlush;
158 PFNGLBLENDFUNCPROC gl3wBlendFunc;
159 PFNGLLOGICOPPROC gl3wLogicOp;
160 PFNGLSTENCILFUNCPROC gl3wStencilFunc;
161 PFNGLSTENCILOPPROC gl3wStencilOp;
162 PFNGLDEPTHFUNCPROC gl3wDepthFunc;
163 PFNGLPIXELSTOREFPROC gl3wPixelStoref;
164 PFNGLPIXELSTOREIPROC gl3wPixelStorei;
165 PFNGLREADBUFFERPROC gl3wReadBuffer;
166 PFNGLREADPIXELSPROC gl3wReadPixels;
167 PFNGLGETBOOLEANVPROC gl3wGetBooleanv;
168 PFNGLGETDOUBLEVPROC gl3wGetDoublev;
169 PFNGLGETERRORPROC gl3wGetError;
170 PFNGLGETFLOATVPROC gl3wGetFloatv;
171 PFNGLGETINTEGERVPROC gl3wGetIntegerv;
172 PFNGLGETSTRINGPROC gl3wGetString;
173 PFNGLGETTEXIMAGEPROC gl3wGetTexImage;
174 PFNGLGETTEXPARAMETERFVPROC gl3wGetTexParameterfv;
175 PFNGLGETTEXPARAMETERIVPROC gl3wGetTexParameteriv;
176 PFNGLGETTEXLEVELPARAMETERFVPROC gl3wGetTexLevelParameterfv;
177 PFNGLGETTEXLEVELPARAMETERIVPROC gl3wGetTexLevelParameteriv;
178 PFNGLISENABLEDPROC gl3wIsEnabled;
179 PFNGLDEPTHRANGEPROC gl3wDepthRange;
180 PFNGLVIEWPORTPROC gl3wViewport;
181 PFNGLDRAWARRAYSPROC gl3wDrawArrays;
182 PFNGLDRAWELEMENTSPROC gl3wDrawElements;
183 PFNGLGETPOINTERVPROC gl3wGetPointerv;
184 PFNGLPOLYGONOFFSETPROC gl3wPolygonOffset;
185 PFNGLCOPYTEXIMAGE1DPROC gl3wCopyTexImage1D;
186 PFNGLCOPYTEXIMAGE2DPROC gl3wCopyTexImage2D;
187 PFNGLCOPYTEXSUBIMAGE1DPROC gl3wCopyTexSubImage1D;
188 PFNGLCOPYTEXSUBIMAGE2DPROC gl3wCopyTexSubImage2D;
189 PFNGLTEXSUBIMAGE1DPROC gl3wTexSubImage1D;
190 PFNGLTEXSUBIMAGE2DPROC gl3wTexSubImage2D;
191 PFNGLBINDTEXTUREPROC gl3wBindTexture;
192 PFNGLDELETETEXTURESPROC gl3wDeleteTextures;
193 PFNGLGENTEXTURESPROC gl3wGenTextures;
194 PFNGLISTEXTUREPROC gl3wIsTexture;
195 PFNGLBLENDCOLORPROC gl3wBlendColor;
196 PFNGLBLENDEQUATIONPROC gl3wBlendEquation;
197 PFNGLDRAWRANGEELEMENTSPROC gl3wDrawRangeElements;
198 PFNGLTEXIMAGE3DPROC gl3wTexImage3D;
199 PFNGLTEXSUBIMAGE3DPROC gl3wTexSubImage3D;
200 PFNGLCOPYTEXSUBIMAGE3DPROC gl3wCopyTexSubImage3D;
201 PFNGLACTIVETEXTUREPROC gl3wActiveTexture;
202 PFNGLSAMPLECOVERAGEPROC gl3wSampleCoverage;
203 PFNGLCOMPRESSEDTEXIMAGE3DPROC gl3wCompressedTexImage3D;
204 PFNGLCOMPRESSEDTEXIMAGE2DPROC gl3wCompressedTexImage2D;
205 PFNGLCOMPRESSEDTEXIMAGE1DPROC gl3wCompressedTexImage1D;
206 PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC gl3wCompressedTexSubImage3D;
207 PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC gl3wCompressedTexSubImage2D;
208 PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC gl3wCompressedTexSubImage1D;
209 PFNGLGETCOMPRESSEDTEXIMAGEPROC gl3wGetCompressedTexImage;
210 PFNGLBLENDFUNCSEPARATEPROC gl3wBlendFuncSeparate;
211 PFNGLMULTIDRAWARRAYSPROC gl3wMultiDrawArrays;
212 PFNGLMULTIDRAWELEMENTSPROC gl3wMultiDrawElements;
213 PFNGLPOINTPARAMETERFPROC gl3wPointParameterf;
214 PFNGLPOINTPARAMETERFVPROC gl3wPointParameterfv;
215 PFNGLPOINTPARAMETERIPROC gl3wPointParameteri;
216 PFNGLPOINTPARAMETERIVPROC gl3wPointParameteriv;
217 PFNGLGENQUERIESPROC gl3wGenQueries;
218 PFNGLDELETEQUERIESPROC gl3wDeleteQueries;
219 PFNGLISQUERYPROC gl3wIsQuery;
220 PFNGLBEGINQUERYPROC gl3wBeginQuery;
221 PFNGLENDQUERYPROC gl3wEndQuery;
222 PFNGLGETQUERYIVPROC gl3wGetQueryiv;
223 PFNGLGETQUERYOBJECTIVPROC gl3wGetQueryObjectiv;
224 PFNGLGETQUERYOBJECTUIVPROC gl3wGetQueryObjectuiv;
225 PFNGLBINDBUFFERPROC gl3wBindBuffer;
226 PFNGLDELETEBUFFERSPROC gl3wDeleteBuffers;
227 PFNGLGENBUFFERSPROC gl3wGenBuffers;
228 PFNGLISBUFFERPROC gl3wIsBuffer;
229 PFNGLBUFFERDATAPROC gl3wBufferData;
230 PFNGLBUFFERSUBDATAPROC gl3wBufferSubData;
231 PFNGLGETBUFFERSUBDATAPROC gl3wGetBufferSubData;
232 PFNGLMAPBUFFERPROC gl3wMapBuffer;
233 PFNGLUNMAPBUFFERPROC gl3wUnmapBuffer;
234 PFNGLGETBUFFERPARAMETERIVPROC gl3wGetBufferParameteriv;
235 PFNGLGETBUFFERPOINTERVPROC gl3wGetBufferPointerv;
236 PFNGLBLENDEQUATIONSEPARATEPROC gl3wBlendEquationSeparate;
237 PFNGLDRAWBUFFERSPROC gl3wDrawBuffers;
238 PFNGLSTENCILOPSEPARATEPROC gl3wStencilOpSeparate;
239 PFNGLSTENCILFUNCSEPARATEPROC gl3wStencilFuncSeparate;
240 PFNGLSTENCILMASKSEPARATEPROC gl3wStencilMaskSeparate;
241 PFNGLATTACHSHADERPROC gl3wAttachShader;
242 PFNGLBINDATTRIBLOCATIONPROC gl3wBindAttribLocation;
243 PFNGLCOMPILESHADERPROC gl3wCompileShader;
244 PFNGLCREATEPROGRAMPROC gl3wCreateProgram;
245 PFNGLCREATESHADERPROC gl3wCreateShader;
246 PFNGLDELETEPROGRAMPROC gl3wDeleteProgram;
247 PFNGLDELETESHADERPROC gl3wDeleteShader;
248 PFNGLDETACHSHADERPROC gl3wDetachShader;
249 PFNGLDISABLEVERTEXATTRIBARRAYPROC gl3wDisableVertexAttribArray;
250 PFNGLENABLEVERTEXATTRIBARRAYPROC gl3wEnableVertexAttribArray;
251 PFNGLGETACTIVEATTRIBPROC gl3wGetActiveAttrib;
252 PFNGLGETACTIVEUNIFORMPROC gl3wGetActiveUniform;
253 PFNGLGETATTACHEDSHADERSPROC gl3wGetAttachedShaders;
254 PFNGLGETATTRIBLOCATIONPROC gl3wGetAttribLocation;
255 PFNGLGETPROGRAMIVPROC gl3wGetProgramiv;
256 PFNGLGETPROGRAMINFOLOGPROC gl3wGetProgramInfoLog;
257 PFNGLGETSHADERIVPROC gl3wGetShaderiv;
258 PFNGLGETSHADERINFOLOGPROC gl3wGetShaderInfoLog;
259 PFNGLGETSHADERSOURCEPROC gl3wGetShaderSource;
260 PFNGLGETUNIFORMLOCATIONPROC gl3wGetUniformLocation;
261 PFNGLGETUNIFORMFVPROC gl3wGetUniformfv;
262 PFNGLGETUNIFORMIVPROC gl3wGetUniformiv;
263 PFNGLGETVERTEXATTRIBDVPROC gl3wGetVertexAttribdv;
264 PFNGLGETVERTEXATTRIBFVPROC gl3wGetVertexAttribfv;
265 PFNGLGETVERTEXATTRIBIVPROC gl3wGetVertexAttribiv;
266 PFNGLGETVERTEXATTRIBPOINTERVPROC gl3wGetVertexAttribPointerv;
267 PFNGLISPROGRAMPROC gl3wIsProgram;
268 PFNGLISSHADERPROC gl3wIsShader;
269 PFNGLLINKPROGRAMPROC gl3wLinkProgram;
270 PFNGLSHADERSOURCEPROC gl3wShaderSource;
271 PFNGLUSEPROGRAMPROC gl3wUseProgram;
272 PFNGLUNIFORM1FPROC gl3wUniform1f;
273 PFNGLUNIFORM2FPROC gl3wUniform2f;
274 PFNGLUNIFORM3FPROC gl3wUniform3f;
275 PFNGLUNIFORM4FPROC gl3wUniform4f;
276 PFNGLUNIFORM1IPROC gl3wUniform1i;
277 PFNGLUNIFORM2IPROC gl3wUniform2i;
278 PFNGLUNIFORM3IPROC gl3wUniform3i;
279 PFNGLUNIFORM4IPROC gl3wUniform4i;
280 PFNGLUNIFORM1FVPROC gl3wUniform1fv;
281 PFNGLUNIFORM2FVPROC gl3wUniform2fv;
282 PFNGLUNIFORM3FVPROC gl3wUniform3fv;
283 PFNGLUNIFORM4FVPROC gl3wUniform4fv;
284 PFNGLUNIFORM1IVPROC gl3wUniform1iv;
285 PFNGLUNIFORM2IVPROC gl3wUniform2iv;
286 PFNGLUNIFORM3IVPROC gl3wUniform3iv;
287 PFNGLUNIFORM4IVPROC gl3wUniform4iv;
288 PFNGLUNIFORMMATRIX2FVPROC gl3wUniformMatrix2fv;
289 PFNGLUNIFORMMATRIX3FVPROC gl3wUniformMatrix3fv;
290 PFNGLUNIFORMMATRIX4FVPROC gl3wUniformMatrix4fv;
291 PFNGLVALIDATEPROGRAMPROC gl3wValidateProgram;
292 PFNGLVERTEXATTRIB1DPROC gl3wVertexAttrib1d;
293 PFNGLVERTEXATTRIB1DVPROC gl3wVertexAttrib1dv;
294 PFNGLVERTEXATTRIB1FPROC gl3wVertexAttrib1f;
295 PFNGLVERTEXATTRIB1FVPROC gl3wVertexAttrib1fv;
296 PFNGLVERTEXATTRIB1SPROC gl3wVertexAttrib1s;
297 PFNGLVERTEXATTRIB1SVPROC gl3wVertexAttrib1sv;
298 PFNGLVERTEXATTRIB2DPROC gl3wVertexAttrib2d;
299 PFNGLVERTEXATTRIB2DVPROC gl3wVertexAttrib2dv;
300 PFNGLVERTEXATTRIB2FPROC gl3wVertexAttrib2f;
301 PFNGLVERTEXATTRIB2FVPROC gl3wVertexAttrib2fv;
302 PFNGLVERTEXATTRIB2SPROC gl3wVertexAttrib2s;
303 PFNGLVERTEXATTRIB2SVPROC gl3wVertexAttrib2sv;
304 PFNGLVERTEXATTRIB3DPROC gl3wVertexAttrib3d;
305 PFNGLVERTEXATTRIB3DVPROC gl3wVertexAttrib3dv;
306 PFNGLVERTEXATTRIB3FPROC gl3wVertexAttrib3f;
307 PFNGLVERTEXATTRIB3FVPROC gl3wVertexAttrib3fv;
308 PFNGLVERTEXATTRIB3SPROC gl3wVertexAttrib3s;
309 PFNGLVERTEXATTRIB3SVPROC gl3wVertexAttrib3sv;
310 PFNGLVERTEXATTRIB4NBVPROC gl3wVertexAttrib4Nbv;
311 PFNGLVERTEXATTRIB4NIVPROC gl3wVertexAttrib4Niv;
312 PFNGLVERTEXATTRIB4NSVPROC gl3wVertexAttrib4Nsv;
313 PFNGLVERTEXATTRIB4NUBPROC gl3wVertexAttrib4Nub;
314 PFNGLVERTEXATTRIB4NUBVPROC gl3wVertexAttrib4Nubv;
315 PFNGLVERTEXATTRIB4NUIVPROC gl3wVertexAttrib4Nuiv;
316 PFNGLVERTEXATTRIB4NUSVPROC gl3wVertexAttrib4Nusv;
317 PFNGLVERTEXATTRIB4BVPROC gl3wVertexAttrib4bv;
318 PFNGLVERTEXATTRIB4DPROC gl3wVertexAttrib4d;
319 PFNGLVERTEXATTRIB4DVPROC gl3wVertexAttrib4dv;
320 PFNGLVERTEXATTRIB4FPROC gl3wVertexAttrib4f;
321 PFNGLVERTEXATTRIB4FVPROC gl3wVertexAttrib4fv;
322 PFNGLVERTEXATTRIB4IVPROC gl3wVertexAttrib4iv;
323 PFNGLVERTEXATTRIB4SPROC gl3wVertexAttrib4s;
324 PFNGLVERTEXATTRIB4SVPROC gl3wVertexAttrib4sv;
325 PFNGLVERTEXATTRIB4UBVPROC gl3wVertexAttrib4ubv;
326 PFNGLVERTEXATTRIB4UIVPROC gl3wVertexAttrib4uiv;
327 PFNGLVERTEXATTRIB4USVPROC gl3wVertexAttrib4usv;
328 PFNGLVERTEXATTRIBPOINTERPROC gl3wVertexAttribPointer;
329 PFNGLUNIFORMMATRIX2X3FVPROC gl3wUniformMatrix2x3fv;
330 PFNGLUNIFORMMATRIX3X2FVPROC gl3wUniformMatrix3x2fv;
331 PFNGLUNIFORMMATRIX2X4FVPROC gl3wUniformMatrix2x4fv;
332 PFNGLUNIFORMMATRIX4X2FVPROC gl3wUniformMatrix4x2fv;
333 PFNGLUNIFORMMATRIX3X4FVPROC gl3wUniformMatrix3x4fv;
334 PFNGLUNIFORMMATRIX4X3FVPROC gl3wUniformMatrix4x3fv;
335 PFNGLCOLORMASKIPROC gl3wColorMaski;
336 PFNGLGETBOOLEANI_VPROC gl3wGetBooleani_v;
337 PFNGLGETINTEGERI_VPROC gl3wGetIntegeri_v;
338 PFNGLENABLEIPROC gl3wEnablei;
339 PFNGLDISABLEIPROC gl3wDisablei;
340 PFNGLISENABLEDIPROC gl3wIsEnabledi;
341 PFNGLBEGINTRANSFORMFEEDBACKPROC gl3wBeginTransformFeedback;
342 PFNGLENDTRANSFORMFEEDBACKPROC gl3wEndTransformFeedback;
343 PFNGLBINDBUFFERRANGEPROC gl3wBindBufferRange;
344 PFNGLBINDBUFFERBASEPROC gl3wBindBufferBase;
345 PFNGLTRANSFORMFEEDBACKVARYINGSPROC gl3wTransformFeedbackVaryings;
346 PFNGLGETTRANSFORMFEEDBACKVARYINGPROC gl3wGetTransformFeedbackVarying;
347 PFNGLCLAMPCOLORPROC gl3wClampColor;
348 PFNGLBEGINCONDITIONALRENDERPROC gl3wBeginConditionalRender;
349 PFNGLENDCONDITIONALRENDERPROC gl3wEndConditionalRender;
350 PFNGLVERTEXATTRIBIPOINTERPROC gl3wVertexAttribIPointer;
351 PFNGLGETVERTEXATTRIBIIVPROC gl3wGetVertexAttribIiv;
352 PFNGLGETVERTEXATTRIBIUIVPROC gl3wGetVertexAttribIuiv;
353 PFNGLVERTEXATTRIBI1IPROC gl3wVertexAttribI1i;
354 PFNGLVERTEXATTRIBI2IPROC gl3wVertexAttribI2i;
355 PFNGLVERTEXATTRIBI3IPROC gl3wVertexAttribI3i;
356 PFNGLVERTEXATTRIBI4IPROC gl3wVertexAttribI4i;
357 PFNGLVERTEXATTRIBI1UIPROC gl3wVertexAttribI1ui;
358 PFNGLVERTEXATTRIBI2UIPROC gl3wVertexAttribI2ui;
359 PFNGLVERTEXATTRIBI3UIPROC gl3wVertexAttribI3ui;
360 PFNGLVERTEXATTRIBI4UIPROC gl3wVertexAttribI4ui;
361 PFNGLVERTEXATTRIBI1IVPROC gl3wVertexAttribI1iv;
362 PFNGLVERTEXATTRIBI2IVPROC gl3wVertexAttribI2iv;
363 PFNGLVERTEXATTRIBI3IVPROC gl3wVertexAttribI3iv;
364 PFNGLVERTEXATTRIBI4IVPROC gl3wVertexAttribI4iv;
365 PFNGLVERTEXATTRIBI1UIVPROC gl3wVertexAttribI1uiv;
366 PFNGLVERTEXATTRIBI2UIVPROC gl3wVertexAttribI2uiv;
367 PFNGLVERTEXATTRIBI3UIVPROC gl3wVertexAttribI3uiv;
368 PFNGLVERTEXATTRIBI4UIVPROC gl3wVertexAttribI4uiv;
369 PFNGLVERTEXATTRIBI4BVPROC gl3wVertexAttribI4bv;
370 PFNGLVERTEXATTRIBI4SVPROC gl3wVertexAttribI4sv;
371 PFNGLVERTEXATTRIBI4UBVPROC gl3wVertexAttribI4ubv;
372 PFNGLVERTEXATTRIBI4USVPROC gl3wVertexAttribI4usv;
373 PFNGLGETUNIFORMUIVPROC gl3wGetUniformuiv;
374 PFNGLBINDFRAGDATALOCATIONPROC gl3wBindFragDataLocation;
375 PFNGLGETFRAGDATALOCATIONPROC gl3wGetFragDataLocation;
376 PFNGLUNIFORM1UIPROC gl3wUniform1ui;
377 PFNGLUNIFORM2UIPROC gl3wUniform2ui;
378 PFNGLUNIFORM3UIPROC gl3wUniform3ui;
379 PFNGLUNIFORM4UIPROC gl3wUniform4ui;
380 PFNGLUNIFORM1UIVPROC gl3wUniform1uiv;
381 PFNGLUNIFORM2UIVPROC gl3wUniform2uiv;
382 PFNGLUNIFORM3UIVPROC gl3wUniform3uiv;
383 PFNGLUNIFORM4UIVPROC gl3wUniform4uiv;
384 PFNGLTEXPARAMETERIIVPROC gl3wTexParameterIiv;
385 PFNGLTEXPARAMETERIUIVPROC gl3wTexParameterIuiv;
386 PFNGLGETTEXPARAMETERIIVPROC gl3wGetTexParameterIiv;
387 PFNGLGETTEXPARAMETERIUIVPROC gl3wGetTexParameterIuiv;
388 PFNGLCLEARBUFFERIVPROC gl3wClearBufferiv;
389 PFNGLCLEARBUFFERUIVPROC gl3wClearBufferuiv;
390 PFNGLCLEARBUFFERFVPROC gl3wClearBufferfv;
391 PFNGLCLEARBUFFERFIPROC gl3wClearBufferfi;
392 PFNGLGETSTRINGIPROC gl3wGetStringi;
393 PFNGLDRAWARRAYSINSTANCEDPROC gl3wDrawArraysInstanced;
394 PFNGLDRAWELEMENTSINSTANCEDPROC gl3wDrawElementsInstanced;
395 PFNGLTEXBUFFERPROC gl3wTexBuffer;
396 PFNGLPRIMITIVERESTARTINDEXPROC gl3wPrimitiveRestartIndex;
397 PFNGLGETINTEGER64I_VPROC gl3wGetInteger64i_v;
398 PFNGLGETBUFFERPARAMETERI64VPROC gl3wGetBufferParameteri64v;
399 PFNGLFRAMEBUFFERTEXTUREPROC gl3wFramebufferTexture;
400 PFNGLVERTEXATTRIBDIVISORPROC gl3wVertexAttribDivisor;
401 PFNGLMINSAMPLESHADINGPROC gl3wMinSampleShading;
402 PFNGLBLENDEQUATIONIPROC gl3wBlendEquationi;
403 PFNGLBLENDEQUATIONSEPARATEIPROC gl3wBlendEquationSeparatei;
404 PFNGLBLENDFUNCIPROC gl3wBlendFunci;
405 PFNGLBLENDFUNCSEPARATEIPROC gl3wBlendFuncSeparatei;
406 PFNGLISRENDERBUFFERPROC gl3wIsRenderbuffer;
407 PFNGLBINDRENDERBUFFERPROC gl3wBindRenderbuffer;
408 PFNGLDELETERENDERBUFFERSPROC gl3wDeleteRenderbuffers;
409 PFNGLGENRENDERBUFFERSPROC gl3wGenRenderbuffers;
410 PFNGLRENDERBUFFERSTORAGEPROC gl3wRenderbufferStorage;
411 PFNGLGETRENDERBUFFERPARAMETERIVPROC gl3wGetRenderbufferParameteriv;
412 PFNGLISFRAMEBUFFERPROC gl3wIsFramebuffer;
413 PFNGLBINDFRAMEBUFFERPROC gl3wBindFramebuffer;
414 PFNGLDELETEFRAMEBUFFERSPROC gl3wDeleteFramebuffers;
415 PFNGLGENFRAMEBUFFERSPROC gl3wGenFramebuffers;
416 PFNGLCHECKFRAMEBUFFERSTATUSPROC gl3wCheckFramebufferStatus;
417 PFNGLFRAMEBUFFERTEXTURE1DPROC gl3wFramebufferTexture1D;
418 PFNGLFRAMEBUFFERTEXTURE2DPROC gl3wFramebufferTexture2D;
419 PFNGLFRAMEBUFFERTEXTURE3DPROC gl3wFramebufferTexture3D;
420 PFNGLFRAMEBUFFERRENDERBUFFERPROC gl3wFramebufferRenderbuffer;
421 PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC gl3wGetFramebufferAttachmentParameteriv;
422 PFNGLGENERATEMIPMAPPROC gl3wGenerateMipmap;
423 PFNGLBLITFRAMEBUFFERPROC gl3wBlitFramebuffer;
424 PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC gl3wRenderbufferStorageMultisample;
425 PFNGLFRAMEBUFFERTEXTURELAYERPROC gl3wFramebufferTextureLayer;
426 PFNGLMAPBUFFERRANGEPROC gl3wMapBufferRange;
427 PFNGLFLUSHMAPPEDBUFFERRANGEPROC gl3wFlushMappedBufferRange;
428 PFNGLBINDVERTEXARRAYPROC gl3wBindVertexArray;
429 PFNGLDELETEVERTEXARRAYSPROC gl3wDeleteVertexArrays;
430 PFNGLGENVERTEXARRAYSPROC gl3wGenVertexArrays;
431 PFNGLISVERTEXARRAYPROC gl3wIsVertexArray;
432 PFNGLGETUNIFORMINDICESPROC gl3wGetUniformIndices;
433 PFNGLGETACTIVEUNIFORMSIVPROC gl3wGetActiveUniformsiv;
434 PFNGLGETACTIVEUNIFORMNAMEPROC gl3wGetActiveUniformName;
435 PFNGLGETUNIFORMBLOCKINDEXPROC gl3wGetUniformBlockIndex;
436 PFNGLGETACTIVEUNIFORMBLOCKIVPROC gl3wGetActiveUniformBlockiv;
437 PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC gl3wGetActiveUniformBlockName;
438 PFNGLUNIFORMBLOCKBINDINGPROC gl3wUniformBlockBinding;
439 PFNGLCOPYBUFFERSUBDATAPROC gl3wCopyBufferSubData;
440 PFNGLDRAWELEMENTSBASEVERTEXPROC gl3wDrawElementsBaseVertex;
441 PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC gl3wDrawRangeElementsBaseVertex;
442 PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC gl3wDrawElementsInstancedBaseVertex;
443 PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC gl3wMultiDrawElementsBaseVertex;
444 PFNGLPROVOKINGVERTEXPROC gl3wProvokingVertex;
445 PFNGLFENCESYNCPROC gl3wFenceSync;
446 PFNGLISSYNCPROC gl3wIsSync;
447 PFNGLDELETESYNCPROC gl3wDeleteSync;
448 PFNGLCLIENTWAITSYNCPROC gl3wClientWaitSync;
449 PFNGLWAITSYNCPROC gl3wWaitSync;
450 PFNGLGETINTEGER64VPROC gl3wGetInteger64v;
451 PFNGLGETSYNCIVPROC gl3wGetSynciv;
452 PFNGLTEXIMAGE2DMULTISAMPLEPROC gl3wTexImage2DMultisample;
453 PFNGLTEXIMAGE3DMULTISAMPLEPROC gl3wTexImage3DMultisample;
454 PFNGLGETMULTISAMPLEFVPROC gl3wGetMultisamplefv;
455 PFNGLSAMPLEMASKIPROC gl3wSampleMaski;
456 PFNGLBLENDEQUATIONIARBPROC gl3wBlendEquationiARB;
457 PFNGLBLENDEQUATIONSEPARATEIARBPROC gl3wBlendEquationSeparateiARB;
458 PFNGLBLENDFUNCIARBPROC gl3wBlendFunciARB;
459 PFNGLBLENDFUNCSEPARATEIARBPROC gl3wBlendFuncSeparateiARB;
460 PFNGLMINSAMPLESHADINGARBPROC gl3wMinSampleShadingARB;
461 PFNGLNAMEDSTRINGARBPROC gl3wNamedStringARB;
462 PFNGLDELETENAMEDSTRINGARBPROC gl3wDeleteNamedStringARB;
463 PFNGLCOMPILESHADERINCLUDEARBPROC gl3wCompileShaderIncludeARB;
464 PFNGLISNAMEDSTRINGARBPROC gl3wIsNamedStringARB;
465 PFNGLGETNAMEDSTRINGARBPROC gl3wGetNamedStringARB;
466 PFNGLGETNAMEDSTRINGIVARBPROC gl3wGetNamedStringivARB;
467 PFNGLBINDFRAGDATALOCATIONINDEXEDPROC gl3wBindFragDataLocationIndexed;
468 PFNGLGETFRAGDATAINDEXPROC gl3wGetFragDataIndex;
469 PFNGLGENSAMPLERSPROC gl3wGenSamplers;
470 PFNGLDELETESAMPLERSPROC gl3wDeleteSamplers;
471 PFNGLISSAMPLERPROC gl3wIsSampler;
472 PFNGLBINDSAMPLERPROC gl3wBindSampler;
473 PFNGLSAMPLERPARAMETERIPROC gl3wSamplerParameteri;
474 PFNGLSAMPLERPARAMETERIVPROC gl3wSamplerParameteriv;
475 PFNGLSAMPLERPARAMETERFPROC gl3wSamplerParameterf;
476 PFNGLSAMPLERPARAMETERFVPROC gl3wSamplerParameterfv;
477 PFNGLSAMPLERPARAMETERIIVPROC gl3wSamplerParameterIiv;
478 PFNGLSAMPLERPARAMETERIUIVPROC gl3wSamplerParameterIuiv;
479 PFNGLGETSAMPLERPARAMETERIVPROC gl3wGetSamplerParameteriv;
480 PFNGLGETSAMPLERPARAMETERIIVPROC gl3wGetSamplerParameterIiv;
481 PFNGLGETSAMPLERPARAMETERFVPROC gl3wGetSamplerParameterfv;
482 PFNGLGETSAMPLERPARAMETERIUIVPROC gl3wGetSamplerParameterIuiv;
483 PFNGLQUERYCOUNTERPROC gl3wQueryCounter;
484 PFNGLGETQUERYOBJECTI64VPROC gl3wGetQueryObjecti64v;
485 PFNGLGETQUERYOBJECTUI64VPROC gl3wGetQueryObjectui64v;
486 PFNGLVERTEXP2UIPROC gl3wVertexP2ui;
487 PFNGLVERTEXP2UIVPROC gl3wVertexP2uiv;
488 PFNGLVERTEXP3UIPROC gl3wVertexP3ui;
489 PFNGLVERTEXP3UIVPROC gl3wVertexP3uiv;
490 PFNGLVERTEXP4UIPROC gl3wVertexP4ui;
491 PFNGLVERTEXP4UIVPROC gl3wVertexP4uiv;
492 PFNGLTEXCOORDP1UIPROC gl3wTexCoordP1ui;
493 PFNGLTEXCOORDP1UIVPROC gl3wTexCoordP1uiv;
494 PFNGLTEXCOORDP2UIPROC gl3wTexCoordP2ui;
495 PFNGLTEXCOORDP2UIVPROC gl3wTexCoordP2uiv;
496 PFNGLTEXCOORDP3UIPROC gl3wTexCoordP3ui;
497 PFNGLTEXCOORDP3UIVPROC gl3wTexCoordP3uiv;
498 PFNGLTEXCOORDP4UIPROC gl3wTexCoordP4ui;
499 PFNGLTEXCOORDP4UIVPROC gl3wTexCoordP4uiv;
500 PFNGLMULTITEXCOORDP1UIPROC gl3wMultiTexCoordP1ui;
501 PFNGLMULTITEXCOORDP1UIVPROC gl3wMultiTexCoordP1uiv;
502 PFNGLMULTITEXCOORDP2UIPROC gl3wMultiTexCoordP2ui;
503 PFNGLMULTITEXCOORDP2UIVPROC gl3wMultiTexCoordP2uiv;
504 PFNGLMULTITEXCOORDP3UIPROC gl3wMultiTexCoordP3ui;
505 PFNGLMULTITEXCOORDP3UIVPROC gl3wMultiTexCoordP3uiv;
506 PFNGLMULTITEXCOORDP4UIPROC gl3wMultiTexCoordP4ui;
507 PFNGLMULTITEXCOORDP4UIVPROC gl3wMultiTexCoordP4uiv;
508 PFNGLNORMALP3UIPROC gl3wNormalP3ui;
509 PFNGLNORMALP3UIVPROC gl3wNormalP3uiv;
510 PFNGLCOLORP3UIPROC gl3wColorP3ui;
511 PFNGLCOLORP3UIVPROC gl3wColorP3uiv;
512 PFNGLCOLORP4UIPROC gl3wColorP4ui;
513 PFNGLCOLORP4UIVPROC gl3wColorP4uiv;
514 PFNGLSECONDARYCOLORP3UIPROC gl3wSecondaryColorP3ui;
515 PFNGLSECONDARYCOLORP3UIVPROC gl3wSecondaryColorP3uiv;
516 PFNGLVERTEXATTRIBP1UIPROC gl3wVertexAttribP1ui;
517 PFNGLVERTEXATTRIBP1UIVPROC gl3wVertexAttribP1uiv;
518 PFNGLVERTEXATTRIBP2UIPROC gl3wVertexAttribP2ui;
519 PFNGLVERTEXATTRIBP2UIVPROC gl3wVertexAttribP2uiv;
520 PFNGLVERTEXATTRIBP3UIPROC gl3wVertexAttribP3ui;
521 PFNGLVERTEXATTRIBP3UIVPROC gl3wVertexAttribP3uiv;
522 PFNGLVERTEXATTRIBP4UIPROC gl3wVertexAttribP4ui;
523 PFNGLVERTEXATTRIBP4UIVPROC gl3wVertexAttribP4uiv;
524 PFNGLDRAWARRAYSINDIRECTPROC gl3wDrawArraysIndirect;
525 PFNGLDRAWELEMENTSINDIRECTPROC gl3wDrawElementsIndirect;
526 PFNGLUNIFORM1DPROC gl3wUniform1d;
527 PFNGLUNIFORM2DPROC gl3wUniform2d;
528 PFNGLUNIFORM3DPROC gl3wUniform3d;
529 PFNGLUNIFORM4DPROC gl3wUniform4d;
530 PFNGLUNIFORM1DVPROC gl3wUniform1dv;
531 PFNGLUNIFORM2DVPROC gl3wUniform2dv;
532 PFNGLUNIFORM3DVPROC gl3wUniform3dv;
533 PFNGLUNIFORM4DVPROC gl3wUniform4dv;
534 PFNGLUNIFORMMATRIX2DVPROC gl3wUniformMatrix2dv;
535 PFNGLUNIFORMMATRIX3DVPROC gl3wUniformMatrix3dv;
536 PFNGLUNIFORMMATRIX4DVPROC gl3wUniformMatrix4dv;
537 PFNGLUNIFORMMATRIX2X3DVPROC gl3wUniformMatrix2x3dv;
538 PFNGLUNIFORMMATRIX2X4DVPROC gl3wUniformMatrix2x4dv;
539 PFNGLUNIFORMMATRIX3X2DVPROC gl3wUniformMatrix3x2dv;
540 PFNGLUNIFORMMATRIX3X4DVPROC gl3wUniformMatrix3x4dv;
541 PFNGLUNIFORMMATRIX4X2DVPROC gl3wUniformMatrix4x2dv;
542 PFNGLUNIFORMMATRIX4X3DVPROC gl3wUniformMatrix4x3dv;
543 PFNGLGETUNIFORMDVPROC gl3wGetUniformdv;
544 PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC gl3wGetSubroutineUniformLocation;
545 PFNGLGETSUBROUTINEINDEXPROC gl3wGetSubroutineIndex;
546 PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC gl3wGetActiveSubroutineUniformiv;
547 PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC gl3wGetActiveSubroutineUniformName;
548 PFNGLGETACTIVESUBROUTINENAMEPROC gl3wGetActiveSubroutineName;
549 PFNGLUNIFORMSUBROUTINESUIVPROC gl3wUniformSubroutinesuiv;
550 PFNGLGETUNIFORMSUBROUTINEUIVPROC gl3wGetUniformSubroutineuiv;
551 PFNGLGETPROGRAMSTAGEIVPROC gl3wGetProgramStageiv;
552 PFNGLPATCHPARAMETERIPROC gl3wPatchParameteri;
553 PFNGLPATCHPARAMETERFVPROC gl3wPatchParameterfv;
554 PFNGLBINDTRANSFORMFEEDBACKPROC gl3wBindTransformFeedback;
555 PFNGLDELETETRANSFORMFEEDBACKSPROC gl3wDeleteTransformFeedbacks;
556 PFNGLGENTRANSFORMFEEDBACKSPROC gl3wGenTransformFeedbacks;
557 PFNGLISTRANSFORMFEEDBACKPROC gl3wIsTransformFeedback;
558 PFNGLPAUSETRANSFORMFEEDBACKPROC gl3wPauseTransformFeedback;
559 PFNGLRESUMETRANSFORMFEEDBACKPROC gl3wResumeTransformFeedback;
560 PFNGLDRAWTRANSFORMFEEDBACKPROC gl3wDrawTransformFeedback;
561 PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC gl3wDrawTransformFeedbackStream;
562 PFNGLBEGINQUERYINDEXEDPROC gl3wBeginQueryIndexed;
563 PFNGLENDQUERYINDEXEDPROC gl3wEndQueryIndexed;
564 PFNGLGETQUERYINDEXEDIVPROC gl3wGetQueryIndexediv;
565 PFNGLRELEASESHADERCOMPILERPROC gl3wReleaseShaderCompiler;
566 PFNGLSHADERBINARYPROC gl3wShaderBinary;
567 PFNGLGETSHADERPRECISIONFORMATPROC gl3wGetShaderPrecisionFormat;
568 PFNGLDEPTHRANGEFPROC gl3wDepthRangef;
569 PFNGLCLEARDEPTHFPROC gl3wClearDepthf;
570 PFNGLGETPROGRAMBINARYPROC gl3wGetProgramBinary;
571 PFNGLPROGRAMBINARYPROC gl3wProgramBinary;
572 PFNGLPROGRAMPARAMETERIPROC gl3wProgramParameteri;
573 PFNGLUSEPROGRAMSTAGESPROC gl3wUseProgramStages;
574 PFNGLACTIVESHADERPROGRAMPROC gl3wActiveShaderProgram;
575 PFNGLCREATESHADERPROGRAMVPROC gl3wCreateShaderProgramv;
576 PFNGLBINDPROGRAMPIPELINEPROC gl3wBindProgramPipeline;
577 PFNGLDELETEPROGRAMPIPELINESPROC gl3wDeleteProgramPipelines;
578 PFNGLGENPROGRAMPIPELINESPROC gl3wGenProgramPipelines;
579 PFNGLISPROGRAMPIPELINEPROC gl3wIsProgramPipeline;
580 PFNGLGETPROGRAMPIPELINEIVPROC gl3wGetProgramPipelineiv;
581 PFNGLPROGRAMUNIFORM1IPROC gl3wProgramUniform1i;
582 PFNGLPROGRAMUNIFORM1IVPROC gl3wProgramUniform1iv;
583 PFNGLPROGRAMUNIFORM1FPROC gl3wProgramUniform1f;
584 PFNGLPROGRAMUNIFORM1FVPROC gl3wProgramUniform1fv;
585 PFNGLPROGRAMUNIFORM1DPROC gl3wProgramUniform1d;
586 PFNGLPROGRAMUNIFORM1DVPROC gl3wProgramUniform1dv;
587 PFNGLPROGRAMUNIFORM1UIPROC gl3wProgramUniform1ui;
588 PFNGLPROGRAMUNIFORM1UIVPROC gl3wProgramUniform1uiv;
589 PFNGLPROGRAMUNIFORM2IPROC gl3wProgramUniform2i;
590 PFNGLPROGRAMUNIFORM2IVPROC gl3wProgramUniform2iv;
591 PFNGLPROGRAMUNIFORM2FPROC gl3wProgramUniform2f;
592 PFNGLPROGRAMUNIFORM2FVPROC gl3wProgramUniform2fv;
593 PFNGLPROGRAMUNIFORM2DPROC gl3wProgramUniform2d;
594 PFNGLPROGRAMUNIFORM2DVPROC gl3wProgramUniform2dv;
595 PFNGLPROGRAMUNIFORM2UIPROC gl3wProgramUniform2ui;
596 PFNGLPROGRAMUNIFORM2UIVPROC gl3wProgramUniform2uiv;
597 PFNGLPROGRAMUNIFORM3IPROC gl3wProgramUniform3i;
598 PFNGLPROGRAMUNIFORM3IVPROC gl3wProgramUniform3iv;
599 PFNGLPROGRAMUNIFORM3FPROC gl3wProgramUniform3f;
600 PFNGLPROGRAMUNIFORM3FVPROC gl3wProgramUniform3fv;
601 PFNGLPROGRAMUNIFORM3DPROC gl3wProgramUniform3d;
602 PFNGLPROGRAMUNIFORM3DVPROC gl3wProgramUniform3dv;
603 PFNGLPROGRAMUNIFORM3UIPROC gl3wProgramUniform3ui;
604 PFNGLPROGRAMUNIFORM3UIVPROC gl3wProgramUniform3uiv;
605 PFNGLPROGRAMUNIFORM4IPROC gl3wProgramUniform4i;
606 PFNGLPROGRAMUNIFORM4IVPROC gl3wProgramUniform4iv;
607 PFNGLPROGRAMUNIFORM4FPROC gl3wProgramUniform4f;
608 PFNGLPROGRAMUNIFORM4FVPROC gl3wProgramUniform4fv;
609 PFNGLPROGRAMUNIFORM4DPROC gl3wProgramUniform4d;
610 PFNGLPROGRAMUNIFORM4DVPROC gl3wProgramUniform4dv;
611 PFNGLPROGRAMUNIFORM4UIPROC gl3wProgramUniform4ui;
612 PFNGLPROGRAMUNIFORM4UIVPROC gl3wProgramUniform4uiv;
613 PFNGLPROGRAMUNIFORMMATRIX2FVPROC gl3wProgramUniformMatrix2fv;
614 PFNGLPROGRAMUNIFORMMATRIX3FVPROC gl3wProgramUniformMatrix3fv;
615 PFNGLPROGRAMUNIFORMMATRIX4FVPROC gl3wProgramUniformMatrix4fv;
616 PFNGLPROGRAMUNIFORMMATRIX2DVPROC gl3wProgramUniformMatrix2dv;
617 PFNGLPROGRAMUNIFORMMATRIX3DVPROC gl3wProgramUniformMatrix3dv;
618 PFNGLPROGRAMUNIFORMMATRIX4DVPROC gl3wProgramUniformMatrix4dv;
619 PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC gl3wProgramUniformMatrix2x3fv;
620 PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC gl3wProgramUniformMatrix3x2fv;
621 PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC gl3wProgramUniformMatrix2x4fv;
622 PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC gl3wProgramUniformMatrix4x2fv;
623 PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC gl3wProgramUniformMatrix3x4fv;
624 PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC gl3wProgramUniformMatrix4x3fv;
625 PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC gl3wProgramUniformMatrix2x3dv;
626 PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC gl3wProgramUniformMatrix3x2dv;
627 PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC gl3wProgramUniformMatrix2x4dv;
628 PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC gl3wProgramUniformMatrix4x2dv;
629 PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC gl3wProgramUniformMatrix3x4dv;
630 PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC gl3wProgramUniformMatrix4x3dv;
631 PFNGLVALIDATEPROGRAMPIPELINEPROC gl3wValidateProgramPipeline;
632 PFNGLGETPROGRAMPIPELINEINFOLOGPROC gl3wGetProgramPipelineInfoLog;
633 PFNGLVERTEXATTRIBL1DPROC gl3wVertexAttribL1d;
634 PFNGLVERTEXATTRIBL2DPROC gl3wVertexAttribL2d;
635 PFNGLVERTEXATTRIBL3DPROC gl3wVertexAttribL3d;
636 PFNGLVERTEXATTRIBL4DPROC gl3wVertexAttribL4d;
637 PFNGLVERTEXATTRIBL1DVPROC gl3wVertexAttribL1dv;
638 PFNGLVERTEXATTRIBL2DVPROC gl3wVertexAttribL2dv;
639 PFNGLVERTEXATTRIBL3DVPROC gl3wVertexAttribL3dv;
640 PFNGLVERTEXATTRIBL4DVPROC gl3wVertexAttribL4dv;
641 PFNGLVERTEXATTRIBLPOINTERPROC gl3wVertexAttribLPointer;
642 PFNGLGETVERTEXATTRIBLDVPROC gl3wGetVertexAttribLdv;
643 PFNGLVIEWPORTARRAYVPROC gl3wViewportArrayv;
644 PFNGLVIEWPORTINDEXEDFPROC gl3wViewportIndexedf;
645 PFNGLVIEWPORTINDEXEDFVPROC gl3wViewportIndexedfv;
646 PFNGLSCISSORARRAYVPROC gl3wScissorArrayv;
647 PFNGLSCISSORINDEXEDPROC gl3wScissorIndexed;
648 PFNGLSCISSORINDEXEDVPROC gl3wScissorIndexedv;
649 PFNGLDEPTHRANGEARRAYVPROC gl3wDepthRangeArrayv;
650 PFNGLDEPTHRANGEINDEXEDPROC gl3wDepthRangeIndexed;
651 PFNGLGETFLOATI_VPROC gl3wGetFloati_v;
652 PFNGLGETDOUBLEI_VPROC gl3wGetDoublei_v;
653 PFNGLCREATESYNCFROMCLEVENTARBPROC gl3wCreateSyncFromCLeventARB;
654 PFNGLDEBUGMESSAGECONTROLARBPROC gl3wDebugMessageControlARB;
655 PFNGLDEBUGMESSAGEINSERTARBPROC gl3wDebugMessageInsertARB;
656 PFNGLDEBUGMESSAGECALLBACKARBPROC gl3wDebugMessageCallbackARB;
657 PFNGLGETDEBUGMESSAGELOGARBPROC gl3wGetDebugMessageLogARB;
658 PFNGLGETGRAPHICSRESETSTATUSARBPROC gl3wGetGraphicsResetStatusARB;
659 PFNGLGETNTEXIMAGEARBPROC gl3wGetnTexImageARB;
660 PFNGLREADNPIXELSARBPROC gl3wReadnPixelsARB;
661 PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC gl3wGetnCompressedTexImageARB;
662 PFNGLGETNUNIFORMFVARBPROC gl3wGetnUniformfvARB;
663 PFNGLGETNUNIFORMIVARBPROC gl3wGetnUniformivARB;
664 PFNGLGETNUNIFORMUIVARBPROC gl3wGetnUniformuivARB;
665 PFNGLGETNUNIFORMDVARBPROC gl3wGetnUniformdvARB;
666 PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC gl3wDrawArraysInstancedBaseInstance;
667 PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC gl3wDrawElementsInstancedBaseInstance;
668 PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC gl3wDrawElementsInstancedBaseVertexBaseInstance;
669 PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC gl3wDrawTransformFeedbackInstanced;
670 PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC gl3wDrawTransformFeedbackStreamInstanced;
671 PFNGLGETINTERNALFORMATIVPROC gl3wGetInternalformativ;
672 PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC gl3wGetActiveAtomicCounterBufferiv;
673 PFNGLBINDIMAGETEXTUREPROC gl3wBindImageTexture;
674 PFNGLMEMORYBARRIERPROC gl3wMemoryBarrier;
675 PFNGLTEXSTORAGE1DPROC gl3wTexStorage1D;
676 PFNGLTEXSTORAGE2DPROC gl3wTexStorage2D;
677 PFNGLTEXSTORAGE3DPROC gl3wTexStorage3D;
678 PFNGLTEXTURESTORAGE1DEXTPROC gl3wTextureStorage1DEXT;
679 PFNGLTEXTURESTORAGE2DEXTPROC gl3wTextureStorage2DEXT;
680 PFNGLTEXTURESTORAGE3DEXTPROC gl3wTextureStorage3DEXT;
681 PFNGLDEBUGMESSAGECONTROLPROC gl3wDebugMessageControl;
682 PFNGLDEBUGMESSAGEINSERTPROC gl3wDebugMessageInsert;
683 PFNGLDEBUGMESSAGECALLBACKPROC gl3wDebugMessageCallback;
684 PFNGLGETDEBUGMESSAGELOGPROC gl3wGetDebugMessageLog;
685 PFNGLPUSHDEBUGGROUPPROC gl3wPushDebugGroup;
686 PFNGLPOPDEBUGGROUPPROC gl3wPopDebugGroup;
687 PFNGLOBJECTLABELPROC gl3wObjectLabel;
688 PFNGLGETOBJECTLABELPROC gl3wGetObjectLabel;
689 PFNGLOBJECTPTRLABELPROC gl3wObjectPtrLabel;
690 PFNGLGETOBJECTPTRLABELPROC gl3wGetObjectPtrLabel;
691 PFNGLCLEARBUFFERDATAPROC gl3wClearBufferData;
692 PFNGLCLEARBUFFERSUBDATAPROC gl3wClearBufferSubData;
693 PFNGLCLEARNAMEDBUFFERDATAEXTPROC gl3wClearNamedBufferDataEXT;
694 PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC gl3wClearNamedBufferSubDataEXT;
695 PFNGLDISPATCHCOMPUTEPROC gl3wDispatchCompute;
696 PFNGLDISPATCHCOMPUTEINDIRECTPROC gl3wDispatchComputeIndirect;
697 PFNGLCOPYIMAGESUBDATAPROC gl3wCopyImageSubData;
698 PFNGLTEXTUREVIEWPROC gl3wTextureView;
699 PFNGLBINDVERTEXBUFFERPROC gl3wBindVertexBuffer;
700 PFNGLVERTEXATTRIBFORMATPROC gl3wVertexAttribFormat;
701 PFNGLVERTEXATTRIBIFORMATPROC gl3wVertexAttribIFormat;
702 PFNGLVERTEXATTRIBLFORMATPROC gl3wVertexAttribLFormat;
703 PFNGLVERTEXATTRIBBINDINGPROC gl3wVertexAttribBinding;
704 PFNGLVERTEXBINDINGDIVISORPROC gl3wVertexBindingDivisor;
705 PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC gl3wVertexArrayBindVertexBufferEXT;
706 PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC gl3wVertexArrayVertexAttribFormatEXT;
707 PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC gl3wVertexArrayVertexAttribIFormatEXT;
708 PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC gl3wVertexArrayVertexAttribLFormatEXT;
709 PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC gl3wVertexArrayVertexAttribBindingEXT;
710 PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC gl3wVertexArrayVertexBindingDivisorEXT;
711 PFNGLFRAMEBUFFERPARAMETERIPROC gl3wFramebufferParameteri;
712 PFNGLGETFRAMEBUFFERPARAMETERIVPROC gl3wGetFramebufferParameteriv;
713 PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC gl3wNamedFramebufferParameteriEXT;
714 PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC gl3wGetNamedFramebufferParameterivEXT;
715 PFNGLGETINTERNALFORMATI64VPROC gl3wGetInternalformati64v;
716 PFNGLINVALIDATETEXSUBIMAGEPROC gl3wInvalidateTexSubImage;
717 PFNGLINVALIDATETEXIMAGEPROC gl3wInvalidateTexImage;
718 PFNGLINVALIDATEBUFFERSUBDATAPROC gl3wInvalidateBufferSubData;
719 PFNGLINVALIDATEBUFFERDATAPROC gl3wInvalidateBufferData;
720 PFNGLINVALIDATEFRAMEBUFFERPROC gl3wInvalidateFramebuffer;
721 PFNGLINVALIDATESUBFRAMEBUFFERPROC gl3wInvalidateSubFramebuffer;
722 PFNGLMULTIDRAWARRAYSINDIRECTPROC gl3wMultiDrawArraysIndirect;
723 PFNGLMULTIDRAWELEMENTSINDIRECTPROC gl3wMultiDrawElementsIndirect;
724 PFNGLGETPROGRAMINTERFACEIVPROC gl3wGetProgramInterfaceiv;
725 PFNGLGETPROGRAMRESOURCEINDEXPROC gl3wGetProgramResourceIndex;
726 PFNGLGETPROGRAMRESOURCENAMEPROC gl3wGetProgramResourceName;
727 PFNGLGETPROGRAMRESOURCEIVPROC gl3wGetProgramResourceiv;
728 PFNGLGETPROGRAMRESOURCELOCATIONPROC gl3wGetProgramResourceLocation;
729 PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC gl3wGetProgramResourceLocationIndex;
730 PFNGLSHADERSTORAGEBLOCKBINDINGPROC gl3wShaderStorageBlockBinding;
731 PFNGLTEXBUFFERRANGEPROC gl3wTexBufferRange;
732 PFNGLTEXTUREBUFFERRANGEEXTPROC gl3wTextureBufferRangeEXT;
733 PFNGLTEXSTORAGE2DMULTISAMPLEPROC gl3wTexStorage2DMultisample;
734 PFNGLTEXSTORAGE3DMULTISAMPLEPROC gl3wTexStorage3DMultisample;
735 PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC gl3wTextureStorage2DMultisampleEXT;
736 PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC gl3wTextureStorage3DMultisampleEXT;
737 
load_procs(void)738 static void load_procs(void)
739 {
740 	gl3wCullFace = (PFNGLCULLFACEPROC) get_proc("glCullFace");
741 	gl3wFrontFace = (PFNGLFRONTFACEPROC) get_proc("glFrontFace");
742 	gl3wHint = (PFNGLHINTPROC) get_proc("glHint");
743 	gl3wLineWidth = (PFNGLLINEWIDTHPROC) get_proc("glLineWidth");
744 	gl3wPointSize = (PFNGLPOINTSIZEPROC) get_proc("glPointSize");
745 	gl3wPolygonMode = (PFNGLPOLYGONMODEPROC) get_proc("glPolygonMode");
746 	gl3wScissor = (PFNGLSCISSORPROC) get_proc("glScissor");
747 	gl3wTexParameterf = (PFNGLTEXPARAMETERFPROC) get_proc("glTexParameterf");
748 	gl3wTexParameterfv = (PFNGLTEXPARAMETERFVPROC) get_proc("glTexParameterfv");
749 	gl3wTexParameteri = (PFNGLTEXPARAMETERIPROC) get_proc("glTexParameteri");
750 	gl3wTexParameteriv = (PFNGLTEXPARAMETERIVPROC) get_proc("glTexParameteriv");
751 	gl3wTexImage1D = (PFNGLTEXIMAGE1DPROC) get_proc("glTexImage1D");
752 	gl3wTexImage2D = (PFNGLTEXIMAGE2DPROC) get_proc("glTexImage2D");
753 	gl3wDrawBuffer = (PFNGLDRAWBUFFERPROC) get_proc("glDrawBuffer");
754 	gl3wClear = (PFNGLCLEARPROC) get_proc("glClear");
755 	gl3wClearColor = (PFNGLCLEARCOLORPROC) get_proc("glClearColor");
756 	gl3wClearStencil = (PFNGLCLEARSTENCILPROC) get_proc("glClearStencil");
757 	gl3wClearDepth = (PFNGLCLEARDEPTHPROC) get_proc("glClearDepth");
758 	gl3wStencilMask = (PFNGLSTENCILMASKPROC) get_proc("glStencilMask");
759 	gl3wColorMask = (PFNGLCOLORMASKPROC) get_proc("glColorMask");
760 	gl3wDepthMask = (PFNGLDEPTHMASKPROC) get_proc("glDepthMask");
761 	gl3wDisable = (PFNGLDISABLEPROC) get_proc("glDisable");
762 	gl3wEnable = (PFNGLENABLEPROC) get_proc("glEnable");
763 	gl3wFinish = (PFNGLFINISHPROC) get_proc("glFinish");
764 	gl3wFlush = (PFNGLFLUSHPROC) get_proc("glFlush");
765 	gl3wBlendFunc = (PFNGLBLENDFUNCPROC) get_proc("glBlendFunc");
766 	gl3wLogicOp = (PFNGLLOGICOPPROC) get_proc("glLogicOp");
767 	gl3wStencilFunc = (PFNGLSTENCILFUNCPROC) get_proc("glStencilFunc");
768 	gl3wStencilOp = (PFNGLSTENCILOPPROC) get_proc("glStencilOp");
769 	gl3wDepthFunc = (PFNGLDEPTHFUNCPROC) get_proc("glDepthFunc");
770 	gl3wPixelStoref = (PFNGLPIXELSTOREFPROC) get_proc("glPixelStoref");
771 	gl3wPixelStorei = (PFNGLPIXELSTOREIPROC) get_proc("glPixelStorei");
772 	gl3wReadBuffer = (PFNGLREADBUFFERPROC) get_proc("glReadBuffer");
773 	gl3wReadPixels = (PFNGLREADPIXELSPROC) get_proc("glReadPixels");
774 	gl3wGetBooleanv = (PFNGLGETBOOLEANVPROC) get_proc("glGetBooleanv");
775 	gl3wGetDoublev = (PFNGLGETDOUBLEVPROC) get_proc("glGetDoublev");
776 	gl3wGetError = (PFNGLGETERRORPROC) get_proc("glGetError");
777 	gl3wGetFloatv = (PFNGLGETFLOATVPROC) get_proc("glGetFloatv");
778 	gl3wGetIntegerv = (PFNGLGETINTEGERVPROC) get_proc("glGetIntegerv");
779 	gl3wGetString = (PFNGLGETSTRINGPROC) get_proc("glGetString");
780 	gl3wGetTexImage = (PFNGLGETTEXIMAGEPROC) get_proc("glGetTexImage");
781 	gl3wGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC) get_proc("glGetTexParameterfv");
782 	gl3wGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC) get_proc("glGetTexParameteriv");
783 	gl3wGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC) get_proc("glGetTexLevelParameterfv");
784 	gl3wGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC) get_proc("glGetTexLevelParameteriv");
785 	gl3wIsEnabled = (PFNGLISENABLEDPROC) get_proc("glIsEnabled");
786 	gl3wDepthRange = (PFNGLDEPTHRANGEPROC) get_proc("glDepthRange");
787 	gl3wViewport = (PFNGLVIEWPORTPROC) get_proc("glViewport");
788 	gl3wDrawArrays = (PFNGLDRAWARRAYSPROC) get_proc("glDrawArrays");
789 	gl3wDrawElements = (PFNGLDRAWELEMENTSPROC) get_proc("glDrawElements");
790 	gl3wGetPointerv = (PFNGLGETPOINTERVPROC) get_proc("glGetPointerv");
791 	gl3wPolygonOffset = (PFNGLPOLYGONOFFSETPROC) get_proc("glPolygonOffset");
792 	gl3wCopyTexImage1D = (PFNGLCOPYTEXIMAGE1DPROC) get_proc("glCopyTexImage1D");
793 	gl3wCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC) get_proc("glCopyTexImage2D");
794 	gl3wCopyTexSubImage1D = (PFNGLCOPYTEXSUBIMAGE1DPROC) get_proc("glCopyTexSubImage1D");
795 	gl3wCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC) get_proc("glCopyTexSubImage2D");
796 	gl3wTexSubImage1D = (PFNGLTEXSUBIMAGE1DPROC) get_proc("glTexSubImage1D");
797 	gl3wTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC) get_proc("glTexSubImage2D");
798 	gl3wBindTexture = (PFNGLBINDTEXTUREPROC) get_proc("glBindTexture");
799 	gl3wDeleteTextures = (PFNGLDELETETEXTURESPROC) get_proc("glDeleteTextures");
800 	gl3wGenTextures = (PFNGLGENTEXTURESPROC) get_proc("glGenTextures");
801 	gl3wIsTexture = (PFNGLISTEXTUREPROC) get_proc("glIsTexture");
802 	gl3wBlendColor = (PFNGLBLENDCOLORPROC) get_proc("glBlendColor");
803 	gl3wBlendEquation = (PFNGLBLENDEQUATIONPROC) get_proc("glBlendEquation");
804 	gl3wDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC) get_proc("glDrawRangeElements");
805 	gl3wTexImage3D = (PFNGLTEXIMAGE3DPROC) get_proc("glTexImage3D");
806 	gl3wTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC) get_proc("glTexSubImage3D");
807 	gl3wCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC) get_proc("glCopyTexSubImage3D");
808 	gl3wActiveTexture = (PFNGLACTIVETEXTUREPROC) get_proc("glActiveTexture");
809 	gl3wSampleCoverage = (PFNGLSAMPLECOVERAGEPROC) get_proc("glSampleCoverage");
810 	gl3wCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC) get_proc("glCompressedTexImage3D");
811 	gl3wCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC) get_proc("glCompressedTexImage2D");
812 	gl3wCompressedTexImage1D = (PFNGLCOMPRESSEDTEXIMAGE1DPROC) get_proc("glCompressedTexImage1D");
813 	gl3wCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) get_proc("glCompressedTexSubImage3D");
814 	gl3wCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) get_proc("glCompressedTexSubImage2D");
815 	gl3wCompressedTexSubImage1D = (PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) get_proc("glCompressedTexSubImage1D");
816 	gl3wGetCompressedTexImage = (PFNGLGETCOMPRESSEDTEXIMAGEPROC) get_proc("glGetCompressedTexImage");
817 	gl3wBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC) get_proc("glBlendFuncSeparate");
818 	gl3wMultiDrawArrays = (PFNGLMULTIDRAWARRAYSPROC) get_proc("glMultiDrawArrays");
819 	gl3wMultiDrawElements = (PFNGLMULTIDRAWELEMENTSPROC) get_proc("glMultiDrawElements");
820 	gl3wPointParameterf = (PFNGLPOINTPARAMETERFPROC) get_proc("glPointParameterf");
821 	gl3wPointParameterfv = (PFNGLPOINTPARAMETERFVPROC) get_proc("glPointParameterfv");
822 	gl3wPointParameteri = (PFNGLPOINTPARAMETERIPROC) get_proc("glPointParameteri");
823 	gl3wPointParameteriv = (PFNGLPOINTPARAMETERIVPROC) get_proc("glPointParameteriv");
824 	gl3wGenQueries = (PFNGLGENQUERIESPROC) get_proc("glGenQueries");
825 	gl3wDeleteQueries = (PFNGLDELETEQUERIESPROC) get_proc("glDeleteQueries");
826 	gl3wIsQuery = (PFNGLISQUERYPROC) get_proc("glIsQuery");
827 	gl3wBeginQuery = (PFNGLBEGINQUERYPROC) get_proc("glBeginQuery");
828 	gl3wEndQuery = (PFNGLENDQUERYPROC) get_proc("glEndQuery");
829 	gl3wGetQueryiv = (PFNGLGETQUERYIVPROC) get_proc("glGetQueryiv");
830 	gl3wGetQueryObjectiv = (PFNGLGETQUERYOBJECTIVPROC) get_proc("glGetQueryObjectiv");
831 	gl3wGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC) get_proc("glGetQueryObjectuiv");
832 	gl3wBindBuffer = (PFNGLBINDBUFFERPROC) get_proc("glBindBuffer");
833 	gl3wDeleteBuffers = (PFNGLDELETEBUFFERSPROC) get_proc("glDeleteBuffers");
834 	gl3wGenBuffers = (PFNGLGENBUFFERSPROC) get_proc("glGenBuffers");
835 	gl3wIsBuffer = (PFNGLISBUFFERPROC) get_proc("glIsBuffer");
836 	gl3wBufferData = (PFNGLBUFFERDATAPROC) get_proc("glBufferData");
837 	gl3wBufferSubData = (PFNGLBUFFERSUBDATAPROC) get_proc("glBufferSubData");
838 	gl3wGetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC) get_proc("glGetBufferSubData");
839 	gl3wMapBuffer = (PFNGLMAPBUFFERPROC) get_proc("glMapBuffer");
840 	gl3wUnmapBuffer = (PFNGLUNMAPBUFFERPROC) get_proc("glUnmapBuffer");
841 	gl3wGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC) get_proc("glGetBufferParameteriv");
842 	gl3wGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC) get_proc("glGetBufferPointerv");
843 	gl3wBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC) get_proc("glBlendEquationSeparate");
844 	gl3wDrawBuffers = (PFNGLDRAWBUFFERSPROC) get_proc("glDrawBuffers");
845 	gl3wStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC) get_proc("glStencilOpSeparate");
846 	gl3wStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC) get_proc("glStencilFuncSeparate");
847 	gl3wStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC) get_proc("glStencilMaskSeparate");
848 	gl3wAttachShader = (PFNGLATTACHSHADERPROC) get_proc("glAttachShader");
849 	gl3wBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC) get_proc("glBindAttribLocation");
850 	gl3wCompileShader = (PFNGLCOMPILESHADERPROC) get_proc("glCompileShader");
851 	gl3wCreateProgram = (PFNGLCREATEPROGRAMPROC) get_proc("glCreateProgram");
852 	gl3wCreateShader = (PFNGLCREATESHADERPROC) get_proc("glCreateShader");
853 	gl3wDeleteProgram = (PFNGLDELETEPROGRAMPROC) get_proc("glDeleteProgram");
854 	gl3wDeleteShader = (PFNGLDELETESHADERPROC) get_proc("glDeleteShader");
855 	gl3wDetachShader = (PFNGLDETACHSHADERPROC) get_proc("glDetachShader");
856 	gl3wDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC) get_proc("glDisableVertexAttribArray");
857 	gl3wEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC) get_proc("glEnableVertexAttribArray");
858 	gl3wGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC) get_proc("glGetActiveAttrib");
859 	gl3wGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC) get_proc("glGetActiveUniform");
860 	gl3wGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC) get_proc("glGetAttachedShaders");
861 	gl3wGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC) get_proc("glGetAttribLocation");
862 	gl3wGetProgramiv = (PFNGLGETPROGRAMIVPROC) get_proc("glGetProgramiv");
863 	gl3wGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC) get_proc("glGetProgramInfoLog");
864 	gl3wGetShaderiv = (PFNGLGETSHADERIVPROC) get_proc("glGetShaderiv");
865 	gl3wGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC) get_proc("glGetShaderInfoLog");
866 	gl3wGetShaderSource = (PFNGLGETSHADERSOURCEPROC) get_proc("glGetShaderSource");
867 	gl3wGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC) get_proc("glGetUniformLocation");
868 	gl3wGetUniformfv = (PFNGLGETUNIFORMFVPROC) get_proc("glGetUniformfv");
869 	gl3wGetUniformiv = (PFNGLGETUNIFORMIVPROC) get_proc("glGetUniformiv");
870 	gl3wGetVertexAttribdv = (PFNGLGETVERTEXATTRIBDVPROC) get_proc("glGetVertexAttribdv");
871 	gl3wGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC) get_proc("glGetVertexAttribfv");
872 	gl3wGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC) get_proc("glGetVertexAttribiv");
873 	gl3wGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC) get_proc("glGetVertexAttribPointerv");
874 	gl3wIsProgram = (PFNGLISPROGRAMPROC) get_proc("glIsProgram");
875 	gl3wIsShader = (PFNGLISSHADERPROC) get_proc("glIsShader");
876 	gl3wLinkProgram = (PFNGLLINKPROGRAMPROC) get_proc("glLinkProgram");
877 	gl3wShaderSource = (PFNGLSHADERSOURCEPROC) get_proc("glShaderSource");
878 	gl3wUseProgram = (PFNGLUSEPROGRAMPROC) get_proc("glUseProgram");
879 	gl3wUniform1f = (PFNGLUNIFORM1FPROC) get_proc("glUniform1f");
880 	gl3wUniform2f = (PFNGLUNIFORM2FPROC) get_proc("glUniform2f");
881 	gl3wUniform3f = (PFNGLUNIFORM3FPROC) get_proc("glUniform3f");
882 	gl3wUniform4f = (PFNGLUNIFORM4FPROC) get_proc("glUniform4f");
883 	gl3wUniform1i = (PFNGLUNIFORM1IPROC) get_proc("glUniform1i");
884 	gl3wUniform2i = (PFNGLUNIFORM2IPROC) get_proc("glUniform2i");
885 	gl3wUniform3i = (PFNGLUNIFORM3IPROC) get_proc("glUniform3i");
886 	gl3wUniform4i = (PFNGLUNIFORM4IPROC) get_proc("glUniform4i");
887 	gl3wUniform1fv = (PFNGLUNIFORM1FVPROC) get_proc("glUniform1fv");
888 	gl3wUniform2fv = (PFNGLUNIFORM2FVPROC) get_proc("glUniform2fv");
889 	gl3wUniform3fv = (PFNGLUNIFORM3FVPROC) get_proc("glUniform3fv");
890 	gl3wUniform4fv = (PFNGLUNIFORM4FVPROC) get_proc("glUniform4fv");
891 	gl3wUniform1iv = (PFNGLUNIFORM1IVPROC) get_proc("glUniform1iv");
892 	gl3wUniform2iv = (PFNGLUNIFORM2IVPROC) get_proc("glUniform2iv");
893 	gl3wUniform3iv = (PFNGLUNIFORM3IVPROC) get_proc("glUniform3iv");
894 	gl3wUniform4iv = (PFNGLUNIFORM4IVPROC) get_proc("glUniform4iv");
895 	gl3wUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC) get_proc("glUniformMatrix2fv");
896 	gl3wUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC) get_proc("glUniformMatrix3fv");
897 	gl3wUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC) get_proc("glUniformMatrix4fv");
898 	gl3wValidateProgram = (PFNGLVALIDATEPROGRAMPROC) get_proc("glValidateProgram");
899 	gl3wVertexAttrib1d = (PFNGLVERTEXATTRIB1DPROC) get_proc("glVertexAttrib1d");
900 	gl3wVertexAttrib1dv = (PFNGLVERTEXATTRIB1DVPROC) get_proc("glVertexAttrib1dv");
901 	gl3wVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC) get_proc("glVertexAttrib1f");
902 	gl3wVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC) get_proc("glVertexAttrib1fv");
903 	gl3wVertexAttrib1s = (PFNGLVERTEXATTRIB1SPROC) get_proc("glVertexAttrib1s");
904 	gl3wVertexAttrib1sv = (PFNGLVERTEXATTRIB1SVPROC) get_proc("glVertexAttrib1sv");
905 	gl3wVertexAttrib2d = (PFNGLVERTEXATTRIB2DPROC) get_proc("glVertexAttrib2d");
906 	gl3wVertexAttrib2dv = (PFNGLVERTEXATTRIB2DVPROC) get_proc("glVertexAttrib2dv");
907 	gl3wVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC) get_proc("glVertexAttrib2f");
908 	gl3wVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC) get_proc("glVertexAttrib2fv");
909 	gl3wVertexAttrib2s = (PFNGLVERTEXATTRIB2SPROC) get_proc("glVertexAttrib2s");
910 	gl3wVertexAttrib2sv = (PFNGLVERTEXATTRIB2SVPROC) get_proc("glVertexAttrib2sv");
911 	gl3wVertexAttrib3d = (PFNGLVERTEXATTRIB3DPROC) get_proc("glVertexAttrib3d");
912 	gl3wVertexAttrib3dv = (PFNGLVERTEXATTRIB3DVPROC) get_proc("glVertexAttrib3dv");
913 	gl3wVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC) get_proc("glVertexAttrib3f");
914 	gl3wVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC) get_proc("glVertexAttrib3fv");
915 	gl3wVertexAttrib3s = (PFNGLVERTEXATTRIB3SPROC) get_proc("glVertexAttrib3s");
916 	gl3wVertexAttrib3sv = (PFNGLVERTEXATTRIB3SVPROC) get_proc("glVertexAttrib3sv");
917 	gl3wVertexAttrib4Nbv = (PFNGLVERTEXATTRIB4NBVPROC) get_proc("glVertexAttrib4Nbv");
918 	gl3wVertexAttrib4Niv = (PFNGLVERTEXATTRIB4NIVPROC) get_proc("glVertexAttrib4Niv");
919 	gl3wVertexAttrib4Nsv = (PFNGLVERTEXATTRIB4NSVPROC) get_proc("glVertexAttrib4Nsv");
920 	gl3wVertexAttrib4Nub = (PFNGLVERTEXATTRIB4NUBPROC) get_proc("glVertexAttrib4Nub");
921 	gl3wVertexAttrib4Nubv = (PFNGLVERTEXATTRIB4NUBVPROC) get_proc("glVertexAttrib4Nubv");
922 	gl3wVertexAttrib4Nuiv = (PFNGLVERTEXATTRIB4NUIVPROC) get_proc("glVertexAttrib4Nuiv");
923 	gl3wVertexAttrib4Nusv = (PFNGLVERTEXATTRIB4NUSVPROC) get_proc("glVertexAttrib4Nusv");
924 	gl3wVertexAttrib4bv = (PFNGLVERTEXATTRIB4BVPROC) get_proc("glVertexAttrib4bv");
925 	gl3wVertexAttrib4d = (PFNGLVERTEXATTRIB4DPROC) get_proc("glVertexAttrib4d");
926 	gl3wVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC) get_proc("glVertexAttrib4dv");
927 	gl3wVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC) get_proc("glVertexAttrib4f");
928 	gl3wVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC) get_proc("glVertexAttrib4fv");
929 	gl3wVertexAttrib4iv = (PFNGLVERTEXATTRIB4IVPROC) get_proc("glVertexAttrib4iv");
930 	gl3wVertexAttrib4s = (PFNGLVERTEXATTRIB4SPROC) get_proc("glVertexAttrib4s");
931 	gl3wVertexAttrib4sv = (PFNGLVERTEXATTRIB4SVPROC) get_proc("glVertexAttrib4sv");
932 	gl3wVertexAttrib4ubv = (PFNGLVERTEXATTRIB4UBVPROC) get_proc("glVertexAttrib4ubv");
933 	gl3wVertexAttrib4uiv = (PFNGLVERTEXATTRIB4UIVPROC) get_proc("glVertexAttrib4uiv");
934 	gl3wVertexAttrib4usv = (PFNGLVERTEXATTRIB4USVPROC) get_proc("glVertexAttrib4usv");
935 	gl3wVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) get_proc("glVertexAttribPointer");
936 	gl3wUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC) get_proc("glUniformMatrix2x3fv");
937 	gl3wUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC) get_proc("glUniformMatrix3x2fv");
938 	gl3wUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC) get_proc("glUniformMatrix2x4fv");
939 	gl3wUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC) get_proc("glUniformMatrix4x2fv");
940 	gl3wUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC) get_proc("glUniformMatrix3x4fv");
941 	gl3wUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC) get_proc("glUniformMatrix4x3fv");
942 	gl3wColorMaski = (PFNGLCOLORMASKIPROC) get_proc("glColorMaski");
943 	gl3wGetBooleani_v = (PFNGLGETBOOLEANI_VPROC) get_proc("glGetBooleani_v");
944 	gl3wGetIntegeri_v = (PFNGLGETINTEGERI_VPROC) get_proc("glGetIntegeri_v");
945 	gl3wEnablei = (PFNGLENABLEIPROC) get_proc("glEnablei");
946 	gl3wDisablei = (PFNGLDISABLEIPROC) get_proc("glDisablei");
947 	gl3wIsEnabledi = (PFNGLISENABLEDIPROC) get_proc("glIsEnabledi");
948 	gl3wBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC) get_proc("glBeginTransformFeedback");
949 	gl3wEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC) get_proc("glEndTransformFeedback");
950 	gl3wBindBufferRange = (PFNGLBINDBUFFERRANGEPROC) get_proc("glBindBufferRange");
951 	gl3wBindBufferBase = (PFNGLBINDBUFFERBASEPROC) get_proc("glBindBufferBase");
952 	gl3wTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC) get_proc("glTransformFeedbackVaryings");
953 	gl3wGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) get_proc("glGetTransformFeedbackVarying");
954 	gl3wClampColor = (PFNGLCLAMPCOLORPROC) get_proc("glClampColor");
955 	gl3wBeginConditionalRender = (PFNGLBEGINCONDITIONALRENDERPROC) get_proc("glBeginConditionalRender");
956 	gl3wEndConditionalRender = (PFNGLENDCONDITIONALRENDERPROC) get_proc("glEndConditionalRender");
957 	gl3wVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC) get_proc("glVertexAttribIPointer");
958 	gl3wGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC) get_proc("glGetVertexAttribIiv");
959 	gl3wGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC) get_proc("glGetVertexAttribIuiv");
960 	gl3wVertexAttribI1i = (PFNGLVERTEXATTRIBI1IPROC) get_proc("glVertexAttribI1i");
961 	gl3wVertexAttribI2i = (PFNGLVERTEXATTRIBI2IPROC) get_proc("glVertexAttribI2i");
962 	gl3wVertexAttribI3i = (PFNGLVERTEXATTRIBI3IPROC) get_proc("glVertexAttribI3i");
963 	gl3wVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC) get_proc("glVertexAttribI4i");
964 	gl3wVertexAttribI1ui = (PFNGLVERTEXATTRIBI1UIPROC) get_proc("glVertexAttribI1ui");
965 	gl3wVertexAttribI2ui = (PFNGLVERTEXATTRIBI2UIPROC) get_proc("glVertexAttribI2ui");
966 	gl3wVertexAttribI3ui = (PFNGLVERTEXATTRIBI3UIPROC) get_proc("glVertexAttribI3ui");
967 	gl3wVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC) get_proc("glVertexAttribI4ui");
968 	gl3wVertexAttribI1iv = (PFNGLVERTEXATTRIBI1IVPROC) get_proc("glVertexAttribI1iv");
969 	gl3wVertexAttribI2iv = (PFNGLVERTEXATTRIBI2IVPROC) get_proc("glVertexAttribI2iv");
970 	gl3wVertexAttribI3iv = (PFNGLVERTEXATTRIBI3IVPROC) get_proc("glVertexAttribI3iv");
971 	gl3wVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC) get_proc("glVertexAttribI4iv");
972 	gl3wVertexAttribI1uiv = (PFNGLVERTEXATTRIBI1UIVPROC) get_proc("glVertexAttribI1uiv");
973 	gl3wVertexAttribI2uiv = (PFNGLVERTEXATTRIBI2UIVPROC) get_proc("glVertexAttribI2uiv");
974 	gl3wVertexAttribI3uiv = (PFNGLVERTEXATTRIBI3UIVPROC) get_proc("glVertexAttribI3uiv");
975 	gl3wVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC) get_proc("glVertexAttribI4uiv");
976 	gl3wVertexAttribI4bv = (PFNGLVERTEXATTRIBI4BVPROC) get_proc("glVertexAttribI4bv");
977 	gl3wVertexAttribI4sv = (PFNGLVERTEXATTRIBI4SVPROC) get_proc("glVertexAttribI4sv");
978 	gl3wVertexAttribI4ubv = (PFNGLVERTEXATTRIBI4UBVPROC) get_proc("glVertexAttribI4ubv");
979 	gl3wVertexAttribI4usv = (PFNGLVERTEXATTRIBI4USVPROC) get_proc("glVertexAttribI4usv");
980 	gl3wGetUniformuiv = (PFNGLGETUNIFORMUIVPROC) get_proc("glGetUniformuiv");
981 	gl3wBindFragDataLocation = (PFNGLBINDFRAGDATALOCATIONPROC) get_proc("glBindFragDataLocation");
982 	gl3wGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC) get_proc("glGetFragDataLocation");
983 	gl3wUniform1ui = (PFNGLUNIFORM1UIPROC) get_proc("glUniform1ui");
984 	gl3wUniform2ui = (PFNGLUNIFORM2UIPROC) get_proc("glUniform2ui");
985 	gl3wUniform3ui = (PFNGLUNIFORM3UIPROC) get_proc("glUniform3ui");
986 	gl3wUniform4ui = (PFNGLUNIFORM4UIPROC) get_proc("glUniform4ui");
987 	gl3wUniform1uiv = (PFNGLUNIFORM1UIVPROC) get_proc("glUniform1uiv");
988 	gl3wUniform2uiv = (PFNGLUNIFORM2UIVPROC) get_proc("glUniform2uiv");
989 	gl3wUniform3uiv = (PFNGLUNIFORM3UIVPROC) get_proc("glUniform3uiv");
990 	gl3wUniform4uiv = (PFNGLUNIFORM4UIVPROC) get_proc("glUniform4uiv");
991 	gl3wTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC) get_proc("glTexParameterIiv");
992 	gl3wTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC) get_proc("glTexParameterIuiv");
993 	gl3wGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC) get_proc("glGetTexParameterIiv");
994 	gl3wGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC) get_proc("glGetTexParameterIuiv");
995 	gl3wClearBufferiv = (PFNGLCLEARBUFFERIVPROC) get_proc("glClearBufferiv");
996 	gl3wClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC) get_proc("glClearBufferuiv");
997 	gl3wClearBufferfv = (PFNGLCLEARBUFFERFVPROC) get_proc("glClearBufferfv");
998 	gl3wClearBufferfi = (PFNGLCLEARBUFFERFIPROC) get_proc("glClearBufferfi");
999 	gl3wGetStringi = (PFNGLGETSTRINGIPROC) get_proc("glGetStringi");
1000 	gl3wDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC) get_proc("glDrawArraysInstanced");
1001 	gl3wDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC) get_proc("glDrawElementsInstanced");
1002 	gl3wTexBuffer = (PFNGLTEXBUFFERPROC) get_proc("glTexBuffer");
1003 	gl3wPrimitiveRestartIndex = (PFNGLPRIMITIVERESTARTINDEXPROC) get_proc("glPrimitiveRestartIndex");
1004 	gl3wGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC) get_proc("glGetInteger64i_v");
1005 	gl3wGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC) get_proc("glGetBufferParameteri64v");
1006 	gl3wFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC) get_proc("glFramebufferTexture");
1007 	gl3wVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC) get_proc("glVertexAttribDivisor");
1008 	gl3wMinSampleShading = (PFNGLMINSAMPLESHADINGPROC) get_proc("glMinSampleShading");
1009 	gl3wBlendEquationi = (PFNGLBLENDEQUATIONIPROC) get_proc("glBlendEquationi");
1010 	gl3wBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC) get_proc("glBlendEquationSeparatei");
1011 	gl3wBlendFunci = (PFNGLBLENDFUNCIPROC) get_proc("glBlendFunci");
1012 	gl3wBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC) get_proc("glBlendFuncSeparatei");
1013 	gl3wIsRenderbuffer = (PFNGLISRENDERBUFFERPROC) get_proc("glIsRenderbuffer");
1014 	gl3wBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC) get_proc("glBindRenderbuffer");
1015 	gl3wDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC) get_proc("glDeleteRenderbuffers");
1016 	gl3wGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC) get_proc("glGenRenderbuffers");
1017 	gl3wRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC) get_proc("glRenderbufferStorage");
1018 	gl3wGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC) get_proc("glGetRenderbufferParameteriv");
1019 	gl3wIsFramebuffer = (PFNGLISFRAMEBUFFERPROC) get_proc("glIsFramebuffer");
1020 	gl3wBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC) get_proc("glBindFramebuffer");
1021 	gl3wDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC) get_proc("glDeleteFramebuffers");
1022 	gl3wGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC) get_proc("glGenFramebuffers");
1023 	gl3wCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) get_proc("glCheckFramebufferStatus");
1024 	gl3wFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC) get_proc("glFramebufferTexture1D");
1025 	gl3wFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC) get_proc("glFramebufferTexture2D");
1026 	gl3wFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC) get_proc("glFramebufferTexture3D");
1027 	gl3wFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) get_proc("glFramebufferRenderbuffer");
1028 	gl3wGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) get_proc("glGetFramebufferAttachmentParameteriv");
1029 	gl3wGenerateMipmap = (PFNGLGENERATEMIPMAPPROC) get_proc("glGenerateMipmap");
1030 	gl3wBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC) get_proc("glBlitFramebuffer");
1031 	gl3wRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) get_proc("glRenderbufferStorageMultisample");
1032 	gl3wFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC) get_proc("glFramebufferTextureLayer");
1033 	gl3wMapBufferRange = (PFNGLMAPBUFFERRANGEPROC) get_proc("glMapBufferRange");
1034 	gl3wFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC) get_proc("glFlushMappedBufferRange");
1035 	gl3wBindVertexArray = (PFNGLBINDVERTEXARRAYPROC) get_proc("glBindVertexArray");
1036 	gl3wDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC) get_proc("glDeleteVertexArrays");
1037 	gl3wGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC) get_proc("glGenVertexArrays");
1038 	gl3wIsVertexArray = (PFNGLISVERTEXARRAYPROC) get_proc("glIsVertexArray");
1039 	gl3wGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC) get_proc("glGetUniformIndices");
1040 	gl3wGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC) get_proc("glGetActiveUniformsiv");
1041 	gl3wGetActiveUniformName = (PFNGLGETACTIVEUNIFORMNAMEPROC) get_proc("glGetActiveUniformName");
1042 	gl3wGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC) get_proc("glGetUniformBlockIndex");
1043 	gl3wGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC) get_proc("glGetActiveUniformBlockiv");
1044 	gl3wGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) get_proc("glGetActiveUniformBlockName");
1045 	gl3wUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC) get_proc("glUniformBlockBinding");
1046 	gl3wCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC) get_proc("glCopyBufferSubData");
1047 	gl3wDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC) get_proc("glDrawElementsBaseVertex");
1048 	gl3wDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) get_proc("glDrawRangeElementsBaseVertex");
1049 	gl3wDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) get_proc("glDrawElementsInstancedBaseVertex");
1050 	gl3wMultiDrawElementsBaseVertex = (PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) get_proc("glMultiDrawElementsBaseVertex");
1051 	gl3wProvokingVertex = (PFNGLPROVOKINGVERTEXPROC) get_proc("glProvokingVertex");
1052 	gl3wFenceSync = (PFNGLFENCESYNCPROC) get_proc("glFenceSync");
1053 	gl3wIsSync = (PFNGLISSYNCPROC) get_proc("glIsSync");
1054 	gl3wDeleteSync = (PFNGLDELETESYNCPROC) get_proc("glDeleteSync");
1055 	gl3wClientWaitSync = (PFNGLCLIENTWAITSYNCPROC) get_proc("glClientWaitSync");
1056 	gl3wWaitSync = (PFNGLWAITSYNCPROC) get_proc("glWaitSync");
1057 	gl3wGetInteger64v = (PFNGLGETINTEGER64VPROC) get_proc("glGetInteger64v");
1058 	gl3wGetSynciv = (PFNGLGETSYNCIVPROC) get_proc("glGetSynciv");
1059 	gl3wTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC) get_proc("glTexImage2DMultisample");
1060 	gl3wTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC) get_proc("glTexImage3DMultisample");
1061 	gl3wGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC) get_proc("glGetMultisamplefv");
1062 	gl3wSampleMaski = (PFNGLSAMPLEMASKIPROC) get_proc("glSampleMaski");
1063 	gl3wBlendEquationiARB = (PFNGLBLENDEQUATIONIARBPROC) get_proc("glBlendEquationiARB");
1064 	gl3wBlendEquationSeparateiARB = (PFNGLBLENDEQUATIONSEPARATEIARBPROC) get_proc("glBlendEquationSeparateiARB");
1065 	gl3wBlendFunciARB = (PFNGLBLENDFUNCIARBPROC) get_proc("glBlendFunciARB");
1066 	gl3wBlendFuncSeparateiARB = (PFNGLBLENDFUNCSEPARATEIARBPROC) get_proc("glBlendFuncSeparateiARB");
1067 	gl3wMinSampleShadingARB = (PFNGLMINSAMPLESHADINGARBPROC) get_proc("glMinSampleShadingARB");
1068 	gl3wNamedStringARB = (PFNGLNAMEDSTRINGARBPROC) get_proc("glNamedStringARB");
1069 	gl3wDeleteNamedStringARB = (PFNGLDELETENAMEDSTRINGARBPROC) get_proc("glDeleteNamedStringARB");
1070 	gl3wCompileShaderIncludeARB = (PFNGLCOMPILESHADERINCLUDEARBPROC) get_proc("glCompileShaderIncludeARB");
1071 	gl3wIsNamedStringARB = (PFNGLISNAMEDSTRINGARBPROC) get_proc("glIsNamedStringARB");
1072 	gl3wGetNamedStringARB = (PFNGLGETNAMEDSTRINGARBPROC) get_proc("glGetNamedStringARB");
1073 	gl3wGetNamedStringivARB = (PFNGLGETNAMEDSTRINGIVARBPROC) get_proc("glGetNamedStringivARB");
1074 	gl3wBindFragDataLocationIndexed = (PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) get_proc("glBindFragDataLocationIndexed");
1075 	gl3wGetFragDataIndex = (PFNGLGETFRAGDATAINDEXPROC) get_proc("glGetFragDataIndex");
1076 	gl3wGenSamplers = (PFNGLGENSAMPLERSPROC) get_proc("glGenSamplers");
1077 	gl3wDeleteSamplers = (PFNGLDELETESAMPLERSPROC) get_proc("glDeleteSamplers");
1078 	gl3wIsSampler = (PFNGLISSAMPLERPROC) get_proc("glIsSampler");
1079 	gl3wBindSampler = (PFNGLBINDSAMPLERPROC) get_proc("glBindSampler");
1080 	gl3wSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC) get_proc("glSamplerParameteri");
1081 	gl3wSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC) get_proc("glSamplerParameteriv");
1082 	gl3wSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC) get_proc("glSamplerParameterf");
1083 	gl3wSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC) get_proc("glSamplerParameterfv");
1084 	gl3wSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC) get_proc("glSamplerParameterIiv");
1085 	gl3wSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC) get_proc("glSamplerParameterIuiv");
1086 	gl3wGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC) get_proc("glGetSamplerParameteriv");
1087 	gl3wGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC) get_proc("glGetSamplerParameterIiv");
1088 	gl3wGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC) get_proc("glGetSamplerParameterfv");
1089 	gl3wGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC) get_proc("glGetSamplerParameterIuiv");
1090 	gl3wQueryCounter = (PFNGLQUERYCOUNTERPROC) get_proc("glQueryCounter");
1091 	gl3wGetQueryObjecti64v = (PFNGLGETQUERYOBJECTI64VPROC) get_proc("glGetQueryObjecti64v");
1092 	gl3wGetQueryObjectui64v = (PFNGLGETQUERYOBJECTUI64VPROC) get_proc("glGetQueryObjectui64v");
1093 	gl3wVertexP2ui = (PFNGLVERTEXP2UIPROC) get_proc("glVertexP2ui");
1094 	gl3wVertexP2uiv = (PFNGLVERTEXP2UIVPROC) get_proc("glVertexP2uiv");
1095 	gl3wVertexP3ui = (PFNGLVERTEXP3UIPROC) get_proc("glVertexP3ui");
1096 	gl3wVertexP3uiv = (PFNGLVERTEXP3UIVPROC) get_proc("glVertexP3uiv");
1097 	gl3wVertexP4ui = (PFNGLVERTEXP4UIPROC) get_proc("glVertexP4ui");
1098 	gl3wVertexP4uiv = (PFNGLVERTEXP4UIVPROC) get_proc("glVertexP4uiv");
1099 	gl3wTexCoordP1ui = (PFNGLTEXCOORDP1UIPROC) get_proc("glTexCoordP1ui");
1100 	gl3wTexCoordP1uiv = (PFNGLTEXCOORDP1UIVPROC) get_proc("glTexCoordP1uiv");
1101 	gl3wTexCoordP2ui = (PFNGLTEXCOORDP2UIPROC) get_proc("glTexCoordP2ui");
1102 	gl3wTexCoordP2uiv = (PFNGLTEXCOORDP2UIVPROC) get_proc("glTexCoordP2uiv");
1103 	gl3wTexCoordP3ui = (PFNGLTEXCOORDP3UIPROC) get_proc("glTexCoordP3ui");
1104 	gl3wTexCoordP3uiv = (PFNGLTEXCOORDP3UIVPROC) get_proc("glTexCoordP3uiv");
1105 	gl3wTexCoordP4ui = (PFNGLTEXCOORDP4UIPROC) get_proc("glTexCoordP4ui");
1106 	gl3wTexCoordP4uiv = (PFNGLTEXCOORDP4UIVPROC) get_proc("glTexCoordP4uiv");
1107 	gl3wMultiTexCoordP1ui = (PFNGLMULTITEXCOORDP1UIPROC) get_proc("glMultiTexCoordP1ui");
1108 	gl3wMultiTexCoordP1uiv = (PFNGLMULTITEXCOORDP1UIVPROC) get_proc("glMultiTexCoordP1uiv");
1109 	gl3wMultiTexCoordP2ui = (PFNGLMULTITEXCOORDP2UIPROC) get_proc("glMultiTexCoordP2ui");
1110 	gl3wMultiTexCoordP2uiv = (PFNGLMULTITEXCOORDP2UIVPROC) get_proc("glMultiTexCoordP2uiv");
1111 	gl3wMultiTexCoordP3ui = (PFNGLMULTITEXCOORDP3UIPROC) get_proc("glMultiTexCoordP3ui");
1112 	gl3wMultiTexCoordP3uiv = (PFNGLMULTITEXCOORDP3UIVPROC) get_proc("glMultiTexCoordP3uiv");
1113 	gl3wMultiTexCoordP4ui = (PFNGLMULTITEXCOORDP4UIPROC) get_proc("glMultiTexCoordP4ui");
1114 	gl3wMultiTexCoordP4uiv = (PFNGLMULTITEXCOORDP4UIVPROC) get_proc("glMultiTexCoordP4uiv");
1115 	gl3wNormalP3ui = (PFNGLNORMALP3UIPROC) get_proc("glNormalP3ui");
1116 	gl3wNormalP3uiv = (PFNGLNORMALP3UIVPROC) get_proc("glNormalP3uiv");
1117 	gl3wColorP3ui = (PFNGLCOLORP3UIPROC) get_proc("glColorP3ui");
1118 	gl3wColorP3uiv = (PFNGLCOLORP3UIVPROC) get_proc("glColorP3uiv");
1119 	gl3wColorP4ui = (PFNGLCOLORP4UIPROC) get_proc("glColorP4ui");
1120 	gl3wColorP4uiv = (PFNGLCOLORP4UIVPROC) get_proc("glColorP4uiv");
1121 	gl3wSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC) get_proc("glSecondaryColorP3ui");
1122 	gl3wSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC) get_proc("glSecondaryColorP3uiv");
1123 	gl3wVertexAttribP1ui = (PFNGLVERTEXATTRIBP1UIPROC) get_proc("glVertexAttribP1ui");
1124 	gl3wVertexAttribP1uiv = (PFNGLVERTEXATTRIBP1UIVPROC) get_proc("glVertexAttribP1uiv");
1125 	gl3wVertexAttribP2ui = (PFNGLVERTEXATTRIBP2UIPROC) get_proc("glVertexAttribP2ui");
1126 	gl3wVertexAttribP2uiv = (PFNGLVERTEXATTRIBP2UIVPROC) get_proc("glVertexAttribP2uiv");
1127 	gl3wVertexAttribP3ui = (PFNGLVERTEXATTRIBP3UIPROC) get_proc("glVertexAttribP3ui");
1128 	gl3wVertexAttribP3uiv = (PFNGLVERTEXATTRIBP3UIVPROC) get_proc("glVertexAttribP3uiv");
1129 	gl3wVertexAttribP4ui = (PFNGLVERTEXATTRIBP4UIPROC) get_proc("glVertexAttribP4ui");
1130 	gl3wVertexAttribP4uiv = (PFNGLVERTEXATTRIBP4UIVPROC) get_proc("glVertexAttribP4uiv");
1131 	gl3wDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC) get_proc("glDrawArraysIndirect");
1132 	gl3wDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC) get_proc("glDrawElementsIndirect");
1133 	gl3wUniform1d = (PFNGLUNIFORM1DPROC) get_proc("glUniform1d");
1134 	gl3wUniform2d = (PFNGLUNIFORM2DPROC) get_proc("glUniform2d");
1135 	gl3wUniform3d = (PFNGLUNIFORM3DPROC) get_proc("glUniform3d");
1136 	gl3wUniform4d = (PFNGLUNIFORM4DPROC) get_proc("glUniform4d");
1137 	gl3wUniform1dv = (PFNGLUNIFORM1DVPROC) get_proc("glUniform1dv");
1138 	gl3wUniform2dv = (PFNGLUNIFORM2DVPROC) get_proc("glUniform2dv");
1139 	gl3wUniform3dv = (PFNGLUNIFORM3DVPROC) get_proc("glUniform3dv");
1140 	gl3wUniform4dv = (PFNGLUNIFORM4DVPROC) get_proc("glUniform4dv");
1141 	gl3wUniformMatrix2dv = (PFNGLUNIFORMMATRIX2DVPROC) get_proc("glUniformMatrix2dv");
1142 	gl3wUniformMatrix3dv = (PFNGLUNIFORMMATRIX3DVPROC) get_proc("glUniformMatrix3dv");
1143 	gl3wUniformMatrix4dv = (PFNGLUNIFORMMATRIX4DVPROC) get_proc("glUniformMatrix4dv");
1144 	gl3wUniformMatrix2x3dv = (PFNGLUNIFORMMATRIX2X3DVPROC) get_proc("glUniformMatrix2x3dv");
1145 	gl3wUniformMatrix2x4dv = (PFNGLUNIFORMMATRIX2X4DVPROC) get_proc("glUniformMatrix2x4dv");
1146 	gl3wUniformMatrix3x2dv = (PFNGLUNIFORMMATRIX3X2DVPROC) get_proc("glUniformMatrix3x2dv");
1147 	gl3wUniformMatrix3x4dv = (PFNGLUNIFORMMATRIX3X4DVPROC) get_proc("glUniformMatrix3x4dv");
1148 	gl3wUniformMatrix4x2dv = (PFNGLUNIFORMMATRIX4X2DVPROC) get_proc("glUniformMatrix4x2dv");
1149 	gl3wUniformMatrix4x3dv = (PFNGLUNIFORMMATRIX4X3DVPROC) get_proc("glUniformMatrix4x3dv");
1150 	gl3wGetUniformdv = (PFNGLGETUNIFORMDVPROC) get_proc("glGetUniformdv");
1151 	gl3wGetSubroutineUniformLocation = (PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) get_proc("glGetSubroutineUniformLocation");
1152 	gl3wGetSubroutineIndex = (PFNGLGETSUBROUTINEINDEXPROC) get_proc("glGetSubroutineIndex");
1153 	gl3wGetActiveSubroutineUniformiv = (PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) get_proc("glGetActiveSubroutineUniformiv");
1154 	gl3wGetActiveSubroutineUniformName = (PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) get_proc("glGetActiveSubroutineUniformName");
1155 	gl3wGetActiveSubroutineName = (PFNGLGETACTIVESUBROUTINENAMEPROC) get_proc("glGetActiveSubroutineName");
1156 	gl3wUniformSubroutinesuiv = (PFNGLUNIFORMSUBROUTINESUIVPROC) get_proc("glUniformSubroutinesuiv");
1157 	gl3wGetUniformSubroutineuiv = (PFNGLGETUNIFORMSUBROUTINEUIVPROC) get_proc("glGetUniformSubroutineuiv");
1158 	gl3wGetProgramStageiv = (PFNGLGETPROGRAMSTAGEIVPROC) get_proc("glGetProgramStageiv");
1159 	gl3wPatchParameteri = (PFNGLPATCHPARAMETERIPROC) get_proc("glPatchParameteri");
1160 	gl3wPatchParameterfv = (PFNGLPATCHPARAMETERFVPROC) get_proc("glPatchParameterfv");
1161 	gl3wBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC) get_proc("glBindTransformFeedback");
1162 	gl3wDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC) get_proc("glDeleteTransformFeedbacks");
1163 	gl3wGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC) get_proc("glGenTransformFeedbacks");
1164 	gl3wIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC) get_proc("glIsTransformFeedback");
1165 	gl3wPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC) get_proc("glPauseTransformFeedback");
1166 	gl3wResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC) get_proc("glResumeTransformFeedback");
1167 	gl3wDrawTransformFeedback = (PFNGLDRAWTRANSFORMFEEDBACKPROC) get_proc("glDrawTransformFeedback");
1168 	gl3wDrawTransformFeedbackStream = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) get_proc("glDrawTransformFeedbackStream");
1169 	gl3wBeginQueryIndexed = (PFNGLBEGINQUERYINDEXEDPROC) get_proc("glBeginQueryIndexed");
1170 	gl3wEndQueryIndexed = (PFNGLENDQUERYINDEXEDPROC) get_proc("glEndQueryIndexed");
1171 	gl3wGetQueryIndexediv = (PFNGLGETQUERYINDEXEDIVPROC) get_proc("glGetQueryIndexediv");
1172 	gl3wReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC) get_proc("glReleaseShaderCompiler");
1173 	gl3wShaderBinary = (PFNGLSHADERBINARYPROC) get_proc("glShaderBinary");
1174 	gl3wGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC) get_proc("glGetShaderPrecisionFormat");
1175 	gl3wDepthRangef = (PFNGLDEPTHRANGEFPROC) get_proc("glDepthRangef");
1176 	gl3wClearDepthf = (PFNGLCLEARDEPTHFPROC) get_proc("glClearDepthf");
1177 	gl3wGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC) get_proc("glGetProgramBinary");
1178 	gl3wProgramBinary = (PFNGLPROGRAMBINARYPROC) get_proc("glProgramBinary");
1179 	gl3wProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC) get_proc("glProgramParameteri");
1180 	gl3wUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC) get_proc("glUseProgramStages");
1181 	gl3wActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC) get_proc("glActiveShaderProgram");
1182 	gl3wCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC) get_proc("glCreateShaderProgramv");
1183 	gl3wBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC) get_proc("glBindProgramPipeline");
1184 	gl3wDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC) get_proc("glDeleteProgramPipelines");
1185 	gl3wGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC) get_proc("glGenProgramPipelines");
1186 	gl3wIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC) get_proc("glIsProgramPipeline");
1187 	gl3wGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC) get_proc("glGetProgramPipelineiv");
1188 	gl3wProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC) get_proc("glProgramUniform1i");
1189 	gl3wProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC) get_proc("glProgramUniform1iv");
1190 	gl3wProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC) get_proc("glProgramUniform1f");
1191 	gl3wProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC) get_proc("glProgramUniform1fv");
1192 	gl3wProgramUniform1d = (PFNGLPROGRAMUNIFORM1DPROC) get_proc("glProgramUniform1d");
1193 	gl3wProgramUniform1dv = (PFNGLPROGRAMUNIFORM1DVPROC) get_proc("glProgramUniform1dv");
1194 	gl3wProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC) get_proc("glProgramUniform1ui");
1195 	gl3wProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC) get_proc("glProgramUniform1uiv");
1196 	gl3wProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC) get_proc("glProgramUniform2i");
1197 	gl3wProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC) get_proc("glProgramUniform2iv");
1198 	gl3wProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC) get_proc("glProgramUniform2f");
1199 	gl3wProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC) get_proc("glProgramUniform2fv");
1200 	gl3wProgramUniform2d = (PFNGLPROGRAMUNIFORM2DPROC) get_proc("glProgramUniform2d");
1201 	gl3wProgramUniform2dv = (PFNGLPROGRAMUNIFORM2DVPROC) get_proc("glProgramUniform2dv");
1202 	gl3wProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC) get_proc("glProgramUniform2ui");
1203 	gl3wProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC) get_proc("glProgramUniform2uiv");
1204 	gl3wProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC) get_proc("glProgramUniform3i");
1205 	gl3wProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC) get_proc("glProgramUniform3iv");
1206 	gl3wProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC) get_proc("glProgramUniform3f");
1207 	gl3wProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC) get_proc("glProgramUniform3fv");
1208 	gl3wProgramUniform3d = (PFNGLPROGRAMUNIFORM3DPROC) get_proc("glProgramUniform3d");
1209 	gl3wProgramUniform3dv = (PFNGLPROGRAMUNIFORM3DVPROC) get_proc("glProgramUniform3dv");
1210 	gl3wProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC) get_proc("glProgramUniform3ui");
1211 	gl3wProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC) get_proc("glProgramUniform3uiv");
1212 	gl3wProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC) get_proc("glProgramUniform4i");
1213 	gl3wProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC) get_proc("glProgramUniform4iv");
1214 	gl3wProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC) get_proc("glProgramUniform4f");
1215 	gl3wProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC) get_proc("glProgramUniform4fv");
1216 	gl3wProgramUniform4d = (PFNGLPROGRAMUNIFORM4DPROC) get_proc("glProgramUniform4d");
1217 	gl3wProgramUniform4dv = (PFNGLPROGRAMUNIFORM4DVPROC) get_proc("glProgramUniform4dv");
1218 	gl3wProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC) get_proc("glProgramUniform4ui");
1219 	gl3wProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC) get_proc("glProgramUniform4uiv");
1220 	gl3wProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC) get_proc("glProgramUniformMatrix2fv");
1221 	gl3wProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC) get_proc("glProgramUniformMatrix3fv");
1222 	gl3wProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC) get_proc("glProgramUniformMatrix4fv");
1223 	gl3wProgramUniformMatrix2dv = (PFNGLPROGRAMUNIFORMMATRIX2DVPROC) get_proc("glProgramUniformMatrix2dv");
1224 	gl3wProgramUniformMatrix3dv = (PFNGLPROGRAMUNIFORMMATRIX3DVPROC) get_proc("glProgramUniformMatrix3dv");
1225 	gl3wProgramUniformMatrix4dv = (PFNGLPROGRAMUNIFORMMATRIX4DVPROC) get_proc("glProgramUniformMatrix4dv");
1226 	gl3wProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) get_proc("glProgramUniformMatrix2x3fv");
1227 	gl3wProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) get_proc("glProgramUniformMatrix3x2fv");
1228 	gl3wProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) get_proc("glProgramUniformMatrix2x4fv");
1229 	gl3wProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) get_proc("glProgramUniformMatrix4x2fv");
1230 	gl3wProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) get_proc("glProgramUniformMatrix3x4fv");
1231 	gl3wProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) get_proc("glProgramUniformMatrix4x3fv");
1232 	gl3wProgramUniformMatrix2x3dv = (PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) get_proc("glProgramUniformMatrix2x3dv");
1233 	gl3wProgramUniformMatrix3x2dv = (PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) get_proc("glProgramUniformMatrix3x2dv");
1234 	gl3wProgramUniformMatrix2x4dv = (PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) get_proc("glProgramUniformMatrix2x4dv");
1235 	gl3wProgramUniformMatrix4x2dv = (PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) get_proc("glProgramUniformMatrix4x2dv");
1236 	gl3wProgramUniformMatrix3x4dv = (PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) get_proc("glProgramUniformMatrix3x4dv");
1237 	gl3wProgramUniformMatrix4x3dv = (PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) get_proc("glProgramUniformMatrix4x3dv");
1238 	gl3wValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC) get_proc("glValidateProgramPipeline");
1239 	gl3wGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC) get_proc("glGetProgramPipelineInfoLog");
1240 	gl3wVertexAttribL1d = (PFNGLVERTEXATTRIBL1DPROC) get_proc("glVertexAttribL1d");
1241 	gl3wVertexAttribL2d = (PFNGLVERTEXATTRIBL2DPROC) get_proc("glVertexAttribL2d");
1242 	gl3wVertexAttribL3d = (PFNGLVERTEXATTRIBL3DPROC) get_proc("glVertexAttribL3d");
1243 	gl3wVertexAttribL4d = (PFNGLVERTEXATTRIBL4DPROC) get_proc("glVertexAttribL4d");
1244 	gl3wVertexAttribL1dv = (PFNGLVERTEXATTRIBL1DVPROC) get_proc("glVertexAttribL1dv");
1245 	gl3wVertexAttribL2dv = (PFNGLVERTEXATTRIBL2DVPROC) get_proc("glVertexAttribL2dv");
1246 	gl3wVertexAttribL3dv = (PFNGLVERTEXATTRIBL3DVPROC) get_proc("glVertexAttribL3dv");
1247 	gl3wVertexAttribL4dv = (PFNGLVERTEXATTRIBL4DVPROC) get_proc("glVertexAttribL4dv");
1248 	gl3wVertexAttribLPointer = (PFNGLVERTEXATTRIBLPOINTERPROC) get_proc("glVertexAttribLPointer");
1249 	gl3wGetVertexAttribLdv = (PFNGLGETVERTEXATTRIBLDVPROC) get_proc("glGetVertexAttribLdv");
1250 	gl3wViewportArrayv = (PFNGLVIEWPORTARRAYVPROC) get_proc("glViewportArrayv");
1251 	gl3wViewportIndexedf = (PFNGLVIEWPORTINDEXEDFPROC) get_proc("glViewportIndexedf");
1252 	gl3wViewportIndexedfv = (PFNGLVIEWPORTINDEXEDFVPROC) get_proc("glViewportIndexedfv");
1253 	gl3wScissorArrayv = (PFNGLSCISSORARRAYVPROC) get_proc("glScissorArrayv");
1254 	gl3wScissorIndexed = (PFNGLSCISSORINDEXEDPROC) get_proc("glScissorIndexed");
1255 	gl3wScissorIndexedv = (PFNGLSCISSORINDEXEDVPROC) get_proc("glScissorIndexedv");
1256 	gl3wDepthRangeArrayv = (PFNGLDEPTHRANGEARRAYVPROC) get_proc("glDepthRangeArrayv");
1257 	gl3wDepthRangeIndexed = (PFNGLDEPTHRANGEINDEXEDPROC) get_proc("glDepthRangeIndexed");
1258 	gl3wGetFloati_v = (PFNGLGETFLOATI_VPROC) get_proc("glGetFloati_v");
1259 	gl3wGetDoublei_v = (PFNGLGETDOUBLEI_VPROC) get_proc("glGetDoublei_v");
1260 	gl3wCreateSyncFromCLeventARB = (PFNGLCREATESYNCFROMCLEVENTARBPROC) get_proc("glCreateSyncFromCLeventARB");
1261 	gl3wDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC) get_proc("glDebugMessageControlARB");
1262 	gl3wDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC) get_proc("glDebugMessageInsertARB");
1263 	gl3wDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC) get_proc("glDebugMessageCallbackARB");
1264 	gl3wGetDebugMessageLogARB = (PFNGLGETDEBUGMESSAGELOGARBPROC) get_proc("glGetDebugMessageLogARB");
1265 	gl3wGetGraphicsResetStatusARB = (PFNGLGETGRAPHICSRESETSTATUSARBPROC) get_proc("glGetGraphicsResetStatusARB");
1266 	gl3wGetnTexImageARB = (PFNGLGETNTEXIMAGEARBPROC) get_proc("glGetnTexImageARB");
1267 	gl3wReadnPixelsARB = (PFNGLREADNPIXELSARBPROC) get_proc("glReadnPixelsARB");
1268 	gl3wGetnCompressedTexImageARB = (PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) get_proc("glGetnCompressedTexImageARB");
1269 	gl3wGetnUniformfvARB = (PFNGLGETNUNIFORMFVARBPROC) get_proc("glGetnUniformfvARB");
1270 	gl3wGetnUniformivARB = (PFNGLGETNUNIFORMIVARBPROC) get_proc("glGetnUniformivARB");
1271 	gl3wGetnUniformuivARB = (PFNGLGETNUNIFORMUIVARBPROC) get_proc("glGetnUniformuivARB");
1272 	gl3wGetnUniformdvARB = (PFNGLGETNUNIFORMDVARBPROC) get_proc("glGetnUniformdvARB");
1273 	gl3wDrawArraysInstancedBaseInstance = (PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) get_proc("glDrawArraysInstancedBaseInstance");
1274 	gl3wDrawElementsInstancedBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) get_proc("glDrawElementsInstancedBaseInstance");
1275 	gl3wDrawElementsInstancedBaseVertexBaseInstance = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) get_proc("glDrawElementsInstancedBaseVertexBaseInstance");
1276 	gl3wDrawTransformFeedbackInstanced = (PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) get_proc("glDrawTransformFeedbackInstanced");
1277 	gl3wDrawTransformFeedbackStreamInstanced = (PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) get_proc("glDrawTransformFeedbackStreamInstanced");
1278 	gl3wGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC) get_proc("glGetInternalformativ");
1279 	gl3wGetActiveAtomicCounterBufferiv = (PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) get_proc("glGetActiveAtomicCounterBufferiv");
1280 	gl3wBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC) get_proc("glBindImageTexture");
1281 	gl3wMemoryBarrier = (PFNGLMEMORYBARRIERPROC) get_proc("glMemoryBarrier");
1282 	gl3wTexStorage1D = (PFNGLTEXSTORAGE1DPROC) get_proc("glTexStorage1D");
1283 	gl3wTexStorage2D = (PFNGLTEXSTORAGE2DPROC) get_proc("glTexStorage2D");
1284 	gl3wTexStorage3D = (PFNGLTEXSTORAGE3DPROC) get_proc("glTexStorage3D");
1285 	gl3wTextureStorage1DEXT = (PFNGLTEXTURESTORAGE1DEXTPROC) get_proc("glTextureStorage1DEXT");
1286 	gl3wTextureStorage2DEXT = (PFNGLTEXTURESTORAGE2DEXTPROC) get_proc("glTextureStorage2DEXT");
1287 	gl3wTextureStorage3DEXT = (PFNGLTEXTURESTORAGE3DEXTPROC) get_proc("glTextureStorage3DEXT");
1288 	gl3wDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC) get_proc("glDebugMessageControl");
1289 	gl3wDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC) get_proc("glDebugMessageInsert");
1290 	gl3wDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC) get_proc("glDebugMessageCallback");
1291 	gl3wGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC) get_proc("glGetDebugMessageLog");
1292 	gl3wPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC) get_proc("glPushDebugGroup");
1293 	gl3wPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC) get_proc("glPopDebugGroup");
1294 	gl3wObjectLabel = (PFNGLOBJECTLABELPROC) get_proc("glObjectLabel");
1295 	gl3wGetObjectLabel = (PFNGLGETOBJECTLABELPROC) get_proc("glGetObjectLabel");
1296 	gl3wObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC) get_proc("glObjectPtrLabel");
1297 	gl3wGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC) get_proc("glGetObjectPtrLabel");
1298 	gl3wClearBufferData = (PFNGLCLEARBUFFERDATAPROC) get_proc("glClearBufferData");
1299 	gl3wClearBufferSubData = (PFNGLCLEARBUFFERSUBDATAPROC) get_proc("glClearBufferSubData");
1300 	gl3wClearNamedBufferDataEXT = (PFNGLCLEARNAMEDBUFFERDATAEXTPROC) get_proc("glClearNamedBufferDataEXT");
1301 	gl3wClearNamedBufferSubDataEXT = (PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) get_proc("glClearNamedBufferSubDataEXT");
1302 	gl3wDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC) get_proc("glDispatchCompute");
1303 	gl3wDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC) get_proc("glDispatchComputeIndirect");
1304 	gl3wCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC) get_proc("glCopyImageSubData");
1305 	gl3wTextureView = (PFNGLTEXTUREVIEWPROC) get_proc("glTextureView");
1306 	gl3wBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC) get_proc("glBindVertexBuffer");
1307 	gl3wVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC) get_proc("glVertexAttribFormat");
1308 	gl3wVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC) get_proc("glVertexAttribIFormat");
1309 	gl3wVertexAttribLFormat = (PFNGLVERTEXATTRIBLFORMATPROC) get_proc("glVertexAttribLFormat");
1310 	gl3wVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC) get_proc("glVertexAttribBinding");
1311 	gl3wVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC) get_proc("glVertexBindingDivisor");
1312 	gl3wVertexArrayBindVertexBufferEXT = (PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC) get_proc("glVertexArrayBindVertexBufferEXT");
1313 	gl3wVertexArrayVertexAttribFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC) get_proc("glVertexArrayVertexAttribFormatEXT");
1314 	gl3wVertexArrayVertexAttribIFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC) get_proc("glVertexArrayVertexAttribIFormatEXT");
1315 	gl3wVertexArrayVertexAttribLFormatEXT = (PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) get_proc("glVertexArrayVertexAttribLFormatEXT");
1316 	gl3wVertexArrayVertexAttribBindingEXT = (PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) get_proc("glVertexArrayVertexAttribBindingEXT");
1317 	gl3wVertexArrayVertexBindingDivisorEXT = (PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) get_proc("glVertexArrayVertexBindingDivisorEXT");
1318 	gl3wFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC) get_proc("glFramebufferParameteri");
1319 	gl3wGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC) get_proc("glGetFramebufferParameteriv");
1320 	gl3wNamedFramebufferParameteriEXT = (PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) get_proc("glNamedFramebufferParameteriEXT");
1321 	gl3wGetNamedFramebufferParameterivEXT = (PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) get_proc("glGetNamedFramebufferParameterivEXT");
1322 	gl3wGetInternalformati64v = (PFNGLGETINTERNALFORMATI64VPROC) get_proc("glGetInternalformati64v");
1323 	gl3wInvalidateTexSubImage = (PFNGLINVALIDATETEXSUBIMAGEPROC) get_proc("glInvalidateTexSubImage");
1324 	gl3wInvalidateTexImage = (PFNGLINVALIDATETEXIMAGEPROC) get_proc("glInvalidateTexImage");
1325 	gl3wInvalidateBufferSubData = (PFNGLINVALIDATEBUFFERSUBDATAPROC) get_proc("glInvalidateBufferSubData");
1326 	gl3wInvalidateBufferData = (PFNGLINVALIDATEBUFFERDATAPROC) get_proc("glInvalidateBufferData");
1327 	gl3wInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC) get_proc("glInvalidateFramebuffer");
1328 	gl3wInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC) get_proc("glInvalidateSubFramebuffer");
1329 	gl3wMultiDrawArraysIndirect = (PFNGLMULTIDRAWARRAYSINDIRECTPROC) get_proc("glMultiDrawArraysIndirect");
1330 	gl3wMultiDrawElementsIndirect = (PFNGLMULTIDRAWELEMENTSINDIRECTPROC) get_proc("glMultiDrawElementsIndirect");
1331 	gl3wGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC) get_proc("glGetProgramInterfaceiv");
1332 	gl3wGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC) get_proc("glGetProgramResourceIndex");
1333 	gl3wGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC) get_proc("glGetProgramResourceName");
1334 	gl3wGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC) get_proc("glGetProgramResourceiv");
1335 	gl3wGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC) get_proc("glGetProgramResourceLocation");
1336 	gl3wGetProgramResourceLocationIndex = (PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) get_proc("glGetProgramResourceLocationIndex");
1337 	gl3wShaderStorageBlockBinding = (PFNGLSHADERSTORAGEBLOCKBINDINGPROC) get_proc("glShaderStorageBlockBinding");
1338 	gl3wTexBufferRange = (PFNGLTEXBUFFERRANGEPROC) get_proc("glTexBufferRange");
1339 	gl3wTextureBufferRangeEXT = (PFNGLTEXTUREBUFFERRANGEEXTPROC) get_proc("glTextureBufferRangeEXT");
1340 	gl3wTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC) get_proc("glTexStorage2DMultisample");
1341 	gl3wTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC) get_proc("glTexStorage3DMultisample");
1342 	gl3wTextureStorage2DMultisampleEXT = (PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) get_proc("glTextureStorage2DMultisampleEXT");
1343 	gl3wTextureStorage3DMultisampleEXT = (PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) get_proc("glTextureStorage3DMultisampleEXT");
1344 }
1345