Logo

index : raylib-jai

---

  • summary
  • about
  • tree
  • log
  • branches
<< path: root/public/raylib-jai.git/html/Raylib/raylib/src/external/glfw/deps/glad/gles2.h blob: d67f11078e237f53792fb502ba014d5f40f58dda [raw] [clear marker]

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