1 /// OpenGL bindings for D. Generated automatically by gldgen.py
2 module gfx.bindings.opengl.gl;
3 
4 import core.stdc.stdint;
5 import gfx.bindings.core;
6 
7 // Base Types
8 
9 // Types for GL_VERSION_1_0
10 alias GLvoid     = void;
11 alias GLenum     = uint;
12 alias GLfloat    = float;
13 alias GLint      = int;
14 alias GLsizei    = int;
15 alias GLbitfield = uint;
16 alias GLdouble   = double;
17 alias GLuint     = uint;
18 alias GLboolean  = ubyte;
19 alias GLubyte    = ubyte;
20 
21 // Types for GL_VERSION_1_1
22 alias GLclampf = float;
23 alias GLclampd = double;
24 
25 // Types for GL_VERSION_1_5
26 alias GLsizeiptr = ptrdiff_t;
27 alias GLintptr   = ptrdiff_t;
28 
29 // Types for GL_VERSION_2_0
30 alias GLchar   = char;
31 alias GLshort  = short;
32 alias GLbyte   = byte;
33 alias GLushort = ushort;
34 
35 // Types for GL_VERSION_3_0
36 alias GLhalf = ushort;
37 
38 // Types for GL_VERSION_3_2
39 alias GLsync   = __GLsync*;
40 alias GLuint64 = uint64_t;
41 alias GLint64  = int64_t;
42 
43 // Types for GL_ARB_bindless_texture
44 alias GLuint64EXT = uint64_t;
45 
46 // Types for GL_NV_gpu_shader5
47 alias GLint64EXT = int64_t;
48 
49 // Struct declarations
50 struct __GLsync;
51 struct _cl_context;
52 struct _cl_event;
53 
54 // Function pointers
55 
56 extern(C) nothrow @nogc {
57 
58     // for GL_VERSION_4_3
59     alias GLDEBUGPROC = void function(
60         GLenum         source,
61         GLenum         type,
62         GLuint         id,
63         GLenum         severity,
64         GLsizei        length,
65         const(GLchar)* message,
66         const(void)*   userParam
67     );
68 
69     // for GL_ARB_debug_output
70     alias GLDEBUGPROCARB = void function(
71         GLenum         source,
72         GLenum         type,
73         GLuint         id,
74         GLenum         severity,
75         GLsizei        length,
76         const(GLchar)* message,
77         const(void)*   userParam
78     );
79 
80     // for GL_NV_draw_vulkan_image
81     alias GLVULKANPROCNV = void function();
82 }
83 
84 
85 // Constants for GL_VERSION_1_0
86 enum GL_DEPTH_BUFFER_BIT        = 0x00000100;
87 enum GL_STENCIL_BUFFER_BIT      = 0x00000400;
88 enum GL_COLOR_BUFFER_BIT        = 0x00004000;
89 enum GL_FALSE                   = 0;
90 enum GL_TRUE                    = 1;
91 enum GL_POINTS                  = 0x0000;
92 enum GL_LINES                   = 0x0001;
93 enum GL_LINE_LOOP               = 0x0002;
94 enum GL_LINE_STRIP              = 0x0003;
95 enum GL_TRIANGLES               = 0x0004;
96 enum GL_TRIANGLE_STRIP          = 0x0005;
97 enum GL_TRIANGLE_FAN            = 0x0006;
98 enum GL_QUADS                   = 0x0007;
99 enum GL_NEVER                   = 0x0200;
100 enum GL_LESS                    = 0x0201;
101 enum GL_EQUAL                   = 0x0202;
102 enum GL_LEQUAL                  = 0x0203;
103 enum GL_GREATER                 = 0x0204;
104 enum GL_NOTEQUAL                = 0x0205;
105 enum GL_GEQUAL                  = 0x0206;
106 enum GL_ALWAYS                  = 0x0207;
107 enum GL_ZERO                    = 0;
108 enum GL_ONE                     = 1;
109 enum GL_SRC_COLOR               = 0x0300;
110 enum GL_ONE_MINUS_SRC_COLOR     = 0x0301;
111 enum GL_SRC_ALPHA               = 0x0302;
112 enum GL_ONE_MINUS_SRC_ALPHA     = 0x0303;
113 enum GL_DST_ALPHA               = 0x0304;
114 enum GL_ONE_MINUS_DST_ALPHA     = 0x0305;
115 enum GL_DST_COLOR               = 0x0306;
116 enum GL_ONE_MINUS_DST_COLOR     = 0x0307;
117 enum GL_SRC_ALPHA_SATURATE      = 0x0308;
118 enum GL_NONE                    = 0;
119 enum GL_FRONT_LEFT              = 0x0400;
120 enum GL_FRONT_RIGHT             = 0x0401;
121 enum GL_BACK_LEFT               = 0x0402;
122 enum GL_BACK_RIGHT              = 0x0403;
123 enum GL_FRONT                   = 0x0404;
124 enum GL_BACK                    = 0x0405;
125 enum GL_LEFT                    = 0x0406;
126 enum GL_RIGHT                   = 0x0407;
127 enum GL_FRONT_AND_BACK          = 0x0408;
128 enum GL_NO_ERROR                = 0;
129 enum GL_INVALID_ENUM            = 0x0500;
130 enum GL_INVALID_VALUE           = 0x0501;
131 enum GL_INVALID_OPERATION       = 0x0502;
132 enum GL_OUT_OF_MEMORY           = 0x0505;
133 enum GL_CW                      = 0x0900;
134 enum GL_CCW                     = 0x0901;
135 enum GL_POINT_SIZE              = 0x0B11;
136 enum GL_POINT_SIZE_RANGE        = 0x0B12;
137 enum GL_POINT_SIZE_GRANULARITY  = 0x0B13;
138 enum GL_LINE_SMOOTH             = 0x0B20;
139 enum GL_LINE_WIDTH              = 0x0B21;
140 enum GL_LINE_WIDTH_RANGE        = 0x0B22;
141 enum GL_LINE_WIDTH_GRANULARITY  = 0x0B23;
142 enum GL_POLYGON_MODE            = 0x0B40;
143 enum GL_POLYGON_SMOOTH          = 0x0B41;
144 enum GL_CULL_FACE               = 0x0B44;
145 enum GL_CULL_FACE_MODE          = 0x0B45;
146 enum GL_FRONT_FACE              = 0x0B46;
147 enum GL_DEPTH_RANGE             = 0x0B70;
148 enum GL_DEPTH_TEST              = 0x0B71;
149 enum GL_DEPTH_WRITEMASK         = 0x0B72;
150 enum GL_DEPTH_CLEAR_VALUE       = 0x0B73;
151 enum GL_DEPTH_FUNC              = 0x0B74;
152 enum GL_STENCIL_TEST            = 0x0B90;
153 enum GL_STENCIL_CLEAR_VALUE     = 0x0B91;
154 enum GL_STENCIL_FUNC            = 0x0B92;
155 enum GL_STENCIL_VALUE_MASK      = 0x0B93;
156 enum GL_STENCIL_FAIL            = 0x0B94;
157 enum GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95;
158 enum GL_STENCIL_PASS_DEPTH_PASS = 0x0B96;
159 enum GL_STENCIL_REF             = 0x0B97;
160 enum GL_STENCIL_WRITEMASK       = 0x0B98;
161 enum GL_VIEWPORT                = 0x0BA2;
162 enum GL_DITHER                  = 0x0BD0;
163 enum GL_BLEND_DST               = 0x0BE0;
164 enum GL_BLEND_SRC               = 0x0BE1;
165 enum GL_BLEND                   = 0x0BE2;
166 enum GL_LOGIC_OP_MODE           = 0x0BF0;
167 enum GL_DRAW_BUFFER             = 0x0C01;
168 enum GL_READ_BUFFER             = 0x0C02;
169 enum GL_SCISSOR_BOX             = 0x0C10;
170 enum GL_SCISSOR_TEST            = 0x0C11;
171 enum GL_COLOR_CLEAR_VALUE       = 0x0C22;
172 enum GL_COLOR_WRITEMASK         = 0x0C23;
173 enum GL_DOUBLEBUFFER            = 0x0C32;
174 enum GL_STEREO                  = 0x0C33;
175 enum GL_LINE_SMOOTH_HINT        = 0x0C52;
176 enum GL_POLYGON_SMOOTH_HINT     = 0x0C53;
177 enum GL_UNPACK_SWAP_BYTES       = 0x0CF0;
178 enum GL_UNPACK_LSB_FIRST        = 0x0CF1;
179 enum GL_UNPACK_ROW_LENGTH       = 0x0CF2;
180 enum GL_UNPACK_SKIP_ROWS        = 0x0CF3;
181 enum GL_UNPACK_SKIP_PIXELS      = 0x0CF4;
182 enum GL_UNPACK_ALIGNMENT        = 0x0CF5;
183 enum GL_PACK_SWAP_BYTES         = 0x0D00;
184 enum GL_PACK_LSB_FIRST          = 0x0D01;
185 enum GL_PACK_ROW_LENGTH         = 0x0D02;
186 enum GL_PACK_SKIP_ROWS          = 0x0D03;
187 enum GL_PACK_SKIP_PIXELS        = 0x0D04;
188 enum GL_PACK_ALIGNMENT          = 0x0D05;
189 enum GL_MAX_TEXTURE_SIZE        = 0x0D33;
190 enum GL_MAX_VIEWPORT_DIMS       = 0x0D3A;
191 enum GL_SUBPIXEL_BITS           = 0x0D50;
192 enum GL_TEXTURE_1D              = 0x0DE0;
193 enum GL_TEXTURE_2D              = 0x0DE1;
194 enum GL_TEXTURE_WIDTH           = 0x1000;
195 enum GL_TEXTURE_HEIGHT          = 0x1001;
196 enum GL_TEXTURE_BORDER_COLOR    = 0x1004;
197 enum GL_DONT_CARE               = 0x1100;
198 enum GL_FASTEST                 = 0x1101;
199 enum GL_NICEST                  = 0x1102;
200 enum GL_BYTE                    = 0x1400;
201 enum GL_UNSIGNED_BYTE           = 0x1401;
202 enum GL_SHORT                   = 0x1402;
203 enum GL_UNSIGNED_SHORT          = 0x1403;
204 enum GL_INT                     = 0x1404;
205 enum GL_UNSIGNED_INT            = 0x1405;
206 enum GL_FLOAT                   = 0x1406;
207 enum GL_STACK_OVERFLOW          = 0x0503;
208 enum GL_STACK_UNDERFLOW         = 0x0504;
209 enum GL_CLEAR                   = 0x1500;
210 enum GL_AND                     = 0x1501;
211 enum GL_AND_REVERSE             = 0x1502;
212 enum GL_COPY                    = 0x1503;
213 enum GL_AND_INVERTED            = 0x1504;
214 enum GL_NOOP                    = 0x1505;
215 enum GL_XOR                     = 0x1506;
216 enum GL_OR                      = 0x1507;
217 enum GL_NOR                     = 0x1508;
218 enum GL_EQUIV                   = 0x1509;
219 enum GL_INVERT                  = 0x150A;
220 enum GL_OR_REVERSE              = 0x150B;
221 enum GL_COPY_INVERTED           = 0x150C;
222 enum GL_OR_INVERTED             = 0x150D;
223 enum GL_NAND                    = 0x150E;
224 enum GL_SET                     = 0x150F;
225 enum GL_TEXTURE                 = 0x1702;
226 enum GL_COLOR                   = 0x1800;
227 enum GL_DEPTH                   = 0x1801;
228 enum GL_STENCIL                 = 0x1802;
229 enum GL_STENCIL_INDEX           = 0x1901;
230 enum GL_DEPTH_COMPONENT         = 0x1902;
231 enum GL_RED                     = 0x1903;
232 enum GL_GREEN                   = 0x1904;
233 enum GL_BLUE                    = 0x1905;
234 enum GL_ALPHA                   = 0x1906;
235 enum GL_RGB                     = 0x1907;
236 enum GL_RGBA                    = 0x1908;
237 enum GL_POINT                   = 0x1B00;
238 enum GL_LINE                    = 0x1B01;
239 enum GL_FILL                    = 0x1B02;
240 enum GL_KEEP                    = 0x1E00;
241 enum GL_REPLACE                 = 0x1E01;
242 enum GL_INCR                    = 0x1E02;
243 enum GL_DECR                    = 0x1E03;
244 enum GL_VENDOR                  = 0x1F00;
245 enum GL_RENDERER                = 0x1F01;
246 enum GL_VERSION                 = 0x1F02;
247 enum GL_EXTENSIONS              = 0x1F03;
248 enum GL_NEAREST                 = 0x2600;
249 enum GL_LINEAR                  = 0x2601;
250 enum GL_NEAREST_MIPMAP_NEAREST  = 0x2700;
251 enum GL_LINEAR_MIPMAP_NEAREST   = 0x2701;
252 enum GL_NEAREST_MIPMAP_LINEAR   = 0x2702;
253 enum GL_LINEAR_MIPMAP_LINEAR    = 0x2703;
254 enum GL_TEXTURE_MAG_FILTER      = 0x2800;
255 enum GL_TEXTURE_MIN_FILTER      = 0x2801;
256 enum GL_TEXTURE_WRAP_S          = 0x2802;
257 enum GL_TEXTURE_WRAP_T          = 0x2803;
258 enum GL_REPEAT                  = 0x2901;
259 
260 // Constants for GL_VERSION_1_1
261 enum GL_COLOR_LOGIC_OP          = 0x0BF2;
262 enum GL_POLYGON_OFFSET_UNITS    = 0x2A00;
263 enum GL_POLYGON_OFFSET_POINT    = 0x2A01;
264 enum GL_POLYGON_OFFSET_LINE     = 0x2A02;
265 enum GL_POLYGON_OFFSET_FILL     = 0x8037;
266 enum GL_POLYGON_OFFSET_FACTOR   = 0x8038;
267 enum GL_TEXTURE_BINDING_1D      = 0x8068;
268 enum GL_TEXTURE_BINDING_2D      = 0x8069;
269 enum GL_TEXTURE_INTERNAL_FORMAT = 0x1003;
270 enum GL_TEXTURE_RED_SIZE        = 0x805C;
271 enum GL_TEXTURE_GREEN_SIZE      = 0x805D;
272 enum GL_TEXTURE_BLUE_SIZE       = 0x805E;
273 enum GL_TEXTURE_ALPHA_SIZE      = 0x805F;
274 enum GL_DOUBLE                  = 0x140A;
275 enum GL_PROXY_TEXTURE_1D        = 0x8063;
276 enum GL_PROXY_TEXTURE_2D        = 0x8064;
277 enum GL_R3_G3_B2                = 0x2A10;
278 enum GL_RGB4                    = 0x804F;
279 enum GL_RGB5                    = 0x8050;
280 enum GL_RGB8                    = 0x8051;
281 enum GL_RGB10                   = 0x8052;
282 enum GL_RGB12                   = 0x8053;
283 enum GL_RGB16                   = 0x8054;
284 enum GL_RGBA2                   = 0x8055;
285 enum GL_RGBA4                   = 0x8056;
286 enum GL_RGB5_A1                 = 0x8057;
287 enum GL_RGBA8                   = 0x8058;
288 enum GL_RGB10_A2                = 0x8059;
289 enum GL_RGBA12                  = 0x805A;
290 enum GL_RGBA16                  = 0x805B;
291 enum GL_VERTEX_ARRAY            = 0x8074;
292 
293 // Constants for GL_VERSION_1_2
294 enum GL_UNSIGNED_BYTE_3_3_2           = 0x8032;
295 enum GL_UNSIGNED_SHORT_4_4_4_4        = 0x8033;
296 enum GL_UNSIGNED_SHORT_5_5_5_1        = 0x8034;
297 enum GL_UNSIGNED_INT_8_8_8_8          = 0x8035;
298 enum GL_UNSIGNED_INT_10_10_10_2       = 0x8036;
299 enum GL_TEXTURE_BINDING_3D            = 0x806A;
300 enum GL_PACK_SKIP_IMAGES              = 0x806B;
301 enum GL_PACK_IMAGE_HEIGHT             = 0x806C;
302 enum GL_UNPACK_SKIP_IMAGES            = 0x806D;
303 enum GL_UNPACK_IMAGE_HEIGHT           = 0x806E;
304 enum GL_TEXTURE_3D                    = 0x806F;
305 enum GL_PROXY_TEXTURE_3D              = 0x8070;
306 enum GL_TEXTURE_DEPTH                 = 0x8071;
307 enum GL_TEXTURE_WRAP_R                = 0x8072;
308 enum GL_MAX_3D_TEXTURE_SIZE           = 0x8073;
309 enum GL_UNSIGNED_BYTE_2_3_3_REV       = 0x8362;
310 enum GL_UNSIGNED_SHORT_5_6_5          = 0x8363;
311 enum GL_UNSIGNED_SHORT_5_6_5_REV      = 0x8364;
312 enum GL_UNSIGNED_SHORT_4_4_4_4_REV    = 0x8365;
313 enum GL_UNSIGNED_SHORT_1_5_5_5_REV    = 0x8366;
314 enum GL_UNSIGNED_INT_8_8_8_8_REV      = 0x8367;
315 enum GL_UNSIGNED_INT_2_10_10_10_REV   = 0x8368;
316 enum GL_BGR                           = 0x80E0;
317 enum GL_BGRA                          = 0x80E1;
318 enum GL_MAX_ELEMENTS_VERTICES         = 0x80E8;
319 enum GL_MAX_ELEMENTS_INDICES          = 0x80E9;
320 enum GL_CLAMP_TO_EDGE                 = 0x812F;
321 enum GL_TEXTURE_MIN_LOD               = 0x813A;
322 enum GL_TEXTURE_MAX_LOD               = 0x813B;
323 enum GL_TEXTURE_BASE_LEVEL            = 0x813C;
324 enum GL_TEXTURE_MAX_LEVEL             = 0x813D;
325 enum GL_SMOOTH_POINT_SIZE_RANGE       = 0x0B12;
326 enum GL_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13;
327 enum GL_SMOOTH_LINE_WIDTH_RANGE       = 0x0B22;
328 enum GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23;
329 enum GL_ALIASED_LINE_WIDTH_RANGE      = 0x846E;
330 
331 // Constants for GL_VERSION_1_3
332 enum GL_TEXTURE0                       = 0x84C0;
333 enum GL_TEXTURE1                       = 0x84C1;
334 enum GL_TEXTURE2                       = 0x84C2;
335 enum GL_TEXTURE3                       = 0x84C3;
336 enum GL_TEXTURE4                       = 0x84C4;
337 enum GL_TEXTURE5                       = 0x84C5;
338 enum GL_TEXTURE6                       = 0x84C6;
339 enum GL_TEXTURE7                       = 0x84C7;
340 enum GL_TEXTURE8                       = 0x84C8;
341 enum GL_TEXTURE9                       = 0x84C9;
342 enum GL_TEXTURE10                      = 0x84CA;
343 enum GL_TEXTURE11                      = 0x84CB;
344 enum GL_TEXTURE12                      = 0x84CC;
345 enum GL_TEXTURE13                      = 0x84CD;
346 enum GL_TEXTURE14                      = 0x84CE;
347 enum GL_TEXTURE15                      = 0x84CF;
348 enum GL_TEXTURE16                      = 0x84D0;
349 enum GL_TEXTURE17                      = 0x84D1;
350 enum GL_TEXTURE18                      = 0x84D2;
351 enum GL_TEXTURE19                      = 0x84D3;
352 enum GL_TEXTURE20                      = 0x84D4;
353 enum GL_TEXTURE21                      = 0x84D5;
354 enum GL_TEXTURE22                      = 0x84D6;
355 enum GL_TEXTURE23                      = 0x84D7;
356 enum GL_TEXTURE24                      = 0x84D8;
357 enum GL_TEXTURE25                      = 0x84D9;
358 enum GL_TEXTURE26                      = 0x84DA;
359 enum GL_TEXTURE27                      = 0x84DB;
360 enum GL_TEXTURE28                      = 0x84DC;
361 enum GL_TEXTURE29                      = 0x84DD;
362 enum GL_TEXTURE30                      = 0x84DE;
363 enum GL_TEXTURE31                      = 0x84DF;
364 enum GL_ACTIVE_TEXTURE                 = 0x84E0;
365 enum GL_MULTISAMPLE                    = 0x809D;
366 enum GL_SAMPLE_ALPHA_TO_COVERAGE       = 0x809E;
367 enum GL_SAMPLE_ALPHA_TO_ONE            = 0x809F;
368 enum GL_SAMPLE_COVERAGE                = 0x80A0;
369 enum GL_SAMPLE_BUFFERS                 = 0x80A8;
370 enum GL_SAMPLES                        = 0x80A9;
371 enum GL_SAMPLE_COVERAGE_VALUE          = 0x80AA;
372 enum GL_SAMPLE_COVERAGE_INVERT         = 0x80AB;
373 enum GL_TEXTURE_CUBE_MAP               = 0x8513;
374 enum GL_TEXTURE_BINDING_CUBE_MAP       = 0x8514;
375 enum GL_TEXTURE_CUBE_MAP_POSITIVE_X    = 0x8515;
376 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_X    = 0x8516;
377 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Y    = 0x8517;
378 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    = 0x8518;
379 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Z    = 0x8519;
380 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    = 0x851A;
381 enum GL_PROXY_TEXTURE_CUBE_MAP         = 0x851B;
382 enum GL_MAX_CUBE_MAP_TEXTURE_SIZE      = 0x851C;
383 enum GL_COMPRESSED_RGB                 = 0x84ED;
384 enum GL_COMPRESSED_RGBA                = 0x84EE;
385 enum GL_TEXTURE_COMPRESSION_HINT       = 0x84EF;
386 enum GL_TEXTURE_COMPRESSED_IMAGE_SIZE  = 0x86A0;
387 enum GL_TEXTURE_COMPRESSED             = 0x86A1;
388 enum GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2;
389 enum GL_COMPRESSED_TEXTURE_FORMATS     = 0x86A3;
390 enum GL_CLAMP_TO_BORDER                = 0x812D;
391 
392 // Constants for GL_VERSION_1_4
393 enum GL_BLEND_DST_RGB             = 0x80C8;
394 enum GL_BLEND_SRC_RGB             = 0x80C9;
395 enum GL_BLEND_DST_ALPHA           = 0x80CA;
396 enum GL_BLEND_SRC_ALPHA           = 0x80CB;
397 enum GL_POINT_FADE_THRESHOLD_SIZE = 0x8128;
398 enum GL_DEPTH_COMPONENT16         = 0x81A5;
399 enum GL_DEPTH_COMPONENT24         = 0x81A6;
400 enum GL_DEPTH_COMPONENT32         = 0x81A7;
401 enum GL_MIRRORED_REPEAT           = 0x8370;
402 enum GL_MAX_TEXTURE_LOD_BIAS      = 0x84FD;
403 enum GL_TEXTURE_LOD_BIAS          = 0x8501;
404 enum GL_INCR_WRAP                 = 0x8507;
405 enum GL_DECR_WRAP                 = 0x8508;
406 enum GL_TEXTURE_DEPTH_SIZE        = 0x884A;
407 enum GL_TEXTURE_COMPARE_MODE      = 0x884C;
408 enum GL_TEXTURE_COMPARE_FUNC      = 0x884D;
409 enum GL_BLEND_COLOR               = 0x8005;
410 enum GL_BLEND_EQUATION            = 0x8009;
411 enum GL_CONSTANT_COLOR            = 0x8001;
412 enum GL_ONE_MINUS_CONSTANT_COLOR  = 0x8002;
413 enum GL_CONSTANT_ALPHA            = 0x8003;
414 enum GL_ONE_MINUS_CONSTANT_ALPHA  = 0x8004;
415 enum GL_FUNC_ADD                  = 0x8006;
416 enum GL_FUNC_REVERSE_SUBTRACT     = 0x800B;
417 enum GL_FUNC_SUBTRACT             = 0x800A;
418 enum GL_MIN                       = 0x8007;
419 enum GL_MAX                       = 0x8008;
420 
421 // Constants for GL_VERSION_1_5
422 enum GL_BUFFER_SIZE                        = 0x8764;
423 enum GL_BUFFER_USAGE                       = 0x8765;
424 enum GL_QUERY_COUNTER_BITS                 = 0x8864;
425 enum GL_CURRENT_QUERY                      = 0x8865;
426 enum GL_QUERY_RESULT                       = 0x8866;
427 enum GL_QUERY_RESULT_AVAILABLE             = 0x8867;
428 enum GL_ARRAY_BUFFER                       = 0x8892;
429 enum GL_ELEMENT_ARRAY_BUFFER               = 0x8893;
430 enum GL_ARRAY_BUFFER_BINDING               = 0x8894;
431 enum GL_ELEMENT_ARRAY_BUFFER_BINDING       = 0x8895;
432 enum GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F;
433 enum GL_READ_ONLY                          = 0x88B8;
434 enum GL_WRITE_ONLY                         = 0x88B9;
435 enum GL_READ_WRITE                         = 0x88BA;
436 enum GL_BUFFER_ACCESS                      = 0x88BB;
437 enum GL_BUFFER_MAPPED                      = 0x88BC;
438 enum GL_BUFFER_MAP_POINTER                 = 0x88BD;
439 enum GL_STREAM_DRAW                        = 0x88E0;
440 enum GL_STREAM_READ                        = 0x88E1;
441 enum GL_STREAM_COPY                        = 0x88E2;
442 enum GL_STATIC_DRAW                        = 0x88E4;
443 enum GL_STATIC_READ                        = 0x88E5;
444 enum GL_STATIC_COPY                        = 0x88E6;
445 enum GL_DYNAMIC_DRAW                       = 0x88E8;
446 enum GL_DYNAMIC_READ                       = 0x88E9;
447 enum GL_DYNAMIC_COPY                       = 0x88EA;
448 enum GL_SAMPLES_PASSED                     = 0x8914;
449 enum GL_SRC1_ALPHA                         = 0x8589;
450 
451 // Constants for GL_VERSION_2_0
452 enum GL_BLEND_EQUATION_RGB               = 0x8009;
453 enum GL_VERTEX_ATTRIB_ARRAY_ENABLED      = 0x8622;
454 enum GL_VERTEX_ATTRIB_ARRAY_SIZE         = 0x8623;
455 enum GL_VERTEX_ATTRIB_ARRAY_STRIDE       = 0x8624;
456 enum GL_VERTEX_ATTRIB_ARRAY_TYPE         = 0x8625;
457 enum GL_CURRENT_VERTEX_ATTRIB            = 0x8626;
458 enum GL_VERTEX_PROGRAM_POINT_SIZE        = 0x8642;
459 enum GL_VERTEX_ATTRIB_ARRAY_POINTER      = 0x8645;
460 enum GL_STENCIL_BACK_FUNC                = 0x8800;
461 enum GL_STENCIL_BACK_FAIL                = 0x8801;
462 enum GL_STENCIL_BACK_PASS_DEPTH_FAIL     = 0x8802;
463 enum GL_STENCIL_BACK_PASS_DEPTH_PASS     = 0x8803;
464 enum GL_MAX_DRAW_BUFFERS                 = 0x8824;
465 enum GL_DRAW_BUFFER0                     = 0x8825;
466 enum GL_DRAW_BUFFER1                     = 0x8826;
467 enum GL_DRAW_BUFFER2                     = 0x8827;
468 enum GL_DRAW_BUFFER3                     = 0x8828;
469 enum GL_DRAW_BUFFER4                     = 0x8829;
470 enum GL_DRAW_BUFFER5                     = 0x882A;
471 enum GL_DRAW_BUFFER6                     = 0x882B;
472 enum GL_DRAW_BUFFER7                     = 0x882C;
473 enum GL_DRAW_BUFFER8                     = 0x882D;
474 enum GL_DRAW_BUFFER9                     = 0x882E;
475 enum GL_DRAW_BUFFER10                    = 0x882F;
476 enum GL_DRAW_BUFFER11                    = 0x8830;
477 enum GL_DRAW_BUFFER12                    = 0x8831;
478 enum GL_DRAW_BUFFER13                    = 0x8832;
479 enum GL_DRAW_BUFFER14                    = 0x8833;
480 enum GL_DRAW_BUFFER15                    = 0x8834;
481 enum GL_BLEND_EQUATION_ALPHA             = 0x883D;
482 enum GL_MAX_VERTEX_ATTRIBS               = 0x8869;
483 enum GL_VERTEX_ATTRIB_ARRAY_NORMALIZED   = 0x886A;
484 enum GL_MAX_TEXTURE_IMAGE_UNITS          = 0x8872;
485 enum GL_FRAGMENT_SHADER                  = 0x8B30;
486 enum GL_VERTEX_SHADER                    = 0x8B31;
487 enum GL_MAX_FRAGMENT_UNIFORM_COMPONENTS  = 0x8B49;
488 enum GL_MAX_VERTEX_UNIFORM_COMPONENTS    = 0x8B4A;
489 enum GL_MAX_VARYING_FLOATS               = 0x8B4B;
490 enum GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS   = 0x8B4C;
491 enum GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D;
492 enum GL_SHADER_TYPE                      = 0x8B4F;
493 enum GL_FLOAT_VEC2                       = 0x8B50;
494 enum GL_FLOAT_VEC3                       = 0x8B51;
495 enum GL_FLOAT_VEC4                       = 0x8B52;
496 enum GL_INT_VEC2                         = 0x8B53;
497 enum GL_INT_VEC3                         = 0x8B54;
498 enum GL_INT_VEC4                         = 0x8B55;
499 enum GL_BOOL                             = 0x8B56;
500 enum GL_BOOL_VEC2                        = 0x8B57;
501 enum GL_BOOL_VEC3                        = 0x8B58;
502 enum GL_BOOL_VEC4                        = 0x8B59;
503 enum GL_FLOAT_MAT2                       = 0x8B5A;
504 enum GL_FLOAT_MAT3                       = 0x8B5B;
505 enum GL_FLOAT_MAT4                       = 0x8B5C;
506 enum GL_SAMPLER_1D                       = 0x8B5D;
507 enum GL_SAMPLER_2D                       = 0x8B5E;
508 enum GL_SAMPLER_3D                       = 0x8B5F;
509 enum GL_SAMPLER_CUBE                     = 0x8B60;
510 enum GL_SAMPLER_1D_SHADOW                = 0x8B61;
511 enum GL_SAMPLER_2D_SHADOW                = 0x8B62;
512 enum GL_DELETE_STATUS                    = 0x8B80;
513 enum GL_COMPILE_STATUS                   = 0x8B81;
514 enum GL_LINK_STATUS                      = 0x8B82;
515 enum GL_VALIDATE_STATUS                  = 0x8B83;
516 enum GL_INFO_LOG_LENGTH                  = 0x8B84;
517 enum GL_ATTACHED_SHADERS                 = 0x8B85;
518 enum GL_ACTIVE_UNIFORMS                  = 0x8B86;
519 enum GL_ACTIVE_UNIFORM_MAX_LENGTH        = 0x8B87;
520 enum GL_SHADER_SOURCE_LENGTH             = 0x8B88;
521 enum GL_ACTIVE_ATTRIBUTES                = 0x8B89;
522 enum GL_ACTIVE_ATTRIBUTE_MAX_LENGTH      = 0x8B8A;
523 enum GL_FRAGMENT_SHADER_DERIVATIVE_HINT  = 0x8B8B;
524 enum GL_SHADING_LANGUAGE_VERSION         = 0x8B8C;
525 enum GL_CURRENT_PROGRAM                  = 0x8B8D;
526 enum GL_POINT_SPRITE_COORD_ORIGIN        = 0x8CA0;
527 enum GL_LOWER_LEFT                       = 0x8CA1;
528 enum GL_UPPER_LEFT                       = 0x8CA2;
529 enum GL_STENCIL_BACK_REF                 = 0x8CA3;
530 enum GL_STENCIL_BACK_VALUE_MASK          = 0x8CA4;
531 enum GL_STENCIL_BACK_WRITEMASK           = 0x8CA5;
532 
533 // Constants for GL_VERSION_2_1
534 enum GL_PIXEL_PACK_BUFFER           = 0x88EB;
535 enum GL_PIXEL_UNPACK_BUFFER         = 0x88EC;
536 enum GL_PIXEL_PACK_BUFFER_BINDING   = 0x88ED;
537 enum GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
538 enum GL_FLOAT_MAT2x3                = 0x8B65;
539 enum GL_FLOAT_MAT2x4                = 0x8B66;
540 enum GL_FLOAT_MAT3x2                = 0x8B67;
541 enum GL_FLOAT_MAT3x4                = 0x8B68;
542 enum GL_FLOAT_MAT4x2                = 0x8B69;
543 enum GL_FLOAT_MAT4x3                = 0x8B6A;
544 enum GL_SRGB                        = 0x8C40;
545 enum GL_SRGB8                       = 0x8C41;
546 enum GL_SRGB_ALPHA                  = 0x8C42;
547 enum GL_SRGB8_ALPHA8                = 0x8C43;
548 enum GL_COMPRESSED_SRGB             = 0x8C48;
549 enum GL_COMPRESSED_SRGB_ALPHA       = 0x8C49;
550 
551 // Constants for GL_VERSION_3_0
552 enum GL_COMPARE_REF_TO_TEXTURE                        = 0x884E;
553 enum GL_CLIP_DISTANCE0                                = 0x3000;
554 enum GL_CLIP_DISTANCE1                                = 0x3001;
555 enum GL_CLIP_DISTANCE2                                = 0x3002;
556 enum GL_CLIP_DISTANCE3                                = 0x3003;
557 enum GL_CLIP_DISTANCE4                                = 0x3004;
558 enum GL_CLIP_DISTANCE5                                = 0x3005;
559 enum GL_CLIP_DISTANCE6                                = 0x3006;
560 enum GL_CLIP_DISTANCE7                                = 0x3007;
561 enum GL_MAX_CLIP_DISTANCES                            = 0x0D32;
562 enum GL_MAJOR_VERSION                                 = 0x821B;
563 enum GL_MINOR_VERSION                                 = 0x821C;
564 enum GL_NUM_EXTENSIONS                                = 0x821D;
565 enum GL_CONTEXT_FLAGS                                 = 0x821E;
566 enum GL_COMPRESSED_RED                                = 0x8225;
567 enum GL_COMPRESSED_RG                                 = 0x8226;
568 enum GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT           = 0x00000001;
569 enum GL_RGBA32F                                       = 0x8814;
570 enum GL_RGB32F                                        = 0x8815;
571 enum GL_RGBA16F                                       = 0x881A;
572 enum GL_RGB16F                                        = 0x881B;
573 enum GL_VERTEX_ATTRIB_ARRAY_INTEGER                   = 0x88FD;
574 enum GL_MAX_ARRAY_TEXTURE_LAYERS                      = 0x88FF;
575 enum GL_MIN_PROGRAM_TEXEL_OFFSET                      = 0x8904;
576 enum GL_MAX_PROGRAM_TEXEL_OFFSET                      = 0x8905;
577 enum GL_CLAMP_READ_COLOR                              = 0x891C;
578 enum GL_FIXED_ONLY                                    = 0x891D;
579 enum GL_MAX_VARYING_COMPONENTS                        = 0x8B4B;
580 enum GL_TEXTURE_1D_ARRAY                              = 0x8C18;
581 enum GL_PROXY_TEXTURE_1D_ARRAY                        = 0x8C19;
582 enum GL_TEXTURE_2D_ARRAY                              = 0x8C1A;
583 enum GL_PROXY_TEXTURE_2D_ARRAY                        = 0x8C1B;
584 enum GL_TEXTURE_BINDING_1D_ARRAY                      = 0x8C1C;
585 enum GL_TEXTURE_BINDING_2D_ARRAY                      = 0x8C1D;
586 enum GL_R11F_G11F_B10F                                = 0x8C3A;
587 enum GL_UNSIGNED_INT_10F_11F_11F_REV                  = 0x8C3B;
588 enum GL_RGB9_E5                                       = 0x8C3D;
589 enum GL_UNSIGNED_INT_5_9_9_9_REV                      = 0x8C3E;
590 enum GL_TEXTURE_SHARED_SIZE                           = 0x8C3F;
591 enum GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH         = 0x8C76;
592 enum GL_TRANSFORM_FEEDBACK_BUFFER_MODE                = 0x8C7F;
593 enum GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS    = 0x8C80;
594 enum GL_TRANSFORM_FEEDBACK_VARYINGS                   = 0x8C83;
595 enum GL_TRANSFORM_FEEDBACK_BUFFER_START               = 0x8C84;
596 enum GL_TRANSFORM_FEEDBACK_BUFFER_SIZE                = 0x8C85;
597 enum GL_PRIMITIVES_GENERATED                          = 0x8C87;
598 enum GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN         = 0x8C88;
599 enum GL_RASTERIZER_DISCARD                            = 0x8C89;
600 enum GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
601 enum GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS       = 0x8C8B;
602 enum GL_INTERLEAVED_ATTRIBS                           = 0x8C8C;
603 enum GL_SEPARATE_ATTRIBS                              = 0x8C8D;
604 enum GL_TRANSFORM_FEEDBACK_BUFFER                     = 0x8C8E;
605 enum GL_TRANSFORM_FEEDBACK_BUFFER_BINDING             = 0x8C8F;
606 enum GL_RGBA32UI                                      = 0x8D70;
607 enum GL_RGB32UI                                       = 0x8D71;
608 enum GL_RGBA16UI                                      = 0x8D76;
609 enum GL_RGB16UI                                       = 0x8D77;
610 enum GL_RGBA8UI                                       = 0x8D7C;
611 enum GL_RGB8UI                                        = 0x8D7D;
612 enum GL_RGBA32I                                       = 0x8D82;
613 enum GL_RGB32I                                        = 0x8D83;
614 enum GL_RGBA16I                                       = 0x8D88;
615 enum GL_RGB16I                                        = 0x8D89;
616 enum GL_RGBA8I                                        = 0x8D8E;
617 enum GL_RGB8I                                         = 0x8D8F;
618 enum GL_RED_INTEGER                                   = 0x8D94;
619 enum GL_GREEN_INTEGER                                 = 0x8D95;
620 enum GL_BLUE_INTEGER                                  = 0x8D96;
621 enum GL_RGB_INTEGER                                   = 0x8D98;
622 enum GL_RGBA_INTEGER                                  = 0x8D99;
623 enum GL_BGR_INTEGER                                   = 0x8D9A;
624 enum GL_BGRA_INTEGER                                  = 0x8D9B;
625 enum GL_SAMPLER_1D_ARRAY                              = 0x8DC0;
626 enum GL_SAMPLER_2D_ARRAY                              = 0x8DC1;
627 enum GL_SAMPLER_1D_ARRAY_SHADOW                       = 0x8DC3;
628 enum GL_SAMPLER_2D_ARRAY_SHADOW                       = 0x8DC4;
629 enum GL_SAMPLER_CUBE_SHADOW                           = 0x8DC5;
630 enum GL_UNSIGNED_INT_VEC2                             = 0x8DC6;
631 enum GL_UNSIGNED_INT_VEC3                             = 0x8DC7;
632 enum GL_UNSIGNED_INT_VEC4                             = 0x8DC8;
633 enum GL_INT_SAMPLER_1D                                = 0x8DC9;
634 enum GL_INT_SAMPLER_2D                                = 0x8DCA;
635 enum GL_INT_SAMPLER_3D                                = 0x8DCB;
636 enum GL_INT_SAMPLER_CUBE                              = 0x8DCC;
637 enum GL_INT_SAMPLER_1D_ARRAY                          = 0x8DCE;
638 enum GL_INT_SAMPLER_2D_ARRAY                          = 0x8DCF;
639 enum GL_UNSIGNED_INT_SAMPLER_1D                       = 0x8DD1;
640 enum GL_UNSIGNED_INT_SAMPLER_2D                       = 0x8DD2;
641 enum GL_UNSIGNED_INT_SAMPLER_3D                       = 0x8DD3;
642 enum GL_UNSIGNED_INT_SAMPLER_CUBE                     = 0x8DD4;
643 enum GL_UNSIGNED_INT_SAMPLER_1D_ARRAY                 = 0x8DD6;
644 enum GL_UNSIGNED_INT_SAMPLER_2D_ARRAY                 = 0x8DD7;
645 enum GL_QUERY_WAIT                                    = 0x8E13;
646 enum GL_QUERY_NO_WAIT                                 = 0x8E14;
647 enum GL_QUERY_BY_REGION_WAIT                          = 0x8E15;
648 enum GL_QUERY_BY_REGION_NO_WAIT                       = 0x8E16;
649 enum GL_BUFFER_ACCESS_FLAGS                           = 0x911F;
650 enum GL_BUFFER_MAP_LENGTH                             = 0x9120;
651 enum GL_BUFFER_MAP_OFFSET                             = 0x9121;
652 enum GL_DEPTH_COMPONENT32F                            = 0x8CAC;
653 enum GL_DEPTH32F_STENCIL8                             = 0x8CAD;
654 enum GL_FLOAT_32_UNSIGNED_INT_24_8_REV                = 0x8DAD;
655 enum GL_INVALID_FRAMEBUFFER_OPERATION                 = 0x0506;
656 enum GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING         = 0x8210;
657 enum GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE         = 0x8211;
658 enum GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE               = 0x8212;
659 enum GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE             = 0x8213;
660 enum GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE              = 0x8214;
661 enum GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE             = 0x8215;
662 enum GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE             = 0x8216;
663 enum GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE           = 0x8217;
664 enum GL_FRAMEBUFFER_DEFAULT                           = 0x8218;
665 enum GL_FRAMEBUFFER_UNDEFINED                         = 0x8219;
666 enum GL_DEPTH_STENCIL_ATTACHMENT                      = 0x821A;
667 enum GL_MAX_RENDERBUFFER_SIZE                         = 0x84E8;
668 enum GL_DEPTH_STENCIL                                 = 0x84F9;
669 enum GL_UNSIGNED_INT_24_8                             = 0x84FA;
670 enum GL_DEPTH24_STENCIL8                              = 0x88F0;
671 enum GL_TEXTURE_STENCIL_SIZE                          = 0x88F1;
672 enum GL_TEXTURE_RED_TYPE                              = 0x8C10;
673 enum GL_TEXTURE_GREEN_TYPE                            = 0x8C11;
674 enum GL_TEXTURE_BLUE_TYPE                             = 0x8C12;
675 enum GL_TEXTURE_ALPHA_TYPE                            = 0x8C13;
676 enum GL_TEXTURE_DEPTH_TYPE                            = 0x8C16;
677 enum GL_UNSIGNED_NORMALIZED                           = 0x8C17;
678 enum GL_FRAMEBUFFER_BINDING                           = 0x8CA6;
679 enum GL_DRAW_FRAMEBUFFER_BINDING                      = 0x8CA6;
680 enum GL_RENDERBUFFER_BINDING                          = 0x8CA7;
681 enum GL_READ_FRAMEBUFFER                              = 0x8CA8;
682 enum GL_DRAW_FRAMEBUFFER                              = 0x8CA9;
683 enum GL_READ_FRAMEBUFFER_BINDING                      = 0x8CAA;
684 enum GL_RENDERBUFFER_SAMPLES                          = 0x8CAB;
685 enum GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE            = 0x8CD0;
686 enum GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME            = 0x8CD1;
687 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL          = 0x8CD2;
688 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE  = 0x8CD3;
689 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER          = 0x8CD4;
690 enum GL_FRAMEBUFFER_COMPLETE                          = 0x8CD5;
691 enum GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT             = 0x8CD6;
692 enum GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT     = 0x8CD7;
693 enum GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER            = 0x8CDB;
694 enum GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER            = 0x8CDC;
695 enum GL_FRAMEBUFFER_UNSUPPORTED                       = 0x8CDD;
696 enum GL_MAX_COLOR_ATTACHMENTS                         = 0x8CDF;
697 enum GL_COLOR_ATTACHMENT0                             = 0x8CE0;
698 enum GL_COLOR_ATTACHMENT1                             = 0x8CE1;
699 enum GL_COLOR_ATTACHMENT2                             = 0x8CE2;
700 enum GL_COLOR_ATTACHMENT3                             = 0x8CE3;
701 enum GL_COLOR_ATTACHMENT4                             = 0x8CE4;
702 enum GL_COLOR_ATTACHMENT5                             = 0x8CE5;
703 enum GL_COLOR_ATTACHMENT6                             = 0x8CE6;
704 enum GL_COLOR_ATTACHMENT7                             = 0x8CE7;
705 enum GL_COLOR_ATTACHMENT8                             = 0x8CE8;
706 enum GL_COLOR_ATTACHMENT9                             = 0x8CE9;
707 enum GL_COLOR_ATTACHMENT10                            = 0x8CEA;
708 enum GL_COLOR_ATTACHMENT11                            = 0x8CEB;
709 enum GL_COLOR_ATTACHMENT12                            = 0x8CEC;
710 enum GL_COLOR_ATTACHMENT13                            = 0x8CED;
711 enum GL_COLOR_ATTACHMENT14                            = 0x8CEE;
712 enum GL_COLOR_ATTACHMENT15                            = 0x8CEF;
713 enum GL_COLOR_ATTACHMENT16                            = 0x8CF0;
714 enum GL_COLOR_ATTACHMENT17                            = 0x8CF1;
715 enum GL_COLOR_ATTACHMENT18                            = 0x8CF2;
716 enum GL_COLOR_ATTACHMENT19                            = 0x8CF3;
717 enum GL_COLOR_ATTACHMENT20                            = 0x8CF4;
718 enum GL_COLOR_ATTACHMENT21                            = 0x8CF5;
719 enum GL_COLOR_ATTACHMENT22                            = 0x8CF6;
720 enum GL_COLOR_ATTACHMENT23                            = 0x8CF7;
721 enum GL_COLOR_ATTACHMENT24                            = 0x8CF8;
722 enum GL_COLOR_ATTACHMENT25                            = 0x8CF9;
723 enum GL_COLOR_ATTACHMENT26                            = 0x8CFA;
724 enum GL_COLOR_ATTACHMENT27                            = 0x8CFB;
725 enum GL_COLOR_ATTACHMENT28                            = 0x8CFC;
726 enum GL_COLOR_ATTACHMENT29                            = 0x8CFD;
727 enum GL_COLOR_ATTACHMENT30                            = 0x8CFE;
728 enum GL_COLOR_ATTACHMENT31                            = 0x8CFF;
729 enum GL_DEPTH_ATTACHMENT                              = 0x8D00;
730 enum GL_STENCIL_ATTACHMENT                            = 0x8D20;
731 enum GL_FRAMEBUFFER                                   = 0x8D40;
732 enum GL_RENDERBUFFER                                  = 0x8D41;
733 enum GL_RENDERBUFFER_WIDTH                            = 0x8D42;
734 enum GL_RENDERBUFFER_HEIGHT                           = 0x8D43;
735 enum GL_RENDERBUFFER_INTERNAL_FORMAT                  = 0x8D44;
736 enum GL_STENCIL_INDEX1                                = 0x8D46;
737 enum GL_STENCIL_INDEX4                                = 0x8D47;
738 enum GL_STENCIL_INDEX8                                = 0x8D48;
739 enum GL_STENCIL_INDEX16                               = 0x8D49;
740 enum GL_RENDERBUFFER_RED_SIZE                         = 0x8D50;
741 enum GL_RENDERBUFFER_GREEN_SIZE                       = 0x8D51;
742 enum GL_RENDERBUFFER_BLUE_SIZE                        = 0x8D52;
743 enum GL_RENDERBUFFER_ALPHA_SIZE                       = 0x8D53;
744 enum GL_RENDERBUFFER_DEPTH_SIZE                       = 0x8D54;
745 enum GL_RENDERBUFFER_STENCIL_SIZE                     = 0x8D55;
746 enum GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE            = 0x8D56;
747 enum GL_MAX_SAMPLES                                   = 0x8D57;
748 enum GL_FRAMEBUFFER_SRGB                              = 0x8DB9;
749 enum GL_HALF_FLOAT                                    = 0x140B;
750 enum GL_MAP_READ_BIT                                  = 0x0001;
751 enum GL_MAP_WRITE_BIT                                 = 0x0002;
752 enum GL_MAP_INVALIDATE_RANGE_BIT                      = 0x0004;
753 enum GL_MAP_INVALIDATE_BUFFER_BIT                     = 0x0008;
754 enum GL_MAP_FLUSH_EXPLICIT_BIT                        = 0x0010;
755 enum GL_MAP_UNSYNCHRONIZED_BIT                        = 0x0020;
756 enum GL_COMPRESSED_RED_RGTC1                          = 0x8DBB;
757 enum GL_COMPRESSED_SIGNED_RED_RGTC1                   = 0x8DBC;
758 enum GL_COMPRESSED_RG_RGTC2                           = 0x8DBD;
759 enum GL_COMPRESSED_SIGNED_RG_RGTC2                    = 0x8DBE;
760 enum GL_RG                                            = 0x8227;
761 enum GL_RG_INTEGER                                    = 0x8228;
762 enum GL_R8                                            = 0x8229;
763 enum GL_R16                                           = 0x822A;
764 enum GL_RG8                                           = 0x822B;
765 enum GL_RG16                                          = 0x822C;
766 enum GL_R16F                                          = 0x822D;
767 enum GL_R32F                                          = 0x822E;
768 enum GL_RG16F                                         = 0x822F;
769 enum GL_RG32F                                         = 0x8230;
770 enum GL_R8I                                           = 0x8231;
771 enum GL_R8UI                                          = 0x8232;
772 enum GL_R16I                                          = 0x8233;
773 enum GL_R16UI                                         = 0x8234;
774 enum GL_R32I                                          = 0x8235;
775 enum GL_R32UI                                         = 0x8236;
776 enum GL_RG8I                                          = 0x8237;
777 enum GL_RG8UI                                         = 0x8238;
778 enum GL_RG16I                                         = 0x8239;
779 enum GL_RG16UI                                        = 0x823A;
780 enum GL_RG32I                                         = 0x823B;
781 enum GL_RG32UI                                        = 0x823C;
782 enum GL_VERTEX_ARRAY_BINDING                          = 0x85B5;
783 
784 // Constants for GL_VERSION_3_1
785 enum GL_SAMPLER_2D_RECT                             = 0x8B63;
786 enum GL_SAMPLER_2D_RECT_SHADOW                      = 0x8B64;
787 enum GL_SAMPLER_BUFFER                              = 0x8DC2;
788 enum GL_INT_SAMPLER_2D_RECT                         = 0x8DCD;
789 enum GL_INT_SAMPLER_BUFFER                          = 0x8DD0;
790 enum GL_UNSIGNED_INT_SAMPLER_2D_RECT                = 0x8DD5;
791 enum GL_UNSIGNED_INT_SAMPLER_BUFFER                 = 0x8DD8;
792 enum GL_TEXTURE_BUFFER                              = 0x8C2A;
793 enum GL_MAX_TEXTURE_BUFFER_SIZE                     = 0x8C2B;
794 enum GL_TEXTURE_BINDING_BUFFER                      = 0x8C2C;
795 enum GL_TEXTURE_BUFFER_DATA_STORE_BINDING           = 0x8C2D;
796 enum GL_TEXTURE_RECTANGLE                           = 0x84F5;
797 enum GL_TEXTURE_BINDING_RECTANGLE                   = 0x84F6;
798 enum GL_PROXY_TEXTURE_RECTANGLE                     = 0x84F7;
799 enum GL_MAX_RECTANGLE_TEXTURE_SIZE                  = 0x84F8;
800 enum GL_R8_SNORM                                    = 0x8F94;
801 enum GL_RG8_SNORM                                   = 0x8F95;
802 enum GL_RGB8_SNORM                                  = 0x8F96;
803 enum GL_RGBA8_SNORM                                 = 0x8F97;
804 enum GL_R16_SNORM                                   = 0x8F98;
805 enum GL_RG16_SNORM                                  = 0x8F99;
806 enum GL_RGB16_SNORM                                 = 0x8F9A;
807 enum GL_RGBA16_SNORM                                = 0x8F9B;
808 enum GL_SIGNED_NORMALIZED                           = 0x8F9C;
809 enum GL_PRIMITIVE_RESTART                           = 0x8F9D;
810 enum GL_PRIMITIVE_RESTART_INDEX                     = 0x8F9E;
811 enum GL_COPY_READ_BUFFER                            = 0x8F36;
812 enum GL_COPY_WRITE_BUFFER                           = 0x8F37;
813 enum GL_UNIFORM_BUFFER                              = 0x8A11;
814 enum GL_UNIFORM_BUFFER_BINDING                      = 0x8A28;
815 enum GL_UNIFORM_BUFFER_START                        = 0x8A29;
816 enum GL_UNIFORM_BUFFER_SIZE                         = 0x8A2A;
817 enum GL_MAX_VERTEX_UNIFORM_BLOCKS                   = 0x8A2B;
818 enum GL_MAX_GEOMETRY_UNIFORM_BLOCKS                 = 0x8A2C;
819 enum GL_MAX_FRAGMENT_UNIFORM_BLOCKS                 = 0x8A2D;
820 enum GL_MAX_COMBINED_UNIFORM_BLOCKS                 = 0x8A2E;
821 enum GL_MAX_UNIFORM_BUFFER_BINDINGS                 = 0x8A2F;
822 enum GL_MAX_UNIFORM_BLOCK_SIZE                      = 0x8A30;
823 enum GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS      = 0x8A31;
824 enum GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS    = 0x8A32;
825 enum GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS    = 0x8A33;
826 enum GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT             = 0x8A34;
827 enum GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH        = 0x8A35;
828 enum GL_ACTIVE_UNIFORM_BLOCKS                       = 0x8A36;
829 enum GL_UNIFORM_TYPE                                = 0x8A37;
830 enum GL_UNIFORM_SIZE                                = 0x8A38;
831 enum GL_UNIFORM_NAME_LENGTH                         = 0x8A39;
832 enum GL_UNIFORM_BLOCK_INDEX                         = 0x8A3A;
833 enum GL_UNIFORM_OFFSET                              = 0x8A3B;
834 enum GL_UNIFORM_ARRAY_STRIDE                        = 0x8A3C;
835 enum GL_UNIFORM_MATRIX_STRIDE                       = 0x8A3D;
836 enum GL_UNIFORM_IS_ROW_MAJOR                        = 0x8A3E;
837 enum GL_UNIFORM_BLOCK_BINDING                       = 0x8A3F;
838 enum GL_UNIFORM_BLOCK_DATA_SIZE                     = 0x8A40;
839 enum GL_UNIFORM_BLOCK_NAME_LENGTH                   = 0x8A41;
840 enum GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS               = 0x8A42;
841 enum GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES        = 0x8A43;
842 enum GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER   = 0x8A44;
843 enum GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45;
844 enum GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
845 enum GL_INVALID_INDEX                               = 0xFFFFFFFF;
846 
847 // Constants for GL_VERSION_3_2
848 enum GL_CONTEXT_CORE_PROFILE_BIT                  = 0x00000001;
849 enum GL_CONTEXT_COMPATIBILITY_PROFILE_BIT         = 0x00000002;
850 enum GL_LINES_ADJACENCY                           = 0x000A;
851 enum GL_LINE_STRIP_ADJACENCY                      = 0x000B;
852 enum GL_TRIANGLES_ADJACENCY                       = 0x000C;
853 enum GL_TRIANGLE_STRIP_ADJACENCY                  = 0x000D;
854 enum GL_PROGRAM_POINT_SIZE                        = 0x8642;
855 enum GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS          = 0x8C29;
856 enum GL_FRAMEBUFFER_ATTACHMENT_LAYERED            = 0x8DA7;
857 enum GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS      = 0x8DA8;
858 enum GL_GEOMETRY_SHADER                           = 0x8DD9;
859 enum GL_GEOMETRY_VERTICES_OUT                     = 0x8916;
860 enum GL_GEOMETRY_INPUT_TYPE                       = 0x8917;
861 enum GL_GEOMETRY_OUTPUT_TYPE                      = 0x8918;
862 enum GL_MAX_GEOMETRY_UNIFORM_COMPONENTS           = 0x8DDF;
863 enum GL_MAX_GEOMETRY_OUTPUT_VERTICES              = 0x8DE0;
864 enum GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS      = 0x8DE1;
865 enum GL_MAX_VERTEX_OUTPUT_COMPONENTS              = 0x9122;
866 enum GL_MAX_GEOMETRY_INPUT_COMPONENTS             = 0x9123;
867 enum GL_MAX_GEOMETRY_OUTPUT_COMPONENTS            = 0x9124;
868 enum GL_MAX_FRAGMENT_INPUT_COMPONENTS             = 0x9125;
869 enum GL_CONTEXT_PROFILE_MASK                      = 0x9126;
870 enum GL_DEPTH_CLAMP                               = 0x864F;
871 enum GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION  = 0x8E4C;
872 enum GL_FIRST_VERTEX_CONVENTION                   = 0x8E4D;
873 enum GL_LAST_VERTEX_CONVENTION                    = 0x8E4E;
874 enum GL_PROVOKING_VERTEX                          = 0x8E4F;
875 enum GL_TEXTURE_CUBE_MAP_SEAMLESS                 = 0x884F;
876 enum GL_MAX_SERVER_WAIT_TIMEOUT                   = 0x9111;
877 enum GL_OBJECT_TYPE                               = 0x9112;
878 enum GL_SYNC_CONDITION                            = 0x9113;
879 enum GL_SYNC_STATUS                               = 0x9114;
880 enum GL_SYNC_FLAGS                                = 0x9115;
881 enum GL_SYNC_FENCE                                = 0x9116;
882 enum GL_SYNC_GPU_COMMANDS_COMPLETE                = 0x9117;
883 enum GL_UNSIGNALED                                = 0x9118;
884 enum GL_SIGNALED                                  = 0x9119;
885 enum GL_ALREADY_SIGNALED                          = 0x911A;
886 enum GL_TIMEOUT_EXPIRED                           = 0x911B;
887 enum GL_CONDITION_SATISFIED                       = 0x911C;
888 enum GL_WAIT_FAILED                               = 0x911D;
889 enum GL_TIMEOUT_IGNORED                           = 0xFFFFFFFFFFFFFFFF;
890 enum GL_SYNC_FLUSH_COMMANDS_BIT                   = 0x00000001;
891 enum GL_SAMPLE_POSITION                           = 0x8E50;
892 enum GL_SAMPLE_MASK                               = 0x8E51;
893 enum GL_SAMPLE_MASK_VALUE                         = 0x8E52;
894 enum GL_MAX_SAMPLE_MASK_WORDS                     = 0x8E59;
895 enum GL_TEXTURE_2D_MULTISAMPLE                    = 0x9100;
896 enum GL_PROXY_TEXTURE_2D_MULTISAMPLE              = 0x9101;
897 enum GL_TEXTURE_2D_MULTISAMPLE_ARRAY              = 0x9102;
898 enum GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY        = 0x9103;
899 enum GL_TEXTURE_BINDING_2D_MULTISAMPLE            = 0x9104;
900 enum GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY      = 0x9105;
901 enum GL_TEXTURE_SAMPLES                           = 0x9106;
902 enum GL_TEXTURE_FIXED_SAMPLE_LOCATIONS            = 0x9107;
903 enum GL_SAMPLER_2D_MULTISAMPLE                    = 0x9108;
904 enum GL_INT_SAMPLER_2D_MULTISAMPLE                = 0x9109;
905 enum GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE       = 0x910A;
906 enum GL_SAMPLER_2D_MULTISAMPLE_ARRAY              = 0x910B;
907 enum GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY          = 0x910C;
908 enum GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D;
909 enum GL_MAX_COLOR_TEXTURE_SAMPLES                 = 0x910E;
910 enum GL_MAX_DEPTH_TEXTURE_SAMPLES                 = 0x910F;
911 enum GL_MAX_INTEGER_SAMPLES                       = 0x9110;
912 
913 // Constants for GL_VERSION_3_3
914 enum GL_VERTEX_ATTRIB_ARRAY_DIVISOR  = 0x88FE;
915 enum GL_SRC1_COLOR                   = 0x88F9;
916 enum GL_ONE_MINUS_SRC1_COLOR         = 0x88FA;
917 enum GL_ONE_MINUS_SRC1_ALPHA         = 0x88FB;
918 enum GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC;
919 enum GL_ANY_SAMPLES_PASSED           = 0x8C2F;
920 enum GL_SAMPLER_BINDING              = 0x8919;
921 enum GL_RGB10_A2UI                   = 0x906F;
922 enum GL_TEXTURE_SWIZZLE_R            = 0x8E42;
923 enum GL_TEXTURE_SWIZZLE_G            = 0x8E43;
924 enum GL_TEXTURE_SWIZZLE_B            = 0x8E44;
925 enum GL_TEXTURE_SWIZZLE_A            = 0x8E45;
926 enum GL_TEXTURE_SWIZZLE_RGBA         = 0x8E46;
927 enum GL_TIME_ELAPSED                 = 0x88BF;
928 enum GL_TIMESTAMP                    = 0x8E28;
929 enum GL_INT_2_10_10_10_REV           = 0x8D9F;
930 
931 // Constants for GL_VERSION_4_0
932 enum GL_SAMPLE_SHADING                                     = 0x8C36;
933 enum GL_MIN_SAMPLE_SHADING_VALUE                           = 0x8C37;
934 enum GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET                  = 0x8E5E;
935 enum GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET                  = 0x8E5F;
936 enum GL_TEXTURE_CUBE_MAP_ARRAY                             = 0x9009;
937 enum GL_TEXTURE_BINDING_CUBE_MAP_ARRAY                     = 0x900A;
938 enum GL_PROXY_TEXTURE_CUBE_MAP_ARRAY                       = 0x900B;
939 enum GL_SAMPLER_CUBE_MAP_ARRAY                             = 0x900C;
940 enum GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW                      = 0x900D;
941 enum GL_INT_SAMPLER_CUBE_MAP_ARRAY                         = 0x900E;
942 enum GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY                = 0x900F;
943 enum GL_DRAW_INDIRECT_BUFFER                               = 0x8F3F;
944 enum GL_DRAW_INDIRECT_BUFFER_BINDING                       = 0x8F43;
945 enum GL_GEOMETRY_SHADER_INVOCATIONS                        = 0x887F;
946 enum GL_MAX_GEOMETRY_SHADER_INVOCATIONS                    = 0x8E5A;
947 enum GL_MIN_FRAGMENT_INTERPOLATION_OFFSET                  = 0x8E5B;
948 enum GL_MAX_FRAGMENT_INTERPOLATION_OFFSET                  = 0x8E5C;
949 enum GL_FRAGMENT_INTERPOLATION_OFFSET_BITS                 = 0x8E5D;
950 enum GL_MAX_VERTEX_STREAMS                                 = 0x8E71;
951 enum GL_DOUBLE_VEC2                                        = 0x8FFC;
952 enum GL_DOUBLE_VEC3                                        = 0x8FFD;
953 enum GL_DOUBLE_VEC4                                        = 0x8FFE;
954 enum GL_DOUBLE_MAT2                                        = 0x8F46;
955 enum GL_DOUBLE_MAT3                                        = 0x8F47;
956 enum GL_DOUBLE_MAT4                                        = 0x8F48;
957 enum GL_DOUBLE_MAT2x3                                      = 0x8F49;
958 enum GL_DOUBLE_MAT2x4                                      = 0x8F4A;
959 enum GL_DOUBLE_MAT3x2                                      = 0x8F4B;
960 enum GL_DOUBLE_MAT3x4                                      = 0x8F4C;
961 enum GL_DOUBLE_MAT4x2                                      = 0x8F4D;
962 enum GL_DOUBLE_MAT4x3                                      = 0x8F4E;
963 enum GL_ACTIVE_SUBROUTINES                                 = 0x8DE5;
964 enum GL_ACTIVE_SUBROUTINE_UNIFORMS                         = 0x8DE6;
965 enum GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS                = 0x8E47;
966 enum GL_ACTIVE_SUBROUTINE_MAX_LENGTH                       = 0x8E48;
967 enum GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH               = 0x8E49;
968 enum GL_MAX_SUBROUTINES                                    = 0x8DE7;
969 enum GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS                   = 0x8DE8;
970 enum GL_NUM_COMPATIBLE_SUBROUTINES                         = 0x8E4A;
971 enum GL_COMPATIBLE_SUBROUTINES                             = 0x8E4B;
972 enum GL_PATCHES                                            = 0x000E;
973 enum GL_PATCH_VERTICES                                     = 0x8E72;
974 enum GL_PATCH_DEFAULT_INNER_LEVEL                          = 0x8E73;
975 enum GL_PATCH_DEFAULT_OUTER_LEVEL                          = 0x8E74;
976 enum GL_TESS_CONTROL_OUTPUT_VERTICES                       = 0x8E75;
977 enum GL_TESS_GEN_MODE                                      = 0x8E76;
978 enum GL_TESS_GEN_SPACING                                   = 0x8E77;
979 enum GL_TESS_GEN_VERTEX_ORDER                              = 0x8E78;
980 enum GL_TESS_GEN_POINT_MODE                                = 0x8E79;
981 enum GL_ISOLINES                                           = 0x8E7A;
982 enum GL_FRACTIONAL_ODD                                     = 0x8E7B;
983 enum GL_FRACTIONAL_EVEN                                    = 0x8E7C;
984 enum GL_MAX_PATCH_VERTICES                                 = 0x8E7D;
985 enum GL_MAX_TESS_GEN_LEVEL                                 = 0x8E7E;
986 enum GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS                = 0x8E7F;
987 enum GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS             = 0x8E80;
988 enum GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS               = 0x8E81;
989 enum GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS            = 0x8E82;
990 enum GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS                 = 0x8E83;
991 enum GL_MAX_TESS_PATCH_COMPONENTS                          = 0x8E84;
992 enum GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS           = 0x8E85;
993 enum GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS              = 0x8E86;
994 enum GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS                    = 0x8E89;
995 enum GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS                 = 0x8E8A;
996 enum GL_MAX_TESS_CONTROL_INPUT_COMPONENTS                  = 0x886C;
997 enum GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS               = 0x886D;
998 enum GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS       = 0x8E1E;
999 enum GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS    = 0x8E1F;
1000 enum GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER    = 0x84F0;
1001 enum GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1;
1002 enum GL_TESS_EVALUATION_SHADER                             = 0x8E87;
1003 enum GL_TESS_CONTROL_SHADER                                = 0x8E88;
1004 enum GL_TRANSFORM_FEEDBACK                                 = 0x8E22;
1005 enum GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED                   = 0x8E23;
1006 enum GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE                   = 0x8E24;
1007 enum GL_TRANSFORM_FEEDBACK_BINDING                         = 0x8E25;
1008 enum GL_MAX_TRANSFORM_FEEDBACK_BUFFERS                     = 0x8E70;
1009 
1010 // Constants for GL_VERSION_4_1
1011 enum GL_FIXED                            = 0x140C;
1012 enum GL_IMPLEMENTATION_COLOR_READ_TYPE   = 0x8B9A;
1013 enum GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B;
1014 enum GL_LOW_FLOAT                        = 0x8DF0;
1015 enum GL_MEDIUM_FLOAT                     = 0x8DF1;
1016 enum GL_HIGH_FLOAT                       = 0x8DF2;
1017 enum GL_LOW_INT                          = 0x8DF3;
1018 enum GL_MEDIUM_INT                       = 0x8DF4;
1019 enum GL_HIGH_INT                         = 0x8DF5;
1020 enum GL_SHADER_COMPILER                  = 0x8DFA;
1021 enum GL_SHADER_BINARY_FORMATS            = 0x8DF8;
1022 enum GL_NUM_SHADER_BINARY_FORMATS        = 0x8DF9;
1023 enum GL_MAX_VERTEX_UNIFORM_VECTORS       = 0x8DFB;
1024 enum GL_MAX_VARYING_VECTORS              = 0x8DFC;
1025 enum GL_MAX_FRAGMENT_UNIFORM_VECTORS     = 0x8DFD;
1026 enum GL_RGB565                           = 0x8D62;
1027 enum GL_PROGRAM_BINARY_RETRIEVABLE_HINT  = 0x8257;
1028 enum GL_PROGRAM_BINARY_LENGTH            = 0x8741;
1029 enum GL_NUM_PROGRAM_BINARY_FORMATS       = 0x87FE;
1030 enum GL_PROGRAM_BINARY_FORMATS           = 0x87FF;
1031 enum GL_VERTEX_SHADER_BIT                = 0x00000001;
1032 enum GL_FRAGMENT_SHADER_BIT              = 0x00000002;
1033 enum GL_GEOMETRY_SHADER_BIT              = 0x00000004;
1034 enum GL_TESS_CONTROL_SHADER_BIT          = 0x00000008;
1035 enum GL_TESS_EVALUATION_SHADER_BIT       = 0x00000010;
1036 enum GL_ALL_SHADER_BITS                  = 0xFFFFFFFF;
1037 enum GL_PROGRAM_SEPARABLE                = 0x8258;
1038 enum GL_ACTIVE_PROGRAM                   = 0x8259;
1039 enum GL_PROGRAM_PIPELINE_BINDING         = 0x825A;
1040 enum GL_MAX_VIEWPORTS                    = 0x825B;
1041 enum GL_VIEWPORT_SUBPIXEL_BITS           = 0x825C;
1042 enum GL_VIEWPORT_BOUNDS_RANGE            = 0x825D;
1043 enum GL_LAYER_PROVOKING_VERTEX           = 0x825E;
1044 enum GL_VIEWPORT_INDEX_PROVOKING_VERTEX  = 0x825F;
1045 enum GL_UNDEFINED_VERTEX                 = 0x8260;
1046 
1047 // Constants for GL_VERSION_4_2
1048 enum GL_COPY_READ_BUFFER_BINDING                                   = 0x8F36;
1049 enum GL_COPY_WRITE_BUFFER_BINDING                                  = 0x8F37;
1050 enum GL_TRANSFORM_FEEDBACK_ACTIVE                                  = 0x8E24;
1051 enum GL_TRANSFORM_FEEDBACK_PAUSED                                  = 0x8E23;
1052 enum GL_UNPACK_COMPRESSED_BLOCK_WIDTH                              = 0x9127;
1053 enum GL_UNPACK_COMPRESSED_BLOCK_HEIGHT                             = 0x9128;
1054 enum GL_UNPACK_COMPRESSED_BLOCK_DEPTH                              = 0x9129;
1055 enum GL_UNPACK_COMPRESSED_BLOCK_SIZE                               = 0x912A;
1056 enum GL_PACK_COMPRESSED_BLOCK_WIDTH                                = 0x912B;
1057 enum GL_PACK_COMPRESSED_BLOCK_HEIGHT                               = 0x912C;
1058 enum GL_PACK_COMPRESSED_BLOCK_DEPTH                                = 0x912D;
1059 enum GL_PACK_COMPRESSED_BLOCK_SIZE                                 = 0x912E;
1060 enum GL_NUM_SAMPLE_COUNTS                                          = 0x9380;
1061 enum GL_MIN_MAP_BUFFER_ALIGNMENT                                   = 0x90BC;
1062 enum GL_ATOMIC_COUNTER_BUFFER                                      = 0x92C0;
1063 enum GL_ATOMIC_COUNTER_BUFFER_BINDING                              = 0x92C1;
1064 enum GL_ATOMIC_COUNTER_BUFFER_START                                = 0x92C2;
1065 enum GL_ATOMIC_COUNTER_BUFFER_SIZE                                 = 0x92C3;
1066 enum GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE                            = 0x92C4;
1067 enum GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS               = 0x92C5;
1068 enum GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES        = 0x92C6;
1069 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER          = 0x92C7;
1070 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER    = 0x92C8;
1071 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9;
1072 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER        = 0x92CA;
1073 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER        = 0x92CB;
1074 enum GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS                          = 0x92CC;
1075 enum GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS                    = 0x92CD;
1076 enum GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS                 = 0x92CE;
1077 enum GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS                        = 0x92CF;
1078 enum GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS                        = 0x92D0;
1079 enum GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS                        = 0x92D1;
1080 enum GL_MAX_VERTEX_ATOMIC_COUNTERS                                 = 0x92D2;
1081 enum GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS                           = 0x92D3;
1082 enum GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS                        = 0x92D4;
1083 enum GL_MAX_GEOMETRY_ATOMIC_COUNTERS                               = 0x92D5;
1084 enum GL_MAX_FRAGMENT_ATOMIC_COUNTERS                               = 0x92D6;
1085 enum GL_MAX_COMBINED_ATOMIC_COUNTERS                               = 0x92D7;
1086 enum GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE                             = 0x92D8;
1087 enum GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS                         = 0x92DC;
1088 enum GL_ACTIVE_ATOMIC_COUNTER_BUFFERS                              = 0x92D9;
1089 enum GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX                        = 0x92DA;
1090 enum GL_UNSIGNED_INT_ATOMIC_COUNTER                                = 0x92DB;
1091 enum GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT                            = 0x00000001;
1092 enum GL_ELEMENT_ARRAY_BARRIER_BIT                                  = 0x00000002;
1093 enum GL_UNIFORM_BARRIER_BIT                                        = 0x00000004;
1094 enum GL_TEXTURE_FETCH_BARRIER_BIT                                  = 0x00000008;
1095 enum GL_SHADER_IMAGE_ACCESS_BARRIER_BIT                            = 0x00000020;
1096 enum GL_COMMAND_BARRIER_BIT                                        = 0x00000040;
1097 enum GL_PIXEL_BUFFER_BARRIER_BIT                                   = 0x00000080;
1098 enum GL_TEXTURE_UPDATE_BARRIER_BIT                                 = 0x00000100;
1099 enum GL_BUFFER_UPDATE_BARRIER_BIT                                  = 0x00000200;
1100 enum GL_FRAMEBUFFER_BARRIER_BIT                                    = 0x00000400;
1101 enum GL_TRANSFORM_FEEDBACK_BARRIER_BIT                             = 0x00000800;
1102 enum GL_ATOMIC_COUNTER_BARRIER_BIT                                 = 0x00001000;
1103 enum GL_ALL_BARRIER_BITS                                           = 0xFFFFFFFF;
1104 enum GL_MAX_IMAGE_UNITS                                            = 0x8F38;
1105 enum GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS              = 0x8F39;
1106 enum GL_IMAGE_BINDING_NAME                                         = 0x8F3A;
1107 enum GL_IMAGE_BINDING_LEVEL                                        = 0x8F3B;
1108 enum GL_IMAGE_BINDING_LAYERED                                      = 0x8F3C;
1109 enum GL_IMAGE_BINDING_LAYER                                        = 0x8F3D;
1110 enum GL_IMAGE_BINDING_ACCESS                                       = 0x8F3E;
1111 enum GL_IMAGE_1D                                                   = 0x904C;
1112 enum GL_IMAGE_2D                                                   = 0x904D;
1113 enum GL_IMAGE_3D                                                   = 0x904E;
1114 enum GL_IMAGE_2D_RECT                                              = 0x904F;
1115 enum GL_IMAGE_CUBE                                                 = 0x9050;
1116 enum GL_IMAGE_BUFFER                                               = 0x9051;
1117 enum GL_IMAGE_1D_ARRAY                                             = 0x9052;
1118 enum GL_IMAGE_2D_ARRAY                                             = 0x9053;
1119 enum GL_IMAGE_CUBE_MAP_ARRAY                                       = 0x9054;
1120 enum GL_IMAGE_2D_MULTISAMPLE                                       = 0x9055;
1121 enum GL_IMAGE_2D_MULTISAMPLE_ARRAY                                 = 0x9056;
1122 enum GL_INT_IMAGE_1D                                               = 0x9057;
1123 enum GL_INT_IMAGE_2D                                               = 0x9058;
1124 enum GL_INT_IMAGE_3D                                               = 0x9059;
1125 enum GL_INT_IMAGE_2D_RECT                                          = 0x905A;
1126 enum GL_INT_IMAGE_CUBE                                             = 0x905B;
1127 enum GL_INT_IMAGE_BUFFER                                           = 0x905C;
1128 enum GL_INT_IMAGE_1D_ARRAY                                         = 0x905D;
1129 enum GL_INT_IMAGE_2D_ARRAY                                         = 0x905E;
1130 enum GL_INT_IMAGE_CUBE_MAP_ARRAY                                   = 0x905F;
1131 enum GL_INT_IMAGE_2D_MULTISAMPLE                                   = 0x9060;
1132 enum GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY                             = 0x9061;
1133 enum GL_UNSIGNED_INT_IMAGE_1D                                      = 0x9062;
1134 enum GL_UNSIGNED_INT_IMAGE_2D                                      = 0x9063;
1135 enum GL_UNSIGNED_INT_IMAGE_3D                                      = 0x9064;
1136 enum GL_UNSIGNED_INT_IMAGE_2D_RECT                                 = 0x9065;
1137 enum GL_UNSIGNED_INT_IMAGE_CUBE                                    = 0x9066;
1138 enum GL_UNSIGNED_INT_IMAGE_BUFFER                                  = 0x9067;
1139 enum GL_UNSIGNED_INT_IMAGE_1D_ARRAY                                = 0x9068;
1140 enum GL_UNSIGNED_INT_IMAGE_2D_ARRAY                                = 0x9069;
1141 enum GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY                          = 0x906A;
1142 enum GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE                          = 0x906B;
1143 enum GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY                    = 0x906C;
1144 enum GL_MAX_IMAGE_SAMPLES                                          = 0x906D;
1145 enum GL_IMAGE_BINDING_FORMAT                                       = 0x906E;
1146 enum GL_IMAGE_FORMAT_COMPATIBILITY_TYPE                            = 0x90C7;
1147 enum GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE                         = 0x90C8;
1148 enum GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS                        = 0x90C9;
1149 enum GL_MAX_VERTEX_IMAGE_UNIFORMS                                  = 0x90CA;
1150 enum GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS                            = 0x90CB;
1151 enum GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS                         = 0x90CC;
1152 enum GL_MAX_GEOMETRY_IMAGE_UNIFORMS                                = 0x90CD;
1153 enum GL_MAX_FRAGMENT_IMAGE_UNIFORMS                                = 0x90CE;
1154 enum GL_MAX_COMBINED_IMAGE_UNIFORMS                                = 0x90CF;
1155 enum GL_COMPRESSED_RGBA_BPTC_UNORM                                 = 0x8E8C;
1156 enum GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM                           = 0x8E8D;
1157 enum GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT                           = 0x8E8E;
1158 enum GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT                         = 0x8E8F;
1159 enum GL_TEXTURE_IMMUTABLE_FORMAT                                   = 0x912F;
1160 
1161 // Constants for GL_VERSION_4_3
1162 enum GL_NUM_SHADING_LANGUAGE_VERSIONS                      = 0x82E9;
1163 enum GL_VERTEX_ATTRIB_ARRAY_LONG                           = 0x874E;
1164 enum GL_COMPRESSED_RGB8_ETC2                               = 0x9274;
1165 enum GL_COMPRESSED_SRGB8_ETC2                              = 0x9275;
1166 enum GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2           = 0x9276;
1167 enum GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2          = 0x9277;
1168 enum GL_COMPRESSED_RGBA8_ETC2_EAC                          = 0x9278;
1169 enum GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC                   = 0x9279;
1170 enum GL_COMPRESSED_R11_EAC                                 = 0x9270;
1171 enum GL_COMPRESSED_SIGNED_R11_EAC                          = 0x9271;
1172 enum GL_COMPRESSED_RG11_EAC                                = 0x9272;
1173 enum GL_COMPRESSED_SIGNED_RG11_EAC                         = 0x9273;
1174 enum GL_PRIMITIVE_RESTART_FIXED_INDEX                      = 0x8D69;
1175 enum GL_ANY_SAMPLES_PASSED_CONSERVATIVE                    = 0x8D6A;
1176 enum GL_MAX_ELEMENT_INDEX                                  = 0x8D6B;
1177 enum GL_COMPUTE_SHADER                                     = 0x91B9;
1178 enum GL_MAX_COMPUTE_UNIFORM_BLOCKS                         = 0x91BB;
1179 enum GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS                    = 0x91BC;
1180 enum GL_MAX_COMPUTE_IMAGE_UNIFORMS                         = 0x91BD;
1181 enum GL_MAX_COMPUTE_SHARED_MEMORY_SIZE                     = 0x8262;
1182 enum GL_MAX_COMPUTE_UNIFORM_COMPONENTS                     = 0x8263;
1183 enum GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS                 = 0x8264;
1184 enum GL_MAX_COMPUTE_ATOMIC_COUNTERS                        = 0x8265;
1185 enum GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS            = 0x8266;
1186 enum GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS                 = 0x90EB;
1187 enum GL_MAX_COMPUTE_WORK_GROUP_COUNT                       = 0x91BE;
1188 enum GL_MAX_COMPUTE_WORK_GROUP_SIZE                        = 0x91BF;
1189 enum GL_COMPUTE_WORK_GROUP_SIZE                            = 0x8267;
1190 enum GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER         = 0x90EC;
1191 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED;
1192 enum GL_DISPATCH_INDIRECT_BUFFER                           = 0x90EE;
1193 enum GL_DISPATCH_INDIRECT_BUFFER_BINDING                   = 0x90EF;
1194 enum GL_COMPUTE_SHADER_BIT                                 = 0x00000020;
1195 enum GL_DEBUG_OUTPUT_SYNCHRONOUS                           = 0x8242;
1196 enum GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH                   = 0x8243;
1197 enum GL_DEBUG_CALLBACK_FUNCTION                            = 0x8244;
1198 enum GL_DEBUG_CALLBACK_USER_PARAM                          = 0x8245;
1199 enum GL_DEBUG_SOURCE_API                                   = 0x8246;
1200 enum GL_DEBUG_SOURCE_WINDOW_SYSTEM                         = 0x8247;
1201 enum GL_DEBUG_SOURCE_SHADER_COMPILER                       = 0x8248;
1202 enum GL_DEBUG_SOURCE_THIRD_PARTY                           = 0x8249;
1203 enum GL_DEBUG_SOURCE_APPLICATION                           = 0x824A;
1204 enum GL_DEBUG_SOURCE_OTHER                                 = 0x824B;
1205 enum GL_DEBUG_TYPE_ERROR                                   = 0x824C;
1206 enum GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR                     = 0x824D;
1207 enum GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR                      = 0x824E;
1208 enum GL_DEBUG_TYPE_PORTABILITY                             = 0x824F;
1209 enum GL_DEBUG_TYPE_PERFORMANCE                             = 0x8250;
1210 enum GL_DEBUG_TYPE_OTHER                                   = 0x8251;
1211 enum GL_MAX_DEBUG_MESSAGE_LENGTH                           = 0x9143;
1212 enum GL_MAX_DEBUG_LOGGED_MESSAGES                          = 0x9144;
1213 enum GL_DEBUG_LOGGED_MESSAGES                              = 0x9145;
1214 enum GL_DEBUG_SEVERITY_HIGH                                = 0x9146;
1215 enum GL_DEBUG_SEVERITY_MEDIUM                              = 0x9147;
1216 enum GL_DEBUG_SEVERITY_LOW                                 = 0x9148;
1217 enum GL_DEBUG_TYPE_MARKER                                  = 0x8268;
1218 enum GL_DEBUG_TYPE_PUSH_GROUP                              = 0x8269;
1219 enum GL_DEBUG_TYPE_POP_GROUP                               = 0x826A;
1220 enum GL_DEBUG_SEVERITY_NOTIFICATION                        = 0x826B;
1221 enum GL_MAX_DEBUG_GROUP_STACK_DEPTH                        = 0x826C;
1222 enum GL_DEBUG_GROUP_STACK_DEPTH                            = 0x826D;
1223 enum GL_BUFFER                                             = 0x82E0;
1224 enum GL_SHADER                                             = 0x82E1;
1225 enum GL_PROGRAM                                            = 0x82E2;
1226 enum GL_QUERY                                              = 0x82E3;
1227 enum GL_PROGRAM_PIPELINE                                   = 0x82E4;
1228 enum GL_SAMPLER                                            = 0x82E6;
1229 enum GL_MAX_LABEL_LENGTH                                   = 0x82E8;
1230 enum GL_DEBUG_OUTPUT                                       = 0x92E0;
1231 enum GL_CONTEXT_FLAG_DEBUG_BIT                             = 0x00000002;
1232 enum GL_MAX_UNIFORM_LOCATIONS                              = 0x826E;
1233 enum GL_FRAMEBUFFER_DEFAULT_WIDTH                          = 0x9310;
1234 enum GL_FRAMEBUFFER_DEFAULT_HEIGHT                         = 0x9311;
1235 enum GL_FRAMEBUFFER_DEFAULT_LAYERS                         = 0x9312;
1236 enum GL_FRAMEBUFFER_DEFAULT_SAMPLES                        = 0x9313;
1237 enum GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS         = 0x9314;
1238 enum GL_MAX_FRAMEBUFFER_WIDTH                              = 0x9315;
1239 enum GL_MAX_FRAMEBUFFER_HEIGHT                             = 0x9316;
1240 enum GL_MAX_FRAMEBUFFER_LAYERS                             = 0x9317;
1241 enum GL_MAX_FRAMEBUFFER_SAMPLES                            = 0x9318;
1242 enum GL_INTERNALFORMAT_SUPPORTED                           = 0x826F;
1243 enum GL_INTERNALFORMAT_PREFERRED                           = 0x8270;
1244 enum GL_INTERNALFORMAT_RED_SIZE                            = 0x8271;
1245 enum GL_INTERNALFORMAT_GREEN_SIZE                          = 0x8272;
1246 enum GL_INTERNALFORMAT_BLUE_SIZE                           = 0x8273;
1247 enum GL_INTERNALFORMAT_ALPHA_SIZE                          = 0x8274;
1248 enum GL_INTERNALFORMAT_DEPTH_SIZE                          = 0x8275;
1249 enum GL_INTERNALFORMAT_STENCIL_SIZE                        = 0x8276;
1250 enum GL_INTERNALFORMAT_SHARED_SIZE                         = 0x8277;
1251 enum GL_INTERNALFORMAT_RED_TYPE                            = 0x8278;
1252 enum GL_INTERNALFORMAT_GREEN_TYPE                          = 0x8279;
1253 enum GL_INTERNALFORMAT_BLUE_TYPE                           = 0x827A;
1254 enum GL_INTERNALFORMAT_ALPHA_TYPE                          = 0x827B;
1255 enum GL_INTERNALFORMAT_DEPTH_TYPE                          = 0x827C;
1256 enum GL_INTERNALFORMAT_STENCIL_TYPE                        = 0x827D;
1257 enum GL_MAX_WIDTH                                          = 0x827E;
1258 enum GL_MAX_HEIGHT                                         = 0x827F;
1259 enum GL_MAX_DEPTH                                          = 0x8280;
1260 enum GL_MAX_LAYERS                                         = 0x8281;
1261 enum GL_MAX_COMBINED_DIMENSIONS                            = 0x8282;
1262 enum GL_COLOR_COMPONENTS                                   = 0x8283;
1263 enum GL_DEPTH_COMPONENTS                                   = 0x8284;
1264 enum GL_STENCIL_COMPONENTS                                 = 0x8285;
1265 enum GL_COLOR_RENDERABLE                                   = 0x8286;
1266 enum GL_DEPTH_RENDERABLE                                   = 0x8287;
1267 enum GL_STENCIL_RENDERABLE                                 = 0x8288;
1268 enum GL_FRAMEBUFFER_RENDERABLE                             = 0x8289;
1269 enum GL_FRAMEBUFFER_RENDERABLE_LAYERED                     = 0x828A;
1270 enum GL_FRAMEBUFFER_BLEND                                  = 0x828B;
1271 enum GL_READ_PIXELS                                        = 0x828C;
1272 enum GL_READ_PIXELS_FORMAT                                 = 0x828D;
1273 enum GL_READ_PIXELS_TYPE                                   = 0x828E;
1274 enum GL_TEXTURE_IMAGE_FORMAT                               = 0x828F;
1275 enum GL_TEXTURE_IMAGE_TYPE                                 = 0x8290;
1276 enum GL_GET_TEXTURE_IMAGE_FORMAT                           = 0x8291;
1277 enum GL_GET_TEXTURE_IMAGE_TYPE                             = 0x8292;
1278 enum GL_MIPMAP                                             = 0x8293;
1279 enum GL_MANUAL_GENERATE_MIPMAP                             = 0x8294;
1280 enum GL_AUTO_GENERATE_MIPMAP                               = 0x8295;
1281 enum GL_COLOR_ENCODING                                     = 0x8296;
1282 enum GL_SRGB_READ                                          = 0x8297;
1283 enum GL_SRGB_WRITE                                         = 0x8298;
1284 enum GL_FILTER                                             = 0x829A;
1285 enum GL_VERTEX_TEXTURE                                     = 0x829B;
1286 enum GL_TESS_CONTROL_TEXTURE                               = 0x829C;
1287 enum GL_TESS_EVALUATION_TEXTURE                            = 0x829D;
1288 enum GL_GEOMETRY_TEXTURE                                   = 0x829E;
1289 enum GL_FRAGMENT_TEXTURE                                   = 0x829F;
1290 enum GL_COMPUTE_TEXTURE                                    = 0x82A0;
1291 enum GL_TEXTURE_SHADOW                                     = 0x82A1;
1292 enum GL_TEXTURE_GATHER                                     = 0x82A2;
1293 enum GL_TEXTURE_GATHER_SHADOW                              = 0x82A3;
1294 enum GL_SHADER_IMAGE_LOAD                                  = 0x82A4;
1295 enum GL_SHADER_IMAGE_STORE                                 = 0x82A5;
1296 enum GL_SHADER_IMAGE_ATOMIC                                = 0x82A6;
1297 enum GL_IMAGE_TEXEL_SIZE                                   = 0x82A7;
1298 enum GL_IMAGE_COMPATIBILITY_CLASS                          = 0x82A8;
1299 enum GL_IMAGE_PIXEL_FORMAT                                 = 0x82A9;
1300 enum GL_IMAGE_PIXEL_TYPE                                   = 0x82AA;
1301 enum GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST                = 0x82AC;
1302 enum GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST              = 0x82AD;
1303 enum GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE               = 0x82AE;
1304 enum GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE             = 0x82AF;
1305 enum GL_TEXTURE_COMPRESSED_BLOCK_WIDTH                     = 0x82B1;
1306 enum GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT                    = 0x82B2;
1307 enum GL_TEXTURE_COMPRESSED_BLOCK_SIZE                      = 0x82B3;
1308 enum GL_CLEAR_BUFFER                                       = 0x82B4;
1309 enum GL_TEXTURE_VIEW                                       = 0x82B5;
1310 enum GL_VIEW_COMPATIBILITY_CLASS                           = 0x82B6;
1311 enum GL_FULL_SUPPORT                                       = 0x82B7;
1312 enum GL_CAVEAT_SUPPORT                                     = 0x82B8;
1313 enum GL_IMAGE_CLASS_4_X_32                                 = 0x82B9;
1314 enum GL_IMAGE_CLASS_2_X_32                                 = 0x82BA;
1315 enum GL_IMAGE_CLASS_1_X_32                                 = 0x82BB;
1316 enum GL_IMAGE_CLASS_4_X_16                                 = 0x82BC;
1317 enum GL_IMAGE_CLASS_2_X_16                                 = 0x82BD;
1318 enum GL_IMAGE_CLASS_1_X_16                                 = 0x82BE;
1319 enum GL_IMAGE_CLASS_4_X_8                                  = 0x82BF;
1320 enum GL_IMAGE_CLASS_2_X_8                                  = 0x82C0;
1321 enum GL_IMAGE_CLASS_1_X_8                                  = 0x82C1;
1322 enum GL_IMAGE_CLASS_11_11_10                               = 0x82C2;
1323 enum GL_IMAGE_CLASS_10_10_10_2                             = 0x82C3;
1324 enum GL_VIEW_CLASS_128_BITS                                = 0x82C4;
1325 enum GL_VIEW_CLASS_96_BITS                                 = 0x82C5;
1326 enum GL_VIEW_CLASS_64_BITS                                 = 0x82C6;
1327 enum GL_VIEW_CLASS_48_BITS                                 = 0x82C7;
1328 enum GL_VIEW_CLASS_32_BITS                                 = 0x82C8;
1329 enum GL_VIEW_CLASS_24_BITS                                 = 0x82C9;
1330 enum GL_VIEW_CLASS_16_BITS                                 = 0x82CA;
1331 enum GL_VIEW_CLASS_8_BITS                                  = 0x82CB;
1332 enum GL_VIEW_CLASS_S3TC_DXT1_RGB                           = 0x82CC;
1333 enum GL_VIEW_CLASS_S3TC_DXT1_RGBA                          = 0x82CD;
1334 enum GL_VIEW_CLASS_S3TC_DXT3_RGBA                          = 0x82CE;
1335 enum GL_VIEW_CLASS_S3TC_DXT5_RGBA                          = 0x82CF;
1336 enum GL_VIEW_CLASS_RGTC1_RED                               = 0x82D0;
1337 enum GL_VIEW_CLASS_RGTC2_RG                                = 0x82D1;
1338 enum GL_VIEW_CLASS_BPTC_UNORM                              = 0x82D2;
1339 enum GL_VIEW_CLASS_BPTC_FLOAT                              = 0x82D3;
1340 enum GL_UNIFORM                                            = 0x92E1;
1341 enum GL_UNIFORM_BLOCK                                      = 0x92E2;
1342 enum GL_PROGRAM_INPUT                                      = 0x92E3;
1343 enum GL_PROGRAM_OUTPUT                                     = 0x92E4;
1344 enum GL_BUFFER_VARIABLE                                    = 0x92E5;
1345 enum GL_SHADER_STORAGE_BLOCK                               = 0x92E6;
1346 enum GL_VERTEX_SUBROUTINE                                  = 0x92E8;
1347 enum GL_TESS_CONTROL_SUBROUTINE                            = 0x92E9;
1348 enum GL_TESS_EVALUATION_SUBROUTINE                         = 0x92EA;
1349 enum GL_GEOMETRY_SUBROUTINE                                = 0x92EB;
1350 enum GL_FRAGMENT_SUBROUTINE                                = 0x92EC;
1351 enum GL_COMPUTE_SUBROUTINE                                 = 0x92ED;
1352 enum GL_VERTEX_SUBROUTINE_UNIFORM                          = 0x92EE;
1353 enum GL_TESS_CONTROL_SUBROUTINE_UNIFORM                    = 0x92EF;
1354 enum GL_TESS_EVALUATION_SUBROUTINE_UNIFORM                 = 0x92F0;
1355 enum GL_GEOMETRY_SUBROUTINE_UNIFORM                        = 0x92F1;
1356 enum GL_FRAGMENT_SUBROUTINE_UNIFORM                        = 0x92F2;
1357 enum GL_COMPUTE_SUBROUTINE_UNIFORM                         = 0x92F3;
1358 enum GL_TRANSFORM_FEEDBACK_VARYING                         = 0x92F4;
1359 enum GL_ACTIVE_RESOURCES                                   = 0x92F5;
1360 enum GL_MAX_NAME_LENGTH                                    = 0x92F6;
1361 enum GL_MAX_NUM_ACTIVE_VARIABLES                           = 0x92F7;
1362 enum GL_MAX_NUM_COMPATIBLE_SUBROUTINES                     = 0x92F8;
1363 enum GL_NAME_LENGTH                                        = 0x92F9;
1364 enum GL_TYPE                                               = 0x92FA;
1365 enum GL_ARRAY_SIZE                                         = 0x92FB;
1366 enum GL_OFFSET                                             = 0x92FC;
1367 enum GL_BLOCK_INDEX                                        = 0x92FD;
1368 enum GL_ARRAY_STRIDE                                       = 0x92FE;
1369 enum GL_MATRIX_STRIDE                                      = 0x92FF;
1370 enum GL_IS_ROW_MAJOR                                       = 0x9300;
1371 enum GL_ATOMIC_COUNTER_BUFFER_INDEX                        = 0x9301;
1372 enum GL_BUFFER_BINDING                                     = 0x9302;
1373 enum GL_BUFFER_DATA_SIZE                                   = 0x9303;
1374 enum GL_NUM_ACTIVE_VARIABLES                               = 0x9304;
1375 enum GL_ACTIVE_VARIABLES                                   = 0x9305;
1376 enum GL_REFERENCED_BY_VERTEX_SHADER                        = 0x9306;
1377 enum GL_REFERENCED_BY_TESS_CONTROL_SHADER                  = 0x9307;
1378 enum GL_REFERENCED_BY_TESS_EVALUATION_SHADER               = 0x9308;
1379 enum GL_REFERENCED_BY_GEOMETRY_SHADER                      = 0x9309;
1380 enum GL_REFERENCED_BY_FRAGMENT_SHADER                      = 0x930A;
1381 enum GL_REFERENCED_BY_COMPUTE_SHADER                       = 0x930B;
1382 enum GL_TOP_LEVEL_ARRAY_SIZE                               = 0x930C;
1383 enum GL_TOP_LEVEL_ARRAY_STRIDE                             = 0x930D;
1384 enum GL_LOCATION                                           = 0x930E;
1385 enum GL_LOCATION_INDEX                                     = 0x930F;
1386 enum GL_IS_PER_PATCH                                       = 0x92E7;
1387 enum GL_SHADER_STORAGE_BUFFER                              = 0x90D2;
1388 enum GL_SHADER_STORAGE_BUFFER_BINDING                      = 0x90D3;
1389 enum GL_SHADER_STORAGE_BUFFER_START                        = 0x90D4;
1390 enum GL_SHADER_STORAGE_BUFFER_SIZE                         = 0x90D5;
1391 enum GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS                   = 0x90D6;
1392 enum GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS                 = 0x90D7;
1393 enum GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS             = 0x90D8;
1394 enum GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS          = 0x90D9;
1395 enum GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS                 = 0x90DA;
1396 enum GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS                  = 0x90DB;
1397 enum GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS                 = 0x90DC;
1398 enum GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS                 = 0x90DD;
1399 enum GL_MAX_SHADER_STORAGE_BLOCK_SIZE                      = 0x90DE;
1400 enum GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT             = 0x90DF;
1401 enum GL_SHADER_STORAGE_BARRIER_BIT                         = 0x00002000;
1402 enum GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES               = 0x8F39;
1403 enum GL_DEPTH_STENCIL_TEXTURE_MODE                         = 0x90EA;
1404 enum GL_TEXTURE_BUFFER_OFFSET                              = 0x919D;
1405 enum GL_TEXTURE_BUFFER_SIZE                                = 0x919E;
1406 enum GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT                    = 0x919F;
1407 enum GL_TEXTURE_VIEW_MIN_LEVEL                             = 0x82DB;
1408 enum GL_TEXTURE_VIEW_NUM_LEVELS                            = 0x82DC;
1409 enum GL_TEXTURE_VIEW_MIN_LAYER                             = 0x82DD;
1410 enum GL_TEXTURE_VIEW_NUM_LAYERS                            = 0x82DE;
1411 enum GL_TEXTURE_IMMUTABLE_LEVELS                           = 0x82DF;
1412 enum GL_VERTEX_ATTRIB_BINDING                              = 0x82D4;
1413 enum GL_VERTEX_ATTRIB_RELATIVE_OFFSET                      = 0x82D5;
1414 enum GL_VERTEX_BINDING_DIVISOR                             = 0x82D6;
1415 enum GL_VERTEX_BINDING_OFFSET                              = 0x82D7;
1416 enum GL_VERTEX_BINDING_STRIDE                              = 0x82D8;
1417 enum GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET                  = 0x82D9;
1418 enum GL_MAX_VERTEX_ATTRIB_BINDINGS                         = 0x82DA;
1419 enum GL_VERTEX_BINDING_BUFFER                              = 0x8F4F;
1420 
1421 // Constants for GL_VERSION_4_4
1422 enum GL_MAX_VERTEX_ATTRIB_STRIDE                = 0x82E5;
1423 enum GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221;
1424 enum GL_TEXTURE_BUFFER_BINDING                  = 0x8C2A;
1425 enum GL_MAP_PERSISTENT_BIT                      = 0x0040;
1426 enum GL_MAP_COHERENT_BIT                        = 0x0080;
1427 enum GL_DYNAMIC_STORAGE_BIT                     = 0x0100;
1428 enum GL_CLIENT_STORAGE_BIT                      = 0x0200;
1429 enum GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT        = 0x00004000;
1430 enum GL_BUFFER_IMMUTABLE_STORAGE                = 0x821F;
1431 enum GL_BUFFER_STORAGE_FLAGS                    = 0x8220;
1432 enum GL_CLEAR_TEXTURE                           = 0x9365;
1433 enum GL_LOCATION_COMPONENT                      = 0x934A;
1434 enum GL_TRANSFORM_FEEDBACK_BUFFER_INDEX         = 0x934B;
1435 enum GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE        = 0x934C;
1436 enum GL_QUERY_BUFFER                            = 0x9192;
1437 enum GL_QUERY_BUFFER_BARRIER_BIT                = 0x00008000;
1438 enum GL_QUERY_BUFFER_BINDING                    = 0x9193;
1439 enum GL_QUERY_RESULT_NO_WAIT                    = 0x9194;
1440 enum GL_MIRROR_CLAMP_TO_EDGE                    = 0x8743;
1441 
1442 // Constants for GL_VERSION_4_5
1443 enum GL_CONTEXT_LOST                         = 0x0507;
1444 enum GL_NEGATIVE_ONE_TO_ONE                  = 0x935E;
1445 enum GL_ZERO_TO_ONE                          = 0x935F;
1446 enum GL_CLIP_ORIGIN                          = 0x935C;
1447 enum GL_CLIP_DEPTH_MODE                      = 0x935D;
1448 enum GL_QUERY_WAIT_INVERTED                  = 0x8E17;
1449 enum GL_QUERY_NO_WAIT_INVERTED               = 0x8E18;
1450 enum GL_QUERY_BY_REGION_WAIT_INVERTED        = 0x8E19;
1451 enum GL_QUERY_BY_REGION_NO_WAIT_INVERTED     = 0x8E1A;
1452 enum GL_MAX_CULL_DISTANCES                   = 0x82F9;
1453 enum GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA;
1454 enum GL_TEXTURE_TARGET                       = 0x1006;
1455 enum GL_QUERY_TARGET                         = 0x82EA;
1456 enum GL_GUILTY_CONTEXT_RESET                 = 0x8253;
1457 enum GL_INNOCENT_CONTEXT_RESET               = 0x8254;
1458 enum GL_UNKNOWN_CONTEXT_RESET                = 0x8255;
1459 enum GL_RESET_NOTIFICATION_STRATEGY          = 0x8256;
1460 enum GL_LOSE_CONTEXT_ON_RESET                = 0x8252;
1461 enum GL_NO_RESET_NOTIFICATION                = 0x8261;
1462 enum GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT       = 0x00000004;
1463 enum GL_CONTEXT_RELEASE_BEHAVIOR             = 0x82FB;
1464 enum GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH       = 0x82FC;
1465 
1466 // Constants for GL_VERSION_4_6
1467 enum GL_SHADER_BINARY_FORMAT_SPIR_V        = 0x9551;
1468 enum GL_SPIR_V_BINARY                      = 0x9552;
1469 enum GL_PARAMETER_BUFFER                   = 0x80EE;
1470 enum GL_PARAMETER_BUFFER_BINDING           = 0x80EF;
1471 enum GL_CONTEXT_FLAG_NO_ERROR_BIT          = 0x00000008;
1472 enum GL_VERTICES_SUBMITTED                 = 0x82EE;
1473 enum GL_PRIMITIVES_SUBMITTED               = 0x82EF;
1474 enum GL_VERTEX_SHADER_INVOCATIONS          = 0x82F0;
1475 enum GL_TESS_CONTROL_SHADER_PATCHES        = 0x82F1;
1476 enum GL_TESS_EVALUATION_SHADER_INVOCATIONS = 0x82F2;
1477 enum GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82F3;
1478 enum GL_FRAGMENT_SHADER_INVOCATIONS        = 0x82F4;
1479 enum GL_COMPUTE_SHADER_INVOCATIONS         = 0x82F5;
1480 enum GL_CLIPPING_INPUT_PRIMITIVES          = 0x82F6;
1481 enum GL_CLIPPING_OUTPUT_PRIMITIVES         = 0x82F7;
1482 enum GL_POLYGON_OFFSET_CLAMP               = 0x8E1B;
1483 enum GL_SPIR_V_EXTENSIONS                  = 0x9553;
1484 enum GL_NUM_SPIR_V_EXTENSIONS              = 0x9554;
1485 enum GL_TEXTURE_MAX_ANISOTROPY             = 0x84FE;
1486 enum GL_MAX_TEXTURE_MAX_ANISOTROPY         = 0x84FF;
1487 enum GL_TRANSFORM_FEEDBACK_OVERFLOW        = 0x82EC;
1488 enum GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ED;
1489 
1490 // Constants for GL_ARB_ES3_2_compatibility
1491 enum GL_PRIMITIVE_BOUNDING_BOX_ARB             = 0x92BE;
1492 enum GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB       = 0x9381;
1493 enum GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382;
1494 
1495 // Constants for GL_ARB_bindless_texture
1496 enum GL_UNSIGNED_INT64_ARB = 0x140F;
1497 
1498 // Constants for GL_ARB_cl_event
1499 enum GL_SYNC_CL_EVENT_ARB          = 0x8240;
1500 enum GL_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241;
1501 
1502 // Constants for GL_ARB_compute_variable_group_size
1503 enum GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344;
1504 enum GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB    = 0x90EB;
1505 enum GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB        = 0x9345;
1506 enum GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB           = 0x91BF;
1507 
1508 // Constants for GL_ARB_debug_output
1509 enum GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB         = 0x8242;
1510 enum GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243;
1511 enum GL_DEBUG_CALLBACK_FUNCTION_ARB          = 0x8244;
1512 enum GL_DEBUG_CALLBACK_USER_PARAM_ARB        = 0x8245;
1513 enum GL_DEBUG_SOURCE_API_ARB                 = 0x8246;
1514 enum GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB       = 0x8247;
1515 enum GL_DEBUG_SOURCE_SHADER_COMPILER_ARB     = 0x8248;
1516 enum GL_DEBUG_SOURCE_THIRD_PARTY_ARB         = 0x8249;
1517 enum GL_DEBUG_SOURCE_APPLICATION_ARB         = 0x824A;
1518 enum GL_DEBUG_SOURCE_OTHER_ARB               = 0x824B;
1519 enum GL_DEBUG_TYPE_ERROR_ARB                 = 0x824C;
1520 enum GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB   = 0x824D;
1521 enum GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB    = 0x824E;
1522 enum GL_DEBUG_TYPE_PORTABILITY_ARB           = 0x824F;
1523 enum GL_DEBUG_TYPE_PERFORMANCE_ARB           = 0x8250;
1524 enum GL_DEBUG_TYPE_OTHER_ARB                 = 0x8251;
1525 enum GL_MAX_DEBUG_MESSAGE_LENGTH_ARB         = 0x9143;
1526 enum GL_MAX_DEBUG_LOGGED_MESSAGES_ARB        = 0x9144;
1527 enum GL_DEBUG_LOGGED_MESSAGES_ARB            = 0x9145;
1528 enum GL_DEBUG_SEVERITY_HIGH_ARB              = 0x9146;
1529 enum GL_DEBUG_SEVERITY_MEDIUM_ARB            = 0x9147;
1530 enum GL_DEBUG_SEVERITY_LOW_ARB               = 0x9148;
1531 
1532 // Constants for GL_ARB_geometry_shader4
1533 enum GL_LINES_ADJACENCY_ARB                      = 0x000A;
1534 enum GL_LINE_STRIP_ADJACENCY_ARB                 = 0x000B;
1535 enum GL_TRIANGLES_ADJACENCY_ARB                  = 0x000C;
1536 enum GL_TRIANGLE_STRIP_ADJACENCY_ARB             = 0x000D;
1537 enum GL_PROGRAM_POINT_SIZE_ARB                   = 0x8642;
1538 enum GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB     = 0x8C29;
1539 enum GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB       = 0x8DA7;
1540 enum GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8;
1541 enum GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB   = 0x8DA9;
1542 enum GL_GEOMETRY_SHADER_ARB                      = 0x8DD9;
1543 enum GL_GEOMETRY_VERTICES_OUT_ARB                = 0x8DDA;
1544 enum GL_GEOMETRY_INPUT_TYPE_ARB                  = 0x8DDB;
1545 enum GL_GEOMETRY_OUTPUT_TYPE_ARB                 = 0x8DDC;
1546 enum GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB      = 0x8DDD;
1547 enum GL_MAX_VERTEX_VARYING_COMPONENTS_ARB        = 0x8DDE;
1548 enum GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB      = 0x8DDF;
1549 enum GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB         = 0x8DE0;
1550 enum GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1;
1551 
1552 // Constants for GL_ARB_gl_spirv
1553 enum GL_SHADER_BINARY_FORMAT_SPIR_V_ARB = 0x9551;
1554 enum GL_SPIR_V_BINARY_ARB               = 0x9552;
1555 
1556 // Constants for GL_ARB_gpu_shader_int64
1557 enum GL_INT64_ARB               = 0x140E;
1558 enum GL_INT64_VEC2_ARB          = 0x8FE9;
1559 enum GL_INT64_VEC3_ARB          = 0x8FEA;
1560 enum GL_INT64_VEC4_ARB          = 0x8FEB;
1561 enum GL_UNSIGNED_INT64_VEC2_ARB = 0x8FF5;
1562 enum GL_UNSIGNED_INT64_VEC3_ARB = 0x8FF6;
1563 enum GL_UNSIGNED_INT64_VEC4_ARB = 0x8FF7;
1564 
1565 // Constants for GL_ARB_indirect_parameters
1566 enum GL_PARAMETER_BUFFER_ARB         = 0x80EE;
1567 enum GL_PARAMETER_BUFFER_BINDING_ARB = 0x80EF;
1568 
1569 // Constants for GL_ARB_instanced_arrays
1570 enum GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE;
1571 
1572 // Constants for GL_ARB_internalformat_query2
1573 enum GL_SRGB_DECODE_ARB = 0x8299;
1574 
1575 // Constants for GL_ARB_parallel_shader_compile
1576 enum GL_MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0;
1577 enum GL_COMPLETION_STATUS_ARB           = 0x91B1;
1578 
1579 // Constants for GL_ARB_pipeline_statistics_query
1580 enum GL_VERTICES_SUBMITTED_ARB                 = 0x82EE;
1581 enum GL_PRIMITIVES_SUBMITTED_ARB               = 0x82EF;
1582 enum GL_VERTEX_SHADER_INVOCATIONS_ARB          = 0x82F0;
1583 enum GL_TESS_CONTROL_SHADER_PATCHES_ARB        = 0x82F1;
1584 enum GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2;
1585 enum GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3;
1586 enum GL_FRAGMENT_SHADER_INVOCATIONS_ARB        = 0x82F4;
1587 enum GL_COMPUTE_SHADER_INVOCATIONS_ARB         = 0x82F5;
1588 enum GL_CLIPPING_INPUT_PRIMITIVES_ARB          = 0x82F6;
1589 enum GL_CLIPPING_OUTPUT_PRIMITIVES_ARB         = 0x82F7;
1590 
1591 // Constants for GL_ARB_pixel_buffer_object
1592 enum GL_PIXEL_PACK_BUFFER_ARB           = 0x88EB;
1593 enum GL_PIXEL_UNPACK_BUFFER_ARB         = 0x88EC;
1594 enum GL_PIXEL_PACK_BUFFER_BINDING_ARB   = 0x88ED;
1595 enum GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF;
1596 
1597 // Constants for GL_ARB_robustness
1598 enum GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004;
1599 enum GL_LOSE_CONTEXT_ON_RESET_ARB          = 0x8252;
1600 enum GL_GUILTY_CONTEXT_RESET_ARB           = 0x8253;
1601 enum GL_INNOCENT_CONTEXT_RESET_ARB         = 0x8254;
1602 enum GL_UNKNOWN_CONTEXT_RESET_ARB          = 0x8255;
1603 enum GL_RESET_NOTIFICATION_STRATEGY_ARB    = 0x8256;
1604 enum GL_NO_RESET_NOTIFICATION_ARB          = 0x8261;
1605 
1606 // Constants for GL_ARB_sample_locations
1607 enum GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB             = 0x933D;
1608 enum GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB          = 0x933E;
1609 enum GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB         = 0x933F;
1610 enum GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB   = 0x9340;
1611 enum GL_SAMPLE_LOCATION_ARB                           = 0x8E50;
1612 enum GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB              = 0x9341;
1613 enum GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342;
1614 enum GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB    = 0x9343;
1615 
1616 // Constants for GL_ARB_sample_shading
1617 enum GL_SAMPLE_SHADING_ARB           = 0x8C36;
1618 enum GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37;
1619 
1620 // Constants for GL_ARB_shading_language_include
1621 enum GL_SHADER_INCLUDE_ARB      = 0x8DAE;
1622 enum GL_NAMED_STRING_LENGTH_ARB = 0x8DE9;
1623 enum GL_NAMED_STRING_TYPE_ARB   = 0x8DEA;
1624 
1625 // Constants for GL_ARB_sparse_buffer
1626 enum GL_SPARSE_STORAGE_BIT_ARB      = 0x0400;
1627 enum GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8;
1628 
1629 // Constants for GL_ARB_sparse_texture
1630 enum GL_TEXTURE_SPARSE_ARB                         = 0x91A6;
1631 enum GL_VIRTUAL_PAGE_SIZE_INDEX_ARB                = 0x91A7;
1632 enum GL_NUM_SPARSE_LEVELS_ARB                      = 0x91AA;
1633 enum GL_NUM_VIRTUAL_PAGE_SIZES_ARB                 = 0x91A8;
1634 enum GL_VIRTUAL_PAGE_SIZE_X_ARB                    = 0x9195;
1635 enum GL_VIRTUAL_PAGE_SIZE_Y_ARB                    = 0x9196;
1636 enum GL_VIRTUAL_PAGE_SIZE_Z_ARB                    = 0x9197;
1637 enum GL_MAX_SPARSE_TEXTURE_SIZE_ARB                = 0x9198;
1638 enum GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB             = 0x9199;
1639 enum GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB        = 0x919A;
1640 enum GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9;
1641 
1642 // Constants for GL_ARB_texture_border_clamp
1643 enum GL_CLAMP_TO_BORDER_ARB = 0x812D;
1644 
1645 // Constants for GL_ARB_texture_buffer_object
1646 enum GL_TEXTURE_BUFFER_ARB                    = 0x8C2A;
1647 enum GL_MAX_TEXTURE_BUFFER_SIZE_ARB           = 0x8C2B;
1648 enum GL_TEXTURE_BINDING_BUFFER_ARB            = 0x8C2C;
1649 enum GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D;
1650 enum GL_TEXTURE_BUFFER_FORMAT_ARB             = 0x8C2E;
1651 
1652 // Constants for GL_ARB_texture_compression_bptc
1653 enum GL_COMPRESSED_RGBA_BPTC_UNORM_ARB         = 0x8E8C;
1654 enum GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB   = 0x8E8D;
1655 enum GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB   = 0x8E8E;
1656 enum GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F;
1657 
1658 // Constants for GL_ARB_texture_cube_map_array
1659 enum GL_TEXTURE_CUBE_MAP_ARRAY_ARB              = 0x9009;
1660 enum GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB      = 0x900A;
1661 enum GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB        = 0x900B;
1662 enum GL_SAMPLER_CUBE_MAP_ARRAY_ARB              = 0x900C;
1663 enum GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB       = 0x900D;
1664 enum GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB          = 0x900E;
1665 enum GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F;
1666 
1667 // Constants for GL_ARB_texture_filter_minmax
1668 enum GL_TEXTURE_REDUCTION_MODE_ARB = 0x9366;
1669 enum GL_WEIGHTED_AVERAGE_ARB       = 0x9367;
1670 
1671 // Constants for GL_ARB_texture_gather
1672 enum GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB     = 0x8E5E;
1673 enum GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB     = 0x8E5F;
1674 enum GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F;
1675 
1676 // Constants for GL_ARB_texture_mirrored_repeat
1677 enum GL_MIRRORED_REPEAT_ARB = 0x8370;
1678 
1679 // Constants for GL_ARB_transform_feedback_overflow_query
1680 enum GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB        = 0x82EC;
1681 enum GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED;
1682 
1683 // Constants for GL_KHR_blend_equation_advanced
1684 enum GL_MULTIPLY_KHR       = 0x9294;
1685 enum GL_SCREEN_KHR         = 0x9295;
1686 enum GL_OVERLAY_KHR        = 0x9296;
1687 enum GL_DARKEN_KHR         = 0x9297;
1688 enum GL_LIGHTEN_KHR        = 0x9298;
1689 enum GL_COLORDODGE_KHR     = 0x9299;
1690 enum GL_COLORBURN_KHR      = 0x929A;
1691 enum GL_HARDLIGHT_KHR      = 0x929B;
1692 enum GL_SOFTLIGHT_KHR      = 0x929C;
1693 enum GL_DIFFERENCE_KHR     = 0x929E;
1694 enum GL_EXCLUSION_KHR      = 0x92A0;
1695 enum GL_HSL_HUE_KHR        = 0x92AD;
1696 enum GL_HSL_SATURATION_KHR = 0x92AE;
1697 enum GL_HSL_COLOR_KHR      = 0x92AF;
1698 enum GL_HSL_LUMINOSITY_KHR = 0x92B0;
1699 
1700 // Constants for GL_KHR_blend_equation_advanced_coherent
1701 enum GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285;
1702 
1703 // Constants for GL_KHR_no_error
1704 enum GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008;
1705 
1706 // Constants for GL_KHR_parallel_shader_compile
1707 enum GL_MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0;
1708 enum GL_COMPLETION_STATUS_KHR           = 0x91B1;
1709 
1710 // Constants for GL_KHR_robustness
1711 enum GL_CONTEXT_ROBUST_ACCESS = 0x90F3;
1712 
1713 // Constants for GL_KHR_texture_compression_astc_hdr
1714 enum GL_COMPRESSED_RGBA_ASTC_4x4_KHR           = 0x93B0;
1715 enum GL_COMPRESSED_RGBA_ASTC_5x4_KHR           = 0x93B1;
1716 enum GL_COMPRESSED_RGBA_ASTC_5x5_KHR           = 0x93B2;
1717 enum GL_COMPRESSED_RGBA_ASTC_6x5_KHR           = 0x93B3;
1718 enum GL_COMPRESSED_RGBA_ASTC_6x6_KHR           = 0x93B4;
1719 enum GL_COMPRESSED_RGBA_ASTC_8x5_KHR           = 0x93B5;
1720 enum GL_COMPRESSED_RGBA_ASTC_8x6_KHR           = 0x93B6;
1721 enum GL_COMPRESSED_RGBA_ASTC_8x8_KHR           = 0x93B7;
1722 enum GL_COMPRESSED_RGBA_ASTC_10x5_KHR          = 0x93B8;
1723 enum GL_COMPRESSED_RGBA_ASTC_10x6_KHR          = 0x93B9;
1724 enum GL_COMPRESSED_RGBA_ASTC_10x8_KHR          = 0x93BA;
1725 enum GL_COMPRESSED_RGBA_ASTC_10x10_KHR         = 0x93BB;
1726 enum GL_COMPRESSED_RGBA_ASTC_12x10_KHR         = 0x93BC;
1727 enum GL_COMPRESSED_RGBA_ASTC_12x12_KHR         = 0x93BD;
1728 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR   = 0x93D0;
1729 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR   = 0x93D1;
1730 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR   = 0x93D2;
1731 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR   = 0x93D3;
1732 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR   = 0x93D4;
1733 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR   = 0x93D5;
1734 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR   = 0x93D6;
1735 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR   = 0x93D7;
1736 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR  = 0x93D8;
1737 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR  = 0x93D9;
1738 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR  = 0x93DA;
1739 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB;
1740 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC;
1741 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD;
1742 
1743 // Constants for GL_AMD_performance_monitor
1744 enum GL_COUNTER_TYPE_AMD             = 0x8BC0;
1745 enum GL_COUNTER_RANGE_AMD            = 0x8BC1;
1746 enum GL_UNSIGNED_INT64_AMD           = 0x8BC2;
1747 enum GL_PERCENTAGE_AMD               = 0x8BC3;
1748 enum GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4;
1749 enum GL_PERFMON_RESULT_SIZE_AMD      = 0x8BC5;
1750 enum GL_PERFMON_RESULT_AMD           = 0x8BC6;
1751 
1752 // Constants for GL_APPLE_rgb_422
1753 enum GL_RGB_422_APPLE                = 0x8A1F;
1754 enum GL_UNSIGNED_SHORT_8_8_APPLE     = 0x85BA;
1755 enum GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB;
1756 enum GL_RGB_RAW_422_APPLE            = 0x8A51;
1757 
1758 // Constants for GL_EXT_debug_label
1759 enum GL_PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F;
1760 enum GL_PROGRAM_OBJECT_EXT          = 0x8B40;
1761 enum GL_SHADER_OBJECT_EXT           = 0x8B48;
1762 enum GL_BUFFER_OBJECT_EXT           = 0x9151;
1763 enum GL_QUERY_OBJECT_EXT            = 0x9153;
1764 enum GL_VERTEX_ARRAY_OBJECT_EXT     = 0x9154;
1765 
1766 // Constants for GL_EXT_direct_state_access
1767 enum GL_PROGRAM_MATRIX_EXT             = 0x8E2D;
1768 enum GL_TRANSPOSE_PROGRAM_MATRIX_EXT   = 0x8E2E;
1769 enum GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F;
1770 
1771 // Constants for GL_EXT_polygon_offset_clamp
1772 enum GL_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B;
1773 
1774 // Constants for GL_EXT_raster_multisample
1775 enum GL_RASTER_MULTISAMPLE_EXT                = 0x9327;
1776 enum GL_RASTER_SAMPLES_EXT                    = 0x9328;
1777 enum GL_MAX_RASTER_SAMPLES_EXT                = 0x9329;
1778 enum GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT     = 0x932A;
1779 enum GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B;
1780 enum GL_EFFECTIVE_RASTER_SAMPLES_EXT          = 0x932C;
1781 
1782 // Constants for GL_EXT_separate_shader_objects
1783 enum GL_ACTIVE_PROGRAM_EXT = 0x8B8D;
1784 
1785 // Constants for GL_EXT_texture_compression_s3tc
1786 enum GL_COMPRESSED_RGB_S3TC_DXT1_EXT  = 0x83F0;
1787 enum GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1;
1788 enum GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2;
1789 enum GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3;
1790 
1791 // Constants for GL_EXT_texture_filter_minmax
1792 enum GL_TEXTURE_REDUCTION_MODE_EXT = 0x9366;
1793 enum GL_WEIGHTED_AVERAGE_EXT       = 0x9367;
1794 
1795 // Constants for GL_EXT_texture_sRGB_decode
1796 enum GL_TEXTURE_SRGB_DECODE_EXT = 0x8A48;
1797 enum GL_DECODE_EXT              = 0x8A49;
1798 enum GL_SKIP_DECODE_EXT         = 0x8A4A;
1799 
1800 // Constants for GL_EXT_window_rectangles
1801 enum GL_INCLUSIVE_EXT             = 0x8F10;
1802 enum GL_EXCLUSIVE_EXT             = 0x8F11;
1803 enum GL_WINDOW_RECTANGLE_EXT      = 0x8F12;
1804 enum GL_WINDOW_RECTANGLE_MODE_EXT = 0x8F13;
1805 enum GL_MAX_WINDOW_RECTANGLES_EXT = 0x8F14;
1806 enum GL_NUM_WINDOW_RECTANGLES_EXT = 0x8F15;
1807 
1808 // Constants for GL_INTEL_conservative_rasterization
1809 enum GL_CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE;
1810 
1811 // Constants for GL_INTEL_performance_query
1812 enum GL_PERFQUERY_SINGLE_CONTEXT_INTEL          = 0x00000000;
1813 enum GL_PERFQUERY_GLOBAL_CONTEXT_INTEL          = 0x00000001;
1814 enum GL_PERFQUERY_WAIT_INTEL                    = 0x83FB;
1815 enum GL_PERFQUERY_FLUSH_INTEL                   = 0x83FA;
1816 enum GL_PERFQUERY_DONOT_FLUSH_INTEL             = 0x83F9;
1817 enum GL_PERFQUERY_COUNTER_EVENT_INTEL           = 0x94F0;
1818 enum GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL   = 0x94F1;
1819 enum GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL    = 0x94F2;
1820 enum GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL      = 0x94F3;
1821 enum GL_PERFQUERY_COUNTER_RAW_INTEL             = 0x94F4;
1822 enum GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL       = 0x94F5;
1823 enum GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL     = 0x94F8;
1824 enum GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL     = 0x94F9;
1825 enum GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL      = 0x94FA;
1826 enum GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL     = 0x94FB;
1827 enum GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL     = 0x94FC;
1828 enum GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL   = 0x94FD;
1829 enum GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE;
1830 enum GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF;
1831 enum GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL   = 0x9500;
1832 
1833 // Constants for GL_NV_blend_equation_advanced
1834 enum GL_BLEND_OVERLAP_NV           = 0x9281;
1835 enum GL_BLEND_PREMULTIPLIED_SRC_NV = 0x9280;
1836 enum GL_BLUE_NV                    = 0x1905;
1837 enum GL_COLORBURN_NV               = 0x929A;
1838 enum GL_COLORDODGE_NV              = 0x9299;
1839 enum GL_CONJOINT_NV                = 0x9284;
1840 enum GL_CONTRAST_NV                = 0x92A1;
1841 enum GL_DARKEN_NV                  = 0x9297;
1842 enum GL_DIFFERENCE_NV              = 0x929E;
1843 enum GL_DISJOINT_NV                = 0x9283;
1844 enum GL_DST_ATOP_NV                = 0x928F;
1845 enum GL_DST_IN_NV                  = 0x928B;
1846 enum GL_DST_NV                     = 0x9287;
1847 enum GL_DST_OUT_NV                 = 0x928D;
1848 enum GL_DST_OVER_NV                = 0x9289;
1849 enum GL_EXCLUSION_NV               = 0x92A0;
1850 enum GL_GREEN_NV                   = 0x1904;
1851 enum GL_HARDLIGHT_NV               = 0x929B;
1852 enum GL_HARDMIX_NV                 = 0x92A9;
1853 enum GL_HSL_COLOR_NV               = 0x92AF;
1854 enum GL_HSL_HUE_NV                 = 0x92AD;
1855 enum GL_HSL_LUMINOSITY_NV          = 0x92B0;
1856 enum GL_HSL_SATURATION_NV          = 0x92AE;
1857 enum GL_INVERT_OVG_NV              = 0x92B4;
1858 enum GL_INVERT_RGB_NV              = 0x92A3;
1859 enum GL_LIGHTEN_NV                 = 0x9298;
1860 enum GL_LINEARBURN_NV              = 0x92A5;
1861 enum GL_LINEARDODGE_NV             = 0x92A4;
1862 enum GL_LINEARLIGHT_NV             = 0x92A7;
1863 enum GL_MINUS_CLAMPED_NV           = 0x92B3;
1864 enum GL_MINUS_NV                   = 0x929F;
1865 enum GL_MULTIPLY_NV                = 0x9294;
1866 enum GL_OVERLAY_NV                 = 0x9296;
1867 enum GL_PINLIGHT_NV                = 0x92A8;
1868 enum GL_PLUS_CLAMPED_ALPHA_NV      = 0x92B2;
1869 enum GL_PLUS_CLAMPED_NV            = 0x92B1;
1870 enum GL_PLUS_DARKER_NV             = 0x9292;
1871 enum GL_PLUS_NV                    = 0x9291;
1872 enum GL_RED_NV                     = 0x1903;
1873 enum GL_SCREEN_NV                  = 0x9295;
1874 enum GL_SOFTLIGHT_NV               = 0x929C;
1875 enum GL_SRC_ATOP_NV                = 0x928E;
1876 enum GL_SRC_IN_NV                  = 0x928A;
1877 enum GL_SRC_NV                     = 0x9286;
1878 enum GL_SRC_OUT_NV                 = 0x928C;
1879 enum GL_SRC_OVER_NV                = 0x9288;
1880 enum GL_UNCORRELATED_NV            = 0x9282;
1881 enum GL_VIVIDLIGHT_NV              = 0x92A6;
1882 enum GL_XOR_NV                     = 0x1506;
1883 
1884 // Constants for GL_NV_blend_equation_advanced_coherent
1885 enum GL_BLEND_ADVANCED_COHERENT_NV = 0x9285;
1886 
1887 // Constants for GL_NV_blend_minmax_factor
1888 enum GL_FACTOR_MIN_AMD = 0x901C;
1889 enum GL_FACTOR_MAX_AMD = 0x901D;
1890 
1891 // Constants for GL_NV_clip_space_w_scaling
1892 enum GL_VIEWPORT_POSITION_W_SCALE_NV         = 0x937C;
1893 enum GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D;
1894 enum GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E;
1895 
1896 // Constants for GL_NV_command_list
1897 enum GL_TERMINATE_SEQUENCE_COMMAND_NV      = 0x0000;
1898 enum GL_NOP_COMMAND_NV                     = 0x0001;
1899 enum GL_DRAW_ELEMENTS_COMMAND_NV           = 0x0002;
1900 enum GL_DRAW_ARRAYS_COMMAND_NV             = 0x0003;
1901 enum GL_DRAW_ELEMENTS_STRIP_COMMAND_NV     = 0x0004;
1902 enum GL_DRAW_ARRAYS_STRIP_COMMAND_NV       = 0x0005;
1903 enum GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006;
1904 enum GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV   = 0x0007;
1905 enum GL_ELEMENT_ADDRESS_COMMAND_NV         = 0x0008;
1906 enum GL_ATTRIBUTE_ADDRESS_COMMAND_NV       = 0x0009;
1907 enum GL_UNIFORM_ADDRESS_COMMAND_NV         = 0x000A;
1908 enum GL_BLEND_COLOR_COMMAND_NV             = 0x000B;
1909 enum GL_STENCIL_REF_COMMAND_NV             = 0x000C;
1910 enum GL_LINE_WIDTH_COMMAND_NV              = 0x000D;
1911 enum GL_POLYGON_OFFSET_COMMAND_NV          = 0x000E;
1912 enum GL_ALPHA_REF_COMMAND_NV               = 0x000F;
1913 enum GL_VIEWPORT_COMMAND_NV                = 0x0010;
1914 enum GL_SCISSOR_COMMAND_NV                 = 0x0011;
1915 enum GL_FRONT_FACE_COMMAND_NV              = 0x0012;
1916 
1917 // Constants for GL_NV_conditional_render
1918 enum GL_QUERY_WAIT_NV              = 0x8E13;
1919 enum GL_QUERY_NO_WAIT_NV           = 0x8E14;
1920 enum GL_QUERY_BY_REGION_WAIT_NV    = 0x8E15;
1921 enum GL_QUERY_BY_REGION_NO_WAIT_NV = 0x8E16;
1922 
1923 // Constants for GL_NV_conservative_raster
1924 enum GL_CONSERVATIVE_RASTERIZATION_NV       = 0x9346;
1925 enum GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV   = 0x9347;
1926 enum GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV   = 0x9348;
1927 enum GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349;
1928 
1929 // Constants for GL_NV_conservative_raster_dilate
1930 enum GL_CONSERVATIVE_RASTER_DILATE_NV             = 0x9379;
1931 enum GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV       = 0x937A;
1932 enum GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B;
1933 
1934 // Constants for GL_NV_conservative_raster_pre_snap
1935 enum GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = 0x9550;
1936 
1937 // Constants for GL_NV_conservative_raster_pre_snap_triangles
1938 enum GL_CONSERVATIVE_RASTER_MODE_NV                    = 0x954D;
1939 enum GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV          = 0x954E;
1940 enum GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F;
1941 
1942 // Constants for GL_NV_fill_rectangle
1943 enum GL_FILL_RECTANGLE_NV = 0x933C;
1944 
1945 // Constants for GL_NV_fragment_coverage_to_color
1946 enum GL_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD;
1947 enum GL_FRAGMENT_COVERAGE_COLOR_NV    = 0x92DE;
1948 
1949 // Constants for GL_NV_framebuffer_mixed_samples
1950 enum GL_COVERAGE_MODULATION_TABLE_NV       = 0x9331;
1951 enum GL_COLOR_SAMPLES_NV                   = 0x8E20;
1952 enum GL_DEPTH_SAMPLES_NV                   = 0x932D;
1953 enum GL_STENCIL_SAMPLES_NV                 = 0x932E;
1954 enum GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV   = 0x932F;
1955 enum GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330;
1956 enum GL_COVERAGE_MODULATION_NV             = 0x9332;
1957 enum GL_COVERAGE_MODULATION_TABLE_SIZE_NV  = 0x9333;
1958 
1959 // Constants for GL_NV_framebuffer_multisample_coverage
1960 enum GL_RENDERBUFFER_COVERAGE_SAMPLES_NV  = 0x8CAB;
1961 enum GL_RENDERBUFFER_COLOR_SAMPLES_NV     = 0x8E10;
1962 enum GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11;
1963 enum GL_MULTISAMPLE_COVERAGE_MODES_NV     = 0x8E12;
1964 
1965 // Constants for GL_NV_gpu_shader5
1966 enum GL_INT64_NV               = 0x140E;
1967 enum GL_UNSIGNED_INT64_NV      = 0x140F;
1968 enum GL_INT8_NV                = 0x8FE0;
1969 enum GL_INT8_VEC2_NV           = 0x8FE1;
1970 enum GL_INT8_VEC3_NV           = 0x8FE2;
1971 enum GL_INT8_VEC4_NV           = 0x8FE3;
1972 enum GL_INT16_NV               = 0x8FE4;
1973 enum GL_INT16_VEC2_NV          = 0x8FE5;
1974 enum GL_INT16_VEC3_NV          = 0x8FE6;
1975 enum GL_INT16_VEC4_NV          = 0x8FE7;
1976 enum GL_INT64_VEC2_NV          = 0x8FE9;
1977 enum GL_INT64_VEC3_NV          = 0x8FEA;
1978 enum GL_INT64_VEC4_NV          = 0x8FEB;
1979 enum GL_UNSIGNED_INT8_NV       = 0x8FEC;
1980 enum GL_UNSIGNED_INT8_VEC2_NV  = 0x8FED;
1981 enum GL_UNSIGNED_INT8_VEC3_NV  = 0x8FEE;
1982 enum GL_UNSIGNED_INT8_VEC4_NV  = 0x8FEF;
1983 enum GL_UNSIGNED_INT16_NV      = 0x8FF0;
1984 enum GL_UNSIGNED_INT16_VEC2_NV = 0x8FF1;
1985 enum GL_UNSIGNED_INT16_VEC3_NV = 0x8FF2;
1986 enum GL_UNSIGNED_INT16_VEC4_NV = 0x8FF3;
1987 enum GL_UNSIGNED_INT64_VEC2_NV = 0x8FF5;
1988 enum GL_UNSIGNED_INT64_VEC3_NV = 0x8FF6;
1989 enum GL_UNSIGNED_INT64_VEC4_NV = 0x8FF7;
1990 enum GL_FLOAT16_NV             = 0x8FF8;
1991 enum GL_FLOAT16_VEC2_NV        = 0x8FF9;
1992 enum GL_FLOAT16_VEC3_NV        = 0x8FFA;
1993 enum GL_FLOAT16_VEC4_NV        = 0x8FFB;
1994 
1995 // Constants for GL_NV_internalformat_sample_query
1996 enum GL_MULTISAMPLES_NV        = 0x9371;
1997 enum GL_SUPERSAMPLE_SCALE_X_NV = 0x9372;
1998 enum GL_SUPERSAMPLE_SCALE_Y_NV = 0x9373;
1999 enum GL_CONFORMANT_NV          = 0x9374;
2000 
2001 // Constants for GL_NV_path_rendering
2002 enum GL_PATH_FORMAT_SVG_NV                      = 0x9070;
2003 enum GL_PATH_FORMAT_PS_NV                       = 0x9071;
2004 enum GL_STANDARD_FONT_NAME_NV                   = 0x9072;
2005 enum GL_SYSTEM_FONT_NAME_NV                     = 0x9073;
2006 enum GL_FILE_NAME_NV                            = 0x9074;
2007 enum GL_PATH_STROKE_WIDTH_NV                    = 0x9075;
2008 enum GL_PATH_END_CAPS_NV                        = 0x9076;
2009 enum GL_PATH_INITIAL_END_CAP_NV                 = 0x9077;
2010 enum GL_PATH_TERMINAL_END_CAP_NV                = 0x9078;
2011 enum GL_PATH_JOIN_STYLE_NV                      = 0x9079;
2012 enum GL_PATH_MITER_LIMIT_NV                     = 0x907A;
2013 enum GL_PATH_DASH_CAPS_NV                       = 0x907B;
2014 enum GL_PATH_INITIAL_DASH_CAP_NV                = 0x907C;
2015 enum GL_PATH_TERMINAL_DASH_CAP_NV               = 0x907D;
2016 enum GL_PATH_DASH_OFFSET_NV                     = 0x907E;
2017 enum GL_PATH_CLIENT_LENGTH_NV                   = 0x907F;
2018 enum GL_PATH_FILL_MODE_NV                       = 0x9080;
2019 enum GL_PATH_FILL_MASK_NV                       = 0x9081;
2020 enum GL_PATH_FILL_COVER_MODE_NV                 = 0x9082;
2021 enum GL_PATH_STROKE_COVER_MODE_NV               = 0x9083;
2022 enum GL_PATH_STROKE_MASK_NV                     = 0x9084;
2023 enum GL_COUNT_UP_NV                             = 0x9088;
2024 enum GL_COUNT_DOWN_NV                           = 0x9089;
2025 enum GL_PATH_OBJECT_BOUNDING_BOX_NV             = 0x908A;
2026 enum GL_CONVEX_HULL_NV                          = 0x908B;
2027 enum GL_BOUNDING_BOX_NV                         = 0x908D;
2028 enum GL_TRANSLATE_X_NV                          = 0x908E;
2029 enum GL_TRANSLATE_Y_NV                          = 0x908F;
2030 enum GL_TRANSLATE_2D_NV                         = 0x9090;
2031 enum GL_TRANSLATE_3D_NV                         = 0x9091;
2032 enum GL_AFFINE_2D_NV                            = 0x9092;
2033 enum GL_AFFINE_3D_NV                            = 0x9094;
2034 enum GL_TRANSPOSE_AFFINE_2D_NV                  = 0x9096;
2035 enum GL_TRANSPOSE_AFFINE_3D_NV                  = 0x9098;
2036 enum GL_UTF8_NV                                 = 0x909A;
2037 enum GL_UTF16_NV                                = 0x909B;
2038 enum GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV       = 0x909C;
2039 enum GL_PATH_COMMAND_COUNT_NV                   = 0x909D;
2040 enum GL_PATH_COORD_COUNT_NV                     = 0x909E;
2041 enum GL_PATH_DASH_ARRAY_COUNT_NV                = 0x909F;
2042 enum GL_PATH_COMPUTED_LENGTH_NV                 = 0x90A0;
2043 enum GL_PATH_FILL_BOUNDING_BOX_NV               = 0x90A1;
2044 enum GL_PATH_STROKE_BOUNDING_BOX_NV             = 0x90A2;
2045 enum GL_SQUARE_NV                               = 0x90A3;
2046 enum GL_ROUND_NV                                = 0x90A4;
2047 enum GL_TRIANGULAR_NV                           = 0x90A5;
2048 enum GL_BEVEL_NV                                = 0x90A6;
2049 enum GL_MITER_REVERT_NV                         = 0x90A7;
2050 enum GL_MITER_TRUNCATE_NV                       = 0x90A8;
2051 enum GL_SKIP_MISSING_GLYPH_NV                   = 0x90A9;
2052 enum GL_USE_MISSING_GLYPH_NV                    = 0x90AA;
2053 enum GL_PATH_ERROR_POSITION_NV                  = 0x90AB;
2054 enum GL_ACCUM_ADJACENT_PAIRS_NV                 = 0x90AD;
2055 enum GL_ADJACENT_PAIRS_NV                       = 0x90AE;
2056 enum GL_FIRST_TO_REST_NV                        = 0x90AF;
2057 enum GL_PATH_GEN_MODE_NV                        = 0x90B0;
2058 enum GL_PATH_GEN_COEFF_NV                       = 0x90B1;
2059 enum GL_PATH_GEN_COMPONENTS_NV                  = 0x90B3;
2060 enum GL_PATH_STENCIL_FUNC_NV                    = 0x90B7;
2061 enum GL_PATH_STENCIL_REF_NV                     = 0x90B8;
2062 enum GL_PATH_STENCIL_VALUE_MASK_NV              = 0x90B9;
2063 enum GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV     = 0x90BD;
2064 enum GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV      = 0x90BE;
2065 enum GL_PATH_COVER_DEPTH_FUNC_NV                = 0x90BF;
2066 enum GL_PATH_DASH_OFFSET_RESET_NV               = 0x90B4;
2067 enum GL_MOVE_TO_RESETS_NV                       = 0x90B5;
2068 enum GL_MOVE_TO_CONTINUES_NV                    = 0x90B6;
2069 enum GL_CLOSE_PATH_NV                           = 0x00;
2070 enum GL_MOVE_TO_NV                              = 0x02;
2071 enum GL_RELATIVE_MOVE_TO_NV                     = 0x03;
2072 enum GL_LINE_TO_NV                              = 0x04;
2073 enum GL_RELATIVE_LINE_TO_NV                     = 0x05;
2074 enum GL_HORIZONTAL_LINE_TO_NV                   = 0x06;
2075 enum GL_RELATIVE_HORIZONTAL_LINE_TO_NV          = 0x07;
2076 enum GL_VERTICAL_LINE_TO_NV                     = 0x08;
2077 enum GL_RELATIVE_VERTICAL_LINE_TO_NV            = 0x09;
2078 enum GL_QUADRATIC_CURVE_TO_NV                   = 0x0A;
2079 enum GL_RELATIVE_QUADRATIC_CURVE_TO_NV          = 0x0B;
2080 enum GL_CUBIC_CURVE_TO_NV                       = 0x0C;
2081 enum GL_RELATIVE_CUBIC_CURVE_TO_NV              = 0x0D;
2082 enum GL_SMOOTH_QUADRATIC_CURVE_TO_NV            = 0x0E;
2083 enum GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV   = 0x0F;
2084 enum GL_SMOOTH_CUBIC_CURVE_TO_NV                = 0x10;
2085 enum GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV       = 0x11;
2086 enum GL_SMALL_CCW_ARC_TO_NV                     = 0x12;
2087 enum GL_RELATIVE_SMALL_CCW_ARC_TO_NV            = 0x13;
2088 enum GL_SMALL_CW_ARC_TO_NV                      = 0x14;
2089 enum GL_RELATIVE_SMALL_CW_ARC_TO_NV             = 0x15;
2090 enum GL_LARGE_CCW_ARC_TO_NV                     = 0x16;
2091 enum GL_RELATIVE_LARGE_CCW_ARC_TO_NV            = 0x17;
2092 enum GL_LARGE_CW_ARC_TO_NV                      = 0x18;
2093 enum GL_RELATIVE_LARGE_CW_ARC_TO_NV             = 0x19;
2094 enum GL_RESTART_PATH_NV                         = 0xF0;
2095 enum GL_DUP_FIRST_CUBIC_CURVE_TO_NV             = 0xF2;
2096 enum GL_DUP_LAST_CUBIC_CURVE_TO_NV              = 0xF4;
2097 enum GL_RECT_NV                                 = 0xF6;
2098 enum GL_CIRCULAR_CCW_ARC_TO_NV                  = 0xF8;
2099 enum GL_CIRCULAR_CW_ARC_TO_NV                   = 0xFA;
2100 enum GL_CIRCULAR_TANGENT_ARC_TO_NV              = 0xFC;
2101 enum GL_ARC_TO_NV                               = 0xFE;
2102 enum GL_RELATIVE_ARC_TO_NV                      = 0xFF;
2103 enum GL_BOLD_BIT_NV                             = 0x01;
2104 enum GL_ITALIC_BIT_NV                           = 0x02;
2105 enum GL_GLYPH_WIDTH_BIT_NV                      = 0x01;
2106 enum GL_GLYPH_HEIGHT_BIT_NV                     = 0x02;
2107 enum GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV       = 0x04;
2108 enum GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV       = 0x08;
2109 enum GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10;
2110 enum GL_GLYPH_VERTICAL_BEARING_X_BIT_NV         = 0x20;
2111 enum GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV         = 0x40;
2112 enum GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV   = 0x80;
2113 enum GL_GLYPH_HAS_KERNING_BIT_NV                = 0x100;
2114 enum GL_FONT_X_MIN_BOUNDS_BIT_NV                = 0x00010000;
2115 enum GL_FONT_Y_MIN_BOUNDS_BIT_NV                = 0x00020000;
2116 enum GL_FONT_X_MAX_BOUNDS_BIT_NV                = 0x00040000;
2117 enum GL_FONT_Y_MAX_BOUNDS_BIT_NV                = 0x00080000;
2118 enum GL_FONT_UNITS_PER_EM_BIT_NV                = 0x00100000;
2119 enum GL_FONT_ASCENDER_BIT_NV                    = 0x00200000;
2120 enum GL_FONT_DESCENDER_BIT_NV                   = 0x00400000;
2121 enum GL_FONT_HEIGHT_BIT_NV                      = 0x00800000;
2122 enum GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV           = 0x01000000;
2123 enum GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV          = 0x02000000;
2124 enum GL_FONT_UNDERLINE_POSITION_BIT_NV          = 0x04000000;
2125 enum GL_FONT_UNDERLINE_THICKNESS_BIT_NV         = 0x08000000;
2126 enum GL_FONT_HAS_KERNING_BIT_NV                 = 0x10000000;
2127 enum GL_ROUNDED_RECT_NV                         = 0xE8;
2128 enum GL_RELATIVE_ROUNDED_RECT_NV                = 0xE9;
2129 enum GL_ROUNDED_RECT2_NV                        = 0xEA;
2130 enum GL_RELATIVE_ROUNDED_RECT2_NV               = 0xEB;
2131 enum GL_ROUNDED_RECT4_NV                        = 0xEC;
2132 enum GL_RELATIVE_ROUNDED_RECT4_NV               = 0xED;
2133 enum GL_ROUNDED_RECT8_NV                        = 0xEE;
2134 enum GL_RELATIVE_ROUNDED_RECT8_NV               = 0xEF;
2135 enum GL_RELATIVE_RECT_NV                        = 0xF7;
2136 enum GL_FONT_GLYPHS_AVAILABLE_NV                = 0x9368;
2137 enum GL_FONT_TARGET_UNAVAILABLE_NV              = 0x9369;
2138 enum GL_FONT_UNAVAILABLE_NV                     = 0x936A;
2139 enum GL_FONT_UNINTELLIGIBLE_NV                  = 0x936B;
2140 enum GL_CONIC_CURVE_TO_NV                       = 0x1A;
2141 enum GL_RELATIVE_CONIC_CURVE_TO_NV              = 0x1B;
2142 enum GL_FONT_NUM_GLYPH_INDICES_BIT_NV           = 0x20000000;
2143 enum GL_STANDARD_FONT_FORMAT_NV                 = 0x936C;
2144 enum GL_PATH_PROJECTION_NV                      = 0x1701;
2145 enum GL_PATH_MODELVIEW_NV                       = 0x1700;
2146 enum GL_PATH_MODELVIEW_STACK_DEPTH_NV           = 0x0BA3;
2147 enum GL_PATH_MODELVIEW_MATRIX_NV                = 0x0BA6;
2148 enum GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV       = 0x0D36;
2149 enum GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV      = 0x84E3;
2150 enum GL_PATH_PROJECTION_STACK_DEPTH_NV          = 0x0BA4;
2151 enum GL_PATH_PROJECTION_MATRIX_NV               = 0x0BA7;
2152 enum GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV      = 0x0D38;
2153 enum GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV     = 0x84E4;
2154 enum GL_FRAGMENT_INPUT_NV                       = 0x936D;
2155 
2156 // Constants for GL_NV_path_rendering_shared_edge
2157 enum GL_SHARED_EDGE_NV = 0xC0;
2158 
2159 // Constants for GL_NV_sample_locations
2160 enum GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV             = 0x933D;
2161 enum GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV          = 0x933E;
2162 enum GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV         = 0x933F;
2163 enum GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV   = 0x9340;
2164 enum GL_SAMPLE_LOCATION_NV                           = 0x8E50;
2165 enum GL_PROGRAMMABLE_SAMPLE_LOCATION_NV              = 0x9341;
2166 enum GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342;
2167 enum GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV    = 0x9343;
2168 
2169 // Constants for GL_NV_shader_buffer_load
2170 enum GL_BUFFER_GPU_ADDRESS_NV        = 0x8F1D;
2171 enum GL_GPU_ADDRESS_NV               = 0x8F34;
2172 enum GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35;
2173 
2174 // Constants for GL_NV_shader_buffer_store
2175 enum GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010;
2176 
2177 // Constants for GL_NV_shader_thread_group
2178 enum GL_WARP_SIZE_NV    = 0x9339;
2179 enum GL_WARPS_PER_SM_NV = 0x933A;
2180 enum GL_SM_COUNT_NV     = 0x933B;
2181 
2182 // Constants for GL_NV_uniform_buffer_unified_memory
2183 enum GL_UNIFORM_BUFFER_UNIFIED_NV = 0x936E;
2184 enum GL_UNIFORM_BUFFER_ADDRESS_NV = 0x936F;
2185 enum GL_UNIFORM_BUFFER_LENGTH_NV  = 0x9370;
2186 
2187 // Constants for GL_NV_vertex_buffer_unified_memory
2188 enum GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV   = 0x8F1E;
2189 enum GL_ELEMENT_ARRAY_UNIFIED_NV         = 0x8F1F;
2190 enum GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV   = 0x8F20;
2191 enum GL_VERTEX_ARRAY_ADDRESS_NV          = 0x8F21;
2192 enum GL_NORMAL_ARRAY_ADDRESS_NV          = 0x8F22;
2193 enum GL_COLOR_ARRAY_ADDRESS_NV           = 0x8F23;
2194 enum GL_INDEX_ARRAY_ADDRESS_NV           = 0x8F24;
2195 enum GL_TEXTURE_COORD_ARRAY_ADDRESS_NV   = 0x8F25;
2196 enum GL_EDGE_FLAG_ARRAY_ADDRESS_NV       = 0x8F26;
2197 enum GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27;
2198 enum GL_FOG_COORD_ARRAY_ADDRESS_NV       = 0x8F28;
2199 enum GL_ELEMENT_ARRAY_ADDRESS_NV         = 0x8F29;
2200 enum GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV    = 0x8F2A;
2201 enum GL_VERTEX_ARRAY_LENGTH_NV           = 0x8F2B;
2202 enum GL_NORMAL_ARRAY_LENGTH_NV           = 0x8F2C;
2203 enum GL_COLOR_ARRAY_LENGTH_NV            = 0x8F2D;
2204 enum GL_INDEX_ARRAY_LENGTH_NV            = 0x8F2E;
2205 enum GL_TEXTURE_COORD_ARRAY_LENGTH_NV    = 0x8F2F;
2206 enum GL_EDGE_FLAG_ARRAY_LENGTH_NV        = 0x8F30;
2207 enum GL_SECONDARY_COLOR_ARRAY_LENGTH_NV  = 0x8F31;
2208 enum GL_FOG_COORD_ARRAY_LENGTH_NV        = 0x8F32;
2209 enum GL_ELEMENT_ARRAY_LENGTH_NV          = 0x8F33;
2210 enum GL_DRAW_INDIRECT_UNIFIED_NV         = 0x8F40;
2211 enum GL_DRAW_INDIRECT_ADDRESS_NV         = 0x8F41;
2212 enum GL_DRAW_INDIRECT_LENGTH_NV          = 0x8F42;
2213 
2214 // Constants for GL_NV_viewport_swizzle
2215 enum GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350;
2216 enum GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351;
2217 enum GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352;
2218 enum GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353;
2219 enum GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354;
2220 enum GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355;
2221 enum GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356;
2222 enum GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357;
2223 enum GL_VIEWPORT_SWIZZLE_X_NV          = 0x9358;
2224 enum GL_VIEWPORT_SWIZZLE_Y_NV          = 0x9359;
2225 enum GL_VIEWPORT_SWIZZLE_Z_NV          = 0x935A;
2226 enum GL_VIEWPORT_SWIZZLE_W_NV          = 0x935B;
2227 
2228 // Constants for GL_OVR_multiview
2229 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR       = 0x9630;
2230 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632;
2231 enum GL_MAX_VIEWS_OVR                                      = 0x9631;
2232 enum GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR            = 0x9633;
2233 
2234 // Command pointer aliases
2235 
2236 extern(C) nothrow @nogc {
2237 
2238     // Command pointers for GL_VERSION_1_0
2239     alias PFN_glCullFace = void function (
2240         GLenum mode,
2241     );
2242     alias PFN_glFrontFace = void function (
2243         GLenum mode,
2244     );
2245     alias PFN_glHint = void function (
2246         GLenum target,
2247         GLenum mode,
2248     );
2249     alias PFN_glLineWidth = void function (
2250         GLfloat width,
2251     );
2252     alias PFN_glPointSize = void function (
2253         GLfloat size,
2254     );
2255     alias PFN_glPolygonMode = void function (
2256         GLenum face,
2257         GLenum mode,
2258     );
2259     alias PFN_glScissor = void function (
2260         GLint   x,
2261         GLint   y,
2262         GLsizei width,
2263         GLsizei height,
2264     );
2265     alias PFN_glTexParameterf = void function (
2266         GLenum  target,
2267         GLenum  pname,
2268         GLfloat param,
2269     );
2270     alias PFN_glTexParameterfv = void function (
2271         GLenum          target,
2272         GLenum          pname,
2273         const(GLfloat)* params,
2274     );
2275     alias PFN_glTexParameteri = void function (
2276         GLenum target,
2277         GLenum pname,
2278         GLint  param,
2279     );
2280     alias PFN_glTexParameteriv = void function (
2281         GLenum        target,
2282         GLenum        pname,
2283         const(GLint)* params,
2284     );
2285     alias PFN_glTexImage1D = void function (
2286         GLenum       target,
2287         GLint        level,
2288         GLint        internalformat,
2289         GLsizei      width,
2290         GLint        border,
2291         GLenum       format,
2292         GLenum       type,
2293         const(void)* pixels,
2294     );
2295     alias PFN_glTexImage2D = void function (
2296         GLenum       target,
2297         GLint        level,
2298         GLint        internalformat,
2299         GLsizei      width,
2300         GLsizei      height,
2301         GLint        border,
2302         GLenum       format,
2303         GLenum       type,
2304         const(void)* pixels,
2305     );
2306     alias PFN_glDrawBuffer = void function (
2307         GLenum buf,
2308     );
2309     alias PFN_glClear = void function (
2310         GLbitfield mask,
2311     );
2312     alias PFN_glClearColor = void function (
2313         GLfloat red,
2314         GLfloat green,
2315         GLfloat blue,
2316         GLfloat alpha,
2317     );
2318     alias PFN_glClearStencil = void function (
2319         GLint s,
2320     );
2321     alias PFN_glClearDepth = void function (
2322         GLdouble depth,
2323     );
2324     alias PFN_glStencilMask = void function (
2325         GLuint mask,
2326     );
2327     alias PFN_glColorMask = void function (
2328         GLboolean red,
2329         GLboolean green,
2330         GLboolean blue,
2331         GLboolean alpha,
2332     );
2333     alias PFN_glDepthMask = void function (
2334         GLboolean flag,
2335     );
2336     alias PFN_glDisable = void function (
2337         GLenum cap,
2338     );
2339     alias PFN_glEnable = void function (
2340         GLenum cap,
2341     );
2342     alias PFN_glFinish = void function ();
2343     alias PFN_glFlush = void function ();
2344     alias PFN_glBlendFunc = void function (
2345         GLenum sfactor,
2346         GLenum dfactor,
2347     );
2348     alias PFN_glLogicOp = void function (
2349         GLenum opcode,
2350     );
2351     alias PFN_glStencilFunc = void function (
2352         GLenum func,
2353         GLint  ref_,
2354         GLuint mask,
2355     );
2356     alias PFN_glStencilOp = void function (
2357         GLenum fail,
2358         GLenum zfail,
2359         GLenum zpass,
2360     );
2361     alias PFN_glDepthFunc = void function (
2362         GLenum func,
2363     );
2364     alias PFN_glPixelStoref = void function (
2365         GLenum  pname,
2366         GLfloat param,
2367     );
2368     alias PFN_glPixelStorei = void function (
2369         GLenum pname,
2370         GLint  param,
2371     );
2372     alias PFN_glReadBuffer = void function (
2373         GLenum src,
2374     );
2375     alias PFN_glReadPixels = void function (
2376         GLint   x,
2377         GLint   y,
2378         GLsizei width,
2379         GLsizei height,
2380         GLenum  format,
2381         GLenum  type,
2382         void*   pixels,
2383     );
2384     alias PFN_glGetBooleanv = void function (
2385         GLenum     pname,
2386         GLboolean* data,
2387     );
2388     alias PFN_glGetDoublev = void function (
2389         GLenum    pname,
2390         GLdouble* data,
2391     );
2392     alias PFN_glGetError = GLenum function ();
2393     alias PFN_glGetFloatv = void function (
2394         GLenum   pname,
2395         GLfloat* data,
2396     );
2397     alias PFN_glGetIntegerv = void function (
2398         GLenum pname,
2399         GLint* data,
2400     );
2401     alias PFN_glGetString = const(GLubyte)* function (
2402         GLenum name,
2403     );
2404     alias PFN_glGetTexImage = void function (
2405         GLenum target,
2406         GLint  level,
2407         GLenum format,
2408         GLenum type,
2409         void*  pixels,
2410     );
2411     alias PFN_glGetTexParameterfv = void function (
2412         GLenum   target,
2413         GLenum   pname,
2414         GLfloat* params,
2415     );
2416     alias PFN_glGetTexParameteriv = void function (
2417         GLenum target,
2418         GLenum pname,
2419         GLint* params,
2420     );
2421     alias PFN_glGetTexLevelParameterfv = void function (
2422         GLenum   target,
2423         GLint    level,
2424         GLenum   pname,
2425         GLfloat* params,
2426     );
2427     alias PFN_glGetTexLevelParameteriv = void function (
2428         GLenum target,
2429         GLint  level,
2430         GLenum pname,
2431         GLint* params,
2432     );
2433     alias PFN_glIsEnabled = GLboolean function (
2434         GLenum cap,
2435     );
2436     alias PFN_glDepthRange = void function (
2437         GLdouble near,
2438         GLdouble far,
2439     );
2440     alias PFN_glViewport = void function (
2441         GLint   x,
2442         GLint   y,
2443         GLsizei width,
2444         GLsizei height,
2445     );
2446 
2447     // Command pointers for GL_VERSION_1_1
2448     alias PFN_glDrawArrays = void function (
2449         GLenum  mode,
2450         GLint   first,
2451         GLsizei count,
2452     );
2453     alias PFN_glDrawElements = void function (
2454         GLenum       mode,
2455         GLsizei      count,
2456         GLenum       type,
2457         const(void)* indices,
2458     );
2459     alias PFN_glGetPointerv = void function (
2460         GLenum pname,
2461         void** params,
2462     );
2463     alias PFN_glPolygonOffset = void function (
2464         GLfloat factor,
2465         GLfloat units,
2466     );
2467     alias PFN_glCopyTexImage1D = void function (
2468         GLenum  target,
2469         GLint   level,
2470         GLenum  internalformat,
2471         GLint   x,
2472         GLint   y,
2473         GLsizei width,
2474         GLint   border,
2475     );
2476     alias PFN_glCopyTexImage2D = void function (
2477         GLenum  target,
2478         GLint   level,
2479         GLenum  internalformat,
2480         GLint   x,
2481         GLint   y,
2482         GLsizei width,
2483         GLsizei height,
2484         GLint   border,
2485     );
2486     alias PFN_glCopyTexSubImage1D = void function (
2487         GLenum  target,
2488         GLint   level,
2489         GLint   xoffset,
2490         GLint   x,
2491         GLint   y,
2492         GLsizei width,
2493     );
2494     alias PFN_glCopyTexSubImage2D = void function (
2495         GLenum  target,
2496         GLint   level,
2497         GLint   xoffset,
2498         GLint   yoffset,
2499         GLint   x,
2500         GLint   y,
2501         GLsizei width,
2502         GLsizei height,
2503     );
2504     alias PFN_glTexSubImage1D = void function (
2505         GLenum       target,
2506         GLint        level,
2507         GLint        xoffset,
2508         GLsizei      width,
2509         GLenum       format,
2510         GLenum       type,
2511         const(void)* pixels,
2512     );
2513     alias PFN_glTexSubImage2D = void function (
2514         GLenum       target,
2515         GLint        level,
2516         GLint        xoffset,
2517         GLint        yoffset,
2518         GLsizei      width,
2519         GLsizei      height,
2520         GLenum       format,
2521         GLenum       type,
2522         const(void)* pixels,
2523     );
2524     alias PFN_glBindTexture = void function (
2525         GLenum target,
2526         GLuint texture,
2527     );
2528     alias PFN_glDeleteTextures = void function (
2529         GLsizei        n,
2530         const(GLuint)* textures,
2531     );
2532     alias PFN_glGenTextures = void function (
2533         GLsizei n,
2534         GLuint* textures,
2535     );
2536     alias PFN_glIsTexture = GLboolean function (
2537         GLuint texture,
2538     );
2539 
2540     // Command pointers for GL_VERSION_1_2
2541     alias PFN_glDrawRangeElements = void function (
2542         GLenum       mode,
2543         GLuint       start,
2544         GLuint       end,
2545         GLsizei      count,
2546         GLenum       type,
2547         const(void)* indices,
2548     );
2549     alias PFN_glTexImage3D = void function (
2550         GLenum       target,
2551         GLint        level,
2552         GLint        internalformat,
2553         GLsizei      width,
2554         GLsizei      height,
2555         GLsizei      depth,
2556         GLint        border,
2557         GLenum       format,
2558         GLenum       type,
2559         const(void)* pixels,
2560     );
2561     alias PFN_glTexSubImage3D = void function (
2562         GLenum       target,
2563         GLint        level,
2564         GLint        xoffset,
2565         GLint        yoffset,
2566         GLint        zoffset,
2567         GLsizei      width,
2568         GLsizei      height,
2569         GLsizei      depth,
2570         GLenum       format,
2571         GLenum       type,
2572         const(void)* pixels,
2573     );
2574     alias PFN_glCopyTexSubImage3D = void function (
2575         GLenum  target,
2576         GLint   level,
2577         GLint   xoffset,
2578         GLint   yoffset,
2579         GLint   zoffset,
2580         GLint   x,
2581         GLint   y,
2582         GLsizei width,
2583         GLsizei height,
2584     );
2585 
2586     // Command pointers for GL_VERSION_1_3
2587     alias PFN_glActiveTexture = void function (
2588         GLenum texture,
2589     );
2590     alias PFN_glSampleCoverage = void function (
2591         GLfloat   value,
2592         GLboolean invert,
2593     );
2594     alias PFN_glCompressedTexImage3D = void function (
2595         GLenum       target,
2596         GLint        level,
2597         GLenum       internalformat,
2598         GLsizei      width,
2599         GLsizei      height,
2600         GLsizei      depth,
2601         GLint        border,
2602         GLsizei      imageSize,
2603         const(void)* data,
2604     );
2605     alias PFN_glCompressedTexImage2D = void function (
2606         GLenum       target,
2607         GLint        level,
2608         GLenum       internalformat,
2609         GLsizei      width,
2610         GLsizei      height,
2611         GLint        border,
2612         GLsizei      imageSize,
2613         const(void)* data,
2614     );
2615     alias PFN_glCompressedTexImage1D = void function (
2616         GLenum       target,
2617         GLint        level,
2618         GLenum       internalformat,
2619         GLsizei      width,
2620         GLint        border,
2621         GLsizei      imageSize,
2622         const(void)* data,
2623     );
2624     alias PFN_glCompressedTexSubImage3D = void function (
2625         GLenum       target,
2626         GLint        level,
2627         GLint        xoffset,
2628         GLint        yoffset,
2629         GLint        zoffset,
2630         GLsizei      width,
2631         GLsizei      height,
2632         GLsizei      depth,
2633         GLenum       format,
2634         GLsizei      imageSize,
2635         const(void)* data,
2636     );
2637     alias PFN_glCompressedTexSubImage2D = void function (
2638         GLenum       target,
2639         GLint        level,
2640         GLint        xoffset,
2641         GLint        yoffset,
2642         GLsizei      width,
2643         GLsizei      height,
2644         GLenum       format,
2645         GLsizei      imageSize,
2646         const(void)* data,
2647     );
2648     alias PFN_glCompressedTexSubImage1D = void function (
2649         GLenum       target,
2650         GLint        level,
2651         GLint        xoffset,
2652         GLsizei      width,
2653         GLenum       format,
2654         GLsizei      imageSize,
2655         const(void)* data,
2656     );
2657     alias PFN_glGetCompressedTexImage = void function (
2658         GLenum target,
2659         GLint  level,
2660         void*  img,
2661     );
2662 
2663     // Command pointers for GL_VERSION_1_4
2664     alias PFN_glBlendFuncSeparate = void function (
2665         GLenum sfactorRGB,
2666         GLenum dfactorRGB,
2667         GLenum sfactorAlpha,
2668         GLenum dfactorAlpha,
2669     );
2670     alias PFN_glMultiDrawArrays = void function (
2671         GLenum          mode,
2672         const(GLint)*   first,
2673         const(GLsizei)* count,
2674         GLsizei         drawcount,
2675     );
2676     alias PFN_glMultiDrawElements = void function (
2677         GLenum          mode,
2678         const(GLsizei)* count,
2679         GLenum          type,
2680         const(void*)*   indices,
2681         GLsizei         drawcount,
2682     );
2683     alias PFN_glPointParameterf = void function (
2684         GLenum  pname,
2685         GLfloat param,
2686     );
2687     alias PFN_glPointParameterfv = void function (
2688         GLenum          pname,
2689         const(GLfloat)* params,
2690     );
2691     alias PFN_glPointParameteri = void function (
2692         GLenum pname,
2693         GLint  param,
2694     );
2695     alias PFN_glPointParameteriv = void function (
2696         GLenum        pname,
2697         const(GLint)* params,
2698     );
2699     alias PFN_glBlendColor = void function (
2700         GLfloat red,
2701         GLfloat green,
2702         GLfloat blue,
2703         GLfloat alpha,
2704     );
2705     alias PFN_glBlendEquation = void function (
2706         GLenum mode,
2707     );
2708 
2709     // Command pointers for GL_VERSION_1_5
2710     alias PFN_glGenQueries = void function (
2711         GLsizei n,
2712         GLuint* ids,
2713     );
2714     alias PFN_glDeleteQueries = void function (
2715         GLsizei        n,
2716         const(GLuint)* ids,
2717     );
2718     alias PFN_glIsQuery = GLboolean function (
2719         GLuint id,
2720     );
2721     alias PFN_glBeginQuery = void function (
2722         GLenum target,
2723         GLuint id,
2724     );
2725     alias PFN_glEndQuery = void function (
2726         GLenum target,
2727     );
2728     alias PFN_glGetQueryiv = void function (
2729         GLenum target,
2730         GLenum pname,
2731         GLint* params,
2732     );
2733     alias PFN_glGetQueryObjectiv = void function (
2734         GLuint id,
2735         GLenum pname,
2736         GLint* params,
2737     );
2738     alias PFN_glGetQueryObjectuiv = void function (
2739         GLuint  id,
2740         GLenum  pname,
2741         GLuint* params,
2742     );
2743     alias PFN_glBindBuffer = void function (
2744         GLenum target,
2745         GLuint buffer,
2746     );
2747     alias PFN_glDeleteBuffers = void function (
2748         GLsizei        n,
2749         const(GLuint)* buffers,
2750     );
2751     alias PFN_glGenBuffers = void function (
2752         GLsizei n,
2753         GLuint* buffers,
2754     );
2755     alias PFN_glIsBuffer = GLboolean function (
2756         GLuint buffer,
2757     );
2758     alias PFN_glBufferData = void function (
2759         GLenum       target,
2760         GLsizeiptr   size,
2761         const(void)* data,
2762         GLenum       usage,
2763     );
2764     alias PFN_glBufferSubData = void function (
2765         GLenum       target,
2766         GLintptr     offset,
2767         GLsizeiptr   size,
2768         const(void)* data,
2769     );
2770     alias PFN_glGetBufferSubData = void function (
2771         GLenum     target,
2772         GLintptr   offset,
2773         GLsizeiptr size,
2774         void*      data,
2775     );
2776     alias PFN_glMapBuffer = void * function (
2777         GLenum target,
2778         GLenum access,
2779     );
2780     alias PFN_glUnmapBuffer = GLboolean function (
2781         GLenum target,
2782     );
2783     alias PFN_glGetBufferParameteriv = void function (
2784         GLenum target,
2785         GLenum pname,
2786         GLint* params,
2787     );
2788     alias PFN_glGetBufferPointerv = void function (
2789         GLenum target,
2790         GLenum pname,
2791         void** params,
2792     );
2793 
2794     // Command pointers for GL_VERSION_2_0
2795     alias PFN_glBlendEquationSeparate = void function (
2796         GLenum modeRGB,
2797         GLenum modeAlpha,
2798     );
2799     alias PFN_glDrawBuffers = void function (
2800         GLsizei        n,
2801         const(GLenum)* bufs,
2802     );
2803     alias PFN_glStencilOpSeparate = void function (
2804         GLenum face,
2805         GLenum sfail,
2806         GLenum dpfail,
2807         GLenum dppass,
2808     );
2809     alias PFN_glStencilFuncSeparate = void function (
2810         GLenum face,
2811         GLenum func,
2812         GLint  ref_,
2813         GLuint mask,
2814     );
2815     alias PFN_glStencilMaskSeparate = void function (
2816         GLenum face,
2817         GLuint mask,
2818     );
2819     alias PFN_glAttachShader = void function (
2820         GLuint program,
2821         GLuint shader,
2822     );
2823     alias PFN_glBindAttribLocation = void function (
2824         GLuint         program,
2825         GLuint         index,
2826         const(GLchar)* name,
2827     );
2828     alias PFN_glCompileShader = void function (
2829         GLuint shader,
2830     );
2831     alias PFN_glCreateProgram = GLuint function ();
2832     alias PFN_glCreateShader = GLuint function (
2833         GLenum type,
2834     );
2835     alias PFN_glDeleteProgram = void function (
2836         GLuint program,
2837     );
2838     alias PFN_glDeleteShader = void function (
2839         GLuint shader,
2840     );
2841     alias PFN_glDetachShader = void function (
2842         GLuint program,
2843         GLuint shader,
2844     );
2845     alias PFN_glDisableVertexAttribArray = void function (
2846         GLuint index,
2847     );
2848     alias PFN_glEnableVertexAttribArray = void function (
2849         GLuint index,
2850     );
2851     alias PFN_glGetActiveAttrib = void function (
2852         GLuint   program,
2853         GLuint   index,
2854         GLsizei  bufSize,
2855         GLsizei* length,
2856         GLint*   size,
2857         GLenum*  type,
2858         GLchar*  name,
2859     );
2860     alias PFN_glGetActiveUniform = void function (
2861         GLuint   program,
2862         GLuint   index,
2863         GLsizei  bufSize,
2864         GLsizei* length,
2865         GLint*   size,
2866         GLenum*  type,
2867         GLchar*  name,
2868     );
2869     alias PFN_glGetAttachedShaders = void function (
2870         GLuint   program,
2871         GLsizei  maxCount,
2872         GLsizei* count,
2873         GLuint*  shaders,
2874     );
2875     alias PFN_glGetAttribLocation = GLint function (
2876         GLuint         program,
2877         const(GLchar)* name,
2878     );
2879     alias PFN_glGetProgramiv = void function (
2880         GLuint program,
2881         GLenum pname,
2882         GLint* params,
2883     );
2884     alias PFN_glGetProgramInfoLog = void function (
2885         GLuint   program,
2886         GLsizei  bufSize,
2887         GLsizei* length,
2888         GLchar*  infoLog,
2889     );
2890     alias PFN_glGetShaderiv = void function (
2891         GLuint shader,
2892         GLenum pname,
2893         GLint* params,
2894     );
2895     alias PFN_glGetShaderInfoLog = void function (
2896         GLuint   shader,
2897         GLsizei  bufSize,
2898         GLsizei* length,
2899         GLchar*  infoLog,
2900     );
2901     alias PFN_glGetShaderSource = void function (
2902         GLuint   shader,
2903         GLsizei  bufSize,
2904         GLsizei* length,
2905         GLchar*  source,
2906     );
2907     alias PFN_glGetUniformLocation = GLint function (
2908         GLuint         program,
2909         const(GLchar)* name,
2910     );
2911     alias PFN_glGetUniformfv = void function (
2912         GLuint   program,
2913         GLint    location,
2914         GLfloat* params,
2915     );
2916     alias PFN_glGetUniformiv = void function (
2917         GLuint program,
2918         GLint  location,
2919         GLint* params,
2920     );
2921     alias PFN_glGetVertexAttribdv = void function (
2922         GLuint    index,
2923         GLenum    pname,
2924         GLdouble* params,
2925     );
2926     alias PFN_glGetVertexAttribfv = void function (
2927         GLuint   index,
2928         GLenum   pname,
2929         GLfloat* params,
2930     );
2931     alias PFN_glGetVertexAttribiv = void function (
2932         GLuint index,
2933         GLenum pname,
2934         GLint* params,
2935     );
2936     alias PFN_glGetVertexAttribPointerv = void function (
2937         GLuint index,
2938         GLenum pname,
2939         void** pointer,
2940     );
2941     alias PFN_glIsProgram = GLboolean function (
2942         GLuint program,
2943     );
2944     alias PFN_glIsShader = GLboolean function (
2945         GLuint shader,
2946     );
2947     alias PFN_glLinkProgram = void function (
2948         GLuint program,
2949     );
2950     alias PFN_glShaderSource = void function (
2951         GLuint          shader,
2952         GLsizei         count,
2953         const(GLchar*)* string,
2954         const(GLint)*   length,
2955     );
2956     alias PFN_glUseProgram = void function (
2957         GLuint program,
2958     );
2959     alias PFN_glUniform1f = void function (
2960         GLint   location,
2961         GLfloat v0,
2962     );
2963     alias PFN_glUniform2f = void function (
2964         GLint   location,
2965         GLfloat v0,
2966         GLfloat v1,
2967     );
2968     alias PFN_glUniform3f = void function (
2969         GLint   location,
2970         GLfloat v0,
2971         GLfloat v1,
2972         GLfloat v2,
2973     );
2974     alias PFN_glUniform4f = void function (
2975         GLint   location,
2976         GLfloat v0,
2977         GLfloat v1,
2978         GLfloat v2,
2979         GLfloat v3,
2980     );
2981     alias PFN_glUniform1i = void function (
2982         GLint location,
2983         GLint v0,
2984     );
2985     alias PFN_glUniform2i = void function (
2986         GLint location,
2987         GLint v0,
2988         GLint v1,
2989     );
2990     alias PFN_glUniform3i = void function (
2991         GLint location,
2992         GLint v0,
2993         GLint v1,
2994         GLint v2,
2995     );
2996     alias PFN_glUniform4i = void function (
2997         GLint location,
2998         GLint v0,
2999         GLint v1,
3000         GLint v2,
3001         GLint v3,
3002     );
3003     alias PFN_glUniform1fv = void function (
3004         GLint           location,
3005         GLsizei         count,
3006         const(GLfloat)* value,
3007     );
3008     alias PFN_glUniform2fv = void function (
3009         GLint           location,
3010         GLsizei         count,
3011         const(GLfloat)* value,
3012     );
3013     alias PFN_glUniform3fv = void function (
3014         GLint           location,
3015         GLsizei         count,
3016         const(GLfloat)* value,
3017     );
3018     alias PFN_glUniform4fv = void function (
3019         GLint           location,
3020         GLsizei         count,
3021         const(GLfloat)* value,
3022     );
3023     alias PFN_glUniform1iv = void function (
3024         GLint         location,
3025         GLsizei       count,
3026         const(GLint)* value,
3027     );
3028     alias PFN_glUniform2iv = void function (
3029         GLint         location,
3030         GLsizei       count,
3031         const(GLint)* value,
3032     );
3033     alias PFN_glUniform3iv = void function (
3034         GLint         location,
3035         GLsizei       count,
3036         const(GLint)* value,
3037     );
3038     alias PFN_glUniform4iv = void function (
3039         GLint         location,
3040         GLsizei       count,
3041         const(GLint)* value,
3042     );
3043     alias PFN_glUniformMatrix2fv = void function (
3044         GLint           location,
3045         GLsizei         count,
3046         GLboolean       transpose,
3047         const(GLfloat)* value,
3048     );
3049     alias PFN_glUniformMatrix3fv = void function (
3050         GLint           location,
3051         GLsizei         count,
3052         GLboolean       transpose,
3053         const(GLfloat)* value,
3054     );
3055     alias PFN_glUniformMatrix4fv = void function (
3056         GLint           location,
3057         GLsizei         count,
3058         GLboolean       transpose,
3059         const(GLfloat)* value,
3060     );
3061     alias PFN_glValidateProgram = void function (
3062         GLuint program,
3063     );
3064     alias PFN_glVertexAttrib1d = void function (
3065         GLuint   index,
3066         GLdouble x,
3067     );
3068     alias PFN_glVertexAttrib1dv = void function (
3069         GLuint           index,
3070         const(GLdouble)* v,
3071     );
3072     alias PFN_glVertexAttrib1f = void function (
3073         GLuint  index,
3074         GLfloat x,
3075     );
3076     alias PFN_glVertexAttrib1fv = void function (
3077         GLuint          index,
3078         const(GLfloat)* v,
3079     );
3080     alias PFN_glVertexAttrib1s = void function (
3081         GLuint  index,
3082         GLshort x,
3083     );
3084     alias PFN_glVertexAttrib1sv = void function (
3085         GLuint          index,
3086         const(GLshort)* v,
3087     );
3088     alias PFN_glVertexAttrib2d = void function (
3089         GLuint   index,
3090         GLdouble x,
3091         GLdouble y,
3092     );
3093     alias PFN_glVertexAttrib2dv = void function (
3094         GLuint           index,
3095         const(GLdouble)* v,
3096     );
3097     alias PFN_glVertexAttrib2f = void function (
3098         GLuint  index,
3099         GLfloat x,
3100         GLfloat y,
3101     );
3102     alias PFN_glVertexAttrib2fv = void function (
3103         GLuint          index,
3104         const(GLfloat)* v,
3105     );
3106     alias PFN_glVertexAttrib2s = void function (
3107         GLuint  index,
3108         GLshort x,
3109         GLshort y,
3110     );
3111     alias PFN_glVertexAttrib2sv = void function (
3112         GLuint          index,
3113         const(GLshort)* v,
3114     );
3115     alias PFN_glVertexAttrib3d = void function (
3116         GLuint   index,
3117         GLdouble x,
3118         GLdouble y,
3119         GLdouble z,
3120     );
3121     alias PFN_glVertexAttrib3dv = void function (
3122         GLuint           index,
3123         const(GLdouble)* v,
3124     );
3125     alias PFN_glVertexAttrib3f = void function (
3126         GLuint  index,
3127         GLfloat x,
3128         GLfloat y,
3129         GLfloat z,
3130     );
3131     alias PFN_glVertexAttrib3fv = void function (
3132         GLuint          index,
3133         const(GLfloat)* v,
3134     );
3135     alias PFN_glVertexAttrib3s = void function (
3136         GLuint  index,
3137         GLshort x,
3138         GLshort y,
3139         GLshort z,
3140     );
3141     alias PFN_glVertexAttrib3sv = void function (
3142         GLuint          index,
3143         const(GLshort)* v,
3144     );
3145     alias PFN_glVertexAttrib4Nbv = void function (
3146         GLuint         index,
3147         const(GLbyte)* v,
3148     );
3149     alias PFN_glVertexAttrib4Niv = void function (
3150         GLuint        index,
3151         const(GLint)* v,
3152     );
3153     alias PFN_glVertexAttrib4Nsv = void function (
3154         GLuint          index,
3155         const(GLshort)* v,
3156     );
3157     alias PFN_glVertexAttrib4Nub = void function (
3158         GLuint  index,
3159         GLubyte x,
3160         GLubyte y,
3161         GLubyte z,
3162         GLubyte w,
3163     );
3164     alias PFN_glVertexAttrib4Nubv = void function (
3165         GLuint          index,
3166         const(GLubyte)* v,
3167     );
3168     alias PFN_glVertexAttrib4Nuiv = void function (
3169         GLuint         index,
3170         const(GLuint)* v,
3171     );
3172     alias PFN_glVertexAttrib4Nusv = void function (
3173         GLuint           index,
3174         const(GLushort)* v,
3175     );
3176     alias PFN_glVertexAttrib4bv = void function (
3177         GLuint         index,
3178         const(GLbyte)* v,
3179     );
3180     alias PFN_glVertexAttrib4d = void function (
3181         GLuint   index,
3182         GLdouble x,
3183         GLdouble y,
3184         GLdouble z,
3185         GLdouble w,
3186     );
3187     alias PFN_glVertexAttrib4dv = void function (
3188         GLuint           index,
3189         const(GLdouble)* v,
3190     );
3191     alias PFN_glVertexAttrib4f = void function (
3192         GLuint  index,
3193         GLfloat x,
3194         GLfloat y,
3195         GLfloat z,
3196         GLfloat w,
3197     );
3198     alias PFN_glVertexAttrib4fv = void function (
3199         GLuint          index,
3200         const(GLfloat)* v,
3201     );
3202     alias PFN_glVertexAttrib4iv = void function (
3203         GLuint        index,
3204         const(GLint)* v,
3205     );
3206     alias PFN_glVertexAttrib4s = void function (
3207         GLuint  index,
3208         GLshort x,
3209         GLshort y,
3210         GLshort z,
3211         GLshort w,
3212     );
3213     alias PFN_glVertexAttrib4sv = void function (
3214         GLuint          index,
3215         const(GLshort)* v,
3216     );
3217     alias PFN_glVertexAttrib4ubv = void function (
3218         GLuint          index,
3219         const(GLubyte)* v,
3220     );
3221     alias PFN_glVertexAttrib4uiv = void function (
3222         GLuint         index,
3223         const(GLuint)* v,
3224     );
3225     alias PFN_glVertexAttrib4usv = void function (
3226         GLuint           index,
3227         const(GLushort)* v,
3228     );
3229     alias PFN_glVertexAttribPointer = void function (
3230         GLuint       index,
3231         GLint        size,
3232         GLenum       type,
3233         GLboolean    normalized,
3234         GLsizei      stride,
3235         const(void)* pointer,
3236     );
3237 
3238     // Command pointers for GL_VERSION_2_1
3239     alias PFN_glUniformMatrix2x3fv = void function (
3240         GLint           location,
3241         GLsizei         count,
3242         GLboolean       transpose,
3243         const(GLfloat)* value,
3244     );
3245     alias PFN_glUniformMatrix3x2fv = void function (
3246         GLint           location,
3247         GLsizei         count,
3248         GLboolean       transpose,
3249         const(GLfloat)* value,
3250     );
3251     alias PFN_glUniformMatrix2x4fv = void function (
3252         GLint           location,
3253         GLsizei         count,
3254         GLboolean       transpose,
3255         const(GLfloat)* value,
3256     );
3257     alias PFN_glUniformMatrix4x2fv = void function (
3258         GLint           location,
3259         GLsizei         count,
3260         GLboolean       transpose,
3261         const(GLfloat)* value,
3262     );
3263     alias PFN_glUniformMatrix3x4fv = void function (
3264         GLint           location,
3265         GLsizei         count,
3266         GLboolean       transpose,
3267         const(GLfloat)* value,
3268     );
3269     alias PFN_glUniformMatrix4x3fv = void function (
3270         GLint           location,
3271         GLsizei         count,
3272         GLboolean       transpose,
3273         const(GLfloat)* value,
3274     );
3275 
3276     // Command pointers for GL_VERSION_3_0
3277     alias PFN_glColorMaski = void function (
3278         GLuint    index,
3279         GLboolean r,
3280         GLboolean g,
3281         GLboolean b,
3282         GLboolean a,
3283     );
3284     alias PFN_glGetBooleani_v = void function (
3285         GLenum     target,
3286         GLuint     index,
3287         GLboolean* data,
3288     );
3289     alias PFN_glGetIntegeri_v = void function (
3290         GLenum target,
3291         GLuint index,
3292         GLint* data,
3293     );
3294     alias PFN_glEnablei = void function (
3295         GLenum target,
3296         GLuint index,
3297     );
3298     alias PFN_glDisablei = void function (
3299         GLenum target,
3300         GLuint index,
3301     );
3302     alias PFN_glIsEnabledi = GLboolean function (
3303         GLenum target,
3304         GLuint index,
3305     );
3306     alias PFN_glBeginTransformFeedback = void function (
3307         GLenum primitiveMode,
3308     );
3309     alias PFN_glEndTransformFeedback = void function ();
3310     alias PFN_glBindBufferRange = void function (
3311         GLenum     target,
3312         GLuint     index,
3313         GLuint     buffer,
3314         GLintptr   offset,
3315         GLsizeiptr size,
3316     );
3317     alias PFN_glBindBufferBase = void function (
3318         GLenum target,
3319         GLuint index,
3320         GLuint buffer,
3321     );
3322     alias PFN_glTransformFeedbackVaryings = void function (
3323         GLuint          program,
3324         GLsizei         count,
3325         const(GLchar*)* varyings,
3326         GLenum          bufferMode,
3327     );
3328     alias PFN_glGetTransformFeedbackVarying = void function (
3329         GLuint   program,
3330         GLuint   index,
3331         GLsizei  bufSize,
3332         GLsizei* length,
3333         GLsizei* size,
3334         GLenum*  type,
3335         GLchar*  name,
3336     );
3337     alias PFN_glClampColor = void function (
3338         GLenum target,
3339         GLenum clamp,
3340     );
3341     alias PFN_glBeginConditionalRender = void function (
3342         GLuint id,
3343         GLenum mode,
3344     );
3345     alias PFN_glEndConditionalRender = void function ();
3346     alias PFN_glVertexAttribIPointer = void function (
3347         GLuint       index,
3348         GLint        size,
3349         GLenum       type,
3350         GLsizei      stride,
3351         const(void)* pointer,
3352     );
3353     alias PFN_glGetVertexAttribIiv = void function (
3354         GLuint index,
3355         GLenum pname,
3356         GLint* params,
3357     );
3358     alias PFN_glGetVertexAttribIuiv = void function (
3359         GLuint  index,
3360         GLenum  pname,
3361         GLuint* params,
3362     );
3363     alias PFN_glVertexAttribI1i = void function (
3364         GLuint index,
3365         GLint  x,
3366     );
3367     alias PFN_glVertexAttribI2i = void function (
3368         GLuint index,
3369         GLint  x,
3370         GLint  y,
3371     );
3372     alias PFN_glVertexAttribI3i = void function (
3373         GLuint index,
3374         GLint  x,
3375         GLint  y,
3376         GLint  z,
3377     );
3378     alias PFN_glVertexAttribI4i = void function (
3379         GLuint index,
3380         GLint  x,
3381         GLint  y,
3382         GLint  z,
3383         GLint  w,
3384     );
3385     alias PFN_glVertexAttribI1ui = void function (
3386         GLuint index,
3387         GLuint x,
3388     );
3389     alias PFN_glVertexAttribI2ui = void function (
3390         GLuint index,
3391         GLuint x,
3392         GLuint y,
3393     );
3394     alias PFN_glVertexAttribI3ui = void function (
3395         GLuint index,
3396         GLuint x,
3397         GLuint y,
3398         GLuint z,
3399     );
3400     alias PFN_glVertexAttribI4ui = void function (
3401         GLuint index,
3402         GLuint x,
3403         GLuint y,
3404         GLuint z,
3405         GLuint w,
3406     );
3407     alias PFN_glVertexAttribI1iv = void function (
3408         GLuint        index,
3409         const(GLint)* v,
3410     );
3411     alias PFN_glVertexAttribI2iv = void function (
3412         GLuint        index,
3413         const(GLint)* v,
3414     );
3415     alias PFN_glVertexAttribI3iv = void function (
3416         GLuint        index,
3417         const(GLint)* v,
3418     );
3419     alias PFN_glVertexAttribI4iv = void function (
3420         GLuint        index,
3421         const(GLint)* v,
3422     );
3423     alias PFN_glVertexAttribI1uiv = void function (
3424         GLuint         index,
3425         const(GLuint)* v,
3426     );
3427     alias PFN_glVertexAttribI2uiv = void function (
3428         GLuint         index,
3429         const(GLuint)* v,
3430     );
3431     alias PFN_glVertexAttribI3uiv = void function (
3432         GLuint         index,
3433         const(GLuint)* v,
3434     );
3435     alias PFN_glVertexAttribI4uiv = void function (
3436         GLuint         index,
3437         const(GLuint)* v,
3438     );
3439     alias PFN_glVertexAttribI4bv = void function (
3440         GLuint         index,
3441         const(GLbyte)* v,
3442     );
3443     alias PFN_glVertexAttribI4sv = void function (
3444         GLuint          index,
3445         const(GLshort)* v,
3446     );
3447     alias PFN_glVertexAttribI4ubv = void function (
3448         GLuint          index,
3449         const(GLubyte)* v,
3450     );
3451     alias PFN_glVertexAttribI4usv = void function (
3452         GLuint           index,
3453         const(GLushort)* v,
3454     );
3455     alias PFN_glGetUniformuiv = void function (
3456         GLuint  program,
3457         GLint   location,
3458         GLuint* params,
3459     );
3460     alias PFN_glBindFragDataLocation = void function (
3461         GLuint         program,
3462         GLuint         color,
3463         const(GLchar)* name,
3464     );
3465     alias PFN_glGetFragDataLocation = GLint function (
3466         GLuint         program,
3467         const(GLchar)* name,
3468     );
3469     alias PFN_glUniform1ui = void function (
3470         GLint  location,
3471         GLuint v0,
3472     );
3473     alias PFN_glUniform2ui = void function (
3474         GLint  location,
3475         GLuint v0,
3476         GLuint v1,
3477     );
3478     alias PFN_glUniform3ui = void function (
3479         GLint  location,
3480         GLuint v0,
3481         GLuint v1,
3482         GLuint v2,
3483     );
3484     alias PFN_glUniform4ui = void function (
3485         GLint  location,
3486         GLuint v0,
3487         GLuint v1,
3488         GLuint v2,
3489         GLuint v3,
3490     );
3491     alias PFN_glUniform1uiv = void function (
3492         GLint          location,
3493         GLsizei        count,
3494         const(GLuint)* value,
3495     );
3496     alias PFN_glUniform2uiv = void function (
3497         GLint          location,
3498         GLsizei        count,
3499         const(GLuint)* value,
3500     );
3501     alias PFN_glUniform3uiv = void function (
3502         GLint          location,
3503         GLsizei        count,
3504         const(GLuint)* value,
3505     );
3506     alias PFN_glUniform4uiv = void function (
3507         GLint          location,
3508         GLsizei        count,
3509         const(GLuint)* value,
3510     );
3511     alias PFN_glTexParameterIiv = void function (
3512         GLenum        target,
3513         GLenum        pname,
3514         const(GLint)* params,
3515     );
3516     alias PFN_glTexParameterIuiv = void function (
3517         GLenum         target,
3518         GLenum         pname,
3519         const(GLuint)* params,
3520     );
3521     alias PFN_glGetTexParameterIiv = void function (
3522         GLenum target,
3523         GLenum pname,
3524         GLint* params,
3525     );
3526     alias PFN_glGetTexParameterIuiv = void function (
3527         GLenum  target,
3528         GLenum  pname,
3529         GLuint* params,
3530     );
3531     alias PFN_glClearBufferiv = void function (
3532         GLenum        buffer,
3533         GLint         drawbuffer,
3534         const(GLint)* value,
3535     );
3536     alias PFN_glClearBufferuiv = void function (
3537         GLenum         buffer,
3538         GLint          drawbuffer,
3539         const(GLuint)* value,
3540     );
3541     alias PFN_glClearBufferfv = void function (
3542         GLenum          buffer,
3543         GLint           drawbuffer,
3544         const(GLfloat)* value,
3545     );
3546     alias PFN_glClearBufferfi = void function (
3547         GLenum  buffer,
3548         GLint   drawbuffer,
3549         GLfloat depth,
3550         GLint   stencil,
3551     );
3552     alias PFN_glGetStringi = const(GLubyte)* function (
3553         GLenum name,
3554         GLuint index,
3555     );
3556     alias PFN_glIsRenderbuffer = GLboolean function (
3557         GLuint renderbuffer,
3558     );
3559     alias PFN_glBindRenderbuffer = void function (
3560         GLenum target,
3561         GLuint renderbuffer,
3562     );
3563     alias PFN_glDeleteRenderbuffers = void function (
3564         GLsizei        n,
3565         const(GLuint)* renderbuffers,
3566     );
3567     alias PFN_glGenRenderbuffers = void function (
3568         GLsizei n,
3569         GLuint* renderbuffers,
3570     );
3571     alias PFN_glRenderbufferStorage = void function (
3572         GLenum  target,
3573         GLenum  internalformat,
3574         GLsizei width,
3575         GLsizei height,
3576     );
3577     alias PFN_glGetRenderbufferParameteriv = void function (
3578         GLenum target,
3579         GLenum pname,
3580         GLint* params,
3581     );
3582     alias PFN_glIsFramebuffer = GLboolean function (
3583         GLuint framebuffer,
3584     );
3585     alias PFN_glBindFramebuffer = void function (
3586         GLenum target,
3587         GLuint framebuffer,
3588     );
3589     alias PFN_glDeleteFramebuffers = void function (
3590         GLsizei        n,
3591         const(GLuint)* framebuffers,
3592     );
3593     alias PFN_glGenFramebuffers = void function (
3594         GLsizei n,
3595         GLuint* framebuffers,
3596     );
3597     alias PFN_glCheckFramebufferStatus = GLenum function (
3598         GLenum target,
3599     );
3600     alias PFN_glFramebufferTexture1D = void function (
3601         GLenum target,
3602         GLenum attachment,
3603         GLenum textarget,
3604         GLuint texture,
3605         GLint  level,
3606     );
3607     alias PFN_glFramebufferTexture2D = void function (
3608         GLenum target,
3609         GLenum attachment,
3610         GLenum textarget,
3611         GLuint texture,
3612         GLint  level,
3613     );
3614     alias PFN_glFramebufferTexture3D = void function (
3615         GLenum target,
3616         GLenum attachment,
3617         GLenum textarget,
3618         GLuint texture,
3619         GLint  level,
3620         GLint  zoffset,
3621     );
3622     alias PFN_glFramebufferRenderbuffer = void function (
3623         GLenum target,
3624         GLenum attachment,
3625         GLenum renderbuffertarget,
3626         GLuint renderbuffer,
3627     );
3628     alias PFN_glGetFramebufferAttachmentParameteriv = void function (
3629         GLenum target,
3630         GLenum attachment,
3631         GLenum pname,
3632         GLint* params,
3633     );
3634     alias PFN_glGenerateMipmap = void function (
3635         GLenum target,
3636     );
3637     alias PFN_glBlitFramebuffer = void function (
3638         GLint      srcX0,
3639         GLint      srcY0,
3640         GLint      srcX1,
3641         GLint      srcY1,
3642         GLint      dstX0,
3643         GLint      dstY0,
3644         GLint      dstX1,
3645         GLint      dstY1,
3646         GLbitfield mask,
3647         GLenum     filter,
3648     );
3649     alias PFN_glRenderbufferStorageMultisample = void function (
3650         GLenum  target,
3651         GLsizei samples,
3652         GLenum  internalformat,
3653         GLsizei width,
3654         GLsizei height,
3655     );
3656     alias PFN_glFramebufferTextureLayer = void function (
3657         GLenum target,
3658         GLenum attachment,
3659         GLuint texture,
3660         GLint  level,
3661         GLint  layer,
3662     );
3663     alias PFN_glMapBufferRange = void * function (
3664         GLenum     target,
3665         GLintptr   offset,
3666         GLsizeiptr length,
3667         GLbitfield access,
3668     );
3669     alias PFN_glFlushMappedBufferRange = void function (
3670         GLenum     target,
3671         GLintptr   offset,
3672         GLsizeiptr length,
3673     );
3674     alias PFN_glBindVertexArray = void function (
3675         GLuint array,
3676     );
3677     alias PFN_glDeleteVertexArrays = void function (
3678         GLsizei        n,
3679         const(GLuint)* arrays,
3680     );
3681     alias PFN_glGenVertexArrays = void function (
3682         GLsizei n,
3683         GLuint* arrays,
3684     );
3685     alias PFN_glIsVertexArray = GLboolean function (
3686         GLuint array,
3687     );
3688 
3689     // Command pointers for GL_VERSION_3_1
3690     alias PFN_glDrawArraysInstanced = void function (
3691         GLenum  mode,
3692         GLint   first,
3693         GLsizei count,
3694         GLsizei instancecount,
3695     );
3696     alias PFN_glDrawElementsInstanced = void function (
3697         GLenum       mode,
3698         GLsizei      count,
3699         GLenum       type,
3700         const(void)* indices,
3701         GLsizei      instancecount,
3702     );
3703     alias PFN_glTexBuffer = void function (
3704         GLenum target,
3705         GLenum internalformat,
3706         GLuint buffer,
3707     );
3708     alias PFN_glPrimitiveRestartIndex = void function (
3709         GLuint index,
3710     );
3711     alias PFN_glCopyBufferSubData = void function (
3712         GLenum     readTarget,
3713         GLenum     writeTarget,
3714         GLintptr   readOffset,
3715         GLintptr   writeOffset,
3716         GLsizeiptr size,
3717     );
3718     alias PFN_glGetUniformIndices = void function (
3719         GLuint          program,
3720         GLsizei         uniformCount,
3721         const(GLchar*)* uniformNames,
3722         GLuint*         uniformIndices,
3723     );
3724     alias PFN_glGetActiveUniformsiv = void function (
3725         GLuint         program,
3726         GLsizei        uniformCount,
3727         const(GLuint)* uniformIndices,
3728         GLenum         pname,
3729         GLint*         params,
3730     );
3731     alias PFN_glGetActiveUniformName = void function (
3732         GLuint   program,
3733         GLuint   uniformIndex,
3734         GLsizei  bufSize,
3735         GLsizei* length,
3736         GLchar*  uniformName,
3737     );
3738     alias PFN_glGetUniformBlockIndex = GLuint function (
3739         GLuint         program,
3740         const(GLchar)* uniformBlockName,
3741     );
3742     alias PFN_glGetActiveUniformBlockiv = void function (
3743         GLuint program,
3744         GLuint uniformBlockIndex,
3745         GLenum pname,
3746         GLint* params,
3747     );
3748     alias PFN_glGetActiveUniformBlockName = void function (
3749         GLuint   program,
3750         GLuint   uniformBlockIndex,
3751         GLsizei  bufSize,
3752         GLsizei* length,
3753         GLchar*  uniformBlockName,
3754     );
3755     alias PFN_glUniformBlockBinding = void function (
3756         GLuint program,
3757         GLuint uniformBlockIndex,
3758         GLuint uniformBlockBinding,
3759     );
3760 
3761     // Command pointers for GL_VERSION_3_2
3762     alias PFN_glDrawElementsBaseVertex = void function (
3763         GLenum       mode,
3764         GLsizei      count,
3765         GLenum       type,
3766         const(void)* indices,
3767         GLint        basevertex,
3768     );
3769     alias PFN_glDrawRangeElementsBaseVertex = void function (
3770         GLenum       mode,
3771         GLuint       start,
3772         GLuint       end,
3773         GLsizei      count,
3774         GLenum       type,
3775         const(void)* indices,
3776         GLint        basevertex,
3777     );
3778     alias PFN_glDrawElementsInstancedBaseVertex = void function (
3779         GLenum       mode,
3780         GLsizei      count,
3781         GLenum       type,
3782         const(void)* indices,
3783         GLsizei      instancecount,
3784         GLint        basevertex,
3785     );
3786     alias PFN_glMultiDrawElementsBaseVertex = void function (
3787         GLenum          mode,
3788         const(GLsizei)* count,
3789         GLenum          type,
3790         const(void*)*   indices,
3791         GLsizei         drawcount,
3792         const(GLint)*   basevertex,
3793     );
3794     alias PFN_glProvokingVertex = void function (
3795         GLenum mode,
3796     );
3797     alias PFN_glFenceSync = GLsync function (
3798         GLenum     condition,
3799         GLbitfield flags,
3800     );
3801     alias PFN_glIsSync = GLboolean function (
3802         GLsync sync,
3803     );
3804     alias PFN_glDeleteSync = void function (
3805         GLsync sync,
3806     );
3807     alias PFN_glClientWaitSync = GLenum function (
3808         GLsync     sync,
3809         GLbitfield flags,
3810         GLuint64   timeout,
3811     );
3812     alias PFN_glWaitSync = void function (
3813         GLsync     sync,
3814         GLbitfield flags,
3815         GLuint64   timeout,
3816     );
3817     alias PFN_glGetInteger64v = void function (
3818         GLenum   pname,
3819         GLint64* data,
3820     );
3821     alias PFN_glGetSynciv = void function (
3822         GLsync   sync,
3823         GLenum   pname,
3824         GLsizei  bufSize,
3825         GLsizei* length,
3826         GLint*   values,
3827     );
3828     alias PFN_glGetInteger64i_v = void function (
3829         GLenum   target,
3830         GLuint   index,
3831         GLint64* data,
3832     );
3833     alias PFN_glGetBufferParameteri64v = void function (
3834         GLenum   target,
3835         GLenum   pname,
3836         GLint64* params,
3837     );
3838     alias PFN_glFramebufferTexture = void function (
3839         GLenum target,
3840         GLenum attachment,
3841         GLuint texture,
3842         GLint  level,
3843     );
3844     alias PFN_glTexImage2DMultisample = void function (
3845         GLenum    target,
3846         GLsizei   samples,
3847         GLenum    internalformat,
3848         GLsizei   width,
3849         GLsizei   height,
3850         GLboolean fixedsamplelocations,
3851     );
3852     alias PFN_glTexImage3DMultisample = void function (
3853         GLenum    target,
3854         GLsizei   samples,
3855         GLenum    internalformat,
3856         GLsizei   width,
3857         GLsizei   height,
3858         GLsizei   depth,
3859         GLboolean fixedsamplelocations,
3860     );
3861     alias PFN_glGetMultisamplefv = void function (
3862         GLenum   pname,
3863         GLuint   index,
3864         GLfloat* val,
3865     );
3866     alias PFN_glSampleMaski = void function (
3867         GLuint     maskNumber,
3868         GLbitfield mask,
3869     );
3870 
3871     // Command pointers for GL_VERSION_3_3
3872     alias PFN_glBindFragDataLocationIndexed = void function (
3873         GLuint         program,
3874         GLuint         colorNumber,
3875         GLuint         index,
3876         const(GLchar)* name,
3877     );
3878     alias PFN_glGetFragDataIndex = GLint function (
3879         GLuint         program,
3880         const(GLchar)* name,
3881     );
3882     alias PFN_glGenSamplers = void function (
3883         GLsizei count,
3884         GLuint* samplers,
3885     );
3886     alias PFN_glDeleteSamplers = void function (
3887         GLsizei        count,
3888         const(GLuint)* samplers,
3889     );
3890     alias PFN_glIsSampler = GLboolean function (
3891         GLuint sampler,
3892     );
3893     alias PFN_glBindSampler = void function (
3894         GLuint unit,
3895         GLuint sampler,
3896     );
3897     alias PFN_glSamplerParameteri = void function (
3898         GLuint sampler,
3899         GLenum pname,
3900         GLint  param,
3901     );
3902     alias PFN_glSamplerParameteriv = void function (
3903         GLuint        sampler,
3904         GLenum        pname,
3905         const(GLint)* param,
3906     );
3907     alias PFN_glSamplerParameterf = void function (
3908         GLuint  sampler,
3909         GLenum  pname,
3910         GLfloat param,
3911     );
3912     alias PFN_glSamplerParameterfv = void function (
3913         GLuint          sampler,
3914         GLenum          pname,
3915         const(GLfloat)* param,
3916     );
3917     alias PFN_glSamplerParameterIiv = void function (
3918         GLuint        sampler,
3919         GLenum        pname,
3920         const(GLint)* param,
3921     );
3922     alias PFN_glSamplerParameterIuiv = void function (
3923         GLuint         sampler,
3924         GLenum         pname,
3925         const(GLuint)* param,
3926     );
3927     alias PFN_glGetSamplerParameteriv = void function (
3928         GLuint sampler,
3929         GLenum pname,
3930         GLint* params,
3931     );
3932     alias PFN_glGetSamplerParameterIiv = void function (
3933         GLuint sampler,
3934         GLenum pname,
3935         GLint* params,
3936     );
3937     alias PFN_glGetSamplerParameterfv = void function (
3938         GLuint   sampler,
3939         GLenum   pname,
3940         GLfloat* params,
3941     );
3942     alias PFN_glGetSamplerParameterIuiv = void function (
3943         GLuint  sampler,
3944         GLenum  pname,
3945         GLuint* params,
3946     );
3947     alias PFN_glQueryCounter = void function (
3948         GLuint id,
3949         GLenum target,
3950     );
3951     alias PFN_glGetQueryObjecti64v = void function (
3952         GLuint   id,
3953         GLenum   pname,
3954         GLint64* params,
3955     );
3956     alias PFN_glGetQueryObjectui64v = void function (
3957         GLuint    id,
3958         GLenum    pname,
3959         GLuint64* params,
3960     );
3961     alias PFN_glVertexAttribDivisor = void function (
3962         GLuint index,
3963         GLuint divisor,
3964     );
3965     alias PFN_glVertexAttribP1ui = void function (
3966         GLuint    index,
3967         GLenum    type,
3968         GLboolean normalized,
3969         GLuint    value,
3970     );
3971     alias PFN_glVertexAttribP1uiv = void function (
3972         GLuint         index,
3973         GLenum         type,
3974         GLboolean      normalized,
3975         const(GLuint)* value,
3976     );
3977     alias PFN_glVertexAttribP2ui = void function (
3978         GLuint    index,
3979         GLenum    type,
3980         GLboolean normalized,
3981         GLuint    value,
3982     );
3983     alias PFN_glVertexAttribP2uiv = void function (
3984         GLuint         index,
3985         GLenum         type,
3986         GLboolean      normalized,
3987         const(GLuint)* value,
3988     );
3989     alias PFN_glVertexAttribP3ui = void function (
3990         GLuint    index,
3991         GLenum    type,
3992         GLboolean normalized,
3993         GLuint    value,
3994     );
3995     alias PFN_glVertexAttribP3uiv = void function (
3996         GLuint         index,
3997         GLenum         type,
3998         GLboolean      normalized,
3999         const(GLuint)* value,
4000     );
4001     alias PFN_glVertexAttribP4ui = void function (
4002         GLuint    index,
4003         GLenum    type,
4004         GLboolean normalized,
4005         GLuint    value,
4006     );
4007     alias PFN_glVertexAttribP4uiv = void function (
4008         GLuint         index,
4009         GLenum         type,
4010         GLboolean      normalized,
4011         const(GLuint)* value,
4012     );
4013 
4014     // Command pointers for GL_VERSION_4_0
4015     alias PFN_glMinSampleShading = void function (
4016         GLfloat value,
4017     );
4018     alias PFN_glBlendEquationi = void function (
4019         GLuint buf,
4020         GLenum mode,
4021     );
4022     alias PFN_glBlendEquationSeparatei = void function (
4023         GLuint buf,
4024         GLenum modeRGB,
4025         GLenum modeAlpha,
4026     );
4027     alias PFN_glBlendFunci = void function (
4028         GLuint buf,
4029         GLenum src,
4030         GLenum dst,
4031     );
4032     alias PFN_glBlendFuncSeparatei = void function (
4033         GLuint buf,
4034         GLenum srcRGB,
4035         GLenum dstRGB,
4036         GLenum srcAlpha,
4037         GLenum dstAlpha,
4038     );
4039     alias PFN_glDrawArraysIndirect = void function (
4040         GLenum       mode,
4041         const(void)* indirect,
4042     );
4043     alias PFN_glDrawElementsIndirect = void function (
4044         GLenum       mode,
4045         GLenum       type,
4046         const(void)* indirect,
4047     );
4048     alias PFN_glUniform1d = void function (
4049         GLint    location,
4050         GLdouble x,
4051     );
4052     alias PFN_glUniform2d = void function (
4053         GLint    location,
4054         GLdouble x,
4055         GLdouble y,
4056     );
4057     alias PFN_glUniform3d = void function (
4058         GLint    location,
4059         GLdouble x,
4060         GLdouble y,
4061         GLdouble z,
4062     );
4063     alias PFN_glUniform4d = void function (
4064         GLint    location,
4065         GLdouble x,
4066         GLdouble y,
4067         GLdouble z,
4068         GLdouble w,
4069     );
4070     alias PFN_glUniform1dv = void function (
4071         GLint            location,
4072         GLsizei          count,
4073         const(GLdouble)* value,
4074     );
4075     alias PFN_glUniform2dv = void function (
4076         GLint            location,
4077         GLsizei          count,
4078         const(GLdouble)* value,
4079     );
4080     alias PFN_glUniform3dv = void function (
4081         GLint            location,
4082         GLsizei          count,
4083         const(GLdouble)* value,
4084     );
4085     alias PFN_glUniform4dv = void function (
4086         GLint            location,
4087         GLsizei          count,
4088         const(GLdouble)* value,
4089     );
4090     alias PFN_glUniformMatrix2dv = void function (
4091         GLint            location,
4092         GLsizei          count,
4093         GLboolean        transpose,
4094         const(GLdouble)* value,
4095     );
4096     alias PFN_glUniformMatrix3dv = void function (
4097         GLint            location,
4098         GLsizei          count,
4099         GLboolean        transpose,
4100         const(GLdouble)* value,
4101     );
4102     alias PFN_glUniformMatrix4dv = void function (
4103         GLint            location,
4104         GLsizei          count,
4105         GLboolean        transpose,
4106         const(GLdouble)* value,
4107     );
4108     alias PFN_glUniformMatrix2x3dv = void function (
4109         GLint            location,
4110         GLsizei          count,
4111         GLboolean        transpose,
4112         const(GLdouble)* value,
4113     );
4114     alias PFN_glUniformMatrix2x4dv = void function (
4115         GLint            location,
4116         GLsizei          count,
4117         GLboolean        transpose,
4118         const(GLdouble)* value,
4119     );
4120     alias PFN_glUniformMatrix3x2dv = void function (
4121         GLint            location,
4122         GLsizei          count,
4123         GLboolean        transpose,
4124         const(GLdouble)* value,
4125     );
4126     alias PFN_glUniformMatrix3x4dv = void function (
4127         GLint            location,
4128         GLsizei          count,
4129         GLboolean        transpose,
4130         const(GLdouble)* value,
4131     );
4132     alias PFN_glUniformMatrix4x2dv = void function (
4133         GLint            location,
4134         GLsizei          count,
4135         GLboolean        transpose,
4136         const(GLdouble)* value,
4137     );
4138     alias PFN_glUniformMatrix4x3dv = void function (
4139         GLint            location,
4140         GLsizei          count,
4141         GLboolean        transpose,
4142         const(GLdouble)* value,
4143     );
4144     alias PFN_glGetUniformdv = void function (
4145         GLuint    program,
4146         GLint     location,
4147         GLdouble* params,
4148     );
4149     alias PFN_glGetSubroutineUniformLocation = GLint function (
4150         GLuint         program,
4151         GLenum         shadertype,
4152         const(GLchar)* name,
4153     );
4154     alias PFN_glGetSubroutineIndex = GLuint function (
4155         GLuint         program,
4156         GLenum         shadertype,
4157         const(GLchar)* name,
4158     );
4159     alias PFN_glGetActiveSubroutineUniformiv = void function (
4160         GLuint program,
4161         GLenum shadertype,
4162         GLuint index,
4163         GLenum pname,
4164         GLint* values,
4165     );
4166     alias PFN_glGetActiveSubroutineUniformName = void function (
4167         GLuint   program,
4168         GLenum   shadertype,
4169         GLuint   index,
4170         GLsizei  bufsize,
4171         GLsizei* length,
4172         GLchar*  name,
4173     );
4174     alias PFN_glGetActiveSubroutineName = void function (
4175         GLuint   program,
4176         GLenum   shadertype,
4177         GLuint   index,
4178         GLsizei  bufsize,
4179         GLsizei* length,
4180         GLchar*  name,
4181     );
4182     alias PFN_glUniformSubroutinesuiv = void function (
4183         GLenum         shadertype,
4184         GLsizei        count,
4185         const(GLuint)* indices,
4186     );
4187     alias PFN_glGetUniformSubroutineuiv = void function (
4188         GLenum  shadertype,
4189         GLint   location,
4190         GLuint* params,
4191     );
4192     alias PFN_glGetProgramStageiv = void function (
4193         GLuint program,
4194         GLenum shadertype,
4195         GLenum pname,
4196         GLint* values,
4197     );
4198     alias PFN_glPatchParameteri = void function (
4199         GLenum pname,
4200         GLint  value,
4201     );
4202     alias PFN_glPatchParameterfv = void function (
4203         GLenum          pname,
4204         const(GLfloat)* values,
4205     );
4206     alias PFN_glBindTransformFeedback = void function (
4207         GLenum target,
4208         GLuint id,
4209     );
4210     alias PFN_glDeleteTransformFeedbacks = void function (
4211         GLsizei        n,
4212         const(GLuint)* ids,
4213     );
4214     alias PFN_glGenTransformFeedbacks = void function (
4215         GLsizei n,
4216         GLuint* ids,
4217     );
4218     alias PFN_glIsTransformFeedback = GLboolean function (
4219         GLuint id,
4220     );
4221     alias PFN_glPauseTransformFeedback = void function ();
4222     alias PFN_glResumeTransformFeedback = void function ();
4223     alias PFN_glDrawTransformFeedback = void function (
4224         GLenum mode,
4225         GLuint id,
4226     );
4227     alias PFN_glDrawTransformFeedbackStream = void function (
4228         GLenum mode,
4229         GLuint id,
4230         GLuint stream,
4231     );
4232     alias PFN_glBeginQueryIndexed = void function (
4233         GLenum target,
4234         GLuint index,
4235         GLuint id,
4236     );
4237     alias PFN_glEndQueryIndexed = void function (
4238         GLenum target,
4239         GLuint index,
4240     );
4241     alias PFN_glGetQueryIndexediv = void function (
4242         GLenum target,
4243         GLuint index,
4244         GLenum pname,
4245         GLint* params,
4246     );
4247 
4248     // Command pointers for GL_VERSION_4_1
4249     alias PFN_glReleaseShaderCompiler = void function ();
4250     alias PFN_glShaderBinary = void function (
4251         GLsizei        count,
4252         const(GLuint)* shaders,
4253         GLenum         binaryformat,
4254         const(void)*   binary,
4255         GLsizei        length,
4256     );
4257     alias PFN_glGetShaderPrecisionFormat = void function (
4258         GLenum shadertype,
4259         GLenum precisiontype,
4260         GLint* range,
4261         GLint* precision,
4262     );
4263     alias PFN_glDepthRangef = void function (
4264         GLfloat n,
4265         GLfloat f,
4266     );
4267     alias PFN_glClearDepthf = void function (
4268         GLfloat d,
4269     );
4270     alias PFN_glGetProgramBinary = void function (
4271         GLuint   program,
4272         GLsizei  bufSize,
4273         GLsizei* length,
4274         GLenum*  binaryFormat,
4275         void*    binary,
4276     );
4277     alias PFN_glProgramBinary = void function (
4278         GLuint       program,
4279         GLenum       binaryFormat,
4280         const(void)* binary,
4281         GLsizei      length,
4282     );
4283     alias PFN_glProgramParameteri = void function (
4284         GLuint program,
4285         GLenum pname,
4286         GLint  value,
4287     );
4288     alias PFN_glUseProgramStages = void function (
4289         GLuint     pipeline,
4290         GLbitfield stages,
4291         GLuint     program,
4292     );
4293     alias PFN_glActiveShaderProgram = void function (
4294         GLuint pipeline,
4295         GLuint program,
4296     );
4297     alias PFN_glCreateShaderProgramv = GLuint function (
4298         GLenum          type,
4299         GLsizei         count,
4300         const(GLchar*)* strings,
4301     );
4302     alias PFN_glBindProgramPipeline = void function (
4303         GLuint pipeline,
4304     );
4305     alias PFN_glDeleteProgramPipelines = void function (
4306         GLsizei        n,
4307         const(GLuint)* pipelines,
4308     );
4309     alias PFN_glGenProgramPipelines = void function (
4310         GLsizei n,
4311         GLuint* pipelines,
4312     );
4313     alias PFN_glIsProgramPipeline = GLboolean function (
4314         GLuint pipeline,
4315     );
4316     alias PFN_glGetProgramPipelineiv = void function (
4317         GLuint pipeline,
4318         GLenum pname,
4319         GLint* params,
4320     );
4321     alias PFN_glProgramUniform1i = void function (
4322         GLuint program,
4323         GLint  location,
4324         GLint  v0,
4325     );
4326     alias PFN_glProgramUniform1iv = void function (
4327         GLuint        program,
4328         GLint         location,
4329         GLsizei       count,
4330         const(GLint)* value,
4331     );
4332     alias PFN_glProgramUniform1f = void function (
4333         GLuint  program,
4334         GLint   location,
4335         GLfloat v0,
4336     );
4337     alias PFN_glProgramUniform1fv = void function (
4338         GLuint          program,
4339         GLint           location,
4340         GLsizei         count,
4341         const(GLfloat)* value,
4342     );
4343     alias PFN_glProgramUniform1d = void function (
4344         GLuint   program,
4345         GLint    location,
4346         GLdouble v0,
4347     );
4348     alias PFN_glProgramUniform1dv = void function (
4349         GLuint           program,
4350         GLint            location,
4351         GLsizei          count,
4352         const(GLdouble)* value,
4353     );
4354     alias PFN_glProgramUniform1ui = void function (
4355         GLuint program,
4356         GLint  location,
4357         GLuint v0,
4358     );
4359     alias PFN_glProgramUniform1uiv = void function (
4360         GLuint         program,
4361         GLint          location,
4362         GLsizei        count,
4363         const(GLuint)* value,
4364     );
4365     alias PFN_glProgramUniform2i = void function (
4366         GLuint program,
4367         GLint  location,
4368         GLint  v0,
4369         GLint  v1,
4370     );
4371     alias PFN_glProgramUniform2iv = void function (
4372         GLuint        program,
4373         GLint         location,
4374         GLsizei       count,
4375         const(GLint)* value,
4376     );
4377     alias PFN_glProgramUniform2f = void function (
4378         GLuint  program,
4379         GLint   location,
4380         GLfloat v0,
4381         GLfloat v1,
4382     );
4383     alias PFN_glProgramUniform2fv = void function (
4384         GLuint          program,
4385         GLint           location,
4386         GLsizei         count,
4387         const(GLfloat)* value,
4388     );
4389     alias PFN_glProgramUniform2d = void function (
4390         GLuint   program,
4391         GLint    location,
4392         GLdouble v0,
4393         GLdouble v1,
4394     );
4395     alias PFN_glProgramUniform2dv = void function (
4396         GLuint           program,
4397         GLint            location,
4398         GLsizei          count,
4399         const(GLdouble)* value,
4400     );
4401     alias PFN_glProgramUniform2ui = void function (
4402         GLuint program,
4403         GLint  location,
4404         GLuint v0,
4405         GLuint v1,
4406     );
4407     alias PFN_glProgramUniform2uiv = void function (
4408         GLuint         program,
4409         GLint          location,
4410         GLsizei        count,
4411         const(GLuint)* value,
4412     );
4413     alias PFN_glProgramUniform3i = void function (
4414         GLuint program,
4415         GLint  location,
4416         GLint  v0,
4417         GLint  v1,
4418         GLint  v2,
4419     );
4420     alias PFN_glProgramUniform3iv = void function (
4421         GLuint        program,
4422         GLint         location,
4423         GLsizei       count,
4424         const(GLint)* value,
4425     );
4426     alias PFN_glProgramUniform3f = void function (
4427         GLuint  program,
4428         GLint   location,
4429         GLfloat v0,
4430         GLfloat v1,
4431         GLfloat v2,
4432     );
4433     alias PFN_glProgramUniform3fv = void function (
4434         GLuint          program,
4435         GLint           location,
4436         GLsizei         count,
4437         const(GLfloat)* value,
4438     );
4439     alias PFN_glProgramUniform3d = void function (
4440         GLuint   program,
4441         GLint    location,
4442         GLdouble v0,
4443         GLdouble v1,
4444         GLdouble v2,
4445     );
4446     alias PFN_glProgramUniform3dv = void function (
4447         GLuint           program,
4448         GLint            location,
4449         GLsizei          count,
4450         const(GLdouble)* value,
4451     );
4452     alias PFN_glProgramUniform3ui = void function (
4453         GLuint program,
4454         GLint  location,
4455         GLuint v0,
4456         GLuint v1,
4457         GLuint v2,
4458     );
4459     alias PFN_glProgramUniform3uiv = void function (
4460         GLuint         program,
4461         GLint          location,
4462         GLsizei        count,
4463         const(GLuint)* value,
4464     );
4465     alias PFN_glProgramUniform4i = void function (
4466         GLuint program,
4467         GLint  location,
4468         GLint  v0,
4469         GLint  v1,
4470         GLint  v2,
4471         GLint  v3,
4472     );
4473     alias PFN_glProgramUniform4iv = void function (
4474         GLuint        program,
4475         GLint         location,
4476         GLsizei       count,
4477         const(GLint)* value,
4478     );
4479     alias PFN_glProgramUniform4f = void function (
4480         GLuint  program,
4481         GLint   location,
4482         GLfloat v0,
4483         GLfloat v1,
4484         GLfloat v2,
4485         GLfloat v3,
4486     );
4487     alias PFN_glProgramUniform4fv = void function (
4488         GLuint          program,
4489         GLint           location,
4490         GLsizei         count,
4491         const(GLfloat)* value,
4492     );
4493     alias PFN_glProgramUniform4d = void function (
4494         GLuint   program,
4495         GLint    location,
4496         GLdouble v0,
4497         GLdouble v1,
4498         GLdouble v2,
4499         GLdouble v3,
4500     );
4501     alias PFN_glProgramUniform4dv = void function (
4502         GLuint           program,
4503         GLint            location,
4504         GLsizei          count,
4505         const(GLdouble)* value,
4506     );
4507     alias PFN_glProgramUniform4ui = void function (
4508         GLuint program,
4509         GLint  location,
4510         GLuint v0,
4511         GLuint v1,
4512         GLuint v2,
4513         GLuint v3,
4514     );
4515     alias PFN_glProgramUniform4uiv = void function (
4516         GLuint         program,
4517         GLint          location,
4518         GLsizei        count,
4519         const(GLuint)* value,
4520     );
4521     alias PFN_glProgramUniformMatrix2fv = void function (
4522         GLuint          program,
4523         GLint           location,
4524         GLsizei         count,
4525         GLboolean       transpose,
4526         const(GLfloat)* value,
4527     );
4528     alias PFN_glProgramUniformMatrix3fv = void function (
4529         GLuint          program,
4530         GLint           location,
4531         GLsizei         count,
4532         GLboolean       transpose,
4533         const(GLfloat)* value,
4534     );
4535     alias PFN_glProgramUniformMatrix4fv = void function (
4536         GLuint          program,
4537         GLint           location,
4538         GLsizei         count,
4539         GLboolean       transpose,
4540         const(GLfloat)* value,
4541     );
4542     alias PFN_glProgramUniformMatrix2dv = void function (
4543         GLuint           program,
4544         GLint            location,
4545         GLsizei          count,
4546         GLboolean        transpose,
4547         const(GLdouble)* value,
4548     );
4549     alias PFN_glProgramUniformMatrix3dv = void function (
4550         GLuint           program,
4551         GLint            location,
4552         GLsizei          count,
4553         GLboolean        transpose,
4554         const(GLdouble)* value,
4555     );
4556     alias PFN_glProgramUniformMatrix4dv = void function (
4557         GLuint           program,
4558         GLint            location,
4559         GLsizei          count,
4560         GLboolean        transpose,
4561         const(GLdouble)* value,
4562     );
4563     alias PFN_glProgramUniformMatrix2x3fv = void function (
4564         GLuint          program,
4565         GLint           location,
4566         GLsizei         count,
4567         GLboolean       transpose,
4568         const(GLfloat)* value,
4569     );
4570     alias PFN_glProgramUniformMatrix3x2fv = void function (
4571         GLuint          program,
4572         GLint           location,
4573         GLsizei         count,
4574         GLboolean       transpose,
4575         const(GLfloat)* value,
4576     );
4577     alias PFN_glProgramUniformMatrix2x4fv = void function (
4578         GLuint          program,
4579         GLint           location,
4580         GLsizei         count,
4581         GLboolean       transpose,
4582         const(GLfloat)* value,
4583     );
4584     alias PFN_glProgramUniformMatrix4x2fv = void function (
4585         GLuint          program,
4586         GLint           location,
4587         GLsizei         count,
4588         GLboolean       transpose,
4589         const(GLfloat)* value,
4590     );
4591     alias PFN_glProgramUniformMatrix3x4fv = void function (
4592         GLuint          program,
4593         GLint           location,
4594         GLsizei         count,
4595         GLboolean       transpose,
4596         const(GLfloat)* value,
4597     );
4598     alias PFN_glProgramUniformMatrix4x3fv = void function (
4599         GLuint          program,
4600         GLint           location,
4601         GLsizei         count,
4602         GLboolean       transpose,
4603         const(GLfloat)* value,
4604     );
4605     alias PFN_glProgramUniformMatrix2x3dv = void function (
4606         GLuint           program,
4607         GLint            location,
4608         GLsizei          count,
4609         GLboolean        transpose,
4610         const(GLdouble)* value,
4611     );
4612     alias PFN_glProgramUniformMatrix3x2dv = void function (
4613         GLuint           program,
4614         GLint            location,
4615         GLsizei          count,
4616         GLboolean        transpose,
4617         const(GLdouble)* value,
4618     );
4619     alias PFN_glProgramUniformMatrix2x4dv = void function (
4620         GLuint           program,
4621         GLint            location,
4622         GLsizei          count,
4623         GLboolean        transpose,
4624         const(GLdouble)* value,
4625     );
4626     alias PFN_glProgramUniformMatrix4x2dv = void function (
4627         GLuint           program,
4628         GLint            location,
4629         GLsizei          count,
4630         GLboolean        transpose,
4631         const(GLdouble)* value,
4632     );
4633     alias PFN_glProgramUniformMatrix3x4dv = void function (
4634         GLuint           program,
4635         GLint            location,
4636         GLsizei          count,
4637         GLboolean        transpose,
4638         const(GLdouble)* value,
4639     );
4640     alias PFN_glProgramUniformMatrix4x3dv = void function (
4641         GLuint           program,
4642         GLint            location,
4643         GLsizei          count,
4644         GLboolean        transpose,
4645         const(GLdouble)* value,
4646     );
4647     alias PFN_glValidateProgramPipeline = void function (
4648         GLuint pipeline,
4649     );
4650     alias PFN_glGetProgramPipelineInfoLog = void function (
4651         GLuint   pipeline,
4652         GLsizei  bufSize,
4653         GLsizei* length,
4654         GLchar*  infoLog,
4655     );
4656     alias PFN_glVertexAttribL1d = void function (
4657         GLuint   index,
4658         GLdouble x,
4659     );
4660     alias PFN_glVertexAttribL2d = void function (
4661         GLuint   index,
4662         GLdouble x,
4663         GLdouble y,
4664     );
4665     alias PFN_glVertexAttribL3d = void function (
4666         GLuint   index,
4667         GLdouble x,
4668         GLdouble y,
4669         GLdouble z,
4670     );
4671     alias PFN_glVertexAttribL4d = void function (
4672         GLuint   index,
4673         GLdouble x,
4674         GLdouble y,
4675         GLdouble z,
4676         GLdouble w,
4677     );
4678     alias PFN_glVertexAttribL1dv = void function (
4679         GLuint           index,
4680         const(GLdouble)* v,
4681     );
4682     alias PFN_glVertexAttribL2dv = void function (
4683         GLuint           index,
4684         const(GLdouble)* v,
4685     );
4686     alias PFN_glVertexAttribL3dv = void function (
4687         GLuint           index,
4688         const(GLdouble)* v,
4689     );
4690     alias PFN_glVertexAttribL4dv = void function (
4691         GLuint           index,
4692         const(GLdouble)* v,
4693     );
4694     alias PFN_glVertexAttribLPointer = void function (
4695         GLuint       index,
4696         GLint        size,
4697         GLenum       type,
4698         GLsizei      stride,
4699         const(void)* pointer,
4700     );
4701     alias PFN_glGetVertexAttribLdv = void function (
4702         GLuint    index,
4703         GLenum    pname,
4704         GLdouble* params,
4705     );
4706     alias PFN_glViewportArrayv = void function (
4707         GLuint          first,
4708         GLsizei         count,
4709         const(GLfloat)* v,
4710     );
4711     alias PFN_glViewportIndexedf = void function (
4712         GLuint  index,
4713         GLfloat x,
4714         GLfloat y,
4715         GLfloat w,
4716         GLfloat h,
4717     );
4718     alias PFN_glViewportIndexedfv = void function (
4719         GLuint          index,
4720         const(GLfloat)* v,
4721     );
4722     alias PFN_glScissorArrayv = void function (
4723         GLuint        first,
4724         GLsizei       count,
4725         const(GLint)* v,
4726     );
4727     alias PFN_glScissorIndexed = void function (
4728         GLuint  index,
4729         GLint   left,
4730         GLint   bottom,
4731         GLsizei width,
4732         GLsizei height,
4733     );
4734     alias PFN_glScissorIndexedv = void function (
4735         GLuint        index,
4736         const(GLint)* v,
4737     );
4738     alias PFN_glDepthRangeArrayv = void function (
4739         GLuint           first,
4740         GLsizei          count,
4741         const(GLdouble)* v,
4742     );
4743     alias PFN_glDepthRangeIndexed = void function (
4744         GLuint   index,
4745         GLdouble n,
4746         GLdouble f,
4747     );
4748     alias PFN_glGetFloati_v = void function (
4749         GLenum   target,
4750         GLuint   index,
4751         GLfloat* data,
4752     );
4753     alias PFN_glGetDoublei_v = void function (
4754         GLenum    target,
4755         GLuint    index,
4756         GLdouble* data,
4757     );
4758 
4759     // Command pointers for GL_VERSION_4_2
4760     alias PFN_glDrawArraysInstancedBaseInstance = void function (
4761         GLenum  mode,
4762         GLint   first,
4763         GLsizei count,
4764         GLsizei instancecount,
4765         GLuint  baseinstance,
4766     );
4767     alias PFN_glDrawElementsInstancedBaseInstance = void function (
4768         GLenum       mode,
4769         GLsizei      count,
4770         GLenum       type,
4771         const(void)* indices,
4772         GLsizei      instancecount,
4773         GLuint       baseinstance,
4774     );
4775     alias PFN_glDrawElementsInstancedBaseVertexBaseInstance = void function (
4776         GLenum       mode,
4777         GLsizei      count,
4778         GLenum       type,
4779         const(void)* indices,
4780         GLsizei      instancecount,
4781         GLint        basevertex,
4782         GLuint       baseinstance,
4783     );
4784     alias PFN_glGetInternalformativ = void function (
4785         GLenum  target,
4786         GLenum  internalformat,
4787         GLenum  pname,
4788         GLsizei bufSize,
4789         GLint*  params,
4790     );
4791     alias PFN_glGetActiveAtomicCounterBufferiv = void function (
4792         GLuint program,
4793         GLuint bufferIndex,
4794         GLenum pname,
4795         GLint* params,
4796     );
4797     alias PFN_glBindImageTexture = void function (
4798         GLuint    unit,
4799         GLuint    texture,
4800         GLint     level,
4801         GLboolean layered,
4802         GLint     layer,
4803         GLenum    access,
4804         GLenum    format,
4805     );
4806     alias PFN_glMemoryBarrier = void function (
4807         GLbitfield barriers,
4808     );
4809     alias PFN_glTexStorage1D = void function (
4810         GLenum  target,
4811         GLsizei levels,
4812         GLenum  internalformat,
4813         GLsizei width,
4814     );
4815     alias PFN_glTexStorage2D = void function (
4816         GLenum  target,
4817         GLsizei levels,
4818         GLenum  internalformat,
4819         GLsizei width,
4820         GLsizei height,
4821     );
4822     alias PFN_glTexStorage3D = void function (
4823         GLenum  target,
4824         GLsizei levels,
4825         GLenum  internalformat,
4826         GLsizei width,
4827         GLsizei height,
4828         GLsizei depth,
4829     );
4830     alias PFN_glDrawTransformFeedbackInstanced = void function (
4831         GLenum  mode,
4832         GLuint  id,
4833         GLsizei instancecount,
4834     );
4835     alias PFN_glDrawTransformFeedbackStreamInstanced = void function (
4836         GLenum  mode,
4837         GLuint  id,
4838         GLuint  stream,
4839         GLsizei instancecount,
4840     );
4841 
4842     // Command pointers for GL_VERSION_4_3
4843     alias PFN_glClearBufferData = void function (
4844         GLenum       target,
4845         GLenum       internalformat,
4846         GLenum       format,
4847         GLenum       type,
4848         const(void)* data,
4849     );
4850     alias PFN_glClearBufferSubData = void function (
4851         GLenum       target,
4852         GLenum       internalformat,
4853         GLintptr     offset,
4854         GLsizeiptr   size,
4855         GLenum       format,
4856         GLenum       type,
4857         const(void)* data,
4858     );
4859     alias PFN_glDispatchCompute = void function (
4860         GLuint num_groups_x,
4861         GLuint num_groups_y,
4862         GLuint num_groups_z,
4863     );
4864     alias PFN_glDispatchComputeIndirect = void function (
4865         GLintptr indirect,
4866     );
4867     alias PFN_glCopyImageSubData = void function (
4868         GLuint  srcName,
4869         GLenum  srcTarget,
4870         GLint   srcLevel,
4871         GLint   srcX,
4872         GLint   srcY,
4873         GLint   srcZ,
4874         GLuint  dstName,
4875         GLenum  dstTarget,
4876         GLint   dstLevel,
4877         GLint   dstX,
4878         GLint   dstY,
4879         GLint   dstZ,
4880         GLsizei srcWidth,
4881         GLsizei srcHeight,
4882         GLsizei srcDepth,
4883     );
4884     alias PFN_glFramebufferParameteri = void function (
4885         GLenum target,
4886         GLenum pname,
4887         GLint  param,
4888     );
4889     alias PFN_glGetFramebufferParameteriv = void function (
4890         GLenum target,
4891         GLenum pname,
4892         GLint* params,
4893     );
4894     alias PFN_glGetInternalformati64v = void function (
4895         GLenum   target,
4896         GLenum   internalformat,
4897         GLenum   pname,
4898         GLsizei  bufSize,
4899         GLint64* params,
4900     );
4901     alias PFN_glInvalidateTexSubImage = void function (
4902         GLuint  texture,
4903         GLint   level,
4904         GLint   xoffset,
4905         GLint   yoffset,
4906         GLint   zoffset,
4907         GLsizei width,
4908         GLsizei height,
4909         GLsizei depth,
4910     );
4911     alias PFN_glInvalidateTexImage = void function (
4912         GLuint texture,
4913         GLint  level,
4914     );
4915     alias PFN_glInvalidateBufferSubData = void function (
4916         GLuint     buffer,
4917         GLintptr   offset,
4918         GLsizeiptr length,
4919     );
4920     alias PFN_glInvalidateBufferData = void function (
4921         GLuint buffer,
4922     );
4923     alias PFN_glInvalidateFramebuffer = void function (
4924         GLenum         target,
4925         GLsizei        numAttachments,
4926         const(GLenum)* attachments,
4927     );
4928     alias PFN_glInvalidateSubFramebuffer = void function (
4929         GLenum         target,
4930         GLsizei        numAttachments,
4931         const(GLenum)* attachments,
4932         GLint          x,
4933         GLint          y,
4934         GLsizei        width,
4935         GLsizei        height,
4936     );
4937     alias PFN_glMultiDrawArraysIndirect = void function (
4938         GLenum       mode,
4939         const(void)* indirect,
4940         GLsizei      drawcount,
4941         GLsizei      stride,
4942     );
4943     alias PFN_glMultiDrawElementsIndirect = void function (
4944         GLenum       mode,
4945         GLenum       type,
4946         const(void)* indirect,
4947         GLsizei      drawcount,
4948         GLsizei      stride,
4949     );
4950     alias PFN_glGetProgramInterfaceiv = void function (
4951         GLuint program,
4952         GLenum programInterface,
4953         GLenum pname,
4954         GLint* params,
4955     );
4956     alias PFN_glGetProgramResourceIndex = GLuint function (
4957         GLuint         program,
4958         GLenum         programInterface,
4959         const(GLchar)* name,
4960     );
4961     alias PFN_glGetProgramResourceName = void function (
4962         GLuint   program,
4963         GLenum   programInterface,
4964         GLuint   index,
4965         GLsizei  bufSize,
4966         GLsizei* length,
4967         GLchar*  name,
4968     );
4969     alias PFN_glGetProgramResourceiv = void function (
4970         GLuint         program,
4971         GLenum         programInterface,
4972         GLuint         index,
4973         GLsizei        propCount,
4974         const(GLenum)* props,
4975         GLsizei        bufSize,
4976         GLsizei*       length,
4977         GLint*         params,
4978     );
4979     alias PFN_glGetProgramResourceLocation = GLint function (
4980         GLuint         program,
4981         GLenum         programInterface,
4982         const(GLchar)* name,
4983     );
4984     alias PFN_glGetProgramResourceLocationIndex = GLint function (
4985         GLuint         program,
4986         GLenum         programInterface,
4987         const(GLchar)* name,
4988     );
4989     alias PFN_glShaderStorageBlockBinding = void function (
4990         GLuint program,
4991         GLuint storageBlockIndex,
4992         GLuint storageBlockBinding,
4993     );
4994     alias PFN_glTexBufferRange = void function (
4995         GLenum     target,
4996         GLenum     internalformat,
4997         GLuint     buffer,
4998         GLintptr   offset,
4999         GLsizeiptr size,
5000     );
5001     alias PFN_glTexStorage2DMultisample = void function (
5002         GLenum    target,
5003         GLsizei   samples,
5004         GLenum    internalformat,
5005         GLsizei   width,
5006         GLsizei   height,
5007         GLboolean fixedsamplelocations,
5008     );
5009     alias PFN_glTexStorage3DMultisample = void function (
5010         GLenum    target,
5011         GLsizei   samples,
5012         GLenum    internalformat,
5013         GLsizei   width,
5014         GLsizei   height,
5015         GLsizei   depth,
5016         GLboolean fixedsamplelocations,
5017     );
5018     alias PFN_glTextureView = void function (
5019         GLuint texture,
5020         GLenum target,
5021         GLuint origtexture,
5022         GLenum internalformat,
5023         GLuint minlevel,
5024         GLuint numlevels,
5025         GLuint minlayer,
5026         GLuint numlayers,
5027     );
5028     alias PFN_glBindVertexBuffer = void function (
5029         GLuint   bindingindex,
5030         GLuint   buffer,
5031         GLintptr offset,
5032         GLsizei  stride,
5033     );
5034     alias PFN_glVertexAttribFormat = void function (
5035         GLuint    attribindex,
5036         GLint     size,
5037         GLenum    type,
5038         GLboolean normalized,
5039         GLuint    relativeoffset,
5040     );
5041     alias PFN_glVertexAttribIFormat = void function (
5042         GLuint attribindex,
5043         GLint  size,
5044         GLenum type,
5045         GLuint relativeoffset,
5046     );
5047     alias PFN_glVertexAttribLFormat = void function (
5048         GLuint attribindex,
5049         GLint  size,
5050         GLenum type,
5051         GLuint relativeoffset,
5052     );
5053     alias PFN_glVertexAttribBinding = void function (
5054         GLuint attribindex,
5055         GLuint bindingindex,
5056     );
5057     alias PFN_glVertexBindingDivisor = void function (
5058         GLuint bindingindex,
5059         GLuint divisor,
5060     );
5061     alias PFN_glDebugMessageControl = void function (
5062         GLenum         source,
5063         GLenum         type,
5064         GLenum         severity,
5065         GLsizei        count,
5066         const(GLuint)* ids,
5067         GLboolean      enabled,
5068     );
5069     alias PFN_glDebugMessageInsert = void function (
5070         GLenum         source,
5071         GLenum         type,
5072         GLuint         id,
5073         GLenum         severity,
5074         GLsizei        length,
5075         const(GLchar)* buf,
5076     );
5077     alias PFN_glDebugMessageCallback = void function (
5078         GLDEBUGPROC  callback,
5079         const(void)* userParam,
5080     );
5081     alias PFN_glGetDebugMessageLog = GLuint function (
5082         GLuint   count,
5083         GLsizei  bufSize,
5084         GLenum*  sources,
5085         GLenum*  types,
5086         GLuint*  ids,
5087         GLenum*  severities,
5088         GLsizei* lengths,
5089         GLchar*  messageLog,
5090     );
5091     alias PFN_glPushDebugGroup = void function (
5092         GLenum         source,
5093         GLuint         id,
5094         GLsizei        length,
5095         const(GLchar)* message,
5096     );
5097     alias PFN_glPopDebugGroup = void function ();
5098     alias PFN_glObjectLabel = void function (
5099         GLenum         identifier,
5100         GLuint         name,
5101         GLsizei        length,
5102         const(GLchar)* label,
5103     );
5104     alias PFN_glGetObjectLabel = void function (
5105         GLenum   identifier,
5106         GLuint   name,
5107         GLsizei  bufSize,
5108         GLsizei* length,
5109         GLchar*  label,
5110     );
5111     alias PFN_glObjectPtrLabel = void function (
5112         const(void)*   ptr,
5113         GLsizei        length,
5114         const(GLchar)* label,
5115     );
5116     alias PFN_glGetObjectPtrLabel = void function (
5117         const(void)* ptr,
5118         GLsizei      bufSize,
5119         GLsizei*     length,
5120         GLchar*      label,
5121     );
5122 
5123     // Command pointers for GL_VERSION_4_4
5124     alias PFN_glBufferStorage = void function (
5125         GLenum       target,
5126         GLsizeiptr   size,
5127         const(void)* data,
5128         GLbitfield   flags,
5129     );
5130     alias PFN_glClearTexImage = void function (
5131         GLuint       texture,
5132         GLint        level,
5133         GLenum       format,
5134         GLenum       type,
5135         const(void)* data,
5136     );
5137     alias PFN_glClearTexSubImage = void function (
5138         GLuint       texture,
5139         GLint        level,
5140         GLint        xoffset,
5141         GLint        yoffset,
5142         GLint        zoffset,
5143         GLsizei      width,
5144         GLsizei      height,
5145         GLsizei      depth,
5146         GLenum       format,
5147         GLenum       type,
5148         const(void)* data,
5149     );
5150     alias PFN_glBindBuffersBase = void function (
5151         GLenum         target,
5152         GLuint         first,
5153         GLsizei        count,
5154         const(GLuint)* buffers,
5155     );
5156     alias PFN_glBindBuffersRange = void function (
5157         GLenum             target,
5158         GLuint             first,
5159         GLsizei            count,
5160         const(GLuint)*     buffers,
5161         const(GLintptr)*   offsets,
5162         const(GLsizeiptr)* sizes,
5163     );
5164     alias PFN_glBindTextures = void function (
5165         GLuint         first,
5166         GLsizei        count,
5167         const(GLuint)* textures,
5168     );
5169     alias PFN_glBindSamplers = void function (
5170         GLuint         first,
5171         GLsizei        count,
5172         const(GLuint)* samplers,
5173     );
5174     alias PFN_glBindImageTextures = void function (
5175         GLuint         first,
5176         GLsizei        count,
5177         const(GLuint)* textures,
5178     );
5179     alias PFN_glBindVertexBuffers = void function (
5180         GLuint           first,
5181         GLsizei          count,
5182         const(GLuint)*   buffers,
5183         const(GLintptr)* offsets,
5184         const(GLsizei)*  strides,
5185     );
5186 
5187     // Command pointers for GL_VERSION_4_5
5188     alias PFN_glClipControl = void function (
5189         GLenum origin,
5190         GLenum depth,
5191     );
5192     alias PFN_glCreateTransformFeedbacks = void function (
5193         GLsizei n,
5194         GLuint* ids,
5195     );
5196     alias PFN_glTransformFeedbackBufferBase = void function (
5197         GLuint xfb,
5198         GLuint index,
5199         GLuint buffer,
5200     );
5201     alias PFN_glTransformFeedbackBufferRange = void function (
5202         GLuint     xfb,
5203         GLuint     index,
5204         GLuint     buffer,
5205         GLintptr   offset,
5206         GLsizeiptr size,
5207     );
5208     alias PFN_glGetTransformFeedbackiv = void function (
5209         GLuint xfb,
5210         GLenum pname,
5211         GLint* param,
5212     );
5213     alias PFN_glGetTransformFeedbacki_v = void function (
5214         GLuint xfb,
5215         GLenum pname,
5216         GLuint index,
5217         GLint* param,
5218     );
5219     alias PFN_glGetTransformFeedbacki64_v = void function (
5220         GLuint   xfb,
5221         GLenum   pname,
5222         GLuint   index,
5223         GLint64* param,
5224     );
5225     alias PFN_glCreateBuffers = void function (
5226         GLsizei n,
5227         GLuint* buffers,
5228     );
5229     alias PFN_glNamedBufferStorage = void function (
5230         GLuint       buffer,
5231         GLsizeiptr   size,
5232         const(void)* data,
5233         GLbitfield   flags,
5234     );
5235     alias PFN_glNamedBufferData = void function (
5236         GLuint       buffer,
5237         GLsizeiptr   size,
5238         const(void)* data,
5239         GLenum       usage,
5240     );
5241     alias PFN_glNamedBufferSubData = void function (
5242         GLuint       buffer,
5243         GLintptr     offset,
5244         GLsizeiptr   size,
5245         const(void)* data,
5246     );
5247     alias PFN_glCopyNamedBufferSubData = void function (
5248         GLuint     readBuffer,
5249         GLuint     writeBuffer,
5250         GLintptr   readOffset,
5251         GLintptr   writeOffset,
5252         GLsizeiptr size,
5253     );
5254     alias PFN_glClearNamedBufferData = void function (
5255         GLuint       buffer,
5256         GLenum       internalformat,
5257         GLenum       format,
5258         GLenum       type,
5259         const(void)* data,
5260     );
5261     alias PFN_glClearNamedBufferSubData = void function (
5262         GLuint       buffer,
5263         GLenum       internalformat,
5264         GLintptr     offset,
5265         GLsizeiptr   size,
5266         GLenum       format,
5267         GLenum       type,
5268         const(void)* data,
5269     );
5270     alias PFN_glMapNamedBuffer = void * function (
5271         GLuint buffer,
5272         GLenum access,
5273     );
5274     alias PFN_glMapNamedBufferRange = void * function (
5275         GLuint     buffer,
5276         GLintptr   offset,
5277         GLsizeiptr length,
5278         GLbitfield access,
5279     );
5280     alias PFN_glUnmapNamedBuffer = GLboolean function (
5281         GLuint buffer,
5282     );
5283     alias PFN_glFlushMappedNamedBufferRange = void function (
5284         GLuint     buffer,
5285         GLintptr   offset,
5286         GLsizeiptr length,
5287     );
5288     alias PFN_glGetNamedBufferParameteriv = void function (
5289         GLuint buffer,
5290         GLenum pname,
5291         GLint* params,
5292     );
5293     alias PFN_glGetNamedBufferParameteri64v = void function (
5294         GLuint   buffer,
5295         GLenum   pname,
5296         GLint64* params,
5297     );
5298     alias PFN_glGetNamedBufferPointerv = void function (
5299         GLuint buffer,
5300         GLenum pname,
5301         void** params,
5302     );
5303     alias PFN_glGetNamedBufferSubData = void function (
5304         GLuint     buffer,
5305         GLintptr   offset,
5306         GLsizeiptr size,
5307         void*      data,
5308     );
5309     alias PFN_glCreateFramebuffers = void function (
5310         GLsizei n,
5311         GLuint* framebuffers,
5312     );
5313     alias PFN_glNamedFramebufferRenderbuffer = void function (
5314         GLuint framebuffer,
5315         GLenum attachment,
5316         GLenum renderbuffertarget,
5317         GLuint renderbuffer,
5318     );
5319     alias PFN_glNamedFramebufferParameteri = void function (
5320         GLuint framebuffer,
5321         GLenum pname,
5322         GLint  param,
5323     );
5324     alias PFN_glNamedFramebufferTexture = void function (
5325         GLuint framebuffer,
5326         GLenum attachment,
5327         GLuint texture,
5328         GLint  level,
5329     );
5330     alias PFN_glNamedFramebufferTextureLayer = void function (
5331         GLuint framebuffer,
5332         GLenum attachment,
5333         GLuint texture,
5334         GLint  level,
5335         GLint  layer,
5336     );
5337     alias PFN_glNamedFramebufferDrawBuffer = void function (
5338         GLuint framebuffer,
5339         GLenum buf,
5340     );
5341     alias PFN_glNamedFramebufferDrawBuffers = void function (
5342         GLuint         framebuffer,
5343         GLsizei        n,
5344         const(GLenum)* bufs,
5345     );
5346     alias PFN_glNamedFramebufferReadBuffer = void function (
5347         GLuint framebuffer,
5348         GLenum src,
5349     );
5350     alias PFN_glInvalidateNamedFramebufferData = void function (
5351         GLuint         framebuffer,
5352         GLsizei        numAttachments,
5353         const(GLenum)* attachments,
5354     );
5355     alias PFN_glInvalidateNamedFramebufferSubData = void function (
5356         GLuint         framebuffer,
5357         GLsizei        numAttachments,
5358         const(GLenum)* attachments,
5359         GLint          x,
5360         GLint          y,
5361         GLsizei        width,
5362         GLsizei        height,
5363     );
5364     alias PFN_glClearNamedFramebufferiv = void function (
5365         GLuint        framebuffer,
5366         GLenum        buffer,
5367         GLint         drawbuffer,
5368         const(GLint)* value,
5369     );
5370     alias PFN_glClearNamedFramebufferuiv = void function (
5371         GLuint         framebuffer,
5372         GLenum         buffer,
5373         GLint          drawbuffer,
5374         const(GLuint)* value,
5375     );
5376     alias PFN_glClearNamedFramebufferfv = void function (
5377         GLuint          framebuffer,
5378         GLenum          buffer,
5379         GLint           drawbuffer,
5380         const(GLfloat)* value,
5381     );
5382     alias PFN_glClearNamedFramebufferfi = void function (
5383         GLuint  framebuffer,
5384         GLenum  buffer,
5385         GLint   drawbuffer,
5386         GLfloat depth,
5387         GLint   stencil,
5388     );
5389     alias PFN_glBlitNamedFramebuffer = void function (
5390         GLuint     readFramebuffer,
5391         GLuint     drawFramebuffer,
5392         GLint      srcX0,
5393         GLint      srcY0,
5394         GLint      srcX1,
5395         GLint      srcY1,
5396         GLint      dstX0,
5397         GLint      dstY0,
5398         GLint      dstX1,
5399         GLint      dstY1,
5400         GLbitfield mask,
5401         GLenum     filter,
5402     );
5403     alias PFN_glCheckNamedFramebufferStatus = GLenum function (
5404         GLuint framebuffer,
5405         GLenum target,
5406     );
5407     alias PFN_glGetNamedFramebufferParameteriv = void function (
5408         GLuint framebuffer,
5409         GLenum pname,
5410         GLint* param,
5411     );
5412     alias PFN_glGetNamedFramebufferAttachmentParameteriv = void function (
5413         GLuint framebuffer,
5414         GLenum attachment,
5415         GLenum pname,
5416         GLint* params,
5417     );
5418     alias PFN_glCreateRenderbuffers = void function (
5419         GLsizei n,
5420         GLuint* renderbuffers,
5421     );
5422     alias PFN_glNamedRenderbufferStorage = void function (
5423         GLuint  renderbuffer,
5424         GLenum  internalformat,
5425         GLsizei width,
5426         GLsizei height,
5427     );
5428     alias PFN_glNamedRenderbufferStorageMultisample = void function (
5429         GLuint  renderbuffer,
5430         GLsizei samples,
5431         GLenum  internalformat,
5432         GLsizei width,
5433         GLsizei height,
5434     );
5435     alias PFN_glGetNamedRenderbufferParameteriv = void function (
5436         GLuint renderbuffer,
5437         GLenum pname,
5438         GLint* params,
5439     );
5440     alias PFN_glCreateTextures = void function (
5441         GLenum  target,
5442         GLsizei n,
5443         GLuint* textures,
5444     );
5445     alias PFN_glTextureBuffer = void function (
5446         GLuint texture,
5447         GLenum internalformat,
5448         GLuint buffer,
5449     );
5450     alias PFN_glTextureBufferRange = void function (
5451         GLuint     texture,
5452         GLenum     internalformat,
5453         GLuint     buffer,
5454         GLintptr   offset,
5455         GLsizeiptr size,
5456     );
5457     alias PFN_glTextureStorage1D = void function (
5458         GLuint  texture,
5459         GLsizei levels,
5460         GLenum  internalformat,
5461         GLsizei width,
5462     );
5463     alias PFN_glTextureStorage2D = void function (
5464         GLuint  texture,
5465         GLsizei levels,
5466         GLenum  internalformat,
5467         GLsizei width,
5468         GLsizei height,
5469     );
5470     alias PFN_glTextureStorage3D = void function (
5471         GLuint  texture,
5472         GLsizei levels,
5473         GLenum  internalformat,
5474         GLsizei width,
5475         GLsizei height,
5476         GLsizei depth,
5477     );
5478     alias PFN_glTextureStorage2DMultisample = void function (
5479         GLuint    texture,
5480         GLsizei   samples,
5481         GLenum    internalformat,
5482         GLsizei   width,
5483         GLsizei   height,
5484         GLboolean fixedsamplelocations,
5485     );
5486     alias PFN_glTextureStorage3DMultisample = void function (
5487         GLuint    texture,
5488         GLsizei   samples,
5489         GLenum    internalformat,
5490         GLsizei   width,
5491         GLsizei   height,
5492         GLsizei   depth,
5493         GLboolean fixedsamplelocations,
5494     );
5495     alias PFN_glTextureSubImage1D = void function (
5496         GLuint       texture,
5497         GLint        level,
5498         GLint        xoffset,
5499         GLsizei      width,
5500         GLenum       format,
5501         GLenum       type,
5502         const(void)* pixels,
5503     );
5504     alias PFN_glTextureSubImage2D = void function (
5505         GLuint       texture,
5506         GLint        level,
5507         GLint        xoffset,
5508         GLint        yoffset,
5509         GLsizei      width,
5510         GLsizei      height,
5511         GLenum       format,
5512         GLenum       type,
5513         const(void)* pixels,
5514     );
5515     alias PFN_glTextureSubImage3D = void function (
5516         GLuint       texture,
5517         GLint        level,
5518         GLint        xoffset,
5519         GLint        yoffset,
5520         GLint        zoffset,
5521         GLsizei      width,
5522         GLsizei      height,
5523         GLsizei      depth,
5524         GLenum       format,
5525         GLenum       type,
5526         const(void)* pixels,
5527     );
5528     alias PFN_glCompressedTextureSubImage1D = void function (
5529         GLuint       texture,
5530         GLint        level,
5531         GLint        xoffset,
5532         GLsizei      width,
5533         GLenum       format,
5534         GLsizei      imageSize,
5535         const(void)* data,
5536     );
5537     alias PFN_glCompressedTextureSubImage2D = void function (
5538         GLuint       texture,
5539         GLint        level,
5540         GLint        xoffset,
5541         GLint        yoffset,
5542         GLsizei      width,
5543         GLsizei      height,
5544         GLenum       format,
5545         GLsizei      imageSize,
5546         const(void)* data,
5547     );
5548     alias PFN_glCompressedTextureSubImage3D = void function (
5549         GLuint       texture,
5550         GLint        level,
5551         GLint        xoffset,
5552         GLint        yoffset,
5553         GLint        zoffset,
5554         GLsizei      width,
5555         GLsizei      height,
5556         GLsizei      depth,
5557         GLenum       format,
5558         GLsizei      imageSize,
5559         const(void)* data,
5560     );
5561     alias PFN_glCopyTextureSubImage1D = void function (
5562         GLuint  texture,
5563         GLint   level,
5564         GLint   xoffset,
5565         GLint   x,
5566         GLint   y,
5567         GLsizei width,
5568     );
5569     alias PFN_glCopyTextureSubImage2D = void function (
5570         GLuint  texture,
5571         GLint   level,
5572         GLint   xoffset,
5573         GLint   yoffset,
5574         GLint   x,
5575         GLint   y,
5576         GLsizei width,
5577         GLsizei height,
5578     );
5579     alias PFN_glCopyTextureSubImage3D = void function (
5580         GLuint  texture,
5581         GLint   level,
5582         GLint   xoffset,
5583         GLint   yoffset,
5584         GLint   zoffset,
5585         GLint   x,
5586         GLint   y,
5587         GLsizei width,
5588         GLsizei height,
5589     );
5590     alias PFN_glTextureParameterf = void function (
5591         GLuint  texture,
5592         GLenum  pname,
5593         GLfloat param,
5594     );
5595     alias PFN_glTextureParameterfv = void function (
5596         GLuint          texture,
5597         GLenum          pname,
5598         const(GLfloat)* param,
5599     );
5600     alias PFN_glTextureParameteri = void function (
5601         GLuint texture,
5602         GLenum pname,
5603         GLint  param,
5604     );
5605     alias PFN_glTextureParameterIiv = void function (
5606         GLuint        texture,
5607         GLenum        pname,
5608         const(GLint)* params,
5609     );
5610     alias PFN_glTextureParameterIuiv = void function (
5611         GLuint         texture,
5612         GLenum         pname,
5613         const(GLuint)* params,
5614     );
5615     alias PFN_glTextureParameteriv = void function (
5616         GLuint        texture,
5617         GLenum        pname,
5618         const(GLint)* param,
5619     );
5620     alias PFN_glGenerateTextureMipmap = void function (
5621         GLuint texture,
5622     );
5623     alias PFN_glBindTextureUnit = void function (
5624         GLuint unit,
5625         GLuint texture,
5626     );
5627     alias PFN_glGetTextureImage = void function (
5628         GLuint  texture,
5629         GLint   level,
5630         GLenum  format,
5631         GLenum  type,
5632         GLsizei bufSize,
5633         void*   pixels,
5634     );
5635     alias PFN_glGetCompressedTextureImage = void function (
5636         GLuint  texture,
5637         GLint   level,
5638         GLsizei bufSize,
5639         void*   pixels,
5640     );
5641     alias PFN_glGetTextureLevelParameterfv = void function (
5642         GLuint   texture,
5643         GLint    level,
5644         GLenum   pname,
5645         GLfloat* params,
5646     );
5647     alias PFN_glGetTextureLevelParameteriv = void function (
5648         GLuint texture,
5649         GLint  level,
5650         GLenum pname,
5651         GLint* params,
5652     );
5653     alias PFN_glGetTextureParameterfv = void function (
5654         GLuint   texture,
5655         GLenum   pname,
5656         GLfloat* params,
5657     );
5658     alias PFN_glGetTextureParameterIiv = void function (
5659         GLuint texture,
5660         GLenum pname,
5661         GLint* params,
5662     );
5663     alias PFN_glGetTextureParameterIuiv = void function (
5664         GLuint  texture,
5665         GLenum  pname,
5666         GLuint* params,
5667     );
5668     alias PFN_glGetTextureParameteriv = void function (
5669         GLuint texture,
5670         GLenum pname,
5671         GLint* params,
5672     );
5673     alias PFN_glCreateVertexArrays = void function (
5674         GLsizei n,
5675         GLuint* arrays,
5676     );
5677     alias PFN_glDisableVertexArrayAttrib = void function (
5678         GLuint vaobj,
5679         GLuint index,
5680     );
5681     alias PFN_glEnableVertexArrayAttrib = void function (
5682         GLuint vaobj,
5683         GLuint index,
5684     );
5685     alias PFN_glVertexArrayElementBuffer = void function (
5686         GLuint vaobj,
5687         GLuint buffer,
5688     );
5689     alias PFN_glVertexArrayVertexBuffer = void function (
5690         GLuint   vaobj,
5691         GLuint   bindingindex,
5692         GLuint   buffer,
5693         GLintptr offset,
5694         GLsizei  stride,
5695     );
5696     alias PFN_glVertexArrayVertexBuffers = void function (
5697         GLuint           vaobj,
5698         GLuint           first,
5699         GLsizei          count,
5700         const(GLuint)*   buffers,
5701         const(GLintptr)* offsets,
5702         const(GLsizei)*  strides,
5703     );
5704     alias PFN_glVertexArrayAttribBinding = void function (
5705         GLuint vaobj,
5706         GLuint attribindex,
5707         GLuint bindingindex,
5708     );
5709     alias PFN_glVertexArrayAttribFormat = void function (
5710         GLuint    vaobj,
5711         GLuint    attribindex,
5712         GLint     size,
5713         GLenum    type,
5714         GLboolean normalized,
5715         GLuint    relativeoffset,
5716     );
5717     alias PFN_glVertexArrayAttribIFormat = void function (
5718         GLuint vaobj,
5719         GLuint attribindex,
5720         GLint  size,
5721         GLenum type,
5722         GLuint relativeoffset,
5723     );
5724     alias PFN_glVertexArrayAttribLFormat = void function (
5725         GLuint vaobj,
5726         GLuint attribindex,
5727         GLint  size,
5728         GLenum type,
5729         GLuint relativeoffset,
5730     );
5731     alias PFN_glVertexArrayBindingDivisor = void function (
5732         GLuint vaobj,
5733         GLuint bindingindex,
5734         GLuint divisor,
5735     );
5736     alias PFN_glGetVertexArrayiv = void function (
5737         GLuint vaobj,
5738         GLenum pname,
5739         GLint* param,
5740     );
5741     alias PFN_glGetVertexArrayIndexediv = void function (
5742         GLuint vaobj,
5743         GLuint index,
5744         GLenum pname,
5745         GLint* param,
5746     );
5747     alias PFN_glGetVertexArrayIndexed64iv = void function (
5748         GLuint   vaobj,
5749         GLuint   index,
5750         GLenum   pname,
5751         GLint64* param,
5752     );
5753     alias PFN_glCreateSamplers = void function (
5754         GLsizei n,
5755         GLuint* samplers,
5756     );
5757     alias PFN_glCreateProgramPipelines = void function (
5758         GLsizei n,
5759         GLuint* pipelines,
5760     );
5761     alias PFN_glCreateQueries = void function (
5762         GLenum  target,
5763         GLsizei n,
5764         GLuint* ids,
5765     );
5766     alias PFN_glGetQueryBufferObjecti64v = void function (
5767         GLuint   id,
5768         GLuint   buffer,
5769         GLenum   pname,
5770         GLintptr offset,
5771     );
5772     alias PFN_glGetQueryBufferObjectiv = void function (
5773         GLuint   id,
5774         GLuint   buffer,
5775         GLenum   pname,
5776         GLintptr offset,
5777     );
5778     alias PFN_glGetQueryBufferObjectui64v = void function (
5779         GLuint   id,
5780         GLuint   buffer,
5781         GLenum   pname,
5782         GLintptr offset,
5783     );
5784     alias PFN_glGetQueryBufferObjectuiv = void function (
5785         GLuint   id,
5786         GLuint   buffer,
5787         GLenum   pname,
5788         GLintptr offset,
5789     );
5790     alias PFN_glMemoryBarrierByRegion = void function (
5791         GLbitfield barriers,
5792     );
5793     alias PFN_glGetTextureSubImage = void function (
5794         GLuint  texture,
5795         GLint   level,
5796         GLint   xoffset,
5797         GLint   yoffset,
5798         GLint   zoffset,
5799         GLsizei width,
5800         GLsizei height,
5801         GLsizei depth,
5802         GLenum  format,
5803         GLenum  type,
5804         GLsizei bufSize,
5805         void*   pixels,
5806     );
5807     alias PFN_glGetCompressedTextureSubImage = void function (
5808         GLuint  texture,
5809         GLint   level,
5810         GLint   xoffset,
5811         GLint   yoffset,
5812         GLint   zoffset,
5813         GLsizei width,
5814         GLsizei height,
5815         GLsizei depth,
5816         GLsizei bufSize,
5817         void*   pixels,
5818     );
5819     alias PFN_glGetGraphicsResetStatus = GLenum function ();
5820     alias PFN_glGetnCompressedTexImage = void function (
5821         GLenum  target,
5822         GLint   lod,
5823         GLsizei bufSize,
5824         void*   pixels,
5825     );
5826     alias PFN_glGetnTexImage = void function (
5827         GLenum  target,
5828         GLint   level,
5829         GLenum  format,
5830         GLenum  type,
5831         GLsizei bufSize,
5832         void*   pixels,
5833     );
5834     alias PFN_glGetnUniformdv = void function (
5835         GLuint    program,
5836         GLint     location,
5837         GLsizei   bufSize,
5838         GLdouble* params,
5839     );
5840     alias PFN_glGetnUniformfv = void function (
5841         GLuint   program,
5842         GLint    location,
5843         GLsizei  bufSize,
5844         GLfloat* params,
5845     );
5846     alias PFN_glGetnUniformiv = void function (
5847         GLuint  program,
5848         GLint   location,
5849         GLsizei bufSize,
5850         GLint*  params,
5851     );
5852     alias PFN_glGetnUniformuiv = void function (
5853         GLuint  program,
5854         GLint   location,
5855         GLsizei bufSize,
5856         GLuint* params,
5857     );
5858     alias PFN_glReadnPixels = void function (
5859         GLint   x,
5860         GLint   y,
5861         GLsizei width,
5862         GLsizei height,
5863         GLenum  format,
5864         GLenum  type,
5865         GLsizei bufSize,
5866         void*   data,
5867     );
5868     alias PFN_glTextureBarrier = void function ();
5869 
5870     // Command pointers for GL_VERSION_4_6
5871     alias PFN_glSpecializeShader = void function (
5872         GLuint         shader,
5873         const(GLchar)* pEntryPoint,
5874         GLuint         numSpecializationConstants,
5875         const(GLuint)* pConstantIndex,
5876         const(GLuint)* pConstantValue,
5877     );
5878     alias PFN_glMultiDrawArraysIndirectCount = void function (
5879         GLenum       mode,
5880         const(void)* indirect,
5881         GLintptr     drawcount,
5882         GLsizei      maxdrawcount,
5883         GLsizei      stride,
5884     );
5885     alias PFN_glMultiDrawElementsIndirectCount = void function (
5886         GLenum       mode,
5887         GLenum       type,
5888         const(void)* indirect,
5889         GLintptr     drawcount,
5890         GLsizei      maxdrawcount,
5891         GLsizei      stride,
5892     );
5893     alias PFN_glPolygonOffsetClamp = void function (
5894         GLfloat factor,
5895         GLfloat units,
5896         GLfloat clamp,
5897     );
5898 
5899     // Command pointers for GL_ARB_ES3_2_compatibility
5900     alias PFN_glPrimitiveBoundingBoxARB = void function (
5901         GLfloat minX,
5902         GLfloat minY,
5903         GLfloat minZ,
5904         GLfloat minW,
5905         GLfloat maxX,
5906         GLfloat maxY,
5907         GLfloat maxZ,
5908         GLfloat maxW,
5909     );
5910 
5911     // Command pointers for GL_ARB_bindless_texture
5912     alias PFN_glGetTextureHandleARB = GLuint64 function (
5913         GLuint texture,
5914     );
5915     alias PFN_glGetTextureSamplerHandleARB = GLuint64 function (
5916         GLuint texture,
5917         GLuint sampler,
5918     );
5919     alias PFN_glMakeTextureHandleResidentARB = void function (
5920         GLuint64 handle,
5921     );
5922     alias PFN_glMakeTextureHandleNonResidentARB = void function (
5923         GLuint64 handle,
5924     );
5925     alias PFN_glGetImageHandleARB = GLuint64 function (
5926         GLuint    texture,
5927         GLint     level,
5928         GLboolean layered,
5929         GLint     layer,
5930         GLenum    format,
5931     );
5932     alias PFN_glMakeImageHandleResidentARB = void function (
5933         GLuint64 handle,
5934         GLenum   access,
5935     );
5936     alias PFN_glMakeImageHandleNonResidentARB = void function (
5937         GLuint64 handle,
5938     );
5939     alias PFN_glUniformHandleui64ARB = void function (
5940         GLint    location,
5941         GLuint64 value,
5942     );
5943     alias PFN_glUniformHandleui64vARB = void function (
5944         GLint            location,
5945         GLsizei          count,
5946         const(GLuint64)* value,
5947     );
5948     alias PFN_glProgramUniformHandleui64ARB = void function (
5949         GLuint   program,
5950         GLint    location,
5951         GLuint64 value,
5952     );
5953     alias PFN_glProgramUniformHandleui64vARB = void function (
5954         GLuint           program,
5955         GLint            location,
5956         GLsizei          count,
5957         const(GLuint64)* values,
5958     );
5959     alias PFN_glIsTextureHandleResidentARB = GLboolean function (
5960         GLuint64 handle,
5961     );
5962     alias PFN_glIsImageHandleResidentARB = GLboolean function (
5963         GLuint64 handle,
5964     );
5965     alias PFN_glVertexAttribL1ui64ARB = void function (
5966         GLuint      index,
5967         GLuint64EXT x,
5968     );
5969     alias PFN_glVertexAttribL1ui64vARB = void function (
5970         GLuint              index,
5971         const(GLuint64EXT)* v,
5972     );
5973     alias PFN_glGetVertexAttribLui64vARB = void function (
5974         GLuint       index,
5975         GLenum       pname,
5976         GLuint64EXT* params,
5977     );
5978 
5979     // Command pointers for GL_ARB_cl_event
5980     alias PFN_glCreateSyncFromCLeventARB = GLsync function (
5981         _cl_context* context,
5982         _cl_event*   event,
5983         GLbitfield   flags,
5984     );
5985 
5986     // Command pointers for GL_ARB_compute_variable_group_size
5987     alias PFN_glDispatchComputeGroupSizeARB = void function (
5988         GLuint num_groups_x,
5989         GLuint num_groups_y,
5990         GLuint num_groups_z,
5991         GLuint group_size_x,
5992         GLuint group_size_y,
5993         GLuint group_size_z,
5994     );
5995 
5996     // Command pointers for GL_ARB_geometry_shader4
5997     alias PFN_glFramebufferTextureFaceARB = void function (
5998         GLenum target,
5999         GLenum attachment,
6000         GLuint texture,
6001         GLint  level,
6002         GLenum face,
6003     );
6004 
6005     // Command pointers for GL_ARB_gpu_shader_int64
6006     alias PFN_glUniform1i64ARB = void function (
6007         GLint   location,
6008         GLint64 x,
6009     );
6010     alias PFN_glUniform2i64ARB = void function (
6011         GLint   location,
6012         GLint64 x,
6013         GLint64 y,
6014     );
6015     alias PFN_glUniform3i64ARB = void function (
6016         GLint   location,
6017         GLint64 x,
6018         GLint64 y,
6019         GLint64 z,
6020     );
6021     alias PFN_glUniform4i64ARB = void function (
6022         GLint   location,
6023         GLint64 x,
6024         GLint64 y,
6025         GLint64 z,
6026         GLint64 w,
6027     );
6028     alias PFN_glUniform1i64vARB = void function (
6029         GLint           location,
6030         GLsizei         count,
6031         const(GLint64)* value,
6032     );
6033     alias PFN_glUniform2i64vARB = void function (
6034         GLint           location,
6035         GLsizei         count,
6036         const(GLint64)* value,
6037     );
6038     alias PFN_glUniform3i64vARB = void function (
6039         GLint           location,
6040         GLsizei         count,
6041         const(GLint64)* value,
6042     );
6043     alias PFN_glUniform4i64vARB = void function (
6044         GLint           location,
6045         GLsizei         count,
6046         const(GLint64)* value,
6047     );
6048     alias PFN_glUniform1ui64ARB = void function (
6049         GLint    location,
6050         GLuint64 x,
6051     );
6052     alias PFN_glUniform2ui64ARB = void function (
6053         GLint    location,
6054         GLuint64 x,
6055         GLuint64 y,
6056     );
6057     alias PFN_glUniform3ui64ARB = void function (
6058         GLint    location,
6059         GLuint64 x,
6060         GLuint64 y,
6061         GLuint64 z,
6062     );
6063     alias PFN_glUniform4ui64ARB = void function (
6064         GLint    location,
6065         GLuint64 x,
6066         GLuint64 y,
6067         GLuint64 z,
6068         GLuint64 w,
6069     );
6070     alias PFN_glUniform1ui64vARB = void function (
6071         GLint            location,
6072         GLsizei          count,
6073         const(GLuint64)* value,
6074     );
6075     alias PFN_glUniform2ui64vARB = void function (
6076         GLint            location,
6077         GLsizei          count,
6078         const(GLuint64)* value,
6079     );
6080     alias PFN_glUniform3ui64vARB = void function (
6081         GLint            location,
6082         GLsizei          count,
6083         const(GLuint64)* value,
6084     );
6085     alias PFN_glUniform4ui64vARB = void function (
6086         GLint            location,
6087         GLsizei          count,
6088         const(GLuint64)* value,
6089     );
6090     alias PFN_glGetUniformi64vARB = void function (
6091         GLuint   program,
6092         GLint    location,
6093         GLint64* params,
6094     );
6095     alias PFN_glGetUniformui64vARB = void function (
6096         GLuint    program,
6097         GLint     location,
6098         GLuint64* params,
6099     );
6100     alias PFN_glGetnUniformi64vARB = void function (
6101         GLuint   program,
6102         GLint    location,
6103         GLsizei  bufSize,
6104         GLint64* params,
6105     );
6106     alias PFN_glGetnUniformui64vARB = void function (
6107         GLuint    program,
6108         GLint     location,
6109         GLsizei   bufSize,
6110         GLuint64* params,
6111     );
6112     alias PFN_glProgramUniform1i64ARB = void function (
6113         GLuint  program,
6114         GLint   location,
6115         GLint64 x,
6116     );
6117     alias PFN_glProgramUniform2i64ARB = void function (
6118         GLuint  program,
6119         GLint   location,
6120         GLint64 x,
6121         GLint64 y,
6122     );
6123     alias PFN_glProgramUniform3i64ARB = void function (
6124         GLuint  program,
6125         GLint   location,
6126         GLint64 x,
6127         GLint64 y,
6128         GLint64 z,
6129     );
6130     alias PFN_glProgramUniform4i64ARB = void function (
6131         GLuint  program,
6132         GLint   location,
6133         GLint64 x,
6134         GLint64 y,
6135         GLint64 z,
6136         GLint64 w,
6137     );
6138     alias PFN_glProgramUniform1i64vARB = void function (
6139         GLuint          program,
6140         GLint           location,
6141         GLsizei         count,
6142         const(GLint64)* value,
6143     );
6144     alias PFN_glProgramUniform2i64vARB = void function (
6145         GLuint          program,
6146         GLint           location,
6147         GLsizei         count,
6148         const(GLint64)* value,
6149     );
6150     alias PFN_glProgramUniform3i64vARB = void function (
6151         GLuint          program,
6152         GLint           location,
6153         GLsizei         count,
6154         const(GLint64)* value,
6155     );
6156     alias PFN_glProgramUniform4i64vARB = void function (
6157         GLuint          program,
6158         GLint           location,
6159         GLsizei         count,
6160         const(GLint64)* value,
6161     );
6162     alias PFN_glProgramUniform1ui64ARB = void function (
6163         GLuint   program,
6164         GLint    location,
6165         GLuint64 x,
6166     );
6167     alias PFN_glProgramUniform2ui64ARB = void function (
6168         GLuint   program,
6169         GLint    location,
6170         GLuint64 x,
6171         GLuint64 y,
6172     );
6173     alias PFN_glProgramUniform3ui64ARB = void function (
6174         GLuint   program,
6175         GLint    location,
6176         GLuint64 x,
6177         GLuint64 y,
6178         GLuint64 z,
6179     );
6180     alias PFN_glProgramUniform4ui64ARB = void function (
6181         GLuint   program,
6182         GLint    location,
6183         GLuint64 x,
6184         GLuint64 y,
6185         GLuint64 z,
6186         GLuint64 w,
6187     );
6188     alias PFN_glProgramUniform1ui64vARB = void function (
6189         GLuint           program,
6190         GLint            location,
6191         GLsizei          count,
6192         const(GLuint64)* value,
6193     );
6194     alias PFN_glProgramUniform2ui64vARB = void function (
6195         GLuint           program,
6196         GLint            location,
6197         GLsizei          count,
6198         const(GLuint64)* value,
6199     );
6200     alias PFN_glProgramUniform3ui64vARB = void function (
6201         GLuint           program,
6202         GLint            location,
6203         GLsizei          count,
6204         const(GLuint64)* value,
6205     );
6206     alias PFN_glProgramUniform4ui64vARB = void function (
6207         GLuint           program,
6208         GLint            location,
6209         GLsizei          count,
6210         const(GLuint64)* value,
6211     );
6212 
6213     // Command pointers for GL_ARB_parallel_shader_compile
6214     alias PFN_glMaxShaderCompilerThreadsARB = void function (
6215         GLuint count,
6216     );
6217 
6218     // Command pointers for GL_ARB_robustness
6219     alias PFN_glGetGraphicsResetStatusARB = GLenum function ();
6220     alias PFN_glGetnTexImageARB = void function (
6221         GLenum  target,
6222         GLint   level,
6223         GLenum  format,
6224         GLenum  type,
6225         GLsizei bufSize,
6226         void*   img,
6227     );
6228     alias PFN_glGetnCompressedTexImageARB = void function (
6229         GLenum  target,
6230         GLint   lod,
6231         GLsizei bufSize,
6232         void*   img,
6233     );
6234     alias PFN_glGetnUniformfvARB = void function (
6235         GLuint   program,
6236         GLint    location,
6237         GLsizei  bufSize,
6238         GLfloat* params,
6239     );
6240     alias PFN_glGetnUniformivARB = void function (
6241         GLuint  program,
6242         GLint   location,
6243         GLsizei bufSize,
6244         GLint*  params,
6245     );
6246     alias PFN_glGetnUniformuivARB = void function (
6247         GLuint  program,
6248         GLint   location,
6249         GLsizei bufSize,
6250         GLuint* params,
6251     );
6252     alias PFN_glGetnUniformdvARB = void function (
6253         GLuint    program,
6254         GLint     location,
6255         GLsizei   bufSize,
6256         GLdouble* params,
6257     );
6258 
6259     // Command pointers for GL_ARB_sample_locations
6260     alias PFN_glFramebufferSampleLocationsfvARB = void function (
6261         GLenum          target,
6262         GLuint          start,
6263         GLsizei         count,
6264         const(GLfloat)* v,
6265     );
6266     alias PFN_glNamedFramebufferSampleLocationsfvARB = void function (
6267         GLuint          framebuffer,
6268         GLuint          start,
6269         GLsizei         count,
6270         const(GLfloat)* v,
6271     );
6272     alias PFN_glEvaluateDepthValuesARB = void function ();
6273 
6274     // Command pointers for GL_ARB_shading_language_include
6275     alias PFN_glNamedStringARB = void function (
6276         GLenum         type,
6277         GLint          namelen,
6278         const(GLchar)* name,
6279         GLint          stringlen,
6280         const(GLchar)* string,
6281     );
6282     alias PFN_glDeleteNamedStringARB = void function (
6283         GLint          namelen,
6284         const(GLchar)* name,
6285     );
6286     alias PFN_glCompileShaderIncludeARB = void function (
6287         GLuint          shader,
6288         GLsizei         count,
6289         const(GLchar*)* path,
6290         const(GLint)*   length,
6291     );
6292     alias PFN_glIsNamedStringARB = GLboolean function (
6293         GLint          namelen,
6294         const(GLchar)* name,
6295     );
6296     alias PFN_glGetNamedStringARB = void function (
6297         GLint          namelen,
6298         const(GLchar)* name,
6299         GLsizei        bufSize,
6300         GLint*         stringlen,
6301         GLchar*        string,
6302     );
6303     alias PFN_glGetNamedStringivARB = void function (
6304         GLint          namelen,
6305         const(GLchar)* name,
6306         GLenum         pname,
6307         GLint*         params,
6308     );
6309 
6310     // Command pointers for GL_ARB_sparse_buffer
6311     alias PFN_glBufferPageCommitmentARB = void function (
6312         GLenum     target,
6313         GLintptr   offset,
6314         GLsizeiptr size,
6315         GLboolean  commit,
6316     );
6317     alias PFN_glNamedBufferPageCommitmentEXT = void function (
6318         GLuint     buffer,
6319         GLintptr   offset,
6320         GLsizeiptr size,
6321         GLboolean  commit,
6322     );
6323     alias PFN_glNamedBufferPageCommitmentARB = void function (
6324         GLuint     buffer,
6325         GLintptr   offset,
6326         GLsizeiptr size,
6327         GLboolean  commit,
6328     );
6329 
6330     // Command pointers for GL_ARB_sparse_texture
6331     alias PFN_glTexPageCommitmentARB = void function (
6332         GLenum    target,
6333         GLint     level,
6334         GLint     xoffset,
6335         GLint     yoffset,
6336         GLint     zoffset,
6337         GLsizei   width,
6338         GLsizei   height,
6339         GLsizei   depth,
6340         GLboolean commit,
6341     );
6342 
6343     // Command pointers for GL_KHR_blend_equation_advanced
6344     alias PFN_glBlendBarrierKHR = void function ();
6345 
6346     // Command pointers for GL_KHR_parallel_shader_compile
6347     alias PFN_glMaxShaderCompilerThreadsKHR = void function (
6348         GLuint count,
6349     );
6350 
6351     // Command pointers for GL_AMD_performance_monitor
6352     alias PFN_glGetPerfMonitorGroupsAMD = void function (
6353         GLint*  numGroups,
6354         GLsizei groupsSize,
6355         GLuint* groups,
6356     );
6357     alias PFN_glGetPerfMonitorCountersAMD = void function (
6358         GLuint  group,
6359         GLint*  numCounters,
6360         GLint*  maxActiveCounters,
6361         GLsizei counterSize,
6362         GLuint* counters,
6363     );
6364     alias PFN_glGetPerfMonitorGroupStringAMD = void function (
6365         GLuint   group,
6366         GLsizei  bufSize,
6367         GLsizei* length,
6368         GLchar*  groupString,
6369     );
6370     alias PFN_glGetPerfMonitorCounterStringAMD = void function (
6371         GLuint   group,
6372         GLuint   counter,
6373         GLsizei  bufSize,
6374         GLsizei* length,
6375         GLchar*  counterString,
6376     );
6377     alias PFN_glGetPerfMonitorCounterInfoAMD = void function (
6378         GLuint group,
6379         GLuint counter,
6380         GLenum pname,
6381         void*  data,
6382     );
6383     alias PFN_glGenPerfMonitorsAMD = void function (
6384         GLsizei n,
6385         GLuint* monitors,
6386     );
6387     alias PFN_glDeletePerfMonitorsAMD = void function (
6388         GLsizei n,
6389         GLuint* monitors,
6390     );
6391     alias PFN_glSelectPerfMonitorCountersAMD = void function (
6392         GLuint    monitor,
6393         GLboolean enable,
6394         GLuint    group,
6395         GLint     numCounters,
6396         GLuint*   counterList,
6397     );
6398     alias PFN_glBeginPerfMonitorAMD = void function (
6399         GLuint monitor,
6400     );
6401     alias PFN_glEndPerfMonitorAMD = void function (
6402         GLuint monitor,
6403     );
6404     alias PFN_glGetPerfMonitorCounterDataAMD = void function (
6405         GLuint  monitor,
6406         GLenum  pname,
6407         GLsizei dataSize,
6408         GLuint* data,
6409         GLint*  bytesWritten,
6410     );
6411 
6412     // Command pointers for GL_EXT_debug_label
6413     alias PFN_glLabelObjectEXT = void function (
6414         GLenum         type,
6415         GLuint         object,
6416         GLsizei        length,
6417         const(GLchar)* label,
6418     );
6419     alias PFN_glGetObjectLabelEXT = void function (
6420         GLenum   type,
6421         GLuint   object,
6422         GLsizei  bufSize,
6423         GLsizei* length,
6424         GLchar*  label,
6425     );
6426 
6427     // Command pointers for GL_EXT_debug_marker
6428     alias PFN_glInsertEventMarkerEXT = void function (
6429         GLsizei        length,
6430         const(GLchar)* marker,
6431     );
6432     alias PFN_glPushGroupMarkerEXT = void function (
6433         GLsizei        length,
6434         const(GLchar)* marker,
6435     );
6436     alias PFN_glPopGroupMarkerEXT = void function ();
6437 
6438     // Command pointers for GL_EXT_direct_state_access
6439     alias PFN_glMatrixLoadfEXT = void function (
6440         GLenum          mode,
6441         const(GLfloat)* m,
6442     );
6443     alias PFN_glMatrixLoaddEXT = void function (
6444         GLenum           mode,
6445         const(GLdouble)* m,
6446     );
6447     alias PFN_glMatrixMultfEXT = void function (
6448         GLenum          mode,
6449         const(GLfloat)* m,
6450     );
6451     alias PFN_glMatrixMultdEXT = void function (
6452         GLenum           mode,
6453         const(GLdouble)* m,
6454     );
6455     alias PFN_glMatrixLoadIdentityEXT = void function (
6456         GLenum mode,
6457     );
6458     alias PFN_glMatrixRotatefEXT = void function (
6459         GLenum  mode,
6460         GLfloat angle,
6461         GLfloat x,
6462         GLfloat y,
6463         GLfloat z,
6464     );
6465     alias PFN_glMatrixRotatedEXT = void function (
6466         GLenum   mode,
6467         GLdouble angle,
6468         GLdouble x,
6469         GLdouble y,
6470         GLdouble z,
6471     );
6472     alias PFN_glMatrixScalefEXT = void function (
6473         GLenum  mode,
6474         GLfloat x,
6475         GLfloat y,
6476         GLfloat z,
6477     );
6478     alias PFN_glMatrixScaledEXT = void function (
6479         GLenum   mode,
6480         GLdouble x,
6481         GLdouble y,
6482         GLdouble z,
6483     );
6484     alias PFN_glMatrixTranslatefEXT = void function (
6485         GLenum  mode,
6486         GLfloat x,
6487         GLfloat y,
6488         GLfloat z,
6489     );
6490     alias PFN_glMatrixTranslatedEXT = void function (
6491         GLenum   mode,
6492         GLdouble x,
6493         GLdouble y,
6494         GLdouble z,
6495     );
6496     alias PFN_glMatrixFrustumEXT = void function (
6497         GLenum   mode,
6498         GLdouble left,
6499         GLdouble right,
6500         GLdouble bottom,
6501         GLdouble top,
6502         GLdouble zNear,
6503         GLdouble zFar,
6504     );
6505     alias PFN_glMatrixOrthoEXT = void function (
6506         GLenum   mode,
6507         GLdouble left,
6508         GLdouble right,
6509         GLdouble bottom,
6510         GLdouble top,
6511         GLdouble zNear,
6512         GLdouble zFar,
6513     );
6514     alias PFN_glMatrixPopEXT = void function (
6515         GLenum mode,
6516     );
6517     alias PFN_glMatrixPushEXT = void function (
6518         GLenum mode,
6519     );
6520     alias PFN_glClientAttribDefaultEXT = void function (
6521         GLbitfield mask,
6522     );
6523     alias PFN_glPushClientAttribDefaultEXT = void function (
6524         GLbitfield mask,
6525     );
6526     alias PFN_glTextureParameterfEXT = void function (
6527         GLuint  texture,
6528         GLenum  target,
6529         GLenum  pname,
6530         GLfloat param,
6531     );
6532     alias PFN_glTextureParameterfvEXT = void function (
6533         GLuint          texture,
6534         GLenum          target,
6535         GLenum          pname,
6536         const(GLfloat)* params,
6537     );
6538     alias PFN_glTextureParameteriEXT = void function (
6539         GLuint texture,
6540         GLenum target,
6541         GLenum pname,
6542         GLint  param,
6543     );
6544     alias PFN_glTextureParameterivEXT = void function (
6545         GLuint        texture,
6546         GLenum        target,
6547         GLenum        pname,
6548         const(GLint)* params,
6549     );
6550     alias PFN_glTextureImage1DEXT = void function (
6551         GLuint       texture,
6552         GLenum       target,
6553         GLint        level,
6554         GLint        internalformat,
6555         GLsizei      width,
6556         GLint        border,
6557         GLenum       format,
6558         GLenum       type,
6559         const(void)* pixels,
6560     );
6561     alias PFN_glTextureImage2DEXT = void function (
6562         GLuint       texture,
6563         GLenum       target,
6564         GLint        level,
6565         GLint        internalformat,
6566         GLsizei      width,
6567         GLsizei      height,
6568         GLint        border,
6569         GLenum       format,
6570         GLenum       type,
6571         const(void)* pixels,
6572     );
6573     alias PFN_glTextureSubImage1DEXT = void function (
6574         GLuint       texture,
6575         GLenum       target,
6576         GLint        level,
6577         GLint        xoffset,
6578         GLsizei      width,
6579         GLenum       format,
6580         GLenum       type,
6581         const(void)* pixels,
6582     );
6583     alias PFN_glTextureSubImage2DEXT = void function (
6584         GLuint       texture,
6585         GLenum       target,
6586         GLint        level,
6587         GLint        xoffset,
6588         GLint        yoffset,
6589         GLsizei      width,
6590         GLsizei      height,
6591         GLenum       format,
6592         GLenum       type,
6593         const(void)* pixels,
6594     );
6595     alias PFN_glCopyTextureImage1DEXT = void function (
6596         GLuint  texture,
6597         GLenum  target,
6598         GLint   level,
6599         GLenum  internalformat,
6600         GLint   x,
6601         GLint   y,
6602         GLsizei width,
6603         GLint   border,
6604     );
6605     alias PFN_glCopyTextureImage2DEXT = void function (
6606         GLuint  texture,
6607         GLenum  target,
6608         GLint   level,
6609         GLenum  internalformat,
6610         GLint   x,
6611         GLint   y,
6612         GLsizei width,
6613         GLsizei height,
6614         GLint   border,
6615     );
6616     alias PFN_glCopyTextureSubImage1DEXT = void function (
6617         GLuint  texture,
6618         GLenum  target,
6619         GLint   level,
6620         GLint   xoffset,
6621         GLint   x,
6622         GLint   y,
6623         GLsizei width,
6624     );
6625     alias PFN_glCopyTextureSubImage2DEXT = void function (
6626         GLuint  texture,
6627         GLenum  target,
6628         GLint   level,
6629         GLint   xoffset,
6630         GLint   yoffset,
6631         GLint   x,
6632         GLint   y,
6633         GLsizei width,
6634         GLsizei height,
6635     );
6636     alias PFN_glGetTextureImageEXT = void function (
6637         GLuint texture,
6638         GLenum target,
6639         GLint  level,
6640         GLenum format,
6641         GLenum type,
6642         void*  pixels,
6643     );
6644     alias PFN_glGetTextureParameterfvEXT = void function (
6645         GLuint   texture,
6646         GLenum   target,
6647         GLenum   pname,
6648         GLfloat* params,
6649     );
6650     alias PFN_glGetTextureParameterivEXT = void function (
6651         GLuint texture,
6652         GLenum target,
6653         GLenum pname,
6654         GLint* params,
6655     );
6656     alias PFN_glGetTextureLevelParameterfvEXT = void function (
6657         GLuint   texture,
6658         GLenum   target,
6659         GLint    level,
6660         GLenum   pname,
6661         GLfloat* params,
6662     );
6663     alias PFN_glGetTextureLevelParameterivEXT = void function (
6664         GLuint texture,
6665         GLenum target,
6666         GLint  level,
6667         GLenum pname,
6668         GLint* params,
6669     );
6670     alias PFN_glTextureImage3DEXT = void function (
6671         GLuint       texture,
6672         GLenum       target,
6673         GLint        level,
6674         GLint        internalformat,
6675         GLsizei      width,
6676         GLsizei      height,
6677         GLsizei      depth,
6678         GLint        border,
6679         GLenum       format,
6680         GLenum       type,
6681         const(void)* pixels,
6682     );
6683     alias PFN_glTextureSubImage3DEXT = void function (
6684         GLuint       texture,
6685         GLenum       target,
6686         GLint        level,
6687         GLint        xoffset,
6688         GLint        yoffset,
6689         GLint        zoffset,
6690         GLsizei      width,
6691         GLsizei      height,
6692         GLsizei      depth,
6693         GLenum       format,
6694         GLenum       type,
6695         const(void)* pixels,
6696     );
6697     alias PFN_glCopyTextureSubImage3DEXT = void function (
6698         GLuint  texture,
6699         GLenum  target,
6700         GLint   level,
6701         GLint   xoffset,
6702         GLint   yoffset,
6703         GLint   zoffset,
6704         GLint   x,
6705         GLint   y,
6706         GLsizei width,
6707         GLsizei height,
6708     );
6709     alias PFN_glBindMultiTextureEXT = void function (
6710         GLenum texunit,
6711         GLenum target,
6712         GLuint texture,
6713     );
6714     alias PFN_glMultiTexCoordPointerEXT = void function (
6715         GLenum       texunit,
6716         GLint        size,
6717         GLenum       type,
6718         GLsizei      stride,
6719         const(void)* pointer,
6720     );
6721     alias PFN_glMultiTexEnvfEXT = void function (
6722         GLenum  texunit,
6723         GLenum  target,
6724         GLenum  pname,
6725         GLfloat param,
6726     );
6727     alias PFN_glMultiTexEnvfvEXT = void function (
6728         GLenum          texunit,
6729         GLenum          target,
6730         GLenum          pname,
6731         const(GLfloat)* params,
6732     );
6733     alias PFN_glMultiTexEnviEXT = void function (
6734         GLenum texunit,
6735         GLenum target,
6736         GLenum pname,
6737         GLint  param,
6738     );
6739     alias PFN_glMultiTexEnvivEXT = void function (
6740         GLenum        texunit,
6741         GLenum        target,
6742         GLenum        pname,
6743         const(GLint)* params,
6744     );
6745     alias PFN_glMultiTexGendEXT = void function (
6746         GLenum   texunit,
6747         GLenum   coord,
6748         GLenum   pname,
6749         GLdouble param,
6750     );
6751     alias PFN_glMultiTexGendvEXT = void function (
6752         GLenum           texunit,
6753         GLenum           coord,
6754         GLenum           pname,
6755         const(GLdouble)* params,
6756     );
6757     alias PFN_glMultiTexGenfEXT = void function (
6758         GLenum  texunit,
6759         GLenum  coord,
6760         GLenum  pname,
6761         GLfloat param,
6762     );
6763     alias PFN_glMultiTexGenfvEXT = void function (
6764         GLenum          texunit,
6765         GLenum          coord,
6766         GLenum          pname,
6767         const(GLfloat)* params,
6768     );
6769     alias PFN_glMultiTexGeniEXT = void function (
6770         GLenum texunit,
6771         GLenum coord,
6772         GLenum pname,
6773         GLint  param,
6774     );
6775     alias PFN_glMultiTexGenivEXT = void function (
6776         GLenum        texunit,
6777         GLenum        coord,
6778         GLenum        pname,
6779         const(GLint)* params,
6780     );
6781     alias PFN_glGetMultiTexEnvfvEXT = void function (
6782         GLenum   texunit,
6783         GLenum   target,
6784         GLenum   pname,
6785         GLfloat* params,
6786     );
6787     alias PFN_glGetMultiTexEnvivEXT = void function (
6788         GLenum texunit,
6789         GLenum target,
6790         GLenum pname,
6791         GLint* params,
6792     );
6793     alias PFN_glGetMultiTexGendvEXT = void function (
6794         GLenum    texunit,
6795         GLenum    coord,
6796         GLenum    pname,
6797         GLdouble* params,
6798     );
6799     alias PFN_glGetMultiTexGenfvEXT = void function (
6800         GLenum   texunit,
6801         GLenum   coord,
6802         GLenum   pname,
6803         GLfloat* params,
6804     );
6805     alias PFN_glGetMultiTexGenivEXT = void function (
6806         GLenum texunit,
6807         GLenum coord,
6808         GLenum pname,
6809         GLint* params,
6810     );
6811     alias PFN_glMultiTexParameteriEXT = void function (
6812         GLenum texunit,
6813         GLenum target,
6814         GLenum pname,
6815         GLint  param,
6816     );
6817     alias PFN_glMultiTexParameterivEXT = void function (
6818         GLenum        texunit,
6819         GLenum        target,
6820         GLenum        pname,
6821         const(GLint)* params,
6822     );
6823     alias PFN_glMultiTexParameterfEXT = void function (
6824         GLenum  texunit,
6825         GLenum  target,
6826         GLenum  pname,
6827         GLfloat param,
6828     );
6829     alias PFN_glMultiTexParameterfvEXT = void function (
6830         GLenum          texunit,
6831         GLenum          target,
6832         GLenum          pname,
6833         const(GLfloat)* params,
6834     );
6835     alias PFN_glMultiTexImage1DEXT = void function (
6836         GLenum       texunit,
6837         GLenum       target,
6838         GLint        level,
6839         GLint        internalformat,
6840         GLsizei      width,
6841         GLint        border,
6842         GLenum       format,
6843         GLenum       type,
6844         const(void)* pixels,
6845     );
6846     alias PFN_glMultiTexImage2DEXT = void function (
6847         GLenum       texunit,
6848         GLenum       target,
6849         GLint        level,
6850         GLint        internalformat,
6851         GLsizei      width,
6852         GLsizei      height,
6853         GLint        border,
6854         GLenum       format,
6855         GLenum       type,
6856         const(void)* pixels,
6857     );
6858     alias PFN_glMultiTexSubImage1DEXT = void function (
6859         GLenum       texunit,
6860         GLenum       target,
6861         GLint        level,
6862         GLint        xoffset,
6863         GLsizei      width,
6864         GLenum       format,
6865         GLenum       type,
6866         const(void)* pixels,
6867     );
6868     alias PFN_glMultiTexSubImage2DEXT = void function (
6869         GLenum       texunit,
6870         GLenum       target,
6871         GLint        level,
6872         GLint        xoffset,
6873         GLint        yoffset,
6874         GLsizei      width,
6875         GLsizei      height,
6876         GLenum       format,
6877         GLenum       type,
6878         const(void)* pixels,
6879     );
6880     alias PFN_glCopyMultiTexImage1DEXT = void function (
6881         GLenum  texunit,
6882         GLenum  target,
6883         GLint   level,
6884         GLenum  internalformat,
6885         GLint   x,
6886         GLint   y,
6887         GLsizei width,
6888         GLint   border,
6889     );
6890     alias PFN_glCopyMultiTexImage2DEXT = void function (
6891         GLenum  texunit,
6892         GLenum  target,
6893         GLint   level,
6894         GLenum  internalformat,
6895         GLint   x,
6896         GLint   y,
6897         GLsizei width,
6898         GLsizei height,
6899         GLint   border,
6900     );
6901     alias PFN_glCopyMultiTexSubImage1DEXT = void function (
6902         GLenum  texunit,
6903         GLenum  target,
6904         GLint   level,
6905         GLint   xoffset,
6906         GLint   x,
6907         GLint   y,
6908         GLsizei width,
6909     );
6910     alias PFN_glCopyMultiTexSubImage2DEXT = void function (
6911         GLenum  texunit,
6912         GLenum  target,
6913         GLint   level,
6914         GLint   xoffset,
6915         GLint   yoffset,
6916         GLint   x,
6917         GLint   y,
6918         GLsizei width,
6919         GLsizei height,
6920     );
6921     alias PFN_glGetMultiTexImageEXT = void function (
6922         GLenum texunit,
6923         GLenum target,
6924         GLint  level,
6925         GLenum format,
6926         GLenum type,
6927         void*  pixels,
6928     );
6929     alias PFN_glGetMultiTexParameterfvEXT = void function (
6930         GLenum   texunit,
6931         GLenum   target,
6932         GLenum   pname,
6933         GLfloat* params,
6934     );
6935     alias PFN_glGetMultiTexParameterivEXT = void function (
6936         GLenum texunit,
6937         GLenum target,
6938         GLenum pname,
6939         GLint* params,
6940     );
6941     alias PFN_glGetMultiTexLevelParameterfvEXT = void function (
6942         GLenum   texunit,
6943         GLenum   target,
6944         GLint    level,
6945         GLenum   pname,
6946         GLfloat* params,
6947     );
6948     alias PFN_glGetMultiTexLevelParameterivEXT = void function (
6949         GLenum texunit,
6950         GLenum target,
6951         GLint  level,
6952         GLenum pname,
6953         GLint* params,
6954     );
6955     alias PFN_glMultiTexImage3DEXT = void function (
6956         GLenum       texunit,
6957         GLenum       target,
6958         GLint        level,
6959         GLint        internalformat,
6960         GLsizei      width,
6961         GLsizei      height,
6962         GLsizei      depth,
6963         GLint        border,
6964         GLenum       format,
6965         GLenum       type,
6966         const(void)* pixels,
6967     );
6968     alias PFN_glMultiTexSubImage3DEXT = void function (
6969         GLenum       texunit,
6970         GLenum       target,
6971         GLint        level,
6972         GLint        xoffset,
6973         GLint        yoffset,
6974         GLint        zoffset,
6975         GLsizei      width,
6976         GLsizei      height,
6977         GLsizei      depth,
6978         GLenum       format,
6979         GLenum       type,
6980         const(void)* pixels,
6981     );
6982     alias PFN_glCopyMultiTexSubImage3DEXT = void function (
6983         GLenum  texunit,
6984         GLenum  target,
6985         GLint   level,
6986         GLint   xoffset,
6987         GLint   yoffset,
6988         GLint   zoffset,
6989         GLint   x,
6990         GLint   y,
6991         GLsizei width,
6992         GLsizei height,
6993     );
6994     alias PFN_glEnableClientStateIndexedEXT = void function (
6995         GLenum array,
6996         GLuint index,
6997     );
6998     alias PFN_glDisableClientStateIndexedEXT = void function (
6999         GLenum array,
7000         GLuint index,
7001     );
7002     alias PFN_glGetPointerIndexedvEXT = void function (
7003         GLenum target,
7004         GLuint index,
7005         void** data,
7006     );
7007     alias PFN_glCompressedTextureImage3DEXT = void function (
7008         GLuint       texture,
7009         GLenum       target,
7010         GLint        level,
7011         GLenum       internalformat,
7012         GLsizei      width,
7013         GLsizei      height,
7014         GLsizei      depth,
7015         GLint        border,
7016         GLsizei      imageSize,
7017         const(void)* bits,
7018     );
7019     alias PFN_glCompressedTextureImage2DEXT = void function (
7020         GLuint       texture,
7021         GLenum       target,
7022         GLint        level,
7023         GLenum       internalformat,
7024         GLsizei      width,
7025         GLsizei      height,
7026         GLint        border,
7027         GLsizei      imageSize,
7028         const(void)* bits,
7029     );
7030     alias PFN_glCompressedTextureImage1DEXT = void function (
7031         GLuint       texture,
7032         GLenum       target,
7033         GLint        level,
7034         GLenum       internalformat,
7035         GLsizei      width,
7036         GLint        border,
7037         GLsizei      imageSize,
7038         const(void)* bits,
7039     );
7040     alias PFN_glCompressedTextureSubImage3DEXT = void function (
7041         GLuint       texture,
7042         GLenum       target,
7043         GLint        level,
7044         GLint        xoffset,
7045         GLint        yoffset,
7046         GLint        zoffset,
7047         GLsizei      width,
7048         GLsizei      height,
7049         GLsizei      depth,
7050         GLenum       format,
7051         GLsizei      imageSize,
7052         const(void)* bits,
7053     );
7054     alias PFN_glCompressedTextureSubImage2DEXT = void function (
7055         GLuint       texture,
7056         GLenum       target,
7057         GLint        level,
7058         GLint        xoffset,
7059         GLint        yoffset,
7060         GLsizei      width,
7061         GLsizei      height,
7062         GLenum       format,
7063         GLsizei      imageSize,
7064         const(void)* bits,
7065     );
7066     alias PFN_glCompressedTextureSubImage1DEXT = void function (
7067         GLuint       texture,
7068         GLenum       target,
7069         GLint        level,
7070         GLint        xoffset,
7071         GLsizei      width,
7072         GLenum       format,
7073         GLsizei      imageSize,
7074         const(void)* bits,
7075     );
7076     alias PFN_glGetCompressedTextureImageEXT = void function (
7077         GLuint texture,
7078         GLenum target,
7079         GLint  lod,
7080         void*  img,
7081     );
7082     alias PFN_glCompressedMultiTexImage3DEXT = void function (
7083         GLenum       texunit,
7084         GLenum       target,
7085         GLint        level,
7086         GLenum       internalformat,
7087         GLsizei      width,
7088         GLsizei      height,
7089         GLsizei      depth,
7090         GLint        border,
7091         GLsizei      imageSize,
7092         const(void)* bits,
7093     );
7094     alias PFN_glCompressedMultiTexImage2DEXT = void function (
7095         GLenum       texunit,
7096         GLenum       target,
7097         GLint        level,
7098         GLenum       internalformat,
7099         GLsizei      width,
7100         GLsizei      height,
7101         GLint        border,
7102         GLsizei      imageSize,
7103         const(void)* bits,
7104     );
7105     alias PFN_glCompressedMultiTexImage1DEXT = void function (
7106         GLenum       texunit,
7107         GLenum       target,
7108         GLint        level,
7109         GLenum       internalformat,
7110         GLsizei      width,
7111         GLint        border,
7112         GLsizei      imageSize,
7113         const(void)* bits,
7114     );
7115     alias PFN_glCompressedMultiTexSubImage3DEXT = void function (
7116         GLenum       texunit,
7117         GLenum       target,
7118         GLint        level,
7119         GLint        xoffset,
7120         GLint        yoffset,
7121         GLint        zoffset,
7122         GLsizei      width,
7123         GLsizei      height,
7124         GLsizei      depth,
7125         GLenum       format,
7126         GLsizei      imageSize,
7127         const(void)* bits,
7128     );
7129     alias PFN_glCompressedMultiTexSubImage2DEXT = void function (
7130         GLenum       texunit,
7131         GLenum       target,
7132         GLint        level,
7133         GLint        xoffset,
7134         GLint        yoffset,
7135         GLsizei      width,
7136         GLsizei      height,
7137         GLenum       format,
7138         GLsizei      imageSize,
7139         const(void)* bits,
7140     );
7141     alias PFN_glCompressedMultiTexSubImage1DEXT = void function (
7142         GLenum       texunit,
7143         GLenum       target,
7144         GLint        level,
7145         GLint        xoffset,
7146         GLsizei      width,
7147         GLenum       format,
7148         GLsizei      imageSize,
7149         const(void)* bits,
7150     );
7151     alias PFN_glGetCompressedMultiTexImageEXT = void function (
7152         GLenum texunit,
7153         GLenum target,
7154         GLint  lod,
7155         void*  img,
7156     );
7157     alias PFN_glMatrixLoadTransposefEXT = void function (
7158         GLenum          mode,
7159         const(GLfloat)* m,
7160     );
7161     alias PFN_glMatrixLoadTransposedEXT = void function (
7162         GLenum           mode,
7163         const(GLdouble)* m,
7164     );
7165     alias PFN_glMatrixMultTransposefEXT = void function (
7166         GLenum          mode,
7167         const(GLfloat)* m,
7168     );
7169     alias PFN_glMatrixMultTransposedEXT = void function (
7170         GLenum           mode,
7171         const(GLdouble)* m,
7172     );
7173     alias PFN_glNamedBufferDataEXT = void function (
7174         GLuint       buffer,
7175         GLsizeiptr   size,
7176         const(void)* data,
7177         GLenum       usage,
7178     );
7179     alias PFN_glMapNamedBufferEXT = void * function (
7180         GLuint buffer,
7181         GLenum access,
7182     );
7183     alias PFN_glUnmapNamedBufferEXT = GLboolean function (
7184         GLuint buffer,
7185     );
7186     alias PFN_glGetNamedBufferParameterivEXT = void function (
7187         GLuint buffer,
7188         GLenum pname,
7189         GLint* params,
7190     );
7191     alias PFN_glGetNamedBufferPointervEXT = void function (
7192         GLuint buffer,
7193         GLenum pname,
7194         void** params,
7195     );
7196     alias PFN_glGetNamedBufferSubDataEXT = void function (
7197         GLuint     buffer,
7198         GLintptr   offset,
7199         GLsizeiptr size,
7200         void*      data,
7201     );
7202     alias PFN_glTextureBufferEXT = void function (
7203         GLuint texture,
7204         GLenum target,
7205         GLenum internalformat,
7206         GLuint buffer,
7207     );
7208     alias PFN_glMultiTexBufferEXT = void function (
7209         GLenum texunit,
7210         GLenum target,
7211         GLenum internalformat,
7212         GLuint buffer,
7213     );
7214     alias PFN_glTextureParameterIivEXT = void function (
7215         GLuint        texture,
7216         GLenum        target,
7217         GLenum        pname,
7218         const(GLint)* params,
7219     );
7220     alias PFN_glTextureParameterIuivEXT = void function (
7221         GLuint         texture,
7222         GLenum         target,
7223         GLenum         pname,
7224         const(GLuint)* params,
7225     );
7226     alias PFN_glGetTextureParameterIivEXT = void function (
7227         GLuint texture,
7228         GLenum target,
7229         GLenum pname,
7230         GLint* params,
7231     );
7232     alias PFN_glGetTextureParameterIuivEXT = void function (
7233         GLuint  texture,
7234         GLenum  target,
7235         GLenum  pname,
7236         GLuint* params,
7237     );
7238     alias PFN_glMultiTexParameterIivEXT = void function (
7239         GLenum        texunit,
7240         GLenum        target,
7241         GLenum        pname,
7242         const(GLint)* params,
7243     );
7244     alias PFN_glMultiTexParameterIuivEXT = void function (
7245         GLenum         texunit,
7246         GLenum         target,
7247         GLenum         pname,
7248         const(GLuint)* params,
7249     );
7250     alias PFN_glGetMultiTexParameterIivEXT = void function (
7251         GLenum texunit,
7252         GLenum target,
7253         GLenum pname,
7254         GLint* params,
7255     );
7256     alias PFN_glGetMultiTexParameterIuivEXT = void function (
7257         GLenum  texunit,
7258         GLenum  target,
7259         GLenum  pname,
7260         GLuint* params,
7261     );
7262     alias PFN_glNamedProgramLocalParameters4fvEXT = void function (
7263         GLuint          program,
7264         GLenum          target,
7265         GLuint          index,
7266         GLsizei         count,
7267         const(GLfloat)* params,
7268     );
7269     alias PFN_glNamedProgramLocalParameterI4iEXT = void function (
7270         GLuint program,
7271         GLenum target,
7272         GLuint index,
7273         GLint  x,
7274         GLint  y,
7275         GLint  z,
7276         GLint  w,
7277     );
7278     alias PFN_glNamedProgramLocalParameterI4ivEXT = void function (
7279         GLuint        program,
7280         GLenum        target,
7281         GLuint        index,
7282         const(GLint)* params,
7283     );
7284     alias PFN_glNamedProgramLocalParametersI4ivEXT = void function (
7285         GLuint        program,
7286         GLenum        target,
7287         GLuint        index,
7288         GLsizei       count,
7289         const(GLint)* params,
7290     );
7291     alias PFN_glNamedProgramLocalParameterI4uiEXT = void function (
7292         GLuint program,
7293         GLenum target,
7294         GLuint index,
7295         GLuint x,
7296         GLuint y,
7297         GLuint z,
7298         GLuint w,
7299     );
7300     alias PFN_glNamedProgramLocalParameterI4uivEXT = void function (
7301         GLuint         program,
7302         GLenum         target,
7303         GLuint         index,
7304         const(GLuint)* params,
7305     );
7306     alias PFN_glNamedProgramLocalParametersI4uivEXT = void function (
7307         GLuint         program,
7308         GLenum         target,
7309         GLuint         index,
7310         GLsizei        count,
7311         const(GLuint)* params,
7312     );
7313     alias PFN_glGetNamedProgramLocalParameterIivEXT = void function (
7314         GLuint program,
7315         GLenum target,
7316         GLuint index,
7317         GLint* params,
7318     );
7319     alias PFN_glGetNamedProgramLocalParameterIuivEXT = void function (
7320         GLuint  program,
7321         GLenum  target,
7322         GLuint  index,
7323         GLuint* params,
7324     );
7325     alias PFN_glEnableClientStateiEXT = void function (
7326         GLenum array,
7327         GLuint index,
7328     );
7329     alias PFN_glDisableClientStateiEXT = void function (
7330         GLenum array,
7331         GLuint index,
7332     );
7333     alias PFN_glGetPointeri_vEXT = void function (
7334         GLenum pname,
7335         GLuint index,
7336         void** params,
7337     );
7338     alias PFN_glNamedProgramStringEXT = void function (
7339         GLuint       program,
7340         GLenum       target,
7341         GLenum       format,
7342         GLsizei      len,
7343         const(void)* string,
7344     );
7345     alias PFN_glNamedProgramLocalParameter4dEXT = void function (
7346         GLuint   program,
7347         GLenum   target,
7348         GLuint   index,
7349         GLdouble x,
7350         GLdouble y,
7351         GLdouble z,
7352         GLdouble w,
7353     );
7354     alias PFN_glNamedProgramLocalParameter4dvEXT = void function (
7355         GLuint           program,
7356         GLenum           target,
7357         GLuint           index,
7358         const(GLdouble)* params,
7359     );
7360     alias PFN_glNamedProgramLocalParameter4fEXT = void function (
7361         GLuint  program,
7362         GLenum  target,
7363         GLuint  index,
7364         GLfloat x,
7365         GLfloat y,
7366         GLfloat z,
7367         GLfloat w,
7368     );
7369     alias PFN_glNamedProgramLocalParameter4fvEXT = void function (
7370         GLuint          program,
7371         GLenum          target,
7372         GLuint          index,
7373         const(GLfloat)* params,
7374     );
7375     alias PFN_glGetNamedProgramLocalParameterdvEXT = void function (
7376         GLuint    program,
7377         GLenum    target,
7378         GLuint    index,
7379         GLdouble* params,
7380     );
7381     alias PFN_glGetNamedProgramLocalParameterfvEXT = void function (
7382         GLuint   program,
7383         GLenum   target,
7384         GLuint   index,
7385         GLfloat* params,
7386     );
7387     alias PFN_glGetNamedProgramivEXT = void function (
7388         GLuint program,
7389         GLenum target,
7390         GLenum pname,
7391         GLint* params,
7392     );
7393     alias PFN_glGetNamedProgramStringEXT = void function (
7394         GLuint program,
7395         GLenum target,
7396         GLenum pname,
7397         void*  string,
7398     );
7399     alias PFN_glNamedRenderbufferStorageEXT = void function (
7400         GLuint  renderbuffer,
7401         GLenum  internalformat,
7402         GLsizei width,
7403         GLsizei height,
7404     );
7405     alias PFN_glGetNamedRenderbufferParameterivEXT = void function (
7406         GLuint renderbuffer,
7407         GLenum pname,
7408         GLint* params,
7409     );
7410     alias PFN_glNamedRenderbufferStorageMultisampleEXT = void function (
7411         GLuint  renderbuffer,
7412         GLsizei samples,
7413         GLenum  internalformat,
7414         GLsizei width,
7415         GLsizei height,
7416     );
7417     alias PFN_glNamedRenderbufferStorageMultisampleCoverageEXT = void function (
7418         GLuint  renderbuffer,
7419         GLsizei coverageSamples,
7420         GLsizei colorSamples,
7421         GLenum  internalformat,
7422         GLsizei width,
7423         GLsizei height,
7424     );
7425     alias PFN_glCheckNamedFramebufferStatusEXT = GLenum function (
7426         GLuint framebuffer,
7427         GLenum target,
7428     );
7429     alias PFN_glNamedFramebufferTexture1DEXT = void function (
7430         GLuint framebuffer,
7431         GLenum attachment,
7432         GLenum textarget,
7433         GLuint texture,
7434         GLint  level,
7435     );
7436     alias PFN_glNamedFramebufferTexture2DEXT = void function (
7437         GLuint framebuffer,
7438         GLenum attachment,
7439         GLenum textarget,
7440         GLuint texture,
7441         GLint  level,
7442     );
7443     alias PFN_glNamedFramebufferTexture3DEXT = void function (
7444         GLuint framebuffer,
7445         GLenum attachment,
7446         GLenum textarget,
7447         GLuint texture,
7448         GLint  level,
7449         GLint  zoffset,
7450     );
7451     alias PFN_glNamedFramebufferRenderbufferEXT = void function (
7452         GLuint framebuffer,
7453         GLenum attachment,
7454         GLenum renderbuffertarget,
7455         GLuint renderbuffer,
7456     );
7457     alias PFN_glGetNamedFramebufferAttachmentParameterivEXT = void function (
7458         GLuint framebuffer,
7459         GLenum attachment,
7460         GLenum pname,
7461         GLint* params,
7462     );
7463     alias PFN_glGenerateTextureMipmapEXT = void function (
7464         GLuint texture,
7465         GLenum target,
7466     );
7467     alias PFN_glGenerateMultiTexMipmapEXT = void function (
7468         GLenum texunit,
7469         GLenum target,
7470     );
7471     alias PFN_glFramebufferDrawBufferEXT = void function (
7472         GLuint framebuffer,
7473         GLenum mode,
7474     );
7475     alias PFN_glFramebufferDrawBuffersEXT = void function (
7476         GLuint         framebuffer,
7477         GLsizei        n,
7478         const(GLenum)* bufs,
7479     );
7480     alias PFN_glFramebufferReadBufferEXT = void function (
7481         GLuint framebuffer,
7482         GLenum mode,
7483     );
7484     alias PFN_glGetFramebufferParameterivEXT = void function (
7485         GLuint framebuffer,
7486         GLenum pname,
7487         GLint* params,
7488     );
7489     alias PFN_glNamedCopyBufferSubDataEXT = void function (
7490         GLuint     readBuffer,
7491         GLuint     writeBuffer,
7492         GLintptr   readOffset,
7493         GLintptr   writeOffset,
7494         GLsizeiptr size,
7495     );
7496     alias PFN_glNamedFramebufferTextureEXT = void function (
7497         GLuint framebuffer,
7498         GLenum attachment,
7499         GLuint texture,
7500         GLint  level,
7501     );
7502     alias PFN_glNamedFramebufferTextureLayerEXT = void function (
7503         GLuint framebuffer,
7504         GLenum attachment,
7505         GLuint texture,
7506         GLint  level,
7507         GLint  layer,
7508     );
7509     alias PFN_glNamedFramebufferTextureFaceEXT = void function (
7510         GLuint framebuffer,
7511         GLenum attachment,
7512         GLuint texture,
7513         GLint  level,
7514         GLenum face,
7515     );
7516     alias PFN_glTextureRenderbufferEXT = void function (
7517         GLuint texture,
7518         GLenum target,
7519         GLuint renderbuffer,
7520     );
7521     alias PFN_glMultiTexRenderbufferEXT = void function (
7522         GLenum texunit,
7523         GLenum target,
7524         GLuint renderbuffer,
7525     );
7526     alias PFN_glVertexArrayVertexOffsetEXT = void function (
7527         GLuint   vaobj,
7528         GLuint   buffer,
7529         GLint    size,
7530         GLenum   type,
7531         GLsizei  stride,
7532         GLintptr offset,
7533     );
7534     alias PFN_glVertexArrayColorOffsetEXT = void function (
7535         GLuint   vaobj,
7536         GLuint   buffer,
7537         GLint    size,
7538         GLenum   type,
7539         GLsizei  stride,
7540         GLintptr offset,
7541     );
7542     alias PFN_glVertexArrayEdgeFlagOffsetEXT = void function (
7543         GLuint   vaobj,
7544         GLuint   buffer,
7545         GLsizei  stride,
7546         GLintptr offset,
7547     );
7548     alias PFN_glVertexArrayIndexOffsetEXT = void function (
7549         GLuint   vaobj,
7550         GLuint   buffer,
7551         GLenum   type,
7552         GLsizei  stride,
7553         GLintptr offset,
7554     );
7555     alias PFN_glVertexArrayNormalOffsetEXT = void function (
7556         GLuint   vaobj,
7557         GLuint   buffer,
7558         GLenum   type,
7559         GLsizei  stride,
7560         GLintptr offset,
7561     );
7562     alias PFN_glVertexArrayTexCoordOffsetEXT = void function (
7563         GLuint   vaobj,
7564         GLuint   buffer,
7565         GLint    size,
7566         GLenum   type,
7567         GLsizei  stride,
7568         GLintptr offset,
7569     );
7570     alias PFN_glVertexArrayMultiTexCoordOffsetEXT = void function (
7571         GLuint   vaobj,
7572         GLuint   buffer,
7573         GLenum   texunit,
7574         GLint    size,
7575         GLenum   type,
7576         GLsizei  stride,
7577         GLintptr offset,
7578     );
7579     alias PFN_glVertexArrayFogCoordOffsetEXT = void function (
7580         GLuint   vaobj,
7581         GLuint   buffer,
7582         GLenum   type,
7583         GLsizei  stride,
7584         GLintptr offset,
7585     );
7586     alias PFN_glVertexArraySecondaryColorOffsetEXT = void function (
7587         GLuint   vaobj,
7588         GLuint   buffer,
7589         GLint    size,
7590         GLenum   type,
7591         GLsizei  stride,
7592         GLintptr offset,
7593     );
7594     alias PFN_glVertexArrayVertexAttribOffsetEXT = void function (
7595         GLuint    vaobj,
7596         GLuint    buffer,
7597         GLuint    index,
7598         GLint     size,
7599         GLenum    type,
7600         GLboolean normalized,
7601         GLsizei   stride,
7602         GLintptr  offset,
7603     );
7604     alias PFN_glVertexArrayVertexAttribIOffsetEXT = void function (
7605         GLuint   vaobj,
7606         GLuint   buffer,
7607         GLuint   index,
7608         GLint    size,
7609         GLenum   type,
7610         GLsizei  stride,
7611         GLintptr offset,
7612     );
7613     alias PFN_glEnableVertexArrayEXT = void function (
7614         GLuint vaobj,
7615         GLenum array,
7616     );
7617     alias PFN_glDisableVertexArrayEXT = void function (
7618         GLuint vaobj,
7619         GLenum array,
7620     );
7621     alias PFN_glEnableVertexArrayAttribEXT = void function (
7622         GLuint vaobj,
7623         GLuint index,
7624     );
7625     alias PFN_glDisableVertexArrayAttribEXT = void function (
7626         GLuint vaobj,
7627         GLuint index,
7628     );
7629     alias PFN_glGetVertexArrayIntegervEXT = void function (
7630         GLuint vaobj,
7631         GLenum pname,
7632         GLint* param,
7633     );
7634     alias PFN_glGetVertexArrayPointervEXT = void function (
7635         GLuint vaobj,
7636         GLenum pname,
7637         void** param,
7638     );
7639     alias PFN_glGetVertexArrayIntegeri_vEXT = void function (
7640         GLuint vaobj,
7641         GLuint index,
7642         GLenum pname,
7643         GLint* param,
7644     );
7645     alias PFN_glGetVertexArrayPointeri_vEXT = void function (
7646         GLuint vaobj,
7647         GLuint index,
7648         GLenum pname,
7649         void** param,
7650     );
7651     alias PFN_glMapNamedBufferRangeEXT = void * function (
7652         GLuint     buffer,
7653         GLintptr   offset,
7654         GLsizeiptr length,
7655         GLbitfield access,
7656     );
7657     alias PFN_glFlushMappedNamedBufferRangeEXT = void function (
7658         GLuint     buffer,
7659         GLintptr   offset,
7660         GLsizeiptr length,
7661     );
7662     alias PFN_glClearNamedBufferDataEXT = void function (
7663         GLuint       buffer,
7664         GLenum       internalformat,
7665         GLenum       format,
7666         GLenum       type,
7667         const(void)* data,
7668     );
7669     alias PFN_glClearNamedBufferSubDataEXT = void function (
7670         GLuint       buffer,
7671         GLenum       internalformat,
7672         GLsizeiptr   offset,
7673         GLsizeiptr   size,
7674         GLenum       format,
7675         GLenum       type,
7676         const(void)* data,
7677     );
7678     alias PFN_glNamedFramebufferParameteriEXT = void function (
7679         GLuint framebuffer,
7680         GLenum pname,
7681         GLint  param,
7682     );
7683     alias PFN_glGetNamedFramebufferParameterivEXT = void function (
7684         GLuint framebuffer,
7685         GLenum pname,
7686         GLint* params,
7687     );
7688     alias PFN_glProgramUniform1dEXT = void function (
7689         GLuint   program,
7690         GLint    location,
7691         GLdouble x,
7692     );
7693     alias PFN_glProgramUniform2dEXT = void function (
7694         GLuint   program,
7695         GLint    location,
7696         GLdouble x,
7697         GLdouble y,
7698     );
7699     alias PFN_glProgramUniform3dEXT = void function (
7700         GLuint   program,
7701         GLint    location,
7702         GLdouble x,
7703         GLdouble y,
7704         GLdouble z,
7705     );
7706     alias PFN_glProgramUniform4dEXT = void function (
7707         GLuint   program,
7708         GLint    location,
7709         GLdouble x,
7710         GLdouble y,
7711         GLdouble z,
7712         GLdouble w,
7713     );
7714     alias PFN_glProgramUniform1dvEXT = void function (
7715         GLuint           program,
7716         GLint            location,
7717         GLsizei          count,
7718         const(GLdouble)* value,
7719     );
7720     alias PFN_glProgramUniform2dvEXT = void function (
7721         GLuint           program,
7722         GLint            location,
7723         GLsizei          count,
7724         const(GLdouble)* value,
7725     );
7726     alias PFN_glProgramUniform3dvEXT = void function (
7727         GLuint           program,
7728         GLint            location,
7729         GLsizei          count,
7730         const(GLdouble)* value,
7731     );
7732     alias PFN_glProgramUniform4dvEXT = void function (
7733         GLuint           program,
7734         GLint            location,
7735         GLsizei          count,
7736         const(GLdouble)* value,
7737     );
7738     alias PFN_glProgramUniformMatrix2dvEXT = void function (
7739         GLuint           program,
7740         GLint            location,
7741         GLsizei          count,
7742         GLboolean        transpose,
7743         const(GLdouble)* value,
7744     );
7745     alias PFN_glProgramUniformMatrix3dvEXT = void function (
7746         GLuint           program,
7747         GLint            location,
7748         GLsizei          count,
7749         GLboolean        transpose,
7750         const(GLdouble)* value,
7751     );
7752     alias PFN_glProgramUniformMatrix4dvEXT = void function (
7753         GLuint           program,
7754         GLint            location,
7755         GLsizei          count,
7756         GLboolean        transpose,
7757         const(GLdouble)* value,
7758     );
7759     alias PFN_glProgramUniformMatrix2x3dvEXT = void function (
7760         GLuint           program,
7761         GLint            location,
7762         GLsizei          count,
7763         GLboolean        transpose,
7764         const(GLdouble)* value,
7765     );
7766     alias PFN_glProgramUniformMatrix2x4dvEXT = void function (
7767         GLuint           program,
7768         GLint            location,
7769         GLsizei          count,
7770         GLboolean        transpose,
7771         const(GLdouble)* value,
7772     );
7773     alias PFN_glProgramUniformMatrix3x2dvEXT = void function (
7774         GLuint           program,
7775         GLint            location,
7776         GLsizei          count,
7777         GLboolean        transpose,
7778         const(GLdouble)* value,
7779     );
7780     alias PFN_glProgramUniformMatrix3x4dvEXT = void function (
7781         GLuint           program,
7782         GLint            location,
7783         GLsizei          count,
7784         GLboolean        transpose,
7785         const(GLdouble)* value,
7786     );
7787     alias PFN_glProgramUniformMatrix4x2dvEXT = void function (
7788         GLuint           program,
7789         GLint            location,
7790         GLsizei          count,
7791         GLboolean        transpose,
7792         const(GLdouble)* value,
7793     );
7794     alias PFN_glProgramUniformMatrix4x3dvEXT = void function (
7795         GLuint           program,
7796         GLint            location,
7797         GLsizei          count,
7798         GLboolean        transpose,
7799         const(GLdouble)* value,
7800     );
7801     alias PFN_glTextureBufferRangeEXT = void function (
7802         GLuint     texture,
7803         GLenum     target,
7804         GLenum     internalformat,
7805         GLuint     buffer,
7806         GLintptr   offset,
7807         GLsizeiptr size,
7808     );
7809     alias PFN_glTextureStorage1DEXT = void function (
7810         GLuint  texture,
7811         GLenum  target,
7812         GLsizei levels,
7813         GLenum  internalformat,
7814         GLsizei width,
7815     );
7816     alias PFN_glTextureStorage2DEXT = void function (
7817         GLuint  texture,
7818         GLenum  target,
7819         GLsizei levels,
7820         GLenum  internalformat,
7821         GLsizei width,
7822         GLsizei height,
7823     );
7824     alias PFN_glTextureStorage3DEXT = void function (
7825         GLuint  texture,
7826         GLenum  target,
7827         GLsizei levels,
7828         GLenum  internalformat,
7829         GLsizei width,
7830         GLsizei height,
7831         GLsizei depth,
7832     );
7833     alias PFN_glTextureStorage2DMultisampleEXT = void function (
7834         GLuint    texture,
7835         GLenum    target,
7836         GLsizei   samples,
7837         GLenum    internalformat,
7838         GLsizei   width,
7839         GLsizei   height,
7840         GLboolean fixedsamplelocations,
7841     );
7842     alias PFN_glTextureStorage3DMultisampleEXT = void function (
7843         GLuint    texture,
7844         GLenum    target,
7845         GLsizei   samples,
7846         GLenum    internalformat,
7847         GLsizei   width,
7848         GLsizei   height,
7849         GLsizei   depth,
7850         GLboolean fixedsamplelocations,
7851     );
7852     alias PFN_glVertexArrayBindVertexBufferEXT = void function (
7853         GLuint   vaobj,
7854         GLuint   bindingindex,
7855         GLuint   buffer,
7856         GLintptr offset,
7857         GLsizei  stride,
7858     );
7859     alias PFN_glVertexArrayVertexAttribFormatEXT = void function (
7860         GLuint    vaobj,
7861         GLuint    attribindex,
7862         GLint     size,
7863         GLenum    type,
7864         GLboolean normalized,
7865         GLuint    relativeoffset,
7866     );
7867     alias PFN_glVertexArrayVertexAttribIFormatEXT = void function (
7868         GLuint vaobj,
7869         GLuint attribindex,
7870         GLint  size,
7871         GLenum type,
7872         GLuint relativeoffset,
7873     );
7874     alias PFN_glVertexArrayVertexAttribLFormatEXT = void function (
7875         GLuint vaobj,
7876         GLuint attribindex,
7877         GLint  size,
7878         GLenum type,
7879         GLuint relativeoffset,
7880     );
7881     alias PFN_glVertexArrayVertexAttribBindingEXT = void function (
7882         GLuint vaobj,
7883         GLuint attribindex,
7884         GLuint bindingindex,
7885     );
7886     alias PFN_glVertexArrayVertexBindingDivisorEXT = void function (
7887         GLuint vaobj,
7888         GLuint bindingindex,
7889         GLuint divisor,
7890     );
7891     alias PFN_glVertexArrayVertexAttribLOffsetEXT = void function (
7892         GLuint   vaobj,
7893         GLuint   buffer,
7894         GLuint   index,
7895         GLint    size,
7896         GLenum   type,
7897         GLsizei  stride,
7898         GLintptr offset,
7899     );
7900     alias PFN_glTexturePageCommitmentEXT = void function (
7901         GLuint    texture,
7902         GLint     level,
7903         GLint     xoffset,
7904         GLint     yoffset,
7905         GLint     zoffset,
7906         GLsizei   width,
7907         GLsizei   height,
7908         GLsizei   depth,
7909         GLboolean commit,
7910     );
7911     alias PFN_glVertexArrayVertexAttribDivisorEXT = void function (
7912         GLuint vaobj,
7913         GLuint index,
7914         GLuint divisor,
7915     );
7916 
7917     // Command pointers for GL_EXT_raster_multisample
7918     alias PFN_glRasterSamplesEXT = void function (
7919         GLuint    samples,
7920         GLboolean fixedsamplelocations,
7921     );
7922 
7923     // Command pointers for GL_EXT_separate_shader_objects
7924     alias PFN_glUseShaderProgramEXT = void function (
7925         GLenum type,
7926         GLuint program,
7927     );
7928     alias PFN_glActiveProgramEXT = void function (
7929         GLuint program,
7930     );
7931     alias PFN_glCreateShaderProgramEXT = GLuint function (
7932         GLenum         type,
7933         const(GLchar)* string,
7934     );
7935 
7936     // Command pointers for GL_EXT_window_rectangles
7937     alias PFN_glWindowRectanglesEXT = void function (
7938         GLenum        mode,
7939         GLsizei       count,
7940         const(GLint)* box,
7941     );
7942 
7943     // Command pointers for GL_INTEL_framebuffer_CMAA
7944     alias PFN_glApplyFramebufferAttachmentCMAAINTEL = void function ();
7945 
7946     // Command pointers for GL_INTEL_performance_query
7947     alias PFN_glBeginPerfQueryINTEL = void function (
7948         GLuint queryHandle,
7949     );
7950     alias PFN_glCreatePerfQueryINTEL = void function (
7951         GLuint  queryId,
7952         GLuint* queryHandle,
7953     );
7954     alias PFN_glDeletePerfQueryINTEL = void function (
7955         GLuint queryHandle,
7956     );
7957     alias PFN_glEndPerfQueryINTEL = void function (
7958         GLuint queryHandle,
7959     );
7960     alias PFN_glGetFirstPerfQueryIdINTEL = void function (
7961         GLuint* queryId,
7962     );
7963     alias PFN_glGetNextPerfQueryIdINTEL = void function (
7964         GLuint  queryId,
7965         GLuint* nextQueryId,
7966     );
7967     alias PFN_glGetPerfCounterInfoINTEL = void function (
7968         GLuint    queryId,
7969         GLuint    counterId,
7970         GLuint    counterNameLength,
7971         GLchar*   counterName,
7972         GLuint    counterDescLength,
7973         GLchar*   counterDesc,
7974         GLuint*   counterOffset,
7975         GLuint*   counterDataSize,
7976         GLuint*   counterTypeEnum,
7977         GLuint*   counterDataTypeEnum,
7978         GLuint64* rawCounterMaxValue,
7979     );
7980     alias PFN_glGetPerfQueryDataINTEL = void function (
7981         GLuint  queryHandle,
7982         GLuint  flags,
7983         GLsizei dataSize,
7984         void*   data,
7985         GLuint* bytesWritten,
7986     );
7987     alias PFN_glGetPerfQueryIdByNameINTEL = void function (
7988         GLchar* queryName,
7989         GLuint* queryId,
7990     );
7991     alias PFN_glGetPerfQueryInfoINTEL = void function (
7992         GLuint  queryId,
7993         GLuint  queryNameLength,
7994         GLchar* queryName,
7995         GLuint* dataSize,
7996         GLuint* noCounters,
7997         GLuint* noInstances,
7998         GLuint* capsMask,
7999     );
8000 
8001     // Command pointers for GL_NV_bindless_multi_draw_indirect
8002     alias PFN_glMultiDrawArraysIndirectBindlessNV = void function (
8003         GLenum       mode,
8004         const(void)* indirect,
8005         GLsizei      drawCount,
8006         GLsizei      stride,
8007         GLint        vertexBufferCount,
8008     );
8009     alias PFN_glMultiDrawElementsIndirectBindlessNV = void function (
8010         GLenum       mode,
8011         GLenum       type,
8012         const(void)* indirect,
8013         GLsizei      drawCount,
8014         GLsizei      stride,
8015         GLint        vertexBufferCount,
8016     );
8017 
8018     // Command pointers for GL_NV_bindless_multi_draw_indirect_count
8019     alias PFN_glMultiDrawArraysIndirectBindlessCountNV = void function (
8020         GLenum       mode,
8021         const(void)* indirect,
8022         GLsizei      drawCount,
8023         GLsizei      maxDrawCount,
8024         GLsizei      stride,
8025         GLint        vertexBufferCount,
8026     );
8027     alias PFN_glMultiDrawElementsIndirectBindlessCountNV = void function (
8028         GLenum       mode,
8029         GLenum       type,
8030         const(void)* indirect,
8031         GLsizei      drawCount,
8032         GLsizei      maxDrawCount,
8033         GLsizei      stride,
8034         GLint        vertexBufferCount,
8035     );
8036 
8037     // Command pointers for GL_NV_bindless_texture
8038     alias PFN_glGetTextureHandleNV = GLuint64 function (
8039         GLuint texture,
8040     );
8041     alias PFN_glGetTextureSamplerHandleNV = GLuint64 function (
8042         GLuint texture,
8043         GLuint sampler,
8044     );
8045     alias PFN_glMakeTextureHandleResidentNV = void function (
8046         GLuint64 handle,
8047     );
8048     alias PFN_glMakeTextureHandleNonResidentNV = void function (
8049         GLuint64 handle,
8050     );
8051     alias PFN_glGetImageHandleNV = GLuint64 function (
8052         GLuint    texture,
8053         GLint     level,
8054         GLboolean layered,
8055         GLint     layer,
8056         GLenum    format,
8057     );
8058     alias PFN_glMakeImageHandleResidentNV = void function (
8059         GLuint64 handle,
8060         GLenum   access,
8061     );
8062     alias PFN_glMakeImageHandleNonResidentNV = void function (
8063         GLuint64 handle,
8064     );
8065     alias PFN_glUniformHandleui64NV = void function (
8066         GLint    location,
8067         GLuint64 value,
8068     );
8069     alias PFN_glUniformHandleui64vNV = void function (
8070         GLint            location,
8071         GLsizei          count,
8072         const(GLuint64)* value,
8073     );
8074     alias PFN_glProgramUniformHandleui64NV = void function (
8075         GLuint   program,
8076         GLint    location,
8077         GLuint64 value,
8078     );
8079     alias PFN_glProgramUniformHandleui64vNV = void function (
8080         GLuint           program,
8081         GLint            location,
8082         GLsizei          count,
8083         const(GLuint64)* values,
8084     );
8085     alias PFN_glIsTextureHandleResidentNV = GLboolean function (
8086         GLuint64 handle,
8087     );
8088     alias PFN_glIsImageHandleResidentNV = GLboolean function (
8089         GLuint64 handle,
8090     );
8091 
8092     // Command pointers for GL_NV_blend_equation_advanced
8093     alias PFN_glBlendParameteriNV = void function (
8094         GLenum pname,
8095         GLint  value,
8096     );
8097     alias PFN_glBlendBarrierNV = void function ();
8098 
8099     // Command pointers for GL_NV_clip_space_w_scaling
8100     alias PFN_glViewportPositionWScaleNV = void function (
8101         GLuint  index,
8102         GLfloat xcoeff,
8103         GLfloat ycoeff,
8104     );
8105 
8106     // Command pointers for GL_NV_command_list
8107     alias PFN_glCreateStatesNV = void function (
8108         GLsizei n,
8109         GLuint* states,
8110     );
8111     alias PFN_glDeleteStatesNV = void function (
8112         GLsizei        n,
8113         const(GLuint)* states,
8114     );
8115     alias PFN_glIsStateNV = GLboolean function (
8116         GLuint state,
8117     );
8118     alias PFN_glStateCaptureNV = void function (
8119         GLuint state,
8120         GLenum mode,
8121     );
8122     alias PFN_glGetCommandHeaderNV = GLuint function (
8123         GLenum tokenID,
8124         GLuint size,
8125     );
8126     alias PFN_glGetStageIndexNV = GLushort function (
8127         GLenum shadertype,
8128     );
8129     alias PFN_glDrawCommandsNV = void function (
8130         GLenum           primitiveMode,
8131         GLuint           buffer,
8132         const(GLintptr)* indirects,
8133         const(GLsizei)*  sizes,
8134         GLuint           count,
8135     );
8136     alias PFN_glDrawCommandsAddressNV = void function (
8137         GLenum           primitiveMode,
8138         const(GLuint64)* indirects,
8139         const(GLsizei)*  sizes,
8140         GLuint           count,
8141     );
8142     alias PFN_glDrawCommandsStatesNV = void function (
8143         GLuint           buffer,
8144         const(GLintptr)* indirects,
8145         const(GLsizei)*  sizes,
8146         const(GLuint)*   states,
8147         const(GLuint)*   fbos,
8148         GLuint           count,
8149     );
8150     alias PFN_glDrawCommandsStatesAddressNV = void function (
8151         const(GLuint64)* indirects,
8152         const(GLsizei)*  sizes,
8153         const(GLuint)*   states,
8154         const(GLuint)*   fbos,
8155         GLuint           count,
8156     );
8157     alias PFN_glCreateCommandListsNV = void function (
8158         GLsizei n,
8159         GLuint* lists,
8160     );
8161     alias PFN_glDeleteCommandListsNV = void function (
8162         GLsizei        n,
8163         const(GLuint)* lists,
8164     );
8165     alias PFN_glIsCommandListNV = GLboolean function (
8166         GLuint list,
8167     );
8168     alias PFN_glListDrawCommandsStatesClientNV = void function (
8169         GLuint          list,
8170         GLuint          segment,
8171         const(void*)*   indirects,
8172         const(GLsizei)* sizes,
8173         const(GLuint)*  states,
8174         const(GLuint)*  fbos,
8175         GLuint          count,
8176     );
8177     alias PFN_glCommandListSegmentsNV = void function (
8178         GLuint list,
8179         GLuint segments,
8180     );
8181     alias PFN_glCompileCommandListNV = void function (
8182         GLuint list,
8183     );
8184     alias PFN_glCallCommandListNV = void function (
8185         GLuint list,
8186     );
8187 
8188     // Command pointers for GL_NV_conservative_raster
8189     alias PFN_glSubpixelPrecisionBiasNV = void function (
8190         GLuint xbits,
8191         GLuint ybits,
8192     );
8193 
8194     // Command pointers for GL_NV_conservative_raster_dilate
8195     alias PFN_glConservativeRasterParameterfNV = void function (
8196         GLenum  pname,
8197         GLfloat value,
8198     );
8199 
8200     // Command pointers for GL_NV_conservative_raster_pre_snap_triangles
8201     alias PFN_glConservativeRasterParameteriNV = void function (
8202         GLenum pname,
8203         GLint  param,
8204     );
8205 
8206     // Command pointers for GL_NV_draw_vulkan_image
8207     alias PFN_glDrawVkImageNV = void function (
8208         GLuint64 vkImage,
8209         GLuint   sampler,
8210         GLfloat  x0,
8211         GLfloat  y0,
8212         GLfloat  x1,
8213         GLfloat  y1,
8214         GLfloat  z,
8215         GLfloat  s0,
8216         GLfloat  t0,
8217         GLfloat  s1,
8218         GLfloat  t1,
8219     );
8220     alias PFN_glGetVkProcAddrNV = GLVULKANPROCNV function (
8221         const(GLchar)* name,
8222     );
8223     alias PFN_glWaitVkSemaphoreNV = void function (
8224         GLuint64 vkSemaphore,
8225     );
8226     alias PFN_glSignalVkSemaphoreNV = void function (
8227         GLuint64 vkSemaphore,
8228     );
8229     alias PFN_glSignalVkFenceNV = void function (
8230         GLuint64 vkFence,
8231     );
8232 
8233     // Command pointers for GL_NV_fragment_coverage_to_color
8234     alias PFN_glFragmentCoverageColorNV = void function (
8235         GLuint color,
8236     );
8237 
8238     // Command pointers for GL_NV_framebuffer_mixed_samples
8239     alias PFN_glCoverageModulationTableNV = void function (
8240         GLsizei         n,
8241         const(GLfloat)* v,
8242     );
8243     alias PFN_glGetCoverageModulationTableNV = void function (
8244         GLsizei  bufsize,
8245         GLfloat* v,
8246     );
8247     alias PFN_glCoverageModulationNV = void function (
8248         GLenum components,
8249     );
8250 
8251     // Command pointers for GL_NV_framebuffer_multisample_coverage
8252     alias PFN_glRenderbufferStorageMultisampleCoverageNV = void function (
8253         GLenum  target,
8254         GLsizei coverageSamples,
8255         GLsizei colorSamples,
8256         GLenum  internalformat,
8257         GLsizei width,
8258         GLsizei height,
8259     );
8260 
8261     // Command pointers for GL_NV_gpu_shader5
8262     alias PFN_glUniform1i64NV = void function (
8263         GLint      location,
8264         GLint64EXT x,
8265     );
8266     alias PFN_glUniform2i64NV = void function (
8267         GLint      location,
8268         GLint64EXT x,
8269         GLint64EXT y,
8270     );
8271     alias PFN_glUniform3i64NV = void function (
8272         GLint      location,
8273         GLint64EXT x,
8274         GLint64EXT y,
8275         GLint64EXT z,
8276     );
8277     alias PFN_glUniform4i64NV = void function (
8278         GLint      location,
8279         GLint64EXT x,
8280         GLint64EXT y,
8281         GLint64EXT z,
8282         GLint64EXT w,
8283     );
8284     alias PFN_glUniform1i64vNV = void function (
8285         GLint              location,
8286         GLsizei            count,
8287         const(GLint64EXT)* value,
8288     );
8289     alias PFN_glUniform2i64vNV = void function (
8290         GLint              location,
8291         GLsizei            count,
8292         const(GLint64EXT)* value,
8293     );
8294     alias PFN_glUniform3i64vNV = void function (
8295         GLint              location,
8296         GLsizei            count,
8297         const(GLint64EXT)* value,
8298     );
8299     alias PFN_glUniform4i64vNV = void function (
8300         GLint              location,
8301         GLsizei            count,
8302         const(GLint64EXT)* value,
8303     );
8304     alias PFN_glUniform1ui64NV = void function (
8305         GLint       location,
8306         GLuint64EXT x,
8307     );
8308     alias PFN_glUniform2ui64NV = void function (
8309         GLint       location,
8310         GLuint64EXT x,
8311         GLuint64EXT y,
8312     );
8313     alias PFN_glUniform3ui64NV = void function (
8314         GLint       location,
8315         GLuint64EXT x,
8316         GLuint64EXT y,
8317         GLuint64EXT z,
8318     );
8319     alias PFN_glUniform4ui64NV = void function (
8320         GLint       location,
8321         GLuint64EXT x,
8322         GLuint64EXT y,
8323         GLuint64EXT z,
8324         GLuint64EXT w,
8325     );
8326     alias PFN_glUniform1ui64vNV = void function (
8327         GLint               location,
8328         GLsizei             count,
8329         const(GLuint64EXT)* value,
8330     );
8331     alias PFN_glUniform2ui64vNV = void function (
8332         GLint               location,
8333         GLsizei             count,
8334         const(GLuint64EXT)* value,
8335     );
8336     alias PFN_glUniform3ui64vNV = void function (
8337         GLint               location,
8338         GLsizei             count,
8339         const(GLuint64EXT)* value,
8340     );
8341     alias PFN_glUniform4ui64vNV = void function (
8342         GLint               location,
8343         GLsizei             count,
8344         const(GLuint64EXT)* value,
8345     );
8346     alias PFN_glGetUniformi64vNV = void function (
8347         GLuint      program,
8348         GLint       location,
8349         GLint64EXT* params,
8350     );
8351     alias PFN_glProgramUniform1i64NV = void function (
8352         GLuint     program,
8353         GLint      location,
8354         GLint64EXT x,
8355     );
8356     alias PFN_glProgramUniform2i64NV = void function (
8357         GLuint     program,
8358         GLint      location,
8359         GLint64EXT x,
8360         GLint64EXT y,
8361     );
8362     alias PFN_glProgramUniform3i64NV = void function (
8363         GLuint     program,
8364         GLint      location,
8365         GLint64EXT x,
8366         GLint64EXT y,
8367         GLint64EXT z,
8368     );
8369     alias PFN_glProgramUniform4i64NV = void function (
8370         GLuint     program,
8371         GLint      location,
8372         GLint64EXT x,
8373         GLint64EXT y,
8374         GLint64EXT z,
8375         GLint64EXT w,
8376     );
8377     alias PFN_glProgramUniform1i64vNV = void function (
8378         GLuint             program,
8379         GLint              location,
8380         GLsizei            count,
8381         const(GLint64EXT)* value,
8382     );
8383     alias PFN_glProgramUniform2i64vNV = void function (
8384         GLuint             program,
8385         GLint              location,
8386         GLsizei            count,
8387         const(GLint64EXT)* value,
8388     );
8389     alias PFN_glProgramUniform3i64vNV = void function (
8390         GLuint             program,
8391         GLint              location,
8392         GLsizei            count,
8393         const(GLint64EXT)* value,
8394     );
8395     alias PFN_glProgramUniform4i64vNV = void function (
8396         GLuint             program,
8397         GLint              location,
8398         GLsizei            count,
8399         const(GLint64EXT)* value,
8400     );
8401     alias PFN_glProgramUniform1ui64NV = void function (
8402         GLuint      program,
8403         GLint       location,
8404         GLuint64EXT x,
8405     );
8406     alias PFN_glProgramUniform2ui64NV = void function (
8407         GLuint      program,
8408         GLint       location,
8409         GLuint64EXT x,
8410         GLuint64EXT y,
8411     );
8412     alias PFN_glProgramUniform3ui64NV = void function (
8413         GLuint      program,
8414         GLint       location,
8415         GLuint64EXT x,
8416         GLuint64EXT y,
8417         GLuint64EXT z,
8418     );
8419     alias PFN_glProgramUniform4ui64NV = void function (
8420         GLuint      program,
8421         GLint       location,
8422         GLuint64EXT x,
8423         GLuint64EXT y,
8424         GLuint64EXT z,
8425         GLuint64EXT w,
8426     );
8427     alias PFN_glProgramUniform1ui64vNV = void function (
8428         GLuint              program,
8429         GLint               location,
8430         GLsizei             count,
8431         const(GLuint64EXT)* value,
8432     );
8433     alias PFN_glProgramUniform2ui64vNV = void function (
8434         GLuint              program,
8435         GLint               location,
8436         GLsizei             count,
8437         const(GLuint64EXT)* value,
8438     );
8439     alias PFN_glProgramUniform3ui64vNV = void function (
8440         GLuint              program,
8441         GLint               location,
8442         GLsizei             count,
8443         const(GLuint64EXT)* value,
8444     );
8445     alias PFN_glProgramUniform4ui64vNV = void function (
8446         GLuint              program,
8447         GLint               location,
8448         GLsizei             count,
8449         const(GLuint64EXT)* value,
8450     );
8451 
8452     // Command pointers for GL_NV_internalformat_sample_query
8453     alias PFN_glGetInternalformatSampleivNV = void function (
8454         GLenum  target,
8455         GLenum  internalformat,
8456         GLsizei samples,
8457         GLenum  pname,
8458         GLsizei bufSize,
8459         GLint*  params,
8460     );
8461 
8462     // Command pointers for GL_NV_path_rendering
8463     alias PFN_glGenPathsNV = GLuint function (
8464         GLsizei range,
8465     );
8466     alias PFN_glDeletePathsNV = void function (
8467         GLuint  path,
8468         GLsizei range,
8469     );
8470     alias PFN_glIsPathNV = GLboolean function (
8471         GLuint path,
8472     );
8473     alias PFN_glPathCommandsNV = void function (
8474         GLuint          path,
8475         GLsizei         numCommands,
8476         const(GLubyte)* commands,
8477         GLsizei         numCoords,
8478         GLenum          coordType,
8479         const(void)*    coords,
8480     );
8481     alias PFN_glPathCoordsNV = void function (
8482         GLuint       path,
8483         GLsizei      numCoords,
8484         GLenum       coordType,
8485         const(void)* coords,
8486     );
8487     alias PFN_glPathSubCommandsNV = void function (
8488         GLuint          path,
8489         GLsizei         commandStart,
8490         GLsizei         commandsToDelete,
8491         GLsizei         numCommands,
8492         const(GLubyte)* commands,
8493         GLsizei         numCoords,
8494         GLenum          coordType,
8495         const(void)*    coords,
8496     );
8497     alias PFN_glPathSubCoordsNV = void function (
8498         GLuint       path,
8499         GLsizei      coordStart,
8500         GLsizei      numCoords,
8501         GLenum       coordType,
8502         const(void)* coords,
8503     );
8504     alias PFN_glPathStringNV = void function (
8505         GLuint       path,
8506         GLenum       format,
8507         GLsizei      length,
8508         const(void)* pathString,
8509     );
8510     alias PFN_glPathGlyphsNV = void function (
8511         GLuint       firstPathName,
8512         GLenum       fontTarget,
8513         const(void)* fontName,
8514         GLbitfield   fontStyle,
8515         GLsizei      numGlyphs,
8516         GLenum       type,
8517         const(void)* charcodes,
8518         GLenum       handleMissingGlyphs,
8519         GLuint       pathParameterTemplate,
8520         GLfloat      emScale,
8521     );
8522     alias PFN_glPathGlyphRangeNV = void function (
8523         GLuint       firstPathName,
8524         GLenum       fontTarget,
8525         const(void)* fontName,
8526         GLbitfield   fontStyle,
8527         GLuint       firstGlyph,
8528         GLsizei      numGlyphs,
8529         GLenum       handleMissingGlyphs,
8530         GLuint       pathParameterTemplate,
8531         GLfloat      emScale,
8532     );
8533     alias PFN_glWeightPathsNV = void function (
8534         GLuint          resultPath,
8535         GLsizei         numPaths,
8536         const(GLuint)*  paths,
8537         const(GLfloat)* weights,
8538     );
8539     alias PFN_glCopyPathNV = void function (
8540         GLuint resultPath,
8541         GLuint srcPath,
8542     );
8543     alias PFN_glInterpolatePathsNV = void function (
8544         GLuint  resultPath,
8545         GLuint  pathA,
8546         GLuint  pathB,
8547         GLfloat weight,
8548     );
8549     alias PFN_glTransformPathNV = void function (
8550         GLuint          resultPath,
8551         GLuint          srcPath,
8552         GLenum          transformType,
8553         const(GLfloat)* transformValues,
8554     );
8555     alias PFN_glPathParameterivNV = void function (
8556         GLuint        path,
8557         GLenum        pname,
8558         const(GLint)* value,
8559     );
8560     alias PFN_glPathParameteriNV = void function (
8561         GLuint path,
8562         GLenum pname,
8563         GLint  value,
8564     );
8565     alias PFN_glPathParameterfvNV = void function (
8566         GLuint          path,
8567         GLenum          pname,
8568         const(GLfloat)* value,
8569     );
8570     alias PFN_glPathParameterfNV = void function (
8571         GLuint  path,
8572         GLenum  pname,
8573         GLfloat value,
8574     );
8575     alias PFN_glPathDashArrayNV = void function (
8576         GLuint          path,
8577         GLsizei         dashCount,
8578         const(GLfloat)* dashArray,
8579     );
8580     alias PFN_glPathStencilFuncNV = void function (
8581         GLenum func,
8582         GLint  ref_,
8583         GLuint mask,
8584     );
8585     alias PFN_glPathStencilDepthOffsetNV = void function (
8586         GLfloat factor,
8587         GLfloat units,
8588     );
8589     alias PFN_glStencilFillPathNV = void function (
8590         GLuint path,
8591         GLenum fillMode,
8592         GLuint mask,
8593     );
8594     alias PFN_glStencilStrokePathNV = void function (
8595         GLuint path,
8596         GLint  reference,
8597         GLuint mask,
8598     );
8599     alias PFN_glStencilFillPathInstancedNV = void function (
8600         GLsizei         numPaths,
8601         GLenum          pathNameType,
8602         const(void)*    paths,
8603         GLuint          pathBase,
8604         GLenum          fillMode,
8605         GLuint          mask,
8606         GLenum          transformType,
8607         const(GLfloat)* transformValues,
8608     );
8609     alias PFN_glStencilStrokePathInstancedNV = void function (
8610         GLsizei         numPaths,
8611         GLenum          pathNameType,
8612         const(void)*    paths,
8613         GLuint          pathBase,
8614         GLint           reference,
8615         GLuint          mask,
8616         GLenum          transformType,
8617         const(GLfloat)* transformValues,
8618     );
8619     alias PFN_glPathCoverDepthFuncNV = void function (
8620         GLenum func,
8621     );
8622     alias PFN_glCoverFillPathNV = void function (
8623         GLuint path,
8624         GLenum coverMode,
8625     );
8626     alias PFN_glCoverStrokePathNV = void function (
8627         GLuint path,
8628         GLenum coverMode,
8629     );
8630     alias PFN_glCoverFillPathInstancedNV = void function (
8631         GLsizei         numPaths,
8632         GLenum          pathNameType,
8633         const(void)*    paths,
8634         GLuint          pathBase,
8635         GLenum          coverMode,
8636         GLenum          transformType,
8637         const(GLfloat)* transformValues,
8638     );
8639     alias PFN_glCoverStrokePathInstancedNV = void function (
8640         GLsizei         numPaths,
8641         GLenum          pathNameType,
8642         const(void)*    paths,
8643         GLuint          pathBase,
8644         GLenum          coverMode,
8645         GLenum          transformType,
8646         const(GLfloat)* transformValues,
8647     );
8648     alias PFN_glGetPathParameterivNV = void function (
8649         GLuint path,
8650         GLenum pname,
8651         GLint* value,
8652     );
8653     alias PFN_glGetPathParameterfvNV = void function (
8654         GLuint   path,
8655         GLenum   pname,
8656         GLfloat* value,
8657     );
8658     alias PFN_glGetPathCommandsNV = void function (
8659         GLuint   path,
8660         GLubyte* commands,
8661     );
8662     alias PFN_glGetPathCoordsNV = void function (
8663         GLuint   path,
8664         GLfloat* coords,
8665     );
8666     alias PFN_glGetPathDashArrayNV = void function (
8667         GLuint   path,
8668         GLfloat* dashArray,
8669     );
8670     alias PFN_glGetPathMetricsNV = void function (
8671         GLbitfield   metricQueryMask,
8672         GLsizei      numPaths,
8673         GLenum       pathNameType,
8674         const(void)* paths,
8675         GLuint       pathBase,
8676         GLsizei      stride,
8677         GLfloat*     metrics,
8678     );
8679     alias PFN_glGetPathMetricRangeNV = void function (
8680         GLbitfield metricQueryMask,
8681         GLuint     firstPathName,
8682         GLsizei    numPaths,
8683         GLsizei    stride,
8684         GLfloat*   metrics,
8685     );
8686     alias PFN_glGetPathSpacingNV = void function (
8687         GLenum       pathListMode,
8688         GLsizei      numPaths,
8689         GLenum       pathNameType,
8690         const(void)* paths,
8691         GLuint       pathBase,
8692         GLfloat      advanceScale,
8693         GLfloat      kerningScale,
8694         GLenum       transformType,
8695         GLfloat*     returnedSpacing,
8696     );
8697     alias PFN_glIsPointInFillPathNV = GLboolean function (
8698         GLuint  path,
8699         GLuint  mask,
8700         GLfloat x,
8701         GLfloat y,
8702     );
8703     alias PFN_glIsPointInStrokePathNV = GLboolean function (
8704         GLuint  path,
8705         GLfloat x,
8706         GLfloat y,
8707     );
8708     alias PFN_glGetPathLengthNV = GLfloat function (
8709         GLuint  path,
8710         GLsizei startSegment,
8711         GLsizei numSegments,
8712     );
8713     alias PFN_glPointAlongPathNV = GLboolean function (
8714         GLuint   path,
8715         GLsizei  startSegment,
8716         GLsizei  numSegments,
8717         GLfloat  distance,
8718         GLfloat* x,
8719         GLfloat* y,
8720         GLfloat* tangentX,
8721         GLfloat* tangentY,
8722     );
8723     alias PFN_glMatrixLoad3x2fNV = void function (
8724         GLenum          matrixMode,
8725         const(GLfloat)* m,
8726     );
8727     alias PFN_glMatrixLoad3x3fNV = void function (
8728         GLenum          matrixMode,
8729         const(GLfloat)* m,
8730     );
8731     alias PFN_glMatrixLoadTranspose3x3fNV = void function (
8732         GLenum          matrixMode,
8733         const(GLfloat)* m,
8734     );
8735     alias PFN_glMatrixMult3x2fNV = void function (
8736         GLenum          matrixMode,
8737         const(GLfloat)* m,
8738     );
8739     alias PFN_glMatrixMult3x3fNV = void function (
8740         GLenum          matrixMode,
8741         const(GLfloat)* m,
8742     );
8743     alias PFN_glMatrixMultTranspose3x3fNV = void function (
8744         GLenum          matrixMode,
8745         const(GLfloat)* m,
8746     );
8747     alias PFN_glStencilThenCoverFillPathNV = void function (
8748         GLuint path,
8749         GLenum fillMode,
8750         GLuint mask,
8751         GLenum coverMode,
8752     );
8753     alias PFN_glStencilThenCoverStrokePathNV = void function (
8754         GLuint path,
8755         GLint  reference,
8756         GLuint mask,
8757         GLenum coverMode,
8758     );
8759     alias PFN_glStencilThenCoverFillPathInstancedNV = void function (
8760         GLsizei         numPaths,
8761         GLenum          pathNameType,
8762         const(void)*    paths,
8763         GLuint          pathBase,
8764         GLenum          fillMode,
8765         GLuint          mask,
8766         GLenum          coverMode,
8767         GLenum          transformType,
8768         const(GLfloat)* transformValues,
8769     );
8770     alias PFN_glStencilThenCoverStrokePathInstancedNV = void function (
8771         GLsizei         numPaths,
8772         GLenum          pathNameType,
8773         const(void)*    paths,
8774         GLuint          pathBase,
8775         GLint           reference,
8776         GLuint          mask,
8777         GLenum          coverMode,
8778         GLenum          transformType,
8779         const(GLfloat)* transformValues,
8780     );
8781     alias PFN_glPathGlyphIndexRangeNV = GLenum function (
8782         GLenum       fontTarget,
8783         const(void)* fontName,
8784         GLbitfield   fontStyle,
8785         GLuint       pathParameterTemplate,
8786         GLfloat      emScale,
8787         GLuint [2]   baseAndCount,
8788     );
8789     alias PFN_glPathGlyphIndexArrayNV = GLenum function (
8790         GLuint       firstPathName,
8791         GLenum       fontTarget,
8792         const(void)* fontName,
8793         GLbitfield   fontStyle,
8794         GLuint       firstGlyphIndex,
8795         GLsizei      numGlyphs,
8796         GLuint       pathParameterTemplate,
8797         GLfloat      emScale,
8798     );
8799     alias PFN_glPathMemoryGlyphIndexArrayNV = GLenum function (
8800         GLuint       firstPathName,
8801         GLenum       fontTarget,
8802         GLsizeiptr   fontSize,
8803         const(void)* fontData,
8804         GLsizei      faceIndex,
8805         GLuint       firstGlyphIndex,
8806         GLsizei      numGlyphs,
8807         GLuint       pathParameterTemplate,
8808         GLfloat      emScale,
8809     );
8810     alias PFN_glProgramPathFragmentInputGenNV = void function (
8811         GLuint          program,
8812         GLint           location,
8813         GLenum          genMode,
8814         GLint           components,
8815         const(GLfloat)* coeffs,
8816     );
8817     alias PFN_glGetProgramResourcefvNV = void function (
8818         GLuint         program,
8819         GLenum         programInterface,
8820         GLuint         index,
8821         GLsizei        propCount,
8822         const(GLenum)* props,
8823         GLsizei        bufSize,
8824         GLsizei*       length,
8825         GLfloat*       params,
8826     );
8827 
8828     // Command pointers for GL_NV_sample_locations
8829     alias PFN_glFramebufferSampleLocationsfvNV = void function (
8830         GLenum          target,
8831         GLuint          start,
8832         GLsizei         count,
8833         const(GLfloat)* v,
8834     );
8835     alias PFN_glNamedFramebufferSampleLocationsfvNV = void function (
8836         GLuint          framebuffer,
8837         GLuint          start,
8838         GLsizei         count,
8839         const(GLfloat)* v,
8840     );
8841     alias PFN_glResolveDepthValuesNV = void function ();
8842 
8843     // Command pointers for GL_NV_shader_buffer_load
8844     alias PFN_glMakeBufferResidentNV = void function (
8845         GLenum target,
8846         GLenum access,
8847     );
8848     alias PFN_glMakeBufferNonResidentNV = void function (
8849         GLenum target,
8850     );
8851     alias PFN_glIsBufferResidentNV = GLboolean function (
8852         GLenum target,
8853     );
8854     alias PFN_glMakeNamedBufferResidentNV = void function (
8855         GLuint buffer,
8856         GLenum access,
8857     );
8858     alias PFN_glMakeNamedBufferNonResidentNV = void function (
8859         GLuint buffer,
8860     );
8861     alias PFN_glIsNamedBufferResidentNV = GLboolean function (
8862         GLuint buffer,
8863     );
8864     alias PFN_glGetBufferParameterui64vNV = void function (
8865         GLenum       target,
8866         GLenum       pname,
8867         GLuint64EXT* params,
8868     );
8869     alias PFN_glGetNamedBufferParameterui64vNV = void function (
8870         GLuint       buffer,
8871         GLenum       pname,
8872         GLuint64EXT* params,
8873     );
8874     alias PFN_glGetIntegerui64vNV = void function (
8875         GLenum       value,
8876         GLuint64EXT* result,
8877     );
8878     alias PFN_glUniformui64NV = void function (
8879         GLint       location,
8880         GLuint64EXT value,
8881     );
8882     alias PFN_glUniformui64vNV = void function (
8883         GLint               location,
8884         GLsizei             count,
8885         const(GLuint64EXT)* value,
8886     );
8887     alias PFN_glGetUniformui64vNV = void function (
8888         GLuint       program,
8889         GLint        location,
8890         GLuint64EXT* params,
8891     );
8892     alias PFN_glProgramUniformui64NV = void function (
8893         GLuint      program,
8894         GLint       location,
8895         GLuint64EXT value,
8896     );
8897     alias PFN_glProgramUniformui64vNV = void function (
8898         GLuint              program,
8899         GLint               location,
8900         GLsizei             count,
8901         const(GLuint64EXT)* value,
8902     );
8903 
8904     // Command pointers for GL_NV_texture_barrier
8905     alias PFN_glTextureBarrierNV = void function ();
8906 
8907     // Command pointers for GL_NV_vertex_attrib_integer_64bit
8908     alias PFN_glVertexAttribL1i64NV = void function (
8909         GLuint     index,
8910         GLint64EXT x,
8911     );
8912     alias PFN_glVertexAttribL2i64NV = void function (
8913         GLuint     index,
8914         GLint64EXT x,
8915         GLint64EXT y,
8916     );
8917     alias PFN_glVertexAttribL3i64NV = void function (
8918         GLuint     index,
8919         GLint64EXT x,
8920         GLint64EXT y,
8921         GLint64EXT z,
8922     );
8923     alias PFN_glVertexAttribL4i64NV = void function (
8924         GLuint     index,
8925         GLint64EXT x,
8926         GLint64EXT y,
8927         GLint64EXT z,
8928         GLint64EXT w,
8929     );
8930     alias PFN_glVertexAttribL1i64vNV = void function (
8931         GLuint             index,
8932         const(GLint64EXT)* v,
8933     );
8934     alias PFN_glVertexAttribL2i64vNV = void function (
8935         GLuint             index,
8936         const(GLint64EXT)* v,
8937     );
8938     alias PFN_glVertexAttribL3i64vNV = void function (
8939         GLuint             index,
8940         const(GLint64EXT)* v,
8941     );
8942     alias PFN_glVertexAttribL4i64vNV = void function (
8943         GLuint             index,
8944         const(GLint64EXT)* v,
8945     );
8946     alias PFN_glVertexAttribL1ui64NV = void function (
8947         GLuint      index,
8948         GLuint64EXT x,
8949     );
8950     alias PFN_glVertexAttribL2ui64NV = void function (
8951         GLuint      index,
8952         GLuint64EXT x,
8953         GLuint64EXT y,
8954     );
8955     alias PFN_glVertexAttribL3ui64NV = void function (
8956         GLuint      index,
8957         GLuint64EXT x,
8958         GLuint64EXT y,
8959         GLuint64EXT z,
8960     );
8961     alias PFN_glVertexAttribL4ui64NV = void function (
8962         GLuint      index,
8963         GLuint64EXT x,
8964         GLuint64EXT y,
8965         GLuint64EXT z,
8966         GLuint64EXT w,
8967     );
8968     alias PFN_glVertexAttribL1ui64vNV = void function (
8969         GLuint              index,
8970         const(GLuint64EXT)* v,
8971     );
8972     alias PFN_glVertexAttribL2ui64vNV = void function (
8973         GLuint              index,
8974         const(GLuint64EXT)* v,
8975     );
8976     alias PFN_glVertexAttribL3ui64vNV = void function (
8977         GLuint              index,
8978         const(GLuint64EXT)* v,
8979     );
8980     alias PFN_glVertexAttribL4ui64vNV = void function (
8981         GLuint              index,
8982         const(GLuint64EXT)* v,
8983     );
8984     alias PFN_glGetVertexAttribLi64vNV = void function (
8985         GLuint      index,
8986         GLenum      pname,
8987         GLint64EXT* params,
8988     );
8989     alias PFN_glGetVertexAttribLui64vNV = void function (
8990         GLuint       index,
8991         GLenum       pname,
8992         GLuint64EXT* params,
8993     );
8994     alias PFN_glVertexAttribLFormatNV = void function (
8995         GLuint  index,
8996         GLint   size,
8997         GLenum  type,
8998         GLsizei stride,
8999     );
9000 
9001     // Command pointers for GL_NV_vertex_buffer_unified_memory
9002     alias PFN_glBufferAddressRangeNV = void function (
9003         GLenum      pname,
9004         GLuint      index,
9005         GLuint64EXT address,
9006         GLsizeiptr  length,
9007     );
9008     alias PFN_glVertexFormatNV = void function (
9009         GLint   size,
9010         GLenum  type,
9011         GLsizei stride,
9012     );
9013     alias PFN_glNormalFormatNV = void function (
9014         GLenum  type,
9015         GLsizei stride,
9016     );
9017     alias PFN_glColorFormatNV = void function (
9018         GLint   size,
9019         GLenum  type,
9020         GLsizei stride,
9021     );
9022     alias PFN_glIndexFormatNV = void function (
9023         GLenum  type,
9024         GLsizei stride,
9025     );
9026     alias PFN_glTexCoordFormatNV = void function (
9027         GLint   size,
9028         GLenum  type,
9029         GLsizei stride,
9030     );
9031     alias PFN_glEdgeFlagFormatNV = void function (
9032         GLsizei stride,
9033     );
9034     alias PFN_glSecondaryColorFormatNV = void function (
9035         GLint   size,
9036         GLenum  type,
9037         GLsizei stride,
9038     );
9039     alias PFN_glFogCoordFormatNV = void function (
9040         GLenum  type,
9041         GLsizei stride,
9042     );
9043     alias PFN_glVertexAttribFormatNV = void function (
9044         GLuint    index,
9045         GLint     size,
9046         GLenum    type,
9047         GLboolean normalized,
9048         GLsizei   stride,
9049     );
9050     alias PFN_glVertexAttribIFormatNV = void function (
9051         GLuint  index,
9052         GLint   size,
9053         GLenum  type,
9054         GLsizei stride,
9055     );
9056     alias PFN_glGetIntegerui64i_vNV = void function (
9057         GLenum       value,
9058         GLuint       index,
9059         GLuint64EXT* result,
9060     );
9061 
9062     // Command pointers for GL_NV_viewport_swizzle
9063     alias PFN_glViewportSwizzleNV = void function (
9064         GLuint index,
9065         GLenum swizzlex,
9066         GLenum swizzley,
9067         GLenum swizzlez,
9068         GLenum swizzlew,
9069     );
9070 
9071     // Command pointers for GL_OVR_multiview
9072     alias PFN_glFramebufferTextureMultiviewOVR = void function (
9073         GLenum  target,
9074         GLenum  attachment,
9075         GLuint  texture,
9076         GLint   level,
9077         GLint   baseViewIndex,
9078         GLsizei numViews,
9079     );
9080 }
9081 
9082 /// GlVersion describes the version of OpenGL
9083 enum GlVersion {
9084     gl10 = 10,
9085     gl11 = 11,
9086     gl12 = 12,
9087     gl13 = 13,
9088     gl14 = 14,
9089     gl15 = 15,
9090     gl20 = 20,
9091     gl21 = 21,
9092     gl30 = 30,
9093     gl31 = 31,
9094     gl32 = 32,
9095     gl33 = 33,
9096     gl40 = 40,
9097     gl41 = 41,
9098     gl42 = 42,
9099     gl43 = 43,
9100     gl44 = 44,
9101     gl45 = 45,
9102     gl46 = 46,
9103 }
9104 
9105 /// OpenGL loader base class
9106 final class Gl {
9107     this(SymbolLoader loader) {
9108 
9109         // GL_VERSION_1_0
9110         _CullFace = cast(PFN_glCullFace)loadSymbol(loader, "glCullFace", []);
9111         _FrontFace = cast(PFN_glFrontFace)loadSymbol(loader, "glFrontFace", []);
9112         _Hint = cast(PFN_glHint)loadSymbol(loader, "glHint", []);
9113         _LineWidth = cast(PFN_glLineWidth)loadSymbol(loader, "glLineWidth", []);
9114         _PointSize = cast(PFN_glPointSize)loadSymbol(loader, "glPointSize", []);
9115         _PolygonMode = cast(PFN_glPolygonMode)loadSymbol(loader, "glPolygonMode", []);
9116         _Scissor = cast(PFN_glScissor)loadSymbol(loader, "glScissor", []);
9117         _TexParameterf = cast(PFN_glTexParameterf)loadSymbol(loader, "glTexParameterf", []);
9118         _TexParameterfv = cast(PFN_glTexParameterfv)loadSymbol(loader, "glTexParameterfv", []);
9119         _TexParameteri = cast(PFN_glTexParameteri)loadSymbol(loader, "glTexParameteri", []);
9120         _TexParameteriv = cast(PFN_glTexParameteriv)loadSymbol(loader, "glTexParameteriv", []);
9121         _TexImage1D = cast(PFN_glTexImage1D)loadSymbol(loader, "glTexImage1D", []);
9122         _TexImage2D = cast(PFN_glTexImage2D)loadSymbol(loader, "glTexImage2D", []);
9123         _DrawBuffer = cast(PFN_glDrawBuffer)loadSymbol(loader, "glDrawBuffer", []);
9124         _Clear = cast(PFN_glClear)loadSymbol(loader, "glClear", []);
9125         _ClearColor = cast(PFN_glClearColor)loadSymbol(loader, "glClearColor", []);
9126         _ClearStencil = cast(PFN_glClearStencil)loadSymbol(loader, "glClearStencil", []);
9127         _ClearDepth = cast(PFN_glClearDepth)loadSymbol(loader, "glClearDepth", []);
9128         _StencilMask = cast(PFN_glStencilMask)loadSymbol(loader, "glStencilMask", []);
9129         _ColorMask = cast(PFN_glColorMask)loadSymbol(loader, "glColorMask", []);
9130         _DepthMask = cast(PFN_glDepthMask)loadSymbol(loader, "glDepthMask", []);
9131         _Disable = cast(PFN_glDisable)loadSymbol(loader, "glDisable", []);
9132         _Enable = cast(PFN_glEnable)loadSymbol(loader, "glEnable", []);
9133         _Finish = cast(PFN_glFinish)loadSymbol(loader, "glFinish", []);
9134         _Flush = cast(PFN_glFlush)loadSymbol(loader, "glFlush", []);
9135         _BlendFunc = cast(PFN_glBlendFunc)loadSymbol(loader, "glBlendFunc", []);
9136         _LogicOp = cast(PFN_glLogicOp)loadSymbol(loader, "glLogicOp", []);
9137         _StencilFunc = cast(PFN_glStencilFunc)loadSymbol(loader, "glStencilFunc", []);
9138         _StencilOp = cast(PFN_glStencilOp)loadSymbol(loader, "glStencilOp", []);
9139         _DepthFunc = cast(PFN_glDepthFunc)loadSymbol(loader, "glDepthFunc", []);
9140         _PixelStoref = cast(PFN_glPixelStoref)loadSymbol(loader, "glPixelStoref", []);
9141         _PixelStorei = cast(PFN_glPixelStorei)loadSymbol(loader, "glPixelStorei", []);
9142         _ReadBuffer = cast(PFN_glReadBuffer)loadSymbol(loader, "glReadBuffer", []);
9143         _ReadPixels = cast(PFN_glReadPixels)loadSymbol(loader, "glReadPixels", []);
9144         _GetBooleanv = cast(PFN_glGetBooleanv)loadSymbol(loader, "glGetBooleanv", []);
9145         _GetDoublev = cast(PFN_glGetDoublev)loadSymbol(loader, "glGetDoublev", []);
9146         _GetError = cast(PFN_glGetError)loadSymbol(loader, "glGetError", []);
9147         _GetFloatv = cast(PFN_glGetFloatv)loadSymbol(loader, "glGetFloatv", []);
9148         _GetIntegerv = cast(PFN_glGetIntegerv)loadSymbol(loader, "glGetIntegerv", []);
9149         _GetString = cast(PFN_glGetString)loadSymbol(loader, "glGetString", []);
9150         _GetTexImage = cast(PFN_glGetTexImage)loadSymbol(loader, "glGetTexImage", []);
9151         _GetTexParameterfv = cast(PFN_glGetTexParameterfv)loadSymbol(loader, "glGetTexParameterfv", []);
9152         _GetTexParameteriv = cast(PFN_glGetTexParameteriv)loadSymbol(loader, "glGetTexParameteriv", []);
9153         _GetTexLevelParameterfv = cast(PFN_glGetTexLevelParameterfv)loadSymbol(loader, "glGetTexLevelParameterfv", []);
9154         _GetTexLevelParameteriv = cast(PFN_glGetTexLevelParameteriv)loadSymbol(loader, "glGetTexLevelParameteriv", []);
9155         _IsEnabled = cast(PFN_glIsEnabled)loadSymbol(loader, "glIsEnabled", []);
9156         _DepthRange = cast(PFN_glDepthRange)loadSymbol(loader, "glDepthRange", []);
9157         _Viewport = cast(PFN_glViewport)loadSymbol(loader, "glViewport", []);
9158 
9159         // GL_VERSION_1_1
9160         _DrawArrays = cast(PFN_glDrawArrays)loadSymbol(loader, "glDrawArrays", []);
9161         _DrawElements = cast(PFN_glDrawElements)loadSymbol(loader, "glDrawElements", []);
9162         _GetPointerv = cast(PFN_glGetPointerv)loadSymbol(loader, "glGetPointerv", []);
9163         _PolygonOffset = cast(PFN_glPolygonOffset)loadSymbol(loader, "glPolygonOffset", []);
9164         _CopyTexImage1D = cast(PFN_glCopyTexImage1D)loadSymbol(loader, "glCopyTexImage1D", []);
9165         _CopyTexImage2D = cast(PFN_glCopyTexImage2D)loadSymbol(loader, "glCopyTexImage2D", []);
9166         _CopyTexSubImage1D = cast(PFN_glCopyTexSubImage1D)loadSymbol(loader, "glCopyTexSubImage1D", []);
9167         _CopyTexSubImage2D = cast(PFN_glCopyTexSubImage2D)loadSymbol(loader, "glCopyTexSubImage2D", []);
9168         _TexSubImage1D = cast(PFN_glTexSubImage1D)loadSymbol(loader, "glTexSubImage1D", []);
9169         _TexSubImage2D = cast(PFN_glTexSubImage2D)loadSymbol(loader, "glTexSubImage2D", []);
9170         _BindTexture = cast(PFN_glBindTexture)loadSymbol(loader, "glBindTexture", []);
9171         _DeleteTextures = cast(PFN_glDeleteTextures)loadSymbol(loader, "glDeleteTextures", []);
9172         _GenTextures = cast(PFN_glGenTextures)loadSymbol(loader, "glGenTextures", []);
9173         _IsTexture = cast(PFN_glIsTexture)loadSymbol(loader, "glIsTexture", []);
9174 
9175         // GL_VERSION_1_2
9176         _DrawRangeElements = cast(PFN_glDrawRangeElements)loadSymbol(loader, "glDrawRangeElements", []);
9177         _TexImage3D = cast(PFN_glTexImage3D)loadSymbol(loader, "glTexImage3D", []);
9178         _TexSubImage3D = cast(PFN_glTexSubImage3D)loadSymbol(loader, "glTexSubImage3D", []);
9179         _CopyTexSubImage3D = cast(PFN_glCopyTexSubImage3D)loadSymbol(loader, "glCopyTexSubImage3D", []);
9180 
9181         // GL_VERSION_1_3
9182         _ActiveTexture = cast(PFN_glActiveTexture)loadSymbol(loader, "glActiveTexture", []);
9183         _SampleCoverage = cast(PFN_glSampleCoverage)loadSymbol(loader, "glSampleCoverage", []);
9184         _CompressedTexImage3D = cast(PFN_glCompressedTexImage3D)loadSymbol(loader, "glCompressedTexImage3D", []);
9185         _CompressedTexImage2D = cast(PFN_glCompressedTexImage2D)loadSymbol(loader, "glCompressedTexImage2D", []);
9186         _CompressedTexImage1D = cast(PFN_glCompressedTexImage1D)loadSymbol(loader, "glCompressedTexImage1D", []);
9187         _CompressedTexSubImage3D = cast(PFN_glCompressedTexSubImage3D)loadSymbol(loader, "glCompressedTexSubImage3D", []);
9188         _CompressedTexSubImage2D = cast(PFN_glCompressedTexSubImage2D)loadSymbol(loader, "glCompressedTexSubImage2D", []);
9189         _CompressedTexSubImage1D = cast(PFN_glCompressedTexSubImage1D)loadSymbol(loader, "glCompressedTexSubImage1D", []);
9190         _GetCompressedTexImage = cast(PFN_glGetCompressedTexImage)loadSymbol(loader, "glGetCompressedTexImage", []);
9191 
9192         // GL_VERSION_1_4
9193         _BlendFuncSeparate = cast(PFN_glBlendFuncSeparate)loadSymbol(loader, "glBlendFuncSeparate", []);
9194         _MultiDrawArrays = cast(PFN_glMultiDrawArrays)loadSymbol(loader, "glMultiDrawArrays", []);
9195         _MultiDrawElements = cast(PFN_glMultiDrawElements)loadSymbol(loader, "glMultiDrawElements", []);
9196         _PointParameterf = cast(PFN_glPointParameterf)loadSymbol(loader, "glPointParameterf", []);
9197         _PointParameterfv = cast(PFN_glPointParameterfv)loadSymbol(loader, "glPointParameterfv", []);
9198         _PointParameteri = cast(PFN_glPointParameteri)loadSymbol(loader, "glPointParameteri", []);
9199         _PointParameteriv = cast(PFN_glPointParameteriv)loadSymbol(loader, "glPointParameteriv", []);
9200         _BlendColor = cast(PFN_glBlendColor)loadSymbol(loader, "glBlendColor", []);
9201         _BlendEquation = cast(PFN_glBlendEquation)loadSymbol(loader, "glBlendEquation", []);
9202 
9203         // GL_VERSION_1_5
9204         _GenQueries = cast(PFN_glGenQueries)loadSymbol(loader, "glGenQueries", []);
9205         _DeleteQueries = cast(PFN_glDeleteQueries)loadSymbol(loader, "glDeleteQueries", []);
9206         _IsQuery = cast(PFN_glIsQuery)loadSymbol(loader, "glIsQuery", []);
9207         _BeginQuery = cast(PFN_glBeginQuery)loadSymbol(loader, "glBeginQuery", []);
9208         _EndQuery = cast(PFN_glEndQuery)loadSymbol(loader, "glEndQuery", []);
9209         _GetQueryiv = cast(PFN_glGetQueryiv)loadSymbol(loader, "glGetQueryiv", []);
9210         _GetQueryObjectiv = cast(PFN_glGetQueryObjectiv)loadSymbol(loader, "glGetQueryObjectiv", []);
9211         _GetQueryObjectuiv = cast(PFN_glGetQueryObjectuiv)loadSymbol(loader, "glGetQueryObjectuiv", []);
9212         _BindBuffer = cast(PFN_glBindBuffer)loadSymbol(loader, "glBindBuffer", []);
9213         _DeleteBuffers = cast(PFN_glDeleteBuffers)loadSymbol(loader, "glDeleteBuffers", []);
9214         _GenBuffers = cast(PFN_glGenBuffers)loadSymbol(loader, "glGenBuffers", []);
9215         _IsBuffer = cast(PFN_glIsBuffer)loadSymbol(loader, "glIsBuffer", []);
9216         _BufferData = cast(PFN_glBufferData)loadSymbol(loader, "glBufferData", []);
9217         _BufferSubData = cast(PFN_glBufferSubData)loadSymbol(loader, "glBufferSubData", []);
9218         _GetBufferSubData = cast(PFN_glGetBufferSubData)loadSymbol(loader, "glGetBufferSubData", []);
9219         _MapBuffer = cast(PFN_glMapBuffer)loadSymbol(loader, "glMapBuffer", []);
9220         _UnmapBuffer = cast(PFN_glUnmapBuffer)loadSymbol(loader, "glUnmapBuffer", []);
9221         _GetBufferParameteriv = cast(PFN_glGetBufferParameteriv)loadSymbol(loader, "glGetBufferParameteriv", []);
9222         _GetBufferPointerv = cast(PFN_glGetBufferPointerv)loadSymbol(loader, "glGetBufferPointerv", []);
9223 
9224         // GL_VERSION_2_0
9225         _BlendEquationSeparate = cast(PFN_glBlendEquationSeparate)loadSymbol(loader, "glBlendEquationSeparate", []);
9226         _DrawBuffers = cast(PFN_glDrawBuffers)loadSymbol(loader, "glDrawBuffers", []);
9227         _StencilOpSeparate = cast(PFN_glStencilOpSeparate)loadSymbol(loader, "glStencilOpSeparate", []);
9228         _StencilFuncSeparate = cast(PFN_glStencilFuncSeparate)loadSymbol(loader, "glStencilFuncSeparate", []);
9229         _StencilMaskSeparate = cast(PFN_glStencilMaskSeparate)loadSymbol(loader, "glStencilMaskSeparate", []);
9230         _AttachShader = cast(PFN_glAttachShader)loadSymbol(loader, "glAttachShader", []);
9231         _BindAttribLocation = cast(PFN_glBindAttribLocation)loadSymbol(loader, "glBindAttribLocation", []);
9232         _CompileShader = cast(PFN_glCompileShader)loadSymbol(loader, "glCompileShader", []);
9233         _CreateProgram = cast(PFN_glCreateProgram)loadSymbol(loader, "glCreateProgram", []);
9234         _CreateShader = cast(PFN_glCreateShader)loadSymbol(loader, "glCreateShader", []);
9235         _DeleteProgram = cast(PFN_glDeleteProgram)loadSymbol(loader, "glDeleteProgram", []);
9236         _DeleteShader = cast(PFN_glDeleteShader)loadSymbol(loader, "glDeleteShader", []);
9237         _DetachShader = cast(PFN_glDetachShader)loadSymbol(loader, "glDetachShader", []);
9238         _DisableVertexAttribArray = cast(PFN_glDisableVertexAttribArray)loadSymbol(loader, "glDisableVertexAttribArray", []);
9239         _EnableVertexAttribArray = cast(PFN_glEnableVertexAttribArray)loadSymbol(loader, "glEnableVertexAttribArray", []);
9240         _GetActiveAttrib = cast(PFN_glGetActiveAttrib)loadSymbol(loader, "glGetActiveAttrib", []);
9241         _GetActiveUniform = cast(PFN_glGetActiveUniform)loadSymbol(loader, "glGetActiveUniform", []);
9242         _GetAttachedShaders = cast(PFN_glGetAttachedShaders)loadSymbol(loader, "glGetAttachedShaders", []);
9243         _GetAttribLocation = cast(PFN_glGetAttribLocation)loadSymbol(loader, "glGetAttribLocation", []);
9244         _GetProgramiv = cast(PFN_glGetProgramiv)loadSymbol(loader, "glGetProgramiv", []);
9245         _GetProgramInfoLog = cast(PFN_glGetProgramInfoLog)loadSymbol(loader, "glGetProgramInfoLog", []);
9246         _GetShaderiv = cast(PFN_glGetShaderiv)loadSymbol(loader, "glGetShaderiv", []);
9247         _GetShaderInfoLog = cast(PFN_glGetShaderInfoLog)loadSymbol(loader, "glGetShaderInfoLog", []);
9248         _GetShaderSource = cast(PFN_glGetShaderSource)loadSymbol(loader, "glGetShaderSource", []);
9249         _GetUniformLocation = cast(PFN_glGetUniformLocation)loadSymbol(loader, "glGetUniformLocation", []);
9250         _GetUniformfv = cast(PFN_glGetUniformfv)loadSymbol(loader, "glGetUniformfv", []);
9251         _GetUniformiv = cast(PFN_glGetUniformiv)loadSymbol(loader, "glGetUniformiv", []);
9252         _GetVertexAttribdv = cast(PFN_glGetVertexAttribdv)loadSymbol(loader, "glGetVertexAttribdv", []);
9253         _GetVertexAttribfv = cast(PFN_glGetVertexAttribfv)loadSymbol(loader, "glGetVertexAttribfv", []);
9254         _GetVertexAttribiv = cast(PFN_glGetVertexAttribiv)loadSymbol(loader, "glGetVertexAttribiv", []);
9255         _GetVertexAttribPointerv = cast(PFN_glGetVertexAttribPointerv)loadSymbol(loader, "glGetVertexAttribPointerv", []);
9256         _IsProgram = cast(PFN_glIsProgram)loadSymbol(loader, "glIsProgram", []);
9257         _IsShader = cast(PFN_glIsShader)loadSymbol(loader, "glIsShader", []);
9258         _LinkProgram = cast(PFN_glLinkProgram)loadSymbol(loader, "glLinkProgram", []);
9259         _ShaderSource = cast(PFN_glShaderSource)loadSymbol(loader, "glShaderSource", []);
9260         _UseProgram = cast(PFN_glUseProgram)loadSymbol(loader, "glUseProgram", []);
9261         _Uniform1f = cast(PFN_glUniform1f)loadSymbol(loader, "glUniform1f", []);
9262         _Uniform2f = cast(PFN_glUniform2f)loadSymbol(loader, "glUniform2f", []);
9263         _Uniform3f = cast(PFN_glUniform3f)loadSymbol(loader, "glUniform3f", []);
9264         _Uniform4f = cast(PFN_glUniform4f)loadSymbol(loader, "glUniform4f", []);
9265         _Uniform1i = cast(PFN_glUniform1i)loadSymbol(loader, "glUniform1i", []);
9266         _Uniform2i = cast(PFN_glUniform2i)loadSymbol(loader, "glUniform2i", []);
9267         _Uniform3i = cast(PFN_glUniform3i)loadSymbol(loader, "glUniform3i", []);
9268         _Uniform4i = cast(PFN_glUniform4i)loadSymbol(loader, "glUniform4i", []);
9269         _Uniform1fv = cast(PFN_glUniform1fv)loadSymbol(loader, "glUniform1fv", []);
9270         _Uniform2fv = cast(PFN_glUniform2fv)loadSymbol(loader, "glUniform2fv", []);
9271         _Uniform3fv = cast(PFN_glUniform3fv)loadSymbol(loader, "glUniform3fv", []);
9272         _Uniform4fv = cast(PFN_glUniform4fv)loadSymbol(loader, "glUniform4fv", []);
9273         _Uniform1iv = cast(PFN_glUniform1iv)loadSymbol(loader, "glUniform1iv", []);
9274         _Uniform2iv = cast(PFN_glUniform2iv)loadSymbol(loader, "glUniform2iv", []);
9275         _Uniform3iv = cast(PFN_glUniform3iv)loadSymbol(loader, "glUniform3iv", []);
9276         _Uniform4iv = cast(PFN_glUniform4iv)loadSymbol(loader, "glUniform4iv", []);
9277         _UniformMatrix2fv = cast(PFN_glUniformMatrix2fv)loadSymbol(loader, "glUniformMatrix2fv", []);
9278         _UniformMatrix3fv = cast(PFN_glUniformMatrix3fv)loadSymbol(loader, "glUniformMatrix3fv", []);
9279         _UniformMatrix4fv = cast(PFN_glUniformMatrix4fv)loadSymbol(loader, "glUniformMatrix4fv", []);
9280         _ValidateProgram = cast(PFN_glValidateProgram)loadSymbol(loader, "glValidateProgram", []);
9281         _VertexAttrib1d = cast(PFN_glVertexAttrib1d)loadSymbol(loader, "glVertexAttrib1d", []);
9282         _VertexAttrib1dv = cast(PFN_glVertexAttrib1dv)loadSymbol(loader, "glVertexAttrib1dv", []);
9283         _VertexAttrib1f = cast(PFN_glVertexAttrib1f)loadSymbol(loader, "glVertexAttrib1f", []);
9284         _VertexAttrib1fv = cast(PFN_glVertexAttrib1fv)loadSymbol(loader, "glVertexAttrib1fv", []);
9285         _VertexAttrib1s = cast(PFN_glVertexAttrib1s)loadSymbol(loader, "glVertexAttrib1s", []);
9286         _VertexAttrib1sv = cast(PFN_glVertexAttrib1sv)loadSymbol(loader, "glVertexAttrib1sv", []);
9287         _VertexAttrib2d = cast(PFN_glVertexAttrib2d)loadSymbol(loader, "glVertexAttrib2d", []);
9288         _VertexAttrib2dv = cast(PFN_glVertexAttrib2dv)loadSymbol(loader, "glVertexAttrib2dv", []);
9289         _VertexAttrib2f = cast(PFN_glVertexAttrib2f)loadSymbol(loader, "glVertexAttrib2f", []);
9290         _VertexAttrib2fv = cast(PFN_glVertexAttrib2fv)loadSymbol(loader, "glVertexAttrib2fv", []);
9291         _VertexAttrib2s = cast(PFN_glVertexAttrib2s)loadSymbol(loader, "glVertexAttrib2s", []);
9292         _VertexAttrib2sv = cast(PFN_glVertexAttrib2sv)loadSymbol(loader, "glVertexAttrib2sv", []);
9293         _VertexAttrib3d = cast(PFN_glVertexAttrib3d)loadSymbol(loader, "glVertexAttrib3d", []);
9294         _VertexAttrib3dv = cast(PFN_glVertexAttrib3dv)loadSymbol(loader, "glVertexAttrib3dv", []);
9295         _VertexAttrib3f = cast(PFN_glVertexAttrib3f)loadSymbol(loader, "glVertexAttrib3f", []);
9296         _VertexAttrib3fv = cast(PFN_glVertexAttrib3fv)loadSymbol(loader, "glVertexAttrib3fv", []);
9297         _VertexAttrib3s = cast(PFN_glVertexAttrib3s)loadSymbol(loader, "glVertexAttrib3s", []);
9298         _VertexAttrib3sv = cast(PFN_glVertexAttrib3sv)loadSymbol(loader, "glVertexAttrib3sv", []);
9299         _VertexAttrib4Nbv = cast(PFN_glVertexAttrib4Nbv)loadSymbol(loader, "glVertexAttrib4Nbv", []);
9300         _VertexAttrib4Niv = cast(PFN_glVertexAttrib4Niv)loadSymbol(loader, "glVertexAttrib4Niv", []);
9301         _VertexAttrib4Nsv = cast(PFN_glVertexAttrib4Nsv)loadSymbol(loader, "glVertexAttrib4Nsv", []);
9302         _VertexAttrib4Nub = cast(PFN_glVertexAttrib4Nub)loadSymbol(loader, "glVertexAttrib4Nub", []);
9303         _VertexAttrib4Nubv = cast(PFN_glVertexAttrib4Nubv)loadSymbol(loader, "glVertexAttrib4Nubv", []);
9304         _VertexAttrib4Nuiv = cast(PFN_glVertexAttrib4Nuiv)loadSymbol(loader, "glVertexAttrib4Nuiv", []);
9305         _VertexAttrib4Nusv = cast(PFN_glVertexAttrib4Nusv)loadSymbol(loader, "glVertexAttrib4Nusv", []);
9306         _VertexAttrib4bv = cast(PFN_glVertexAttrib4bv)loadSymbol(loader, "glVertexAttrib4bv", []);
9307         _VertexAttrib4d = cast(PFN_glVertexAttrib4d)loadSymbol(loader, "glVertexAttrib4d", []);
9308         _VertexAttrib4dv = cast(PFN_glVertexAttrib4dv)loadSymbol(loader, "glVertexAttrib4dv", []);
9309         _VertexAttrib4f = cast(PFN_glVertexAttrib4f)loadSymbol(loader, "glVertexAttrib4f", []);
9310         _VertexAttrib4fv = cast(PFN_glVertexAttrib4fv)loadSymbol(loader, "glVertexAttrib4fv", []);
9311         _VertexAttrib4iv = cast(PFN_glVertexAttrib4iv)loadSymbol(loader, "glVertexAttrib4iv", []);
9312         _VertexAttrib4s = cast(PFN_glVertexAttrib4s)loadSymbol(loader, "glVertexAttrib4s", []);
9313         _VertexAttrib4sv = cast(PFN_glVertexAttrib4sv)loadSymbol(loader, "glVertexAttrib4sv", []);
9314         _VertexAttrib4ubv = cast(PFN_glVertexAttrib4ubv)loadSymbol(loader, "glVertexAttrib4ubv", []);
9315         _VertexAttrib4uiv = cast(PFN_glVertexAttrib4uiv)loadSymbol(loader, "glVertexAttrib4uiv", []);
9316         _VertexAttrib4usv = cast(PFN_glVertexAttrib4usv)loadSymbol(loader, "glVertexAttrib4usv", []);
9317         _VertexAttribPointer = cast(PFN_glVertexAttribPointer)loadSymbol(loader, "glVertexAttribPointer", []);
9318 
9319         // GL_VERSION_2_1
9320         _UniformMatrix2x3fv = cast(PFN_glUniformMatrix2x3fv)loadSymbol(loader, "glUniformMatrix2x3fv", []);
9321         _UniformMatrix3x2fv = cast(PFN_glUniformMatrix3x2fv)loadSymbol(loader, "glUniformMatrix3x2fv", []);
9322         _UniformMatrix2x4fv = cast(PFN_glUniformMatrix2x4fv)loadSymbol(loader, "glUniformMatrix2x4fv", []);
9323         _UniformMatrix4x2fv = cast(PFN_glUniformMatrix4x2fv)loadSymbol(loader, "glUniformMatrix4x2fv", []);
9324         _UniformMatrix3x4fv = cast(PFN_glUniformMatrix3x4fv)loadSymbol(loader, "glUniformMatrix3x4fv", []);
9325         _UniformMatrix4x3fv = cast(PFN_glUniformMatrix4x3fv)loadSymbol(loader, "glUniformMatrix4x3fv", []);
9326 
9327         // GL_VERSION_3_0
9328         _ColorMaski = cast(PFN_glColorMaski)loadSymbol(loader, "glColorMaski", []);
9329         _GetBooleani_v = cast(PFN_glGetBooleani_v)loadSymbol(loader, "glGetBooleani_v", ["glGetBooleanIndexedvEXT"]);
9330         _GetIntegeri_v = cast(PFN_glGetIntegeri_v)loadSymbol(loader, "glGetIntegeri_v", ["glGetIntegerIndexedvEXT"]);
9331         _Enablei = cast(PFN_glEnablei)loadSymbol(loader, "glEnablei", ["glEnableIndexedEXT"]);
9332         _Disablei = cast(PFN_glDisablei)loadSymbol(loader, "glDisablei", ["glDisableIndexedEXT"]);
9333         _IsEnabledi = cast(PFN_glIsEnabledi)loadSymbol(loader, "glIsEnabledi", ["glIsEnabledIndexedEXT"]);
9334         _BeginTransformFeedback = cast(PFN_glBeginTransformFeedback)loadSymbol(loader, "glBeginTransformFeedback", []);
9335         _EndTransformFeedback = cast(PFN_glEndTransformFeedback)loadSymbol(loader, "glEndTransformFeedback", []);
9336         _BindBufferRange = cast(PFN_glBindBufferRange)loadSymbol(loader, "glBindBufferRange", []);
9337         _BindBufferBase = cast(PFN_glBindBufferBase)loadSymbol(loader, "glBindBufferBase", []);
9338         _TransformFeedbackVaryings = cast(PFN_glTransformFeedbackVaryings)loadSymbol(loader, "glTransformFeedbackVaryings", []);
9339         _GetTransformFeedbackVarying = cast(PFN_glGetTransformFeedbackVarying)loadSymbol(loader, "glGetTransformFeedbackVarying", []);
9340         _ClampColor = cast(PFN_glClampColor)loadSymbol(loader, "glClampColor", []);
9341         _BeginConditionalRender = cast(PFN_glBeginConditionalRender)loadSymbol(loader, "glBeginConditionalRender", ["glBeginConditionalRenderNV"]);
9342         _EndConditionalRender = cast(PFN_glEndConditionalRender)loadSymbol(loader, "glEndConditionalRender", ["glEndConditionalRenderNV"]);
9343         _VertexAttribIPointer = cast(PFN_glVertexAttribIPointer)loadSymbol(loader, "glVertexAttribIPointer", []);
9344         _GetVertexAttribIiv = cast(PFN_glGetVertexAttribIiv)loadSymbol(loader, "glGetVertexAttribIiv", []);
9345         _GetVertexAttribIuiv = cast(PFN_glGetVertexAttribIuiv)loadSymbol(loader, "glGetVertexAttribIuiv", []);
9346         _VertexAttribI1i = cast(PFN_glVertexAttribI1i)loadSymbol(loader, "glVertexAttribI1i", []);
9347         _VertexAttribI2i = cast(PFN_glVertexAttribI2i)loadSymbol(loader, "glVertexAttribI2i", []);
9348         _VertexAttribI3i = cast(PFN_glVertexAttribI3i)loadSymbol(loader, "glVertexAttribI3i", []);
9349         _VertexAttribI4i = cast(PFN_glVertexAttribI4i)loadSymbol(loader, "glVertexAttribI4i", []);
9350         _VertexAttribI1ui = cast(PFN_glVertexAttribI1ui)loadSymbol(loader, "glVertexAttribI1ui", []);
9351         _VertexAttribI2ui = cast(PFN_glVertexAttribI2ui)loadSymbol(loader, "glVertexAttribI2ui", []);
9352         _VertexAttribI3ui = cast(PFN_glVertexAttribI3ui)loadSymbol(loader, "glVertexAttribI3ui", []);
9353         _VertexAttribI4ui = cast(PFN_glVertexAttribI4ui)loadSymbol(loader, "glVertexAttribI4ui", []);
9354         _VertexAttribI1iv = cast(PFN_glVertexAttribI1iv)loadSymbol(loader, "glVertexAttribI1iv", []);
9355         _VertexAttribI2iv = cast(PFN_glVertexAttribI2iv)loadSymbol(loader, "glVertexAttribI2iv", []);
9356         _VertexAttribI3iv = cast(PFN_glVertexAttribI3iv)loadSymbol(loader, "glVertexAttribI3iv", []);
9357         _VertexAttribI4iv = cast(PFN_glVertexAttribI4iv)loadSymbol(loader, "glVertexAttribI4iv", []);
9358         _VertexAttribI1uiv = cast(PFN_glVertexAttribI1uiv)loadSymbol(loader, "glVertexAttribI1uiv", []);
9359         _VertexAttribI2uiv = cast(PFN_glVertexAttribI2uiv)loadSymbol(loader, "glVertexAttribI2uiv", []);
9360         _VertexAttribI3uiv = cast(PFN_glVertexAttribI3uiv)loadSymbol(loader, "glVertexAttribI3uiv", []);
9361         _VertexAttribI4uiv = cast(PFN_glVertexAttribI4uiv)loadSymbol(loader, "glVertexAttribI4uiv", []);
9362         _VertexAttribI4bv = cast(PFN_glVertexAttribI4bv)loadSymbol(loader, "glVertexAttribI4bv", []);
9363         _VertexAttribI4sv = cast(PFN_glVertexAttribI4sv)loadSymbol(loader, "glVertexAttribI4sv", []);
9364         _VertexAttribI4ubv = cast(PFN_glVertexAttribI4ubv)loadSymbol(loader, "glVertexAttribI4ubv", []);
9365         _VertexAttribI4usv = cast(PFN_glVertexAttribI4usv)loadSymbol(loader, "glVertexAttribI4usv", []);
9366         _GetUniformuiv = cast(PFN_glGetUniformuiv)loadSymbol(loader, "glGetUniformuiv", []);
9367         _BindFragDataLocation = cast(PFN_glBindFragDataLocation)loadSymbol(loader, "glBindFragDataLocation", []);
9368         _GetFragDataLocation = cast(PFN_glGetFragDataLocation)loadSymbol(loader, "glGetFragDataLocation", []);
9369         _Uniform1ui = cast(PFN_glUniform1ui)loadSymbol(loader, "glUniform1ui", []);
9370         _Uniform2ui = cast(PFN_glUniform2ui)loadSymbol(loader, "glUniform2ui", []);
9371         _Uniform3ui = cast(PFN_glUniform3ui)loadSymbol(loader, "glUniform3ui", []);
9372         _Uniform4ui = cast(PFN_glUniform4ui)loadSymbol(loader, "glUniform4ui", []);
9373         _Uniform1uiv = cast(PFN_glUniform1uiv)loadSymbol(loader, "glUniform1uiv", []);
9374         _Uniform2uiv = cast(PFN_glUniform2uiv)loadSymbol(loader, "glUniform2uiv", []);
9375         _Uniform3uiv = cast(PFN_glUniform3uiv)loadSymbol(loader, "glUniform3uiv", []);
9376         _Uniform4uiv = cast(PFN_glUniform4uiv)loadSymbol(loader, "glUniform4uiv", []);
9377         _TexParameterIiv = cast(PFN_glTexParameterIiv)loadSymbol(loader, "glTexParameterIiv", []);
9378         _TexParameterIuiv = cast(PFN_glTexParameterIuiv)loadSymbol(loader, "glTexParameterIuiv", []);
9379         _GetTexParameterIiv = cast(PFN_glGetTexParameterIiv)loadSymbol(loader, "glGetTexParameterIiv", []);
9380         _GetTexParameterIuiv = cast(PFN_glGetTexParameterIuiv)loadSymbol(loader, "glGetTexParameterIuiv", []);
9381         _ClearBufferiv = cast(PFN_glClearBufferiv)loadSymbol(loader, "glClearBufferiv", []);
9382         _ClearBufferuiv = cast(PFN_glClearBufferuiv)loadSymbol(loader, "glClearBufferuiv", []);
9383         _ClearBufferfv = cast(PFN_glClearBufferfv)loadSymbol(loader, "glClearBufferfv", []);
9384         _ClearBufferfi = cast(PFN_glClearBufferfi)loadSymbol(loader, "glClearBufferfi", []);
9385         _GetStringi = cast(PFN_glGetStringi)loadSymbol(loader, "glGetStringi", []);
9386         _IsRenderbuffer = cast(PFN_glIsRenderbuffer)loadSymbol(loader, "glIsRenderbuffer", []);
9387         _BindRenderbuffer = cast(PFN_glBindRenderbuffer)loadSymbol(loader, "glBindRenderbuffer", []);
9388         _DeleteRenderbuffers = cast(PFN_glDeleteRenderbuffers)loadSymbol(loader, "glDeleteRenderbuffers", []);
9389         _GenRenderbuffers = cast(PFN_glGenRenderbuffers)loadSymbol(loader, "glGenRenderbuffers", []);
9390         _RenderbufferStorage = cast(PFN_glRenderbufferStorage)loadSymbol(loader, "glRenderbufferStorage", []);
9391         _GetRenderbufferParameteriv = cast(PFN_glGetRenderbufferParameteriv)loadSymbol(loader, "glGetRenderbufferParameteriv", []);
9392         _IsFramebuffer = cast(PFN_glIsFramebuffer)loadSymbol(loader, "glIsFramebuffer", []);
9393         _BindFramebuffer = cast(PFN_glBindFramebuffer)loadSymbol(loader, "glBindFramebuffer", []);
9394         _DeleteFramebuffers = cast(PFN_glDeleteFramebuffers)loadSymbol(loader, "glDeleteFramebuffers", []);
9395         _GenFramebuffers = cast(PFN_glGenFramebuffers)loadSymbol(loader, "glGenFramebuffers", []);
9396         _CheckFramebufferStatus = cast(PFN_glCheckFramebufferStatus)loadSymbol(loader, "glCheckFramebufferStatus", []);
9397         _FramebufferTexture1D = cast(PFN_glFramebufferTexture1D)loadSymbol(loader, "glFramebufferTexture1D", []);
9398         _FramebufferTexture2D = cast(PFN_glFramebufferTexture2D)loadSymbol(loader, "glFramebufferTexture2D", []);
9399         _FramebufferTexture3D = cast(PFN_glFramebufferTexture3D)loadSymbol(loader, "glFramebufferTexture3D", []);
9400         _FramebufferRenderbuffer = cast(PFN_glFramebufferRenderbuffer)loadSymbol(loader, "glFramebufferRenderbuffer", []);
9401         _GetFramebufferAttachmentParameteriv = cast(PFN_glGetFramebufferAttachmentParameteriv)loadSymbol(loader, "glGetFramebufferAttachmentParameteriv", []);
9402         _GenerateMipmap = cast(PFN_glGenerateMipmap)loadSymbol(loader, "glGenerateMipmap", []);
9403         _BlitFramebuffer = cast(PFN_glBlitFramebuffer)loadSymbol(loader, "glBlitFramebuffer", []);
9404         _RenderbufferStorageMultisample = cast(PFN_glRenderbufferStorageMultisample)loadSymbol(loader, "glRenderbufferStorageMultisample", []);
9405         _FramebufferTextureLayer = cast(PFN_glFramebufferTextureLayer)loadSymbol(loader, "glFramebufferTextureLayer", ["glFramebufferTextureLayerARB"]);
9406         _MapBufferRange = cast(PFN_glMapBufferRange)loadSymbol(loader, "glMapBufferRange", []);
9407         _FlushMappedBufferRange = cast(PFN_glFlushMappedBufferRange)loadSymbol(loader, "glFlushMappedBufferRange", []);
9408         _BindVertexArray = cast(PFN_glBindVertexArray)loadSymbol(loader, "glBindVertexArray", []);
9409         _DeleteVertexArrays = cast(PFN_glDeleteVertexArrays)loadSymbol(loader, "glDeleteVertexArrays", []);
9410         _GenVertexArrays = cast(PFN_glGenVertexArrays)loadSymbol(loader, "glGenVertexArrays", []);
9411         _IsVertexArray = cast(PFN_glIsVertexArray)loadSymbol(loader, "glIsVertexArray", []);
9412 
9413         // GL_VERSION_3_1
9414         _DrawArraysInstanced = cast(PFN_glDrawArraysInstanced)loadSymbol(loader, "glDrawArraysInstanced", ["glDrawArraysInstancedARB", "glDrawArraysInstancedEXT"]);
9415         _DrawElementsInstanced = cast(PFN_glDrawElementsInstanced)loadSymbol(loader, "glDrawElementsInstanced", ["glDrawElementsInstancedARB", "glDrawElementsInstancedEXT"]);
9416         _TexBuffer = cast(PFN_glTexBuffer)loadSymbol(loader, "glTexBuffer", ["glTexBufferARB"]);
9417         _PrimitiveRestartIndex = cast(PFN_glPrimitiveRestartIndex)loadSymbol(loader, "glPrimitiveRestartIndex", []);
9418         _CopyBufferSubData = cast(PFN_glCopyBufferSubData)loadSymbol(loader, "glCopyBufferSubData", []);
9419         _GetUniformIndices = cast(PFN_glGetUniformIndices)loadSymbol(loader, "glGetUniformIndices", []);
9420         _GetActiveUniformsiv = cast(PFN_glGetActiveUniformsiv)loadSymbol(loader, "glGetActiveUniformsiv", []);
9421         _GetActiveUniformName = cast(PFN_glGetActiveUniformName)loadSymbol(loader, "glGetActiveUniformName", []);
9422         _GetUniformBlockIndex = cast(PFN_glGetUniformBlockIndex)loadSymbol(loader, "glGetUniformBlockIndex", []);
9423         _GetActiveUniformBlockiv = cast(PFN_glGetActiveUniformBlockiv)loadSymbol(loader, "glGetActiveUniformBlockiv", []);
9424         _GetActiveUniformBlockName = cast(PFN_glGetActiveUniformBlockName)loadSymbol(loader, "glGetActiveUniformBlockName", []);
9425         _UniformBlockBinding = cast(PFN_glUniformBlockBinding)loadSymbol(loader, "glUniformBlockBinding", []);
9426 
9427         // GL_VERSION_3_2
9428         _DrawElementsBaseVertex = cast(PFN_glDrawElementsBaseVertex)loadSymbol(loader, "glDrawElementsBaseVertex", []);
9429         _DrawRangeElementsBaseVertex = cast(PFN_glDrawRangeElementsBaseVertex)loadSymbol(loader, "glDrawRangeElementsBaseVertex", []);
9430         _DrawElementsInstancedBaseVertex = cast(PFN_glDrawElementsInstancedBaseVertex)loadSymbol(loader, "glDrawElementsInstancedBaseVertex", []);
9431         _MultiDrawElementsBaseVertex = cast(PFN_glMultiDrawElementsBaseVertex)loadSymbol(loader, "glMultiDrawElementsBaseVertex", []);
9432         _ProvokingVertex = cast(PFN_glProvokingVertex)loadSymbol(loader, "glProvokingVertex", []);
9433         _FenceSync = cast(PFN_glFenceSync)loadSymbol(loader, "glFenceSync", []);
9434         _IsSync = cast(PFN_glIsSync)loadSymbol(loader, "glIsSync", []);
9435         _DeleteSync = cast(PFN_glDeleteSync)loadSymbol(loader, "glDeleteSync", []);
9436         _ClientWaitSync = cast(PFN_glClientWaitSync)loadSymbol(loader, "glClientWaitSync", []);
9437         _WaitSync = cast(PFN_glWaitSync)loadSymbol(loader, "glWaitSync", []);
9438         _GetInteger64v = cast(PFN_glGetInteger64v)loadSymbol(loader, "glGetInteger64v", []);
9439         _GetSynciv = cast(PFN_glGetSynciv)loadSymbol(loader, "glGetSynciv", []);
9440         _GetInteger64i_v = cast(PFN_glGetInteger64i_v)loadSymbol(loader, "glGetInteger64i_v", []);
9441         _GetBufferParameteri64v = cast(PFN_glGetBufferParameteri64v)loadSymbol(loader, "glGetBufferParameteri64v", []);
9442         _FramebufferTexture = cast(PFN_glFramebufferTexture)loadSymbol(loader, "glFramebufferTexture", ["glFramebufferTextureARB"]);
9443         _TexImage2DMultisample = cast(PFN_glTexImage2DMultisample)loadSymbol(loader, "glTexImage2DMultisample", []);
9444         _TexImage3DMultisample = cast(PFN_glTexImage3DMultisample)loadSymbol(loader, "glTexImage3DMultisample", []);
9445         _GetMultisamplefv = cast(PFN_glGetMultisamplefv)loadSymbol(loader, "glGetMultisamplefv", []);
9446         _SampleMaski = cast(PFN_glSampleMaski)loadSymbol(loader, "glSampleMaski", []);
9447 
9448         // GL_VERSION_3_3
9449         _BindFragDataLocationIndexed = cast(PFN_glBindFragDataLocationIndexed)loadSymbol(loader, "glBindFragDataLocationIndexed", []);
9450         _GetFragDataIndex = cast(PFN_glGetFragDataIndex)loadSymbol(loader, "glGetFragDataIndex", []);
9451         _GenSamplers = cast(PFN_glGenSamplers)loadSymbol(loader, "glGenSamplers", []);
9452         _DeleteSamplers = cast(PFN_glDeleteSamplers)loadSymbol(loader, "glDeleteSamplers", []);
9453         _IsSampler = cast(PFN_glIsSampler)loadSymbol(loader, "glIsSampler", []);
9454         _BindSampler = cast(PFN_glBindSampler)loadSymbol(loader, "glBindSampler", []);
9455         _SamplerParameteri = cast(PFN_glSamplerParameteri)loadSymbol(loader, "glSamplerParameteri", []);
9456         _SamplerParameteriv = cast(PFN_glSamplerParameteriv)loadSymbol(loader, "glSamplerParameteriv", []);
9457         _SamplerParameterf = cast(PFN_glSamplerParameterf)loadSymbol(loader, "glSamplerParameterf", []);
9458         _SamplerParameterfv = cast(PFN_glSamplerParameterfv)loadSymbol(loader, "glSamplerParameterfv", []);
9459         _SamplerParameterIiv = cast(PFN_glSamplerParameterIiv)loadSymbol(loader, "glSamplerParameterIiv", []);
9460         _SamplerParameterIuiv = cast(PFN_glSamplerParameterIuiv)loadSymbol(loader, "glSamplerParameterIuiv", []);
9461         _GetSamplerParameteriv = cast(PFN_glGetSamplerParameteriv)loadSymbol(loader, "glGetSamplerParameteriv", []);
9462         _GetSamplerParameterIiv = cast(PFN_glGetSamplerParameterIiv)loadSymbol(loader, "glGetSamplerParameterIiv", []);
9463         _GetSamplerParameterfv = cast(PFN_glGetSamplerParameterfv)loadSymbol(loader, "glGetSamplerParameterfv", []);
9464         _GetSamplerParameterIuiv = cast(PFN_glGetSamplerParameterIuiv)loadSymbol(loader, "glGetSamplerParameterIuiv", []);
9465         _QueryCounter = cast(PFN_glQueryCounter)loadSymbol(loader, "glQueryCounter", []);
9466         _GetQueryObjecti64v = cast(PFN_glGetQueryObjecti64v)loadSymbol(loader, "glGetQueryObjecti64v", []);
9467         _GetQueryObjectui64v = cast(PFN_glGetQueryObjectui64v)loadSymbol(loader, "glGetQueryObjectui64v", []);
9468         _VertexAttribDivisor = cast(PFN_glVertexAttribDivisor)loadSymbol(loader, "glVertexAttribDivisor", ["glVertexAttribDivisorARB"]);
9469         _VertexAttribP1ui = cast(PFN_glVertexAttribP1ui)loadSymbol(loader, "glVertexAttribP1ui", []);
9470         _VertexAttribP1uiv = cast(PFN_glVertexAttribP1uiv)loadSymbol(loader, "glVertexAttribP1uiv", []);
9471         _VertexAttribP2ui = cast(PFN_glVertexAttribP2ui)loadSymbol(loader, "glVertexAttribP2ui", []);
9472         _VertexAttribP2uiv = cast(PFN_glVertexAttribP2uiv)loadSymbol(loader, "glVertexAttribP2uiv", []);
9473         _VertexAttribP3ui = cast(PFN_glVertexAttribP3ui)loadSymbol(loader, "glVertexAttribP3ui", []);
9474         _VertexAttribP3uiv = cast(PFN_glVertexAttribP3uiv)loadSymbol(loader, "glVertexAttribP3uiv", []);
9475         _VertexAttribP4ui = cast(PFN_glVertexAttribP4ui)loadSymbol(loader, "glVertexAttribP4ui", []);
9476         _VertexAttribP4uiv = cast(PFN_glVertexAttribP4uiv)loadSymbol(loader, "glVertexAttribP4uiv", []);
9477 
9478         // GL_VERSION_4_0
9479         _MinSampleShading = cast(PFN_glMinSampleShading)loadSymbol(loader, "glMinSampleShading", ["glMinSampleShadingARB"]);
9480         _BlendEquationi = cast(PFN_glBlendEquationi)loadSymbol(loader, "glBlendEquationi", ["glBlendEquationiARB"]);
9481         _BlendEquationSeparatei = cast(PFN_glBlendEquationSeparatei)loadSymbol(loader, "glBlendEquationSeparatei", ["glBlendEquationSeparateiARB"]);
9482         _BlendFunci = cast(PFN_glBlendFunci)loadSymbol(loader, "glBlendFunci", ["glBlendFunciARB"]);
9483         _BlendFuncSeparatei = cast(PFN_glBlendFuncSeparatei)loadSymbol(loader, "glBlendFuncSeparatei", ["glBlendFuncSeparateiARB"]);
9484         _DrawArraysIndirect = cast(PFN_glDrawArraysIndirect)loadSymbol(loader, "glDrawArraysIndirect", []);
9485         _DrawElementsIndirect = cast(PFN_glDrawElementsIndirect)loadSymbol(loader, "glDrawElementsIndirect", []);
9486         _Uniform1d = cast(PFN_glUniform1d)loadSymbol(loader, "glUniform1d", []);
9487         _Uniform2d = cast(PFN_glUniform2d)loadSymbol(loader, "glUniform2d", []);
9488         _Uniform3d = cast(PFN_glUniform3d)loadSymbol(loader, "glUniform3d", []);
9489         _Uniform4d = cast(PFN_glUniform4d)loadSymbol(loader, "glUniform4d", []);
9490         _Uniform1dv = cast(PFN_glUniform1dv)loadSymbol(loader, "glUniform1dv", []);
9491         _Uniform2dv = cast(PFN_glUniform2dv)loadSymbol(loader, "glUniform2dv", []);
9492         _Uniform3dv = cast(PFN_glUniform3dv)loadSymbol(loader, "glUniform3dv", []);
9493         _Uniform4dv = cast(PFN_glUniform4dv)loadSymbol(loader, "glUniform4dv", []);
9494         _UniformMatrix2dv = cast(PFN_glUniformMatrix2dv)loadSymbol(loader, "glUniformMatrix2dv", []);
9495         _UniformMatrix3dv = cast(PFN_glUniformMatrix3dv)loadSymbol(loader, "glUniformMatrix3dv", []);
9496         _UniformMatrix4dv = cast(PFN_glUniformMatrix4dv)loadSymbol(loader, "glUniformMatrix4dv", []);
9497         _UniformMatrix2x3dv = cast(PFN_glUniformMatrix2x3dv)loadSymbol(loader, "glUniformMatrix2x3dv", []);
9498         _UniformMatrix2x4dv = cast(PFN_glUniformMatrix2x4dv)loadSymbol(loader, "glUniformMatrix2x4dv", []);
9499         _UniformMatrix3x2dv = cast(PFN_glUniformMatrix3x2dv)loadSymbol(loader, "glUniformMatrix3x2dv", []);
9500         _UniformMatrix3x4dv = cast(PFN_glUniformMatrix3x4dv)loadSymbol(loader, "glUniformMatrix3x4dv", []);
9501         _UniformMatrix4x2dv = cast(PFN_glUniformMatrix4x2dv)loadSymbol(loader, "glUniformMatrix4x2dv", []);
9502         _UniformMatrix4x3dv = cast(PFN_glUniformMatrix4x3dv)loadSymbol(loader, "glUniformMatrix4x3dv", []);
9503         _GetUniformdv = cast(PFN_glGetUniformdv)loadSymbol(loader, "glGetUniformdv", []);
9504         _GetSubroutineUniformLocation = cast(PFN_glGetSubroutineUniformLocation)loadSymbol(loader, "glGetSubroutineUniformLocation", []);
9505         _GetSubroutineIndex = cast(PFN_glGetSubroutineIndex)loadSymbol(loader, "glGetSubroutineIndex", []);
9506         _GetActiveSubroutineUniformiv = cast(PFN_glGetActiveSubroutineUniformiv)loadSymbol(loader, "glGetActiveSubroutineUniformiv", []);
9507         _GetActiveSubroutineUniformName = cast(PFN_glGetActiveSubroutineUniformName)loadSymbol(loader, "glGetActiveSubroutineUniformName", []);
9508         _GetActiveSubroutineName = cast(PFN_glGetActiveSubroutineName)loadSymbol(loader, "glGetActiveSubroutineName", []);
9509         _UniformSubroutinesuiv = cast(PFN_glUniformSubroutinesuiv)loadSymbol(loader, "glUniformSubroutinesuiv", []);
9510         _GetUniformSubroutineuiv = cast(PFN_glGetUniformSubroutineuiv)loadSymbol(loader, "glGetUniformSubroutineuiv", []);
9511         _GetProgramStageiv = cast(PFN_glGetProgramStageiv)loadSymbol(loader, "glGetProgramStageiv", []);
9512         _PatchParameteri = cast(PFN_glPatchParameteri)loadSymbol(loader, "glPatchParameteri", []);
9513         _PatchParameterfv = cast(PFN_glPatchParameterfv)loadSymbol(loader, "glPatchParameterfv", []);
9514         _BindTransformFeedback = cast(PFN_glBindTransformFeedback)loadSymbol(loader, "glBindTransformFeedback", []);
9515         _DeleteTransformFeedbacks = cast(PFN_glDeleteTransformFeedbacks)loadSymbol(loader, "glDeleteTransformFeedbacks", []);
9516         _GenTransformFeedbacks = cast(PFN_glGenTransformFeedbacks)loadSymbol(loader, "glGenTransformFeedbacks", []);
9517         _IsTransformFeedback = cast(PFN_glIsTransformFeedback)loadSymbol(loader, "glIsTransformFeedback", []);
9518         _PauseTransformFeedback = cast(PFN_glPauseTransformFeedback)loadSymbol(loader, "glPauseTransformFeedback", []);
9519         _ResumeTransformFeedback = cast(PFN_glResumeTransformFeedback)loadSymbol(loader, "glResumeTransformFeedback", []);
9520         _DrawTransformFeedback = cast(PFN_glDrawTransformFeedback)loadSymbol(loader, "glDrawTransformFeedback", []);
9521         _DrawTransformFeedbackStream = cast(PFN_glDrawTransformFeedbackStream)loadSymbol(loader, "glDrawTransformFeedbackStream", []);
9522         _BeginQueryIndexed = cast(PFN_glBeginQueryIndexed)loadSymbol(loader, "glBeginQueryIndexed", []);
9523         _EndQueryIndexed = cast(PFN_glEndQueryIndexed)loadSymbol(loader, "glEndQueryIndexed", []);
9524         _GetQueryIndexediv = cast(PFN_glGetQueryIndexediv)loadSymbol(loader, "glGetQueryIndexediv", []);
9525 
9526         // GL_VERSION_4_1
9527         _ReleaseShaderCompiler = cast(PFN_glReleaseShaderCompiler)loadSymbol(loader, "glReleaseShaderCompiler", []);
9528         _ShaderBinary = cast(PFN_glShaderBinary)loadSymbol(loader, "glShaderBinary", []);
9529         _GetShaderPrecisionFormat = cast(PFN_glGetShaderPrecisionFormat)loadSymbol(loader, "glGetShaderPrecisionFormat", []);
9530         _DepthRangef = cast(PFN_glDepthRangef)loadSymbol(loader, "glDepthRangef", []);
9531         _ClearDepthf = cast(PFN_glClearDepthf)loadSymbol(loader, "glClearDepthf", []);
9532         _GetProgramBinary = cast(PFN_glGetProgramBinary)loadSymbol(loader, "glGetProgramBinary", []);
9533         _ProgramBinary = cast(PFN_glProgramBinary)loadSymbol(loader, "glProgramBinary", []);
9534         _ProgramParameteri = cast(PFN_glProgramParameteri)loadSymbol(loader, "glProgramParameteri", ["glProgramParameteriARB"]);
9535         _UseProgramStages = cast(PFN_glUseProgramStages)loadSymbol(loader, "glUseProgramStages", []);
9536         _ActiveShaderProgram = cast(PFN_glActiveShaderProgram)loadSymbol(loader, "glActiveShaderProgram", []);
9537         _CreateShaderProgramv = cast(PFN_glCreateShaderProgramv)loadSymbol(loader, "glCreateShaderProgramv", []);
9538         _BindProgramPipeline = cast(PFN_glBindProgramPipeline)loadSymbol(loader, "glBindProgramPipeline", []);
9539         _DeleteProgramPipelines = cast(PFN_glDeleteProgramPipelines)loadSymbol(loader, "glDeleteProgramPipelines", []);
9540         _GenProgramPipelines = cast(PFN_glGenProgramPipelines)loadSymbol(loader, "glGenProgramPipelines", []);
9541         _IsProgramPipeline = cast(PFN_glIsProgramPipeline)loadSymbol(loader, "glIsProgramPipeline", []);
9542         _GetProgramPipelineiv = cast(PFN_glGetProgramPipelineiv)loadSymbol(loader, "glGetProgramPipelineiv", []);
9543         _ProgramUniform1i = cast(PFN_glProgramUniform1i)loadSymbol(loader, "glProgramUniform1i", ["glProgramUniform1iEXT"]);
9544         _ProgramUniform1iv = cast(PFN_glProgramUniform1iv)loadSymbol(loader, "glProgramUniform1iv", ["glProgramUniform1ivEXT"]);
9545         _ProgramUniform1f = cast(PFN_glProgramUniform1f)loadSymbol(loader, "glProgramUniform1f", ["glProgramUniform1fEXT"]);
9546         _ProgramUniform1fv = cast(PFN_glProgramUniform1fv)loadSymbol(loader, "glProgramUniform1fv", ["glProgramUniform1fvEXT"]);
9547         _ProgramUniform1d = cast(PFN_glProgramUniform1d)loadSymbol(loader, "glProgramUniform1d", []);
9548         _ProgramUniform1dv = cast(PFN_glProgramUniform1dv)loadSymbol(loader, "glProgramUniform1dv", []);
9549         _ProgramUniform1ui = cast(PFN_glProgramUniform1ui)loadSymbol(loader, "glProgramUniform1ui", ["glProgramUniform1uiEXT"]);
9550         _ProgramUniform1uiv = cast(PFN_glProgramUniform1uiv)loadSymbol(loader, "glProgramUniform1uiv", ["glProgramUniform1uivEXT"]);
9551         _ProgramUniform2i = cast(PFN_glProgramUniform2i)loadSymbol(loader, "glProgramUniform2i", ["glProgramUniform2iEXT"]);
9552         _ProgramUniform2iv = cast(PFN_glProgramUniform2iv)loadSymbol(loader, "glProgramUniform2iv", ["glProgramUniform2ivEXT"]);
9553         _ProgramUniform2f = cast(PFN_glProgramUniform2f)loadSymbol(loader, "glProgramUniform2f", ["glProgramUniform2fEXT"]);
9554         _ProgramUniform2fv = cast(PFN_glProgramUniform2fv)loadSymbol(loader, "glProgramUniform2fv", ["glProgramUniform2fvEXT"]);
9555         _ProgramUniform2d = cast(PFN_glProgramUniform2d)loadSymbol(loader, "glProgramUniform2d", []);
9556         _ProgramUniform2dv = cast(PFN_glProgramUniform2dv)loadSymbol(loader, "glProgramUniform2dv", []);
9557         _ProgramUniform2ui = cast(PFN_glProgramUniform2ui)loadSymbol(loader, "glProgramUniform2ui", ["glProgramUniform2uiEXT"]);
9558         _ProgramUniform2uiv = cast(PFN_glProgramUniform2uiv)loadSymbol(loader, "glProgramUniform2uiv", ["glProgramUniform2uivEXT"]);
9559         _ProgramUniform3i = cast(PFN_glProgramUniform3i)loadSymbol(loader, "glProgramUniform3i", ["glProgramUniform3iEXT"]);
9560         _ProgramUniform3iv = cast(PFN_glProgramUniform3iv)loadSymbol(loader, "glProgramUniform3iv", ["glProgramUniform3ivEXT"]);
9561         _ProgramUniform3f = cast(PFN_glProgramUniform3f)loadSymbol(loader, "glProgramUniform3f", ["glProgramUniform3fEXT"]);
9562         _ProgramUniform3fv = cast(PFN_glProgramUniform3fv)loadSymbol(loader, "glProgramUniform3fv", ["glProgramUniform3fvEXT"]);
9563         _ProgramUniform3d = cast(PFN_glProgramUniform3d)loadSymbol(loader, "glProgramUniform3d", []);
9564         _ProgramUniform3dv = cast(PFN_glProgramUniform3dv)loadSymbol(loader, "glProgramUniform3dv", []);
9565         _ProgramUniform3ui = cast(PFN_glProgramUniform3ui)loadSymbol(loader, "glProgramUniform3ui", ["glProgramUniform3uiEXT"]);
9566         _ProgramUniform3uiv = cast(PFN_glProgramUniform3uiv)loadSymbol(loader, "glProgramUniform3uiv", ["glProgramUniform3uivEXT"]);
9567         _ProgramUniform4i = cast(PFN_glProgramUniform4i)loadSymbol(loader, "glProgramUniform4i", ["glProgramUniform4iEXT"]);
9568         _ProgramUniform4iv = cast(PFN_glProgramUniform4iv)loadSymbol(loader, "glProgramUniform4iv", ["glProgramUniform4ivEXT"]);
9569         _ProgramUniform4f = cast(PFN_glProgramUniform4f)loadSymbol(loader, "glProgramUniform4f", ["glProgramUniform4fEXT"]);
9570         _ProgramUniform4fv = cast(PFN_glProgramUniform4fv)loadSymbol(loader, "glProgramUniform4fv", ["glProgramUniform4fvEXT"]);
9571         _ProgramUniform4d = cast(PFN_glProgramUniform4d)loadSymbol(loader, "glProgramUniform4d", []);
9572         _ProgramUniform4dv = cast(PFN_glProgramUniform4dv)loadSymbol(loader, "glProgramUniform4dv", []);
9573         _ProgramUniform4ui = cast(PFN_glProgramUniform4ui)loadSymbol(loader, "glProgramUniform4ui", ["glProgramUniform4uiEXT"]);
9574         _ProgramUniform4uiv = cast(PFN_glProgramUniform4uiv)loadSymbol(loader, "glProgramUniform4uiv", ["glProgramUniform4uivEXT"]);
9575         _ProgramUniformMatrix2fv = cast(PFN_glProgramUniformMatrix2fv)loadSymbol(loader, "glProgramUniformMatrix2fv", ["glProgramUniformMatrix2fvEXT"]);
9576         _ProgramUniformMatrix3fv = cast(PFN_glProgramUniformMatrix3fv)loadSymbol(loader, "glProgramUniformMatrix3fv", ["glProgramUniformMatrix3fvEXT"]);
9577         _ProgramUniformMatrix4fv = cast(PFN_glProgramUniformMatrix4fv)loadSymbol(loader, "glProgramUniformMatrix4fv", ["glProgramUniformMatrix4fvEXT"]);
9578         _ProgramUniformMatrix2dv = cast(PFN_glProgramUniformMatrix2dv)loadSymbol(loader, "glProgramUniformMatrix2dv", []);
9579         _ProgramUniformMatrix3dv = cast(PFN_glProgramUniformMatrix3dv)loadSymbol(loader, "glProgramUniformMatrix3dv", []);
9580         _ProgramUniformMatrix4dv = cast(PFN_glProgramUniformMatrix4dv)loadSymbol(loader, "glProgramUniformMatrix4dv", []);
9581         _ProgramUniformMatrix2x3fv = cast(PFN_glProgramUniformMatrix2x3fv)loadSymbol(loader, "glProgramUniformMatrix2x3fv", ["glProgramUniformMatrix2x3fvEXT"]);
9582         _ProgramUniformMatrix3x2fv = cast(PFN_glProgramUniformMatrix3x2fv)loadSymbol(loader, "glProgramUniformMatrix3x2fv", ["glProgramUniformMatrix3x2fvEXT"]);
9583         _ProgramUniformMatrix2x4fv = cast(PFN_glProgramUniformMatrix2x4fv)loadSymbol(loader, "glProgramUniformMatrix2x4fv", ["glProgramUniformMatrix2x4fvEXT"]);
9584         _ProgramUniformMatrix4x2fv = cast(PFN_glProgramUniformMatrix4x2fv)loadSymbol(loader, "glProgramUniformMatrix4x2fv", ["glProgramUniformMatrix4x2fvEXT"]);
9585         _ProgramUniformMatrix3x4fv = cast(PFN_glProgramUniformMatrix3x4fv)loadSymbol(loader, "glProgramUniformMatrix3x4fv", ["glProgramUniformMatrix3x4fvEXT"]);
9586         _ProgramUniformMatrix4x3fv = cast(PFN_glProgramUniformMatrix4x3fv)loadSymbol(loader, "glProgramUniformMatrix4x3fv", ["glProgramUniformMatrix4x3fvEXT"]);
9587         _ProgramUniformMatrix2x3dv = cast(PFN_glProgramUniformMatrix2x3dv)loadSymbol(loader, "glProgramUniformMatrix2x3dv", []);
9588         _ProgramUniformMatrix3x2dv = cast(PFN_glProgramUniformMatrix3x2dv)loadSymbol(loader, "glProgramUniformMatrix3x2dv", []);
9589         _ProgramUniformMatrix2x4dv = cast(PFN_glProgramUniformMatrix2x4dv)loadSymbol(loader, "glProgramUniformMatrix2x4dv", []);
9590         _ProgramUniformMatrix4x2dv = cast(PFN_glProgramUniformMatrix4x2dv)loadSymbol(loader, "glProgramUniformMatrix4x2dv", []);
9591         _ProgramUniformMatrix3x4dv = cast(PFN_glProgramUniformMatrix3x4dv)loadSymbol(loader, "glProgramUniformMatrix3x4dv", []);
9592         _ProgramUniformMatrix4x3dv = cast(PFN_glProgramUniformMatrix4x3dv)loadSymbol(loader, "glProgramUniformMatrix4x3dv", []);
9593         _ValidateProgramPipeline = cast(PFN_glValidateProgramPipeline)loadSymbol(loader, "glValidateProgramPipeline", []);
9594         _GetProgramPipelineInfoLog = cast(PFN_glGetProgramPipelineInfoLog)loadSymbol(loader, "glGetProgramPipelineInfoLog", []);
9595         _VertexAttribL1d = cast(PFN_glVertexAttribL1d)loadSymbol(loader, "glVertexAttribL1d", []);
9596         _VertexAttribL2d = cast(PFN_glVertexAttribL2d)loadSymbol(loader, "glVertexAttribL2d", []);
9597         _VertexAttribL3d = cast(PFN_glVertexAttribL3d)loadSymbol(loader, "glVertexAttribL3d", []);
9598         _VertexAttribL4d = cast(PFN_glVertexAttribL4d)loadSymbol(loader, "glVertexAttribL4d", []);
9599         _VertexAttribL1dv = cast(PFN_glVertexAttribL1dv)loadSymbol(loader, "glVertexAttribL1dv", []);
9600         _VertexAttribL2dv = cast(PFN_glVertexAttribL2dv)loadSymbol(loader, "glVertexAttribL2dv", []);
9601         _VertexAttribL3dv = cast(PFN_glVertexAttribL3dv)loadSymbol(loader, "glVertexAttribL3dv", []);
9602         _VertexAttribL4dv = cast(PFN_glVertexAttribL4dv)loadSymbol(loader, "glVertexAttribL4dv", []);
9603         _VertexAttribLPointer = cast(PFN_glVertexAttribLPointer)loadSymbol(loader, "glVertexAttribLPointer", []);
9604         _GetVertexAttribLdv = cast(PFN_glGetVertexAttribLdv)loadSymbol(loader, "glGetVertexAttribLdv", []);
9605         _ViewportArrayv = cast(PFN_glViewportArrayv)loadSymbol(loader, "glViewportArrayv", []);
9606         _ViewportIndexedf = cast(PFN_glViewportIndexedf)loadSymbol(loader, "glViewportIndexedf", []);
9607         _ViewportIndexedfv = cast(PFN_glViewportIndexedfv)loadSymbol(loader, "glViewportIndexedfv", []);
9608         _ScissorArrayv = cast(PFN_glScissorArrayv)loadSymbol(loader, "glScissorArrayv", []);
9609         _ScissorIndexed = cast(PFN_glScissorIndexed)loadSymbol(loader, "glScissorIndexed", []);
9610         _ScissorIndexedv = cast(PFN_glScissorIndexedv)loadSymbol(loader, "glScissorIndexedv", []);
9611         _DepthRangeArrayv = cast(PFN_glDepthRangeArrayv)loadSymbol(loader, "glDepthRangeArrayv", []);
9612         _DepthRangeIndexed = cast(PFN_glDepthRangeIndexed)loadSymbol(loader, "glDepthRangeIndexed", []);
9613         _GetFloati_v = cast(PFN_glGetFloati_v)loadSymbol(loader, "glGetFloati_v", ["glGetFloatIndexedvEXT", "glGetFloati_vEXT"]);
9614         _GetDoublei_v = cast(PFN_glGetDoublei_v)loadSymbol(loader, "glGetDoublei_v", ["glGetDoubleIndexedvEXT", "glGetDoublei_vEXT"]);
9615 
9616         // GL_VERSION_4_2
9617         _DrawArraysInstancedBaseInstance = cast(PFN_glDrawArraysInstancedBaseInstance)loadSymbol(loader, "glDrawArraysInstancedBaseInstance", []);
9618         _DrawElementsInstancedBaseInstance = cast(PFN_glDrawElementsInstancedBaseInstance)loadSymbol(loader, "glDrawElementsInstancedBaseInstance", []);
9619         _DrawElementsInstancedBaseVertexBaseInstance = cast(PFN_glDrawElementsInstancedBaseVertexBaseInstance)loadSymbol(loader, "glDrawElementsInstancedBaseVertexBaseInstance", []);
9620         _GetInternalformativ = cast(PFN_glGetInternalformativ)loadSymbol(loader, "glGetInternalformativ", []);
9621         _GetActiveAtomicCounterBufferiv = cast(PFN_glGetActiveAtomicCounterBufferiv)loadSymbol(loader, "glGetActiveAtomicCounterBufferiv", []);
9622         _BindImageTexture = cast(PFN_glBindImageTexture)loadSymbol(loader, "glBindImageTexture", []);
9623         _MemoryBarrier = cast(PFN_glMemoryBarrier)loadSymbol(loader, "glMemoryBarrier", []);
9624         _TexStorage1D = cast(PFN_glTexStorage1D)loadSymbol(loader, "glTexStorage1D", []);
9625         _TexStorage2D = cast(PFN_glTexStorage2D)loadSymbol(loader, "glTexStorage2D", []);
9626         _TexStorage3D = cast(PFN_glTexStorage3D)loadSymbol(loader, "glTexStorage3D", []);
9627         _DrawTransformFeedbackInstanced = cast(PFN_glDrawTransformFeedbackInstanced)loadSymbol(loader, "glDrawTransformFeedbackInstanced", []);
9628         _DrawTransformFeedbackStreamInstanced = cast(PFN_glDrawTransformFeedbackStreamInstanced)loadSymbol(loader, "glDrawTransformFeedbackStreamInstanced", []);
9629 
9630         // GL_VERSION_4_3
9631         _ClearBufferData = cast(PFN_glClearBufferData)loadSymbol(loader, "glClearBufferData", []);
9632         _ClearBufferSubData = cast(PFN_glClearBufferSubData)loadSymbol(loader, "glClearBufferSubData", []);
9633         _DispatchCompute = cast(PFN_glDispatchCompute)loadSymbol(loader, "glDispatchCompute", []);
9634         _DispatchComputeIndirect = cast(PFN_glDispatchComputeIndirect)loadSymbol(loader, "glDispatchComputeIndirect", []);
9635         _CopyImageSubData = cast(PFN_glCopyImageSubData)loadSymbol(loader, "glCopyImageSubData", []);
9636         _FramebufferParameteri = cast(PFN_glFramebufferParameteri)loadSymbol(loader, "glFramebufferParameteri", []);
9637         _GetFramebufferParameteriv = cast(PFN_glGetFramebufferParameteriv)loadSymbol(loader, "glGetFramebufferParameteriv", []);
9638         _GetInternalformati64v = cast(PFN_glGetInternalformati64v)loadSymbol(loader, "glGetInternalformati64v", []);
9639         _InvalidateTexSubImage = cast(PFN_glInvalidateTexSubImage)loadSymbol(loader, "glInvalidateTexSubImage", []);
9640         _InvalidateTexImage = cast(PFN_glInvalidateTexImage)loadSymbol(loader, "glInvalidateTexImage", []);
9641         _InvalidateBufferSubData = cast(PFN_glInvalidateBufferSubData)loadSymbol(loader, "glInvalidateBufferSubData", []);
9642         _InvalidateBufferData = cast(PFN_glInvalidateBufferData)loadSymbol(loader, "glInvalidateBufferData", []);
9643         _InvalidateFramebuffer = cast(PFN_glInvalidateFramebuffer)loadSymbol(loader, "glInvalidateFramebuffer", []);
9644         _InvalidateSubFramebuffer = cast(PFN_glInvalidateSubFramebuffer)loadSymbol(loader, "glInvalidateSubFramebuffer", []);
9645         _MultiDrawArraysIndirect = cast(PFN_glMultiDrawArraysIndirect)loadSymbol(loader, "glMultiDrawArraysIndirect", []);
9646         _MultiDrawElementsIndirect = cast(PFN_glMultiDrawElementsIndirect)loadSymbol(loader, "glMultiDrawElementsIndirect", []);
9647         _GetProgramInterfaceiv = cast(PFN_glGetProgramInterfaceiv)loadSymbol(loader, "glGetProgramInterfaceiv", []);
9648         _GetProgramResourceIndex = cast(PFN_glGetProgramResourceIndex)loadSymbol(loader, "glGetProgramResourceIndex", []);
9649         _GetProgramResourceName = cast(PFN_glGetProgramResourceName)loadSymbol(loader, "glGetProgramResourceName", []);
9650         _GetProgramResourceiv = cast(PFN_glGetProgramResourceiv)loadSymbol(loader, "glGetProgramResourceiv", []);
9651         _GetProgramResourceLocation = cast(PFN_glGetProgramResourceLocation)loadSymbol(loader, "glGetProgramResourceLocation", []);
9652         _GetProgramResourceLocationIndex = cast(PFN_glGetProgramResourceLocationIndex)loadSymbol(loader, "glGetProgramResourceLocationIndex", []);
9653         _ShaderStorageBlockBinding = cast(PFN_glShaderStorageBlockBinding)loadSymbol(loader, "glShaderStorageBlockBinding", []);
9654         _TexBufferRange = cast(PFN_glTexBufferRange)loadSymbol(loader, "glTexBufferRange", []);
9655         _TexStorage2DMultisample = cast(PFN_glTexStorage2DMultisample)loadSymbol(loader, "glTexStorage2DMultisample", []);
9656         _TexStorage3DMultisample = cast(PFN_glTexStorage3DMultisample)loadSymbol(loader, "glTexStorage3DMultisample", []);
9657         _TextureView = cast(PFN_glTextureView)loadSymbol(loader, "glTextureView", []);
9658         _BindVertexBuffer = cast(PFN_glBindVertexBuffer)loadSymbol(loader, "glBindVertexBuffer", []);
9659         _VertexAttribFormat = cast(PFN_glVertexAttribFormat)loadSymbol(loader, "glVertexAttribFormat", []);
9660         _VertexAttribIFormat = cast(PFN_glVertexAttribIFormat)loadSymbol(loader, "glVertexAttribIFormat", []);
9661         _VertexAttribLFormat = cast(PFN_glVertexAttribLFormat)loadSymbol(loader, "glVertexAttribLFormat", []);
9662         _VertexAttribBinding = cast(PFN_glVertexAttribBinding)loadSymbol(loader, "glVertexAttribBinding", []);
9663         _VertexBindingDivisor = cast(PFN_glVertexBindingDivisor)loadSymbol(loader, "glVertexBindingDivisor", []);
9664         _DebugMessageControl = cast(PFN_glDebugMessageControl)loadSymbol(loader, "glDebugMessageControl", ["glDebugMessageControlARB"]);
9665         _DebugMessageInsert = cast(PFN_glDebugMessageInsert)loadSymbol(loader, "glDebugMessageInsert", ["glDebugMessageInsertARB"]);
9666         _DebugMessageCallback = cast(PFN_glDebugMessageCallback)loadSymbol(loader, "glDebugMessageCallback", ["glDebugMessageCallbackARB"]);
9667         _GetDebugMessageLog = cast(PFN_glGetDebugMessageLog)loadSymbol(loader, "glGetDebugMessageLog", ["glGetDebugMessageLogARB"]);
9668         _PushDebugGroup = cast(PFN_glPushDebugGroup)loadSymbol(loader, "glPushDebugGroup", []);
9669         _PopDebugGroup = cast(PFN_glPopDebugGroup)loadSymbol(loader, "glPopDebugGroup", []);
9670         _ObjectLabel = cast(PFN_glObjectLabel)loadSymbol(loader, "glObjectLabel", []);
9671         _GetObjectLabel = cast(PFN_glGetObjectLabel)loadSymbol(loader, "glGetObjectLabel", []);
9672         _ObjectPtrLabel = cast(PFN_glObjectPtrLabel)loadSymbol(loader, "glObjectPtrLabel", []);
9673         _GetObjectPtrLabel = cast(PFN_glGetObjectPtrLabel)loadSymbol(loader, "glGetObjectPtrLabel", []);
9674 
9675         // GL_VERSION_4_4
9676         _BufferStorage = cast(PFN_glBufferStorage)loadSymbol(loader, "glBufferStorage", []);
9677         _ClearTexImage = cast(PFN_glClearTexImage)loadSymbol(loader, "glClearTexImage", []);
9678         _ClearTexSubImage = cast(PFN_glClearTexSubImage)loadSymbol(loader, "glClearTexSubImage", []);
9679         _BindBuffersBase = cast(PFN_glBindBuffersBase)loadSymbol(loader, "glBindBuffersBase", []);
9680         _BindBuffersRange = cast(PFN_glBindBuffersRange)loadSymbol(loader, "glBindBuffersRange", []);
9681         _BindTextures = cast(PFN_glBindTextures)loadSymbol(loader, "glBindTextures", []);
9682         _BindSamplers = cast(PFN_glBindSamplers)loadSymbol(loader, "glBindSamplers", []);
9683         _BindImageTextures = cast(PFN_glBindImageTextures)loadSymbol(loader, "glBindImageTextures", []);
9684         _BindVertexBuffers = cast(PFN_glBindVertexBuffers)loadSymbol(loader, "glBindVertexBuffers", []);
9685 
9686         // GL_VERSION_4_5
9687         _ClipControl = cast(PFN_glClipControl)loadSymbol(loader, "glClipControl", []);
9688         _CreateTransformFeedbacks = cast(PFN_glCreateTransformFeedbacks)loadSymbol(loader, "glCreateTransformFeedbacks", []);
9689         _TransformFeedbackBufferBase = cast(PFN_glTransformFeedbackBufferBase)loadSymbol(loader, "glTransformFeedbackBufferBase", []);
9690         _TransformFeedbackBufferRange = cast(PFN_glTransformFeedbackBufferRange)loadSymbol(loader, "glTransformFeedbackBufferRange", []);
9691         _GetTransformFeedbackiv = cast(PFN_glGetTransformFeedbackiv)loadSymbol(loader, "glGetTransformFeedbackiv", []);
9692         _GetTransformFeedbacki_v = cast(PFN_glGetTransformFeedbacki_v)loadSymbol(loader, "glGetTransformFeedbacki_v", []);
9693         _GetTransformFeedbacki64_v = cast(PFN_glGetTransformFeedbacki64_v)loadSymbol(loader, "glGetTransformFeedbacki64_v", []);
9694         _CreateBuffers = cast(PFN_glCreateBuffers)loadSymbol(loader, "glCreateBuffers", []);
9695         _NamedBufferStorage = cast(PFN_glNamedBufferStorage)loadSymbol(loader, "glNamedBufferStorage", ["glNamedBufferStorageEXT"]);
9696         _NamedBufferData = cast(PFN_glNamedBufferData)loadSymbol(loader, "glNamedBufferData", []);
9697         _NamedBufferSubData = cast(PFN_glNamedBufferSubData)loadSymbol(loader, "glNamedBufferSubData", ["glNamedBufferSubDataEXT"]);
9698         _CopyNamedBufferSubData = cast(PFN_glCopyNamedBufferSubData)loadSymbol(loader, "glCopyNamedBufferSubData", []);
9699         _ClearNamedBufferData = cast(PFN_glClearNamedBufferData)loadSymbol(loader, "glClearNamedBufferData", []);
9700         _ClearNamedBufferSubData = cast(PFN_glClearNamedBufferSubData)loadSymbol(loader, "glClearNamedBufferSubData", []);
9701         _MapNamedBuffer = cast(PFN_glMapNamedBuffer)loadSymbol(loader, "glMapNamedBuffer", []);
9702         _MapNamedBufferRange = cast(PFN_glMapNamedBufferRange)loadSymbol(loader, "glMapNamedBufferRange", []);
9703         _UnmapNamedBuffer = cast(PFN_glUnmapNamedBuffer)loadSymbol(loader, "glUnmapNamedBuffer", []);
9704         _FlushMappedNamedBufferRange = cast(PFN_glFlushMappedNamedBufferRange)loadSymbol(loader, "glFlushMappedNamedBufferRange", []);
9705         _GetNamedBufferParameteriv = cast(PFN_glGetNamedBufferParameteriv)loadSymbol(loader, "glGetNamedBufferParameteriv", []);
9706         _GetNamedBufferParameteri64v = cast(PFN_glGetNamedBufferParameteri64v)loadSymbol(loader, "glGetNamedBufferParameteri64v", []);
9707         _GetNamedBufferPointerv = cast(PFN_glGetNamedBufferPointerv)loadSymbol(loader, "glGetNamedBufferPointerv", []);
9708         _GetNamedBufferSubData = cast(PFN_glGetNamedBufferSubData)loadSymbol(loader, "glGetNamedBufferSubData", []);
9709         _CreateFramebuffers = cast(PFN_glCreateFramebuffers)loadSymbol(loader, "glCreateFramebuffers", []);
9710         _NamedFramebufferRenderbuffer = cast(PFN_glNamedFramebufferRenderbuffer)loadSymbol(loader, "glNamedFramebufferRenderbuffer", []);
9711         _NamedFramebufferParameteri = cast(PFN_glNamedFramebufferParameteri)loadSymbol(loader, "glNamedFramebufferParameteri", []);
9712         _NamedFramebufferTexture = cast(PFN_glNamedFramebufferTexture)loadSymbol(loader, "glNamedFramebufferTexture", []);
9713         _NamedFramebufferTextureLayer = cast(PFN_glNamedFramebufferTextureLayer)loadSymbol(loader, "glNamedFramebufferTextureLayer", []);
9714         _NamedFramebufferDrawBuffer = cast(PFN_glNamedFramebufferDrawBuffer)loadSymbol(loader, "glNamedFramebufferDrawBuffer", []);
9715         _NamedFramebufferDrawBuffers = cast(PFN_glNamedFramebufferDrawBuffers)loadSymbol(loader, "glNamedFramebufferDrawBuffers", []);
9716         _NamedFramebufferReadBuffer = cast(PFN_glNamedFramebufferReadBuffer)loadSymbol(loader, "glNamedFramebufferReadBuffer", []);
9717         _InvalidateNamedFramebufferData = cast(PFN_glInvalidateNamedFramebufferData)loadSymbol(loader, "glInvalidateNamedFramebufferData", []);
9718         _InvalidateNamedFramebufferSubData = cast(PFN_glInvalidateNamedFramebufferSubData)loadSymbol(loader, "glInvalidateNamedFramebufferSubData", []);
9719         _ClearNamedFramebufferiv = cast(PFN_glClearNamedFramebufferiv)loadSymbol(loader, "glClearNamedFramebufferiv", []);
9720         _ClearNamedFramebufferuiv = cast(PFN_glClearNamedFramebufferuiv)loadSymbol(loader, "glClearNamedFramebufferuiv", []);
9721         _ClearNamedFramebufferfv = cast(PFN_glClearNamedFramebufferfv)loadSymbol(loader, "glClearNamedFramebufferfv", []);
9722         _ClearNamedFramebufferfi = cast(PFN_glClearNamedFramebufferfi)loadSymbol(loader, "glClearNamedFramebufferfi", []);
9723         _BlitNamedFramebuffer = cast(PFN_glBlitNamedFramebuffer)loadSymbol(loader, "glBlitNamedFramebuffer", []);
9724         _CheckNamedFramebufferStatus = cast(PFN_glCheckNamedFramebufferStatus)loadSymbol(loader, "glCheckNamedFramebufferStatus", []);
9725         _GetNamedFramebufferParameteriv = cast(PFN_glGetNamedFramebufferParameteriv)loadSymbol(loader, "glGetNamedFramebufferParameteriv", []);
9726         _GetNamedFramebufferAttachmentParameteriv = cast(PFN_glGetNamedFramebufferAttachmentParameteriv)loadSymbol(loader, "glGetNamedFramebufferAttachmentParameteriv", []);
9727         _CreateRenderbuffers = cast(PFN_glCreateRenderbuffers)loadSymbol(loader, "glCreateRenderbuffers", []);
9728         _NamedRenderbufferStorage = cast(PFN_glNamedRenderbufferStorage)loadSymbol(loader, "glNamedRenderbufferStorage", []);
9729         _NamedRenderbufferStorageMultisample = cast(PFN_glNamedRenderbufferStorageMultisample)loadSymbol(loader, "glNamedRenderbufferStorageMultisample", []);
9730         _GetNamedRenderbufferParameteriv = cast(PFN_glGetNamedRenderbufferParameteriv)loadSymbol(loader, "glGetNamedRenderbufferParameteriv", []);
9731         _CreateTextures = cast(PFN_glCreateTextures)loadSymbol(loader, "glCreateTextures", []);
9732         _TextureBuffer = cast(PFN_glTextureBuffer)loadSymbol(loader, "glTextureBuffer", []);
9733         _TextureBufferRange = cast(PFN_glTextureBufferRange)loadSymbol(loader, "glTextureBufferRange", []);
9734         _TextureStorage1D = cast(PFN_glTextureStorage1D)loadSymbol(loader, "glTextureStorage1D", []);
9735         _TextureStorage2D = cast(PFN_glTextureStorage2D)loadSymbol(loader, "glTextureStorage2D", []);
9736         _TextureStorage3D = cast(PFN_glTextureStorage3D)loadSymbol(loader, "glTextureStorage3D", []);
9737         _TextureStorage2DMultisample = cast(PFN_glTextureStorage2DMultisample)loadSymbol(loader, "glTextureStorage2DMultisample", []);
9738         _TextureStorage3DMultisample = cast(PFN_glTextureStorage3DMultisample)loadSymbol(loader, "glTextureStorage3DMultisample", []);
9739         _TextureSubImage1D = cast(PFN_glTextureSubImage1D)loadSymbol(loader, "glTextureSubImage1D", []);
9740         _TextureSubImage2D = cast(PFN_glTextureSubImage2D)loadSymbol(loader, "glTextureSubImage2D", []);
9741         _TextureSubImage3D = cast(PFN_glTextureSubImage3D)loadSymbol(loader, "glTextureSubImage3D", []);
9742         _CompressedTextureSubImage1D = cast(PFN_glCompressedTextureSubImage1D)loadSymbol(loader, "glCompressedTextureSubImage1D", []);
9743         _CompressedTextureSubImage2D = cast(PFN_glCompressedTextureSubImage2D)loadSymbol(loader, "glCompressedTextureSubImage2D", []);
9744         _CompressedTextureSubImage3D = cast(PFN_glCompressedTextureSubImage3D)loadSymbol(loader, "glCompressedTextureSubImage3D", []);
9745         _CopyTextureSubImage1D = cast(PFN_glCopyTextureSubImage1D)loadSymbol(loader, "glCopyTextureSubImage1D", []);
9746         _CopyTextureSubImage2D = cast(PFN_glCopyTextureSubImage2D)loadSymbol(loader, "glCopyTextureSubImage2D", []);
9747         _CopyTextureSubImage3D = cast(PFN_glCopyTextureSubImage3D)loadSymbol(loader, "glCopyTextureSubImage3D", []);
9748         _TextureParameterf = cast(PFN_glTextureParameterf)loadSymbol(loader, "glTextureParameterf", []);
9749         _TextureParameterfv = cast(PFN_glTextureParameterfv)loadSymbol(loader, "glTextureParameterfv", []);
9750         _TextureParameteri = cast(PFN_glTextureParameteri)loadSymbol(loader, "glTextureParameteri", []);
9751         _TextureParameterIiv = cast(PFN_glTextureParameterIiv)loadSymbol(loader, "glTextureParameterIiv", []);
9752         _TextureParameterIuiv = cast(PFN_glTextureParameterIuiv)loadSymbol(loader, "glTextureParameterIuiv", []);
9753         _TextureParameteriv = cast(PFN_glTextureParameteriv)loadSymbol(loader, "glTextureParameteriv", []);
9754         _GenerateTextureMipmap = cast(PFN_glGenerateTextureMipmap)loadSymbol(loader, "glGenerateTextureMipmap", []);
9755         _BindTextureUnit = cast(PFN_glBindTextureUnit)loadSymbol(loader, "glBindTextureUnit", []);
9756         _GetTextureImage = cast(PFN_glGetTextureImage)loadSymbol(loader, "glGetTextureImage", []);
9757         _GetCompressedTextureImage = cast(PFN_glGetCompressedTextureImage)loadSymbol(loader, "glGetCompressedTextureImage", []);
9758         _GetTextureLevelParameterfv = cast(PFN_glGetTextureLevelParameterfv)loadSymbol(loader, "glGetTextureLevelParameterfv", []);
9759         _GetTextureLevelParameteriv = cast(PFN_glGetTextureLevelParameteriv)loadSymbol(loader, "glGetTextureLevelParameteriv", []);
9760         _GetTextureParameterfv = cast(PFN_glGetTextureParameterfv)loadSymbol(loader, "glGetTextureParameterfv", []);
9761         _GetTextureParameterIiv = cast(PFN_glGetTextureParameterIiv)loadSymbol(loader, "glGetTextureParameterIiv", []);
9762         _GetTextureParameterIuiv = cast(PFN_glGetTextureParameterIuiv)loadSymbol(loader, "glGetTextureParameterIuiv", []);
9763         _GetTextureParameteriv = cast(PFN_glGetTextureParameteriv)loadSymbol(loader, "glGetTextureParameteriv", []);
9764         _CreateVertexArrays = cast(PFN_glCreateVertexArrays)loadSymbol(loader, "glCreateVertexArrays", []);
9765         _DisableVertexArrayAttrib = cast(PFN_glDisableVertexArrayAttrib)loadSymbol(loader, "glDisableVertexArrayAttrib", []);
9766         _EnableVertexArrayAttrib = cast(PFN_glEnableVertexArrayAttrib)loadSymbol(loader, "glEnableVertexArrayAttrib", []);
9767         _VertexArrayElementBuffer = cast(PFN_glVertexArrayElementBuffer)loadSymbol(loader, "glVertexArrayElementBuffer", []);
9768         _VertexArrayVertexBuffer = cast(PFN_glVertexArrayVertexBuffer)loadSymbol(loader, "glVertexArrayVertexBuffer", []);
9769         _VertexArrayVertexBuffers = cast(PFN_glVertexArrayVertexBuffers)loadSymbol(loader, "glVertexArrayVertexBuffers", []);
9770         _VertexArrayAttribBinding = cast(PFN_glVertexArrayAttribBinding)loadSymbol(loader, "glVertexArrayAttribBinding", []);
9771         _VertexArrayAttribFormat = cast(PFN_glVertexArrayAttribFormat)loadSymbol(loader, "glVertexArrayAttribFormat", []);
9772         _VertexArrayAttribIFormat = cast(PFN_glVertexArrayAttribIFormat)loadSymbol(loader, "glVertexArrayAttribIFormat", []);
9773         _VertexArrayAttribLFormat = cast(PFN_glVertexArrayAttribLFormat)loadSymbol(loader, "glVertexArrayAttribLFormat", []);
9774         _VertexArrayBindingDivisor = cast(PFN_glVertexArrayBindingDivisor)loadSymbol(loader, "glVertexArrayBindingDivisor", []);
9775         _GetVertexArrayiv = cast(PFN_glGetVertexArrayiv)loadSymbol(loader, "glGetVertexArrayiv", []);
9776         _GetVertexArrayIndexediv = cast(PFN_glGetVertexArrayIndexediv)loadSymbol(loader, "glGetVertexArrayIndexediv", []);
9777         _GetVertexArrayIndexed64iv = cast(PFN_glGetVertexArrayIndexed64iv)loadSymbol(loader, "glGetVertexArrayIndexed64iv", []);
9778         _CreateSamplers = cast(PFN_glCreateSamplers)loadSymbol(loader, "glCreateSamplers", []);
9779         _CreateProgramPipelines = cast(PFN_glCreateProgramPipelines)loadSymbol(loader, "glCreateProgramPipelines", []);
9780         _CreateQueries = cast(PFN_glCreateQueries)loadSymbol(loader, "glCreateQueries", []);
9781         _GetQueryBufferObjecti64v = cast(PFN_glGetQueryBufferObjecti64v)loadSymbol(loader, "glGetQueryBufferObjecti64v", []);
9782         _GetQueryBufferObjectiv = cast(PFN_glGetQueryBufferObjectiv)loadSymbol(loader, "glGetQueryBufferObjectiv", []);
9783         _GetQueryBufferObjectui64v = cast(PFN_glGetQueryBufferObjectui64v)loadSymbol(loader, "glGetQueryBufferObjectui64v", []);
9784         _GetQueryBufferObjectuiv = cast(PFN_glGetQueryBufferObjectuiv)loadSymbol(loader, "glGetQueryBufferObjectuiv", []);
9785         _MemoryBarrierByRegion = cast(PFN_glMemoryBarrierByRegion)loadSymbol(loader, "glMemoryBarrierByRegion", []);
9786         _GetTextureSubImage = cast(PFN_glGetTextureSubImage)loadSymbol(loader, "glGetTextureSubImage", []);
9787         _GetCompressedTextureSubImage = cast(PFN_glGetCompressedTextureSubImage)loadSymbol(loader, "glGetCompressedTextureSubImage", []);
9788         _GetGraphicsResetStatus = cast(PFN_glGetGraphicsResetStatus)loadSymbol(loader, "glGetGraphicsResetStatus", []);
9789         _GetnCompressedTexImage = cast(PFN_glGetnCompressedTexImage)loadSymbol(loader, "glGetnCompressedTexImage", []);
9790         _GetnTexImage = cast(PFN_glGetnTexImage)loadSymbol(loader, "glGetnTexImage", []);
9791         _GetnUniformdv = cast(PFN_glGetnUniformdv)loadSymbol(loader, "glGetnUniformdv", []);
9792         _GetnUniformfv = cast(PFN_glGetnUniformfv)loadSymbol(loader, "glGetnUniformfv", []);
9793         _GetnUniformiv = cast(PFN_glGetnUniformiv)loadSymbol(loader, "glGetnUniformiv", []);
9794         _GetnUniformuiv = cast(PFN_glGetnUniformuiv)loadSymbol(loader, "glGetnUniformuiv", []);
9795         _ReadnPixels = cast(PFN_glReadnPixels)loadSymbol(loader, "glReadnPixels", ["glReadnPixelsARB"]);
9796         _TextureBarrier = cast(PFN_glTextureBarrier)loadSymbol(loader, "glTextureBarrier", []);
9797 
9798         // GL_VERSION_4_6
9799         _SpecializeShader = cast(PFN_glSpecializeShader)loadSymbol(loader, "glSpecializeShader", ["glSpecializeShaderARB"]);
9800         _MultiDrawArraysIndirectCount = cast(PFN_glMultiDrawArraysIndirectCount)loadSymbol(loader, "glMultiDrawArraysIndirectCount", ["glMultiDrawArraysIndirectCountARB"]);
9801         _MultiDrawElementsIndirectCount = cast(PFN_glMultiDrawElementsIndirectCount)loadSymbol(loader, "glMultiDrawElementsIndirectCount", ["glMultiDrawElementsIndirectCountARB"]);
9802         _PolygonOffsetClamp = cast(PFN_glPolygonOffsetClamp)loadSymbol(loader, "glPolygonOffsetClamp", ["glPolygonOffsetClampEXT"]);
9803 
9804         // GL_ARB_ES3_2_compatibility,
9805         _PrimitiveBoundingBoxARB = cast(PFN_glPrimitiveBoundingBoxARB)loadSymbol(loader, "glPrimitiveBoundingBoxARB", []);
9806 
9807         // GL_ARB_bindless_texture,
9808         _GetTextureHandleARB = cast(PFN_glGetTextureHandleARB)loadSymbol(loader, "glGetTextureHandleARB", []);
9809         _GetTextureSamplerHandleARB = cast(PFN_glGetTextureSamplerHandleARB)loadSymbol(loader, "glGetTextureSamplerHandleARB", []);
9810         _MakeTextureHandleResidentARB = cast(PFN_glMakeTextureHandleResidentARB)loadSymbol(loader, "glMakeTextureHandleResidentARB", []);
9811         _MakeTextureHandleNonResidentARB = cast(PFN_glMakeTextureHandleNonResidentARB)loadSymbol(loader, "glMakeTextureHandleNonResidentARB", []);
9812         _GetImageHandleARB = cast(PFN_glGetImageHandleARB)loadSymbol(loader, "glGetImageHandleARB", []);
9813         _MakeImageHandleResidentARB = cast(PFN_glMakeImageHandleResidentARB)loadSymbol(loader, "glMakeImageHandleResidentARB", []);
9814         _MakeImageHandleNonResidentARB = cast(PFN_glMakeImageHandleNonResidentARB)loadSymbol(loader, "glMakeImageHandleNonResidentARB", []);
9815         _UniformHandleui64ARB = cast(PFN_glUniformHandleui64ARB)loadSymbol(loader, "glUniformHandleui64ARB", []);
9816         _UniformHandleui64vARB = cast(PFN_glUniformHandleui64vARB)loadSymbol(loader, "glUniformHandleui64vARB", []);
9817         _ProgramUniformHandleui64ARB = cast(PFN_glProgramUniformHandleui64ARB)loadSymbol(loader, "glProgramUniformHandleui64ARB", []);
9818         _ProgramUniformHandleui64vARB = cast(PFN_glProgramUniformHandleui64vARB)loadSymbol(loader, "glProgramUniformHandleui64vARB", []);
9819         _IsTextureHandleResidentARB = cast(PFN_glIsTextureHandleResidentARB)loadSymbol(loader, "glIsTextureHandleResidentARB", []);
9820         _IsImageHandleResidentARB = cast(PFN_glIsImageHandleResidentARB)loadSymbol(loader, "glIsImageHandleResidentARB", []);
9821         _VertexAttribL1ui64ARB = cast(PFN_glVertexAttribL1ui64ARB)loadSymbol(loader, "glVertexAttribL1ui64ARB", []);
9822         _VertexAttribL1ui64vARB = cast(PFN_glVertexAttribL1ui64vARB)loadSymbol(loader, "glVertexAttribL1ui64vARB", []);
9823         _GetVertexAttribLui64vARB = cast(PFN_glGetVertexAttribLui64vARB)loadSymbol(loader, "glGetVertexAttribLui64vARB", []);
9824 
9825         // GL_ARB_cl_event,
9826         _CreateSyncFromCLeventARB = cast(PFN_glCreateSyncFromCLeventARB)loadSymbol(loader, "glCreateSyncFromCLeventARB", []);
9827 
9828         // GL_ARB_compute_variable_group_size,
9829         _DispatchComputeGroupSizeARB = cast(PFN_glDispatchComputeGroupSizeARB)loadSymbol(loader, "glDispatchComputeGroupSizeARB", []);
9830 
9831         // GL_ARB_geometry_shader4,
9832         _FramebufferTextureFaceARB = cast(PFN_glFramebufferTextureFaceARB)loadSymbol(loader, "glFramebufferTextureFaceARB", []);
9833 
9834         // GL_ARB_gpu_shader_int64,
9835         _Uniform1i64ARB = cast(PFN_glUniform1i64ARB)loadSymbol(loader, "glUniform1i64ARB", []);
9836         _Uniform2i64ARB = cast(PFN_glUniform2i64ARB)loadSymbol(loader, "glUniform2i64ARB", []);
9837         _Uniform3i64ARB = cast(PFN_glUniform3i64ARB)loadSymbol(loader, "glUniform3i64ARB", []);
9838         _Uniform4i64ARB = cast(PFN_glUniform4i64ARB)loadSymbol(loader, "glUniform4i64ARB", []);
9839         _Uniform1i64vARB = cast(PFN_glUniform1i64vARB)loadSymbol(loader, "glUniform1i64vARB", []);
9840         _Uniform2i64vARB = cast(PFN_glUniform2i64vARB)loadSymbol(loader, "glUniform2i64vARB", []);
9841         _Uniform3i64vARB = cast(PFN_glUniform3i64vARB)loadSymbol(loader, "glUniform3i64vARB", []);
9842         _Uniform4i64vARB = cast(PFN_glUniform4i64vARB)loadSymbol(loader, "glUniform4i64vARB", []);
9843         _Uniform1ui64ARB = cast(PFN_glUniform1ui64ARB)loadSymbol(loader, "glUniform1ui64ARB", []);
9844         _Uniform2ui64ARB = cast(PFN_glUniform2ui64ARB)loadSymbol(loader, "glUniform2ui64ARB", []);
9845         _Uniform3ui64ARB = cast(PFN_glUniform3ui64ARB)loadSymbol(loader, "glUniform3ui64ARB", []);
9846         _Uniform4ui64ARB = cast(PFN_glUniform4ui64ARB)loadSymbol(loader, "glUniform4ui64ARB", []);
9847         _Uniform1ui64vARB = cast(PFN_glUniform1ui64vARB)loadSymbol(loader, "glUniform1ui64vARB", []);
9848         _Uniform2ui64vARB = cast(PFN_glUniform2ui64vARB)loadSymbol(loader, "glUniform2ui64vARB", []);
9849         _Uniform3ui64vARB = cast(PFN_glUniform3ui64vARB)loadSymbol(loader, "glUniform3ui64vARB", []);
9850         _Uniform4ui64vARB = cast(PFN_glUniform4ui64vARB)loadSymbol(loader, "glUniform4ui64vARB", []);
9851         _GetUniformi64vARB = cast(PFN_glGetUniformi64vARB)loadSymbol(loader, "glGetUniformi64vARB", []);
9852         _GetUniformui64vARB = cast(PFN_glGetUniformui64vARB)loadSymbol(loader, "glGetUniformui64vARB", []);
9853         _GetnUniformi64vARB = cast(PFN_glGetnUniformi64vARB)loadSymbol(loader, "glGetnUniformi64vARB", []);
9854         _GetnUniformui64vARB = cast(PFN_glGetnUniformui64vARB)loadSymbol(loader, "glGetnUniformui64vARB", []);
9855         _ProgramUniform1i64ARB = cast(PFN_glProgramUniform1i64ARB)loadSymbol(loader, "glProgramUniform1i64ARB", []);
9856         _ProgramUniform2i64ARB = cast(PFN_glProgramUniform2i64ARB)loadSymbol(loader, "glProgramUniform2i64ARB", []);
9857         _ProgramUniform3i64ARB = cast(PFN_glProgramUniform3i64ARB)loadSymbol(loader, "glProgramUniform3i64ARB", []);
9858         _ProgramUniform4i64ARB = cast(PFN_glProgramUniform4i64ARB)loadSymbol(loader, "glProgramUniform4i64ARB", []);
9859         _ProgramUniform1i64vARB = cast(PFN_glProgramUniform1i64vARB)loadSymbol(loader, "glProgramUniform1i64vARB", []);
9860         _ProgramUniform2i64vARB = cast(PFN_glProgramUniform2i64vARB)loadSymbol(loader, "glProgramUniform2i64vARB", []);
9861         _ProgramUniform3i64vARB = cast(PFN_glProgramUniform3i64vARB)loadSymbol(loader, "glProgramUniform3i64vARB", []);
9862         _ProgramUniform4i64vARB = cast(PFN_glProgramUniform4i64vARB)loadSymbol(loader, "glProgramUniform4i64vARB", []);
9863         _ProgramUniform1ui64ARB = cast(PFN_glProgramUniform1ui64ARB)loadSymbol(loader, "glProgramUniform1ui64ARB", []);
9864         _ProgramUniform2ui64ARB = cast(PFN_glProgramUniform2ui64ARB)loadSymbol(loader, "glProgramUniform2ui64ARB", []);
9865         _ProgramUniform3ui64ARB = cast(PFN_glProgramUniform3ui64ARB)loadSymbol(loader, "glProgramUniform3ui64ARB", []);
9866         _ProgramUniform4ui64ARB = cast(PFN_glProgramUniform4ui64ARB)loadSymbol(loader, "glProgramUniform4ui64ARB", []);
9867         _ProgramUniform1ui64vARB = cast(PFN_glProgramUniform1ui64vARB)loadSymbol(loader, "glProgramUniform1ui64vARB", []);
9868         _ProgramUniform2ui64vARB = cast(PFN_glProgramUniform2ui64vARB)loadSymbol(loader, "glProgramUniform2ui64vARB", []);
9869         _ProgramUniform3ui64vARB = cast(PFN_glProgramUniform3ui64vARB)loadSymbol(loader, "glProgramUniform3ui64vARB", []);
9870         _ProgramUniform4ui64vARB = cast(PFN_glProgramUniform4ui64vARB)loadSymbol(loader, "glProgramUniform4ui64vARB", []);
9871 
9872         // GL_ARB_parallel_shader_compile,
9873         _MaxShaderCompilerThreadsARB = cast(PFN_glMaxShaderCompilerThreadsARB)loadSymbol(loader, "glMaxShaderCompilerThreadsARB", []);
9874 
9875         // GL_ARB_robustness,
9876         _GetGraphicsResetStatusARB = cast(PFN_glGetGraphicsResetStatusARB)loadSymbol(loader, "glGetGraphicsResetStatusARB", []);
9877         _GetnTexImageARB = cast(PFN_glGetnTexImageARB)loadSymbol(loader, "glGetnTexImageARB", []);
9878         _GetnCompressedTexImageARB = cast(PFN_glGetnCompressedTexImageARB)loadSymbol(loader, "glGetnCompressedTexImageARB", []);
9879         _GetnUniformfvARB = cast(PFN_glGetnUniformfvARB)loadSymbol(loader, "glGetnUniformfvARB", []);
9880         _GetnUniformivARB = cast(PFN_glGetnUniformivARB)loadSymbol(loader, "glGetnUniformivARB", []);
9881         _GetnUniformuivARB = cast(PFN_glGetnUniformuivARB)loadSymbol(loader, "glGetnUniformuivARB", []);
9882         _GetnUniformdvARB = cast(PFN_glGetnUniformdvARB)loadSymbol(loader, "glGetnUniformdvARB", []);
9883 
9884         // GL_ARB_sample_locations,
9885         _FramebufferSampleLocationsfvARB = cast(PFN_glFramebufferSampleLocationsfvARB)loadSymbol(loader, "glFramebufferSampleLocationsfvARB", []);
9886         _NamedFramebufferSampleLocationsfvARB = cast(PFN_glNamedFramebufferSampleLocationsfvARB)loadSymbol(loader, "glNamedFramebufferSampleLocationsfvARB", []);
9887         _EvaluateDepthValuesARB = cast(PFN_glEvaluateDepthValuesARB)loadSymbol(loader, "glEvaluateDepthValuesARB", []);
9888 
9889         // GL_ARB_shading_language_include,
9890         _NamedStringARB = cast(PFN_glNamedStringARB)loadSymbol(loader, "glNamedStringARB", []);
9891         _DeleteNamedStringARB = cast(PFN_glDeleteNamedStringARB)loadSymbol(loader, "glDeleteNamedStringARB", []);
9892         _CompileShaderIncludeARB = cast(PFN_glCompileShaderIncludeARB)loadSymbol(loader, "glCompileShaderIncludeARB", []);
9893         _IsNamedStringARB = cast(PFN_glIsNamedStringARB)loadSymbol(loader, "glIsNamedStringARB", []);
9894         _GetNamedStringARB = cast(PFN_glGetNamedStringARB)loadSymbol(loader, "glGetNamedStringARB", []);
9895         _GetNamedStringivARB = cast(PFN_glGetNamedStringivARB)loadSymbol(loader, "glGetNamedStringivARB", []);
9896 
9897         // GL_ARB_sparse_buffer,
9898         _BufferPageCommitmentARB = cast(PFN_glBufferPageCommitmentARB)loadSymbol(loader, "glBufferPageCommitmentARB", []);
9899         _NamedBufferPageCommitmentEXT = cast(PFN_glNamedBufferPageCommitmentEXT)loadSymbol(loader, "glNamedBufferPageCommitmentEXT", []);
9900         _NamedBufferPageCommitmentARB = cast(PFN_glNamedBufferPageCommitmentARB)loadSymbol(loader, "glNamedBufferPageCommitmentARB", []);
9901 
9902         // GL_ARB_sparse_texture,
9903         _TexPageCommitmentARB = cast(PFN_glTexPageCommitmentARB)loadSymbol(loader, "glTexPageCommitmentARB", []);
9904 
9905         // GL_KHR_blend_equation_advanced,
9906         _BlendBarrierKHR = cast(PFN_glBlendBarrierKHR)loadSymbol(loader, "glBlendBarrierKHR", []);
9907 
9908         // GL_KHR_parallel_shader_compile,
9909         _MaxShaderCompilerThreadsKHR = cast(PFN_glMaxShaderCompilerThreadsKHR)loadSymbol(loader, "glMaxShaderCompilerThreadsKHR", []);
9910 
9911         // GL_AMD_performance_monitor,
9912         _GetPerfMonitorGroupsAMD = cast(PFN_glGetPerfMonitorGroupsAMD)loadSymbol(loader, "glGetPerfMonitorGroupsAMD", []);
9913         _GetPerfMonitorCountersAMD = cast(PFN_glGetPerfMonitorCountersAMD)loadSymbol(loader, "glGetPerfMonitorCountersAMD", []);
9914         _GetPerfMonitorGroupStringAMD = cast(PFN_glGetPerfMonitorGroupStringAMD)loadSymbol(loader, "glGetPerfMonitorGroupStringAMD", []);
9915         _GetPerfMonitorCounterStringAMD = cast(PFN_glGetPerfMonitorCounterStringAMD)loadSymbol(loader, "glGetPerfMonitorCounterStringAMD", []);
9916         _GetPerfMonitorCounterInfoAMD = cast(PFN_glGetPerfMonitorCounterInfoAMD)loadSymbol(loader, "glGetPerfMonitorCounterInfoAMD", []);
9917         _GenPerfMonitorsAMD = cast(PFN_glGenPerfMonitorsAMD)loadSymbol(loader, "glGenPerfMonitorsAMD", []);
9918         _DeletePerfMonitorsAMD = cast(PFN_glDeletePerfMonitorsAMD)loadSymbol(loader, "glDeletePerfMonitorsAMD", []);
9919         _SelectPerfMonitorCountersAMD = cast(PFN_glSelectPerfMonitorCountersAMD)loadSymbol(loader, "glSelectPerfMonitorCountersAMD", []);
9920         _BeginPerfMonitorAMD = cast(PFN_glBeginPerfMonitorAMD)loadSymbol(loader, "glBeginPerfMonitorAMD", []);
9921         _EndPerfMonitorAMD = cast(PFN_glEndPerfMonitorAMD)loadSymbol(loader, "glEndPerfMonitorAMD", []);
9922         _GetPerfMonitorCounterDataAMD = cast(PFN_glGetPerfMonitorCounterDataAMD)loadSymbol(loader, "glGetPerfMonitorCounterDataAMD", []);
9923 
9924         // GL_EXT_debug_label,
9925         _LabelObjectEXT = cast(PFN_glLabelObjectEXT)loadSymbol(loader, "glLabelObjectEXT", []);
9926         _GetObjectLabelEXT = cast(PFN_glGetObjectLabelEXT)loadSymbol(loader, "glGetObjectLabelEXT", []);
9927 
9928         // GL_EXT_debug_marker,
9929         _InsertEventMarkerEXT = cast(PFN_glInsertEventMarkerEXT)loadSymbol(loader, "glInsertEventMarkerEXT", []);
9930         _PushGroupMarkerEXT = cast(PFN_glPushGroupMarkerEXT)loadSymbol(loader, "glPushGroupMarkerEXT", []);
9931         _PopGroupMarkerEXT = cast(PFN_glPopGroupMarkerEXT)loadSymbol(loader, "glPopGroupMarkerEXT", []);
9932 
9933         // GL_EXT_direct_state_access,
9934         _MatrixLoadfEXT = cast(PFN_glMatrixLoadfEXT)loadSymbol(loader, "glMatrixLoadfEXT", []);
9935         _MatrixLoaddEXT = cast(PFN_glMatrixLoaddEXT)loadSymbol(loader, "glMatrixLoaddEXT", []);
9936         _MatrixMultfEXT = cast(PFN_glMatrixMultfEXT)loadSymbol(loader, "glMatrixMultfEXT", []);
9937         _MatrixMultdEXT = cast(PFN_glMatrixMultdEXT)loadSymbol(loader, "glMatrixMultdEXT", []);
9938         _MatrixLoadIdentityEXT = cast(PFN_glMatrixLoadIdentityEXT)loadSymbol(loader, "glMatrixLoadIdentityEXT", []);
9939         _MatrixRotatefEXT = cast(PFN_glMatrixRotatefEXT)loadSymbol(loader, "glMatrixRotatefEXT", []);
9940         _MatrixRotatedEXT = cast(PFN_glMatrixRotatedEXT)loadSymbol(loader, "glMatrixRotatedEXT", []);
9941         _MatrixScalefEXT = cast(PFN_glMatrixScalefEXT)loadSymbol(loader, "glMatrixScalefEXT", []);
9942         _MatrixScaledEXT = cast(PFN_glMatrixScaledEXT)loadSymbol(loader, "glMatrixScaledEXT", []);
9943         _MatrixTranslatefEXT = cast(PFN_glMatrixTranslatefEXT)loadSymbol(loader, "glMatrixTranslatefEXT", []);
9944         _MatrixTranslatedEXT = cast(PFN_glMatrixTranslatedEXT)loadSymbol(loader, "glMatrixTranslatedEXT", []);
9945         _MatrixFrustumEXT = cast(PFN_glMatrixFrustumEXT)loadSymbol(loader, "glMatrixFrustumEXT", []);
9946         _MatrixOrthoEXT = cast(PFN_glMatrixOrthoEXT)loadSymbol(loader, "glMatrixOrthoEXT", []);
9947         _MatrixPopEXT = cast(PFN_glMatrixPopEXT)loadSymbol(loader, "glMatrixPopEXT", []);
9948         _MatrixPushEXT = cast(PFN_glMatrixPushEXT)loadSymbol(loader, "glMatrixPushEXT", []);
9949         _ClientAttribDefaultEXT = cast(PFN_glClientAttribDefaultEXT)loadSymbol(loader, "glClientAttribDefaultEXT", []);
9950         _PushClientAttribDefaultEXT = cast(PFN_glPushClientAttribDefaultEXT)loadSymbol(loader, "glPushClientAttribDefaultEXT", []);
9951         _TextureParameterfEXT = cast(PFN_glTextureParameterfEXT)loadSymbol(loader, "glTextureParameterfEXT", []);
9952         _TextureParameterfvEXT = cast(PFN_glTextureParameterfvEXT)loadSymbol(loader, "glTextureParameterfvEXT", []);
9953         _TextureParameteriEXT = cast(PFN_glTextureParameteriEXT)loadSymbol(loader, "glTextureParameteriEXT", []);
9954         _TextureParameterivEXT = cast(PFN_glTextureParameterivEXT)loadSymbol(loader, "glTextureParameterivEXT", []);
9955         _TextureImage1DEXT = cast(PFN_glTextureImage1DEXT)loadSymbol(loader, "glTextureImage1DEXT", []);
9956         _TextureImage2DEXT = cast(PFN_glTextureImage2DEXT)loadSymbol(loader, "glTextureImage2DEXT", []);
9957         _TextureSubImage1DEXT = cast(PFN_glTextureSubImage1DEXT)loadSymbol(loader, "glTextureSubImage1DEXT", []);
9958         _TextureSubImage2DEXT = cast(PFN_glTextureSubImage2DEXT)loadSymbol(loader, "glTextureSubImage2DEXT", []);
9959         _CopyTextureImage1DEXT = cast(PFN_glCopyTextureImage1DEXT)loadSymbol(loader, "glCopyTextureImage1DEXT", []);
9960         _CopyTextureImage2DEXT = cast(PFN_glCopyTextureImage2DEXT)loadSymbol(loader, "glCopyTextureImage2DEXT", []);
9961         _CopyTextureSubImage1DEXT = cast(PFN_glCopyTextureSubImage1DEXT)loadSymbol(loader, "glCopyTextureSubImage1DEXT", []);
9962         _CopyTextureSubImage2DEXT = cast(PFN_glCopyTextureSubImage2DEXT)loadSymbol(loader, "glCopyTextureSubImage2DEXT", []);
9963         _GetTextureImageEXT = cast(PFN_glGetTextureImageEXT)loadSymbol(loader, "glGetTextureImageEXT", []);
9964         _GetTextureParameterfvEXT = cast(PFN_glGetTextureParameterfvEXT)loadSymbol(loader, "glGetTextureParameterfvEXT", []);
9965         _GetTextureParameterivEXT = cast(PFN_glGetTextureParameterivEXT)loadSymbol(loader, "glGetTextureParameterivEXT", []);
9966         _GetTextureLevelParameterfvEXT = cast(PFN_glGetTextureLevelParameterfvEXT)loadSymbol(loader, "glGetTextureLevelParameterfvEXT", []);
9967         _GetTextureLevelParameterivEXT = cast(PFN_glGetTextureLevelParameterivEXT)loadSymbol(loader, "glGetTextureLevelParameterivEXT", []);
9968         _TextureImage3DEXT = cast(PFN_glTextureImage3DEXT)loadSymbol(loader, "glTextureImage3DEXT", []);
9969         _TextureSubImage3DEXT = cast(PFN_glTextureSubImage3DEXT)loadSymbol(loader, "glTextureSubImage3DEXT", []);
9970         _CopyTextureSubImage3DEXT = cast(PFN_glCopyTextureSubImage3DEXT)loadSymbol(loader, "glCopyTextureSubImage3DEXT", []);
9971         _BindMultiTextureEXT = cast(PFN_glBindMultiTextureEXT)loadSymbol(loader, "glBindMultiTextureEXT", []);
9972         _MultiTexCoordPointerEXT = cast(PFN_glMultiTexCoordPointerEXT)loadSymbol(loader, "glMultiTexCoordPointerEXT", []);
9973         _MultiTexEnvfEXT = cast(PFN_glMultiTexEnvfEXT)loadSymbol(loader, "glMultiTexEnvfEXT", []);
9974         _MultiTexEnvfvEXT = cast(PFN_glMultiTexEnvfvEXT)loadSymbol(loader, "glMultiTexEnvfvEXT", []);
9975         _MultiTexEnviEXT = cast(PFN_glMultiTexEnviEXT)loadSymbol(loader, "glMultiTexEnviEXT", []);
9976         _MultiTexEnvivEXT = cast(PFN_glMultiTexEnvivEXT)loadSymbol(loader, "glMultiTexEnvivEXT", []);
9977         _MultiTexGendEXT = cast(PFN_glMultiTexGendEXT)loadSymbol(loader, "glMultiTexGendEXT", []);
9978         _MultiTexGendvEXT = cast(PFN_glMultiTexGendvEXT)loadSymbol(loader, "glMultiTexGendvEXT", []);
9979         _MultiTexGenfEXT = cast(PFN_glMultiTexGenfEXT)loadSymbol(loader, "glMultiTexGenfEXT", []);
9980         _MultiTexGenfvEXT = cast(PFN_glMultiTexGenfvEXT)loadSymbol(loader, "glMultiTexGenfvEXT", []);
9981         _MultiTexGeniEXT = cast(PFN_glMultiTexGeniEXT)loadSymbol(loader, "glMultiTexGeniEXT", []);
9982         _MultiTexGenivEXT = cast(PFN_glMultiTexGenivEXT)loadSymbol(loader, "glMultiTexGenivEXT", []);
9983         _GetMultiTexEnvfvEXT = cast(PFN_glGetMultiTexEnvfvEXT)loadSymbol(loader, "glGetMultiTexEnvfvEXT", []);
9984         _GetMultiTexEnvivEXT = cast(PFN_glGetMultiTexEnvivEXT)loadSymbol(loader, "glGetMultiTexEnvivEXT", []);
9985         _GetMultiTexGendvEXT = cast(PFN_glGetMultiTexGendvEXT)loadSymbol(loader, "glGetMultiTexGendvEXT", []);
9986         _GetMultiTexGenfvEXT = cast(PFN_glGetMultiTexGenfvEXT)loadSymbol(loader, "glGetMultiTexGenfvEXT", []);
9987         _GetMultiTexGenivEXT = cast(PFN_glGetMultiTexGenivEXT)loadSymbol(loader, "glGetMultiTexGenivEXT", []);
9988         _MultiTexParameteriEXT = cast(PFN_glMultiTexParameteriEXT)loadSymbol(loader, "glMultiTexParameteriEXT", []);
9989         _MultiTexParameterivEXT = cast(PFN_glMultiTexParameterivEXT)loadSymbol(loader, "glMultiTexParameterivEXT", []);
9990         _MultiTexParameterfEXT = cast(PFN_glMultiTexParameterfEXT)loadSymbol(loader, "glMultiTexParameterfEXT", []);
9991         _MultiTexParameterfvEXT = cast(PFN_glMultiTexParameterfvEXT)loadSymbol(loader, "glMultiTexParameterfvEXT", []);
9992         _MultiTexImage1DEXT = cast(PFN_glMultiTexImage1DEXT)loadSymbol(loader, "glMultiTexImage1DEXT", []);
9993         _MultiTexImage2DEXT = cast(PFN_glMultiTexImage2DEXT)loadSymbol(loader, "glMultiTexImage2DEXT", []);
9994         _MultiTexSubImage1DEXT = cast(PFN_glMultiTexSubImage1DEXT)loadSymbol(loader, "glMultiTexSubImage1DEXT", []);
9995         _MultiTexSubImage2DEXT = cast(PFN_glMultiTexSubImage2DEXT)loadSymbol(loader, "glMultiTexSubImage2DEXT", []);
9996         _CopyMultiTexImage1DEXT = cast(PFN_glCopyMultiTexImage1DEXT)loadSymbol(loader, "glCopyMultiTexImage1DEXT", []);
9997         _CopyMultiTexImage2DEXT = cast(PFN_glCopyMultiTexImage2DEXT)loadSymbol(loader, "glCopyMultiTexImage2DEXT", []);
9998         _CopyMultiTexSubImage1DEXT = cast(PFN_glCopyMultiTexSubImage1DEXT)loadSymbol(loader, "glCopyMultiTexSubImage1DEXT", []);
9999         _CopyMultiTexSubImage2DEXT = cast(PFN_glCopyMultiTexSubImage2DEXT)loadSymbol(loader, "glCopyMultiTexSubImage2DEXT", []);
10000         _GetMultiTexImageEXT = cast(PFN_glGetMultiTexImageEXT)loadSymbol(loader, "glGetMultiTexImageEXT", []);
10001         _GetMultiTexParameterfvEXT = cast(PFN_glGetMultiTexParameterfvEXT)loadSymbol(loader, "glGetMultiTexParameterfvEXT", []);
10002         _GetMultiTexParameterivEXT = cast(PFN_glGetMultiTexParameterivEXT)loadSymbol(loader, "glGetMultiTexParameterivEXT", []);
10003         _GetMultiTexLevelParameterfvEXT = cast(PFN_glGetMultiTexLevelParameterfvEXT)loadSymbol(loader, "glGetMultiTexLevelParameterfvEXT", []);
10004         _GetMultiTexLevelParameterivEXT = cast(PFN_glGetMultiTexLevelParameterivEXT)loadSymbol(loader, "glGetMultiTexLevelParameterivEXT", []);
10005         _MultiTexImage3DEXT = cast(PFN_glMultiTexImage3DEXT)loadSymbol(loader, "glMultiTexImage3DEXT", []);
10006         _MultiTexSubImage3DEXT = cast(PFN_glMultiTexSubImage3DEXT)loadSymbol(loader, "glMultiTexSubImage3DEXT", []);
10007         _CopyMultiTexSubImage3DEXT = cast(PFN_glCopyMultiTexSubImage3DEXT)loadSymbol(loader, "glCopyMultiTexSubImage3DEXT", []);
10008         _EnableClientStateIndexedEXT = cast(PFN_glEnableClientStateIndexedEXT)loadSymbol(loader, "glEnableClientStateIndexedEXT", []);
10009         _DisableClientStateIndexedEXT = cast(PFN_glDisableClientStateIndexedEXT)loadSymbol(loader, "glDisableClientStateIndexedEXT", []);
10010         _GetPointerIndexedvEXT = cast(PFN_glGetPointerIndexedvEXT)loadSymbol(loader, "glGetPointerIndexedvEXT", []);
10011         _CompressedTextureImage3DEXT = cast(PFN_glCompressedTextureImage3DEXT)loadSymbol(loader, "glCompressedTextureImage3DEXT", []);
10012         _CompressedTextureImage2DEXT = cast(PFN_glCompressedTextureImage2DEXT)loadSymbol(loader, "glCompressedTextureImage2DEXT", []);
10013         _CompressedTextureImage1DEXT = cast(PFN_glCompressedTextureImage1DEXT)loadSymbol(loader, "glCompressedTextureImage1DEXT", []);
10014         _CompressedTextureSubImage3DEXT = cast(PFN_glCompressedTextureSubImage3DEXT)loadSymbol(loader, "glCompressedTextureSubImage3DEXT", []);
10015         _CompressedTextureSubImage2DEXT = cast(PFN_glCompressedTextureSubImage2DEXT)loadSymbol(loader, "glCompressedTextureSubImage2DEXT", []);
10016         _CompressedTextureSubImage1DEXT = cast(PFN_glCompressedTextureSubImage1DEXT)loadSymbol(loader, "glCompressedTextureSubImage1DEXT", []);
10017         _GetCompressedTextureImageEXT = cast(PFN_glGetCompressedTextureImageEXT)loadSymbol(loader, "glGetCompressedTextureImageEXT", []);
10018         _CompressedMultiTexImage3DEXT = cast(PFN_glCompressedMultiTexImage3DEXT)loadSymbol(loader, "glCompressedMultiTexImage3DEXT", []);
10019         _CompressedMultiTexImage2DEXT = cast(PFN_glCompressedMultiTexImage2DEXT)loadSymbol(loader, "glCompressedMultiTexImage2DEXT", []);
10020         _CompressedMultiTexImage1DEXT = cast(PFN_glCompressedMultiTexImage1DEXT)loadSymbol(loader, "glCompressedMultiTexImage1DEXT", []);
10021         _CompressedMultiTexSubImage3DEXT = cast(PFN_glCompressedMultiTexSubImage3DEXT)loadSymbol(loader, "glCompressedMultiTexSubImage3DEXT", []);
10022         _CompressedMultiTexSubImage2DEXT = cast(PFN_glCompressedMultiTexSubImage2DEXT)loadSymbol(loader, "glCompressedMultiTexSubImage2DEXT", []);
10023         _CompressedMultiTexSubImage1DEXT = cast(PFN_glCompressedMultiTexSubImage1DEXT)loadSymbol(loader, "glCompressedMultiTexSubImage1DEXT", []);
10024         _GetCompressedMultiTexImageEXT = cast(PFN_glGetCompressedMultiTexImageEXT)loadSymbol(loader, "glGetCompressedMultiTexImageEXT", []);
10025         _MatrixLoadTransposefEXT = cast(PFN_glMatrixLoadTransposefEXT)loadSymbol(loader, "glMatrixLoadTransposefEXT", []);
10026         _MatrixLoadTransposedEXT = cast(PFN_glMatrixLoadTransposedEXT)loadSymbol(loader, "glMatrixLoadTransposedEXT", []);
10027         _MatrixMultTransposefEXT = cast(PFN_glMatrixMultTransposefEXT)loadSymbol(loader, "glMatrixMultTransposefEXT", []);
10028         _MatrixMultTransposedEXT = cast(PFN_glMatrixMultTransposedEXT)loadSymbol(loader, "glMatrixMultTransposedEXT", []);
10029         _NamedBufferDataEXT = cast(PFN_glNamedBufferDataEXT)loadSymbol(loader, "glNamedBufferDataEXT", []);
10030         _MapNamedBufferEXT = cast(PFN_glMapNamedBufferEXT)loadSymbol(loader, "glMapNamedBufferEXT", []);
10031         _UnmapNamedBufferEXT = cast(PFN_glUnmapNamedBufferEXT)loadSymbol(loader, "glUnmapNamedBufferEXT", []);
10032         _GetNamedBufferParameterivEXT = cast(PFN_glGetNamedBufferParameterivEXT)loadSymbol(loader, "glGetNamedBufferParameterivEXT", []);
10033         _GetNamedBufferPointervEXT = cast(PFN_glGetNamedBufferPointervEXT)loadSymbol(loader, "glGetNamedBufferPointervEXT", []);
10034         _GetNamedBufferSubDataEXT = cast(PFN_glGetNamedBufferSubDataEXT)loadSymbol(loader, "glGetNamedBufferSubDataEXT", []);
10035         _TextureBufferEXT = cast(PFN_glTextureBufferEXT)loadSymbol(loader, "glTextureBufferEXT", []);
10036         _MultiTexBufferEXT = cast(PFN_glMultiTexBufferEXT)loadSymbol(loader, "glMultiTexBufferEXT", []);
10037         _TextureParameterIivEXT = cast(PFN_glTextureParameterIivEXT)loadSymbol(loader, "glTextureParameterIivEXT", []);
10038         _TextureParameterIuivEXT = cast(PFN_glTextureParameterIuivEXT)loadSymbol(loader, "glTextureParameterIuivEXT", []);
10039         _GetTextureParameterIivEXT = cast(PFN_glGetTextureParameterIivEXT)loadSymbol(loader, "glGetTextureParameterIivEXT", []);
10040         _GetTextureParameterIuivEXT = cast(PFN_glGetTextureParameterIuivEXT)loadSymbol(loader, "glGetTextureParameterIuivEXT", []);
10041         _MultiTexParameterIivEXT = cast(PFN_glMultiTexParameterIivEXT)loadSymbol(loader, "glMultiTexParameterIivEXT", []);
10042         _MultiTexParameterIuivEXT = cast(PFN_glMultiTexParameterIuivEXT)loadSymbol(loader, "glMultiTexParameterIuivEXT", []);
10043         _GetMultiTexParameterIivEXT = cast(PFN_glGetMultiTexParameterIivEXT)loadSymbol(loader, "glGetMultiTexParameterIivEXT", []);
10044         _GetMultiTexParameterIuivEXT = cast(PFN_glGetMultiTexParameterIuivEXT)loadSymbol(loader, "glGetMultiTexParameterIuivEXT", []);
10045         _NamedProgramLocalParameters4fvEXT = cast(PFN_glNamedProgramLocalParameters4fvEXT)loadSymbol(loader, "glNamedProgramLocalParameters4fvEXT", []);
10046         _NamedProgramLocalParameterI4iEXT = cast(PFN_glNamedProgramLocalParameterI4iEXT)loadSymbol(loader, "glNamedProgramLocalParameterI4iEXT", []);
10047         _NamedProgramLocalParameterI4ivEXT = cast(PFN_glNamedProgramLocalParameterI4ivEXT)loadSymbol(loader, "glNamedProgramLocalParameterI4ivEXT", []);
10048         _NamedProgramLocalParametersI4ivEXT = cast(PFN_glNamedProgramLocalParametersI4ivEXT)loadSymbol(loader, "glNamedProgramLocalParametersI4ivEXT", []);
10049         _NamedProgramLocalParameterI4uiEXT = cast(PFN_glNamedProgramLocalParameterI4uiEXT)loadSymbol(loader, "glNamedProgramLocalParameterI4uiEXT", []);
10050         _NamedProgramLocalParameterI4uivEXT = cast(PFN_glNamedProgramLocalParameterI4uivEXT)loadSymbol(loader, "glNamedProgramLocalParameterI4uivEXT", []);
10051         _NamedProgramLocalParametersI4uivEXT = cast(PFN_glNamedProgramLocalParametersI4uivEXT)loadSymbol(loader, "glNamedProgramLocalParametersI4uivEXT", []);
10052         _GetNamedProgramLocalParameterIivEXT = cast(PFN_glGetNamedProgramLocalParameterIivEXT)loadSymbol(loader, "glGetNamedProgramLocalParameterIivEXT", []);
10053         _GetNamedProgramLocalParameterIuivEXT = cast(PFN_glGetNamedProgramLocalParameterIuivEXT)loadSymbol(loader, "glGetNamedProgramLocalParameterIuivEXT", []);
10054         _EnableClientStateiEXT = cast(PFN_glEnableClientStateiEXT)loadSymbol(loader, "glEnableClientStateiEXT", []);
10055         _DisableClientStateiEXT = cast(PFN_glDisableClientStateiEXT)loadSymbol(loader, "glDisableClientStateiEXT", []);
10056         _GetPointeri_vEXT = cast(PFN_glGetPointeri_vEXT)loadSymbol(loader, "glGetPointeri_vEXT", []);
10057         _NamedProgramStringEXT = cast(PFN_glNamedProgramStringEXT)loadSymbol(loader, "glNamedProgramStringEXT", []);
10058         _NamedProgramLocalParameter4dEXT = cast(PFN_glNamedProgramLocalParameter4dEXT)loadSymbol(loader, "glNamedProgramLocalParameter4dEXT", []);
10059         _NamedProgramLocalParameter4dvEXT = cast(PFN_glNamedProgramLocalParameter4dvEXT)loadSymbol(loader, "glNamedProgramLocalParameter4dvEXT", []);
10060         _NamedProgramLocalParameter4fEXT = cast(PFN_glNamedProgramLocalParameter4fEXT)loadSymbol(loader, "glNamedProgramLocalParameter4fEXT", []);
10061         _NamedProgramLocalParameter4fvEXT = cast(PFN_glNamedProgramLocalParameter4fvEXT)loadSymbol(loader, "glNamedProgramLocalParameter4fvEXT", []);
10062         _GetNamedProgramLocalParameterdvEXT = cast(PFN_glGetNamedProgramLocalParameterdvEXT)loadSymbol(loader, "glGetNamedProgramLocalParameterdvEXT", []);
10063         _GetNamedProgramLocalParameterfvEXT = cast(PFN_glGetNamedProgramLocalParameterfvEXT)loadSymbol(loader, "glGetNamedProgramLocalParameterfvEXT", []);
10064         _GetNamedProgramivEXT = cast(PFN_glGetNamedProgramivEXT)loadSymbol(loader, "glGetNamedProgramivEXT", []);
10065         _GetNamedProgramStringEXT = cast(PFN_glGetNamedProgramStringEXT)loadSymbol(loader, "glGetNamedProgramStringEXT", []);
10066         _NamedRenderbufferStorageEXT = cast(PFN_glNamedRenderbufferStorageEXT)loadSymbol(loader, "glNamedRenderbufferStorageEXT", []);
10067         _GetNamedRenderbufferParameterivEXT = cast(PFN_glGetNamedRenderbufferParameterivEXT)loadSymbol(loader, "glGetNamedRenderbufferParameterivEXT", []);
10068         _NamedRenderbufferStorageMultisampleEXT = cast(PFN_glNamedRenderbufferStorageMultisampleEXT)loadSymbol(loader, "glNamedRenderbufferStorageMultisampleEXT", []);
10069         _NamedRenderbufferStorageMultisampleCoverageEXT = cast(PFN_glNamedRenderbufferStorageMultisampleCoverageEXT)loadSymbol(loader, "glNamedRenderbufferStorageMultisampleCoverageEXT", []);
10070         _CheckNamedFramebufferStatusEXT = cast(PFN_glCheckNamedFramebufferStatusEXT)loadSymbol(loader, "glCheckNamedFramebufferStatusEXT", []);
10071         _NamedFramebufferTexture1DEXT = cast(PFN_glNamedFramebufferTexture1DEXT)loadSymbol(loader, "glNamedFramebufferTexture1DEXT", []);
10072         _NamedFramebufferTexture2DEXT = cast(PFN_glNamedFramebufferTexture2DEXT)loadSymbol(loader, "glNamedFramebufferTexture2DEXT", []);
10073         _NamedFramebufferTexture3DEXT = cast(PFN_glNamedFramebufferTexture3DEXT)loadSymbol(loader, "glNamedFramebufferTexture3DEXT", []);
10074         _NamedFramebufferRenderbufferEXT = cast(PFN_glNamedFramebufferRenderbufferEXT)loadSymbol(loader, "glNamedFramebufferRenderbufferEXT", []);
10075         _GetNamedFramebufferAttachmentParameterivEXT = cast(PFN_glGetNamedFramebufferAttachmentParameterivEXT)loadSymbol(loader, "glGetNamedFramebufferAttachmentParameterivEXT", []);
10076         _GenerateTextureMipmapEXT = cast(PFN_glGenerateTextureMipmapEXT)loadSymbol(loader, "glGenerateTextureMipmapEXT", []);
10077         _GenerateMultiTexMipmapEXT = cast(PFN_glGenerateMultiTexMipmapEXT)loadSymbol(loader, "glGenerateMultiTexMipmapEXT", []);
10078         _FramebufferDrawBufferEXT = cast(PFN_glFramebufferDrawBufferEXT)loadSymbol(loader, "glFramebufferDrawBufferEXT", []);
10079         _FramebufferDrawBuffersEXT = cast(PFN_glFramebufferDrawBuffersEXT)loadSymbol(loader, "glFramebufferDrawBuffersEXT", []);
10080         _FramebufferReadBufferEXT = cast(PFN_glFramebufferReadBufferEXT)loadSymbol(loader, "glFramebufferReadBufferEXT", []);
10081         _GetFramebufferParameterivEXT = cast(PFN_glGetFramebufferParameterivEXT)loadSymbol(loader, "glGetFramebufferParameterivEXT", []);
10082         _NamedCopyBufferSubDataEXT = cast(PFN_glNamedCopyBufferSubDataEXT)loadSymbol(loader, "glNamedCopyBufferSubDataEXT", []);
10083         _NamedFramebufferTextureEXT = cast(PFN_glNamedFramebufferTextureEXT)loadSymbol(loader, "glNamedFramebufferTextureEXT", []);
10084         _NamedFramebufferTextureLayerEXT = cast(PFN_glNamedFramebufferTextureLayerEXT)loadSymbol(loader, "glNamedFramebufferTextureLayerEXT", []);
10085         _NamedFramebufferTextureFaceEXT = cast(PFN_glNamedFramebufferTextureFaceEXT)loadSymbol(loader, "glNamedFramebufferTextureFaceEXT", []);
10086         _TextureRenderbufferEXT = cast(PFN_glTextureRenderbufferEXT)loadSymbol(loader, "glTextureRenderbufferEXT", []);
10087         _MultiTexRenderbufferEXT = cast(PFN_glMultiTexRenderbufferEXT)loadSymbol(loader, "glMultiTexRenderbufferEXT", []);
10088         _VertexArrayVertexOffsetEXT = cast(PFN_glVertexArrayVertexOffsetEXT)loadSymbol(loader, "glVertexArrayVertexOffsetEXT", []);
10089         _VertexArrayColorOffsetEXT = cast(PFN_glVertexArrayColorOffsetEXT)loadSymbol(loader, "glVertexArrayColorOffsetEXT", []);
10090         _VertexArrayEdgeFlagOffsetEXT = cast(PFN_glVertexArrayEdgeFlagOffsetEXT)loadSymbol(loader, "glVertexArrayEdgeFlagOffsetEXT", []);
10091         _VertexArrayIndexOffsetEXT = cast(PFN_glVertexArrayIndexOffsetEXT)loadSymbol(loader, "glVertexArrayIndexOffsetEXT", []);
10092         _VertexArrayNormalOffsetEXT = cast(PFN_glVertexArrayNormalOffsetEXT)loadSymbol(loader, "glVertexArrayNormalOffsetEXT", []);
10093         _VertexArrayTexCoordOffsetEXT = cast(PFN_glVertexArrayTexCoordOffsetEXT)loadSymbol(loader, "glVertexArrayTexCoordOffsetEXT", []);
10094         _VertexArrayMultiTexCoordOffsetEXT = cast(PFN_glVertexArrayMultiTexCoordOffsetEXT)loadSymbol(loader, "glVertexArrayMultiTexCoordOffsetEXT", []);
10095         _VertexArrayFogCoordOffsetEXT = cast(PFN_glVertexArrayFogCoordOffsetEXT)loadSymbol(loader, "glVertexArrayFogCoordOffsetEXT", []);
10096         _VertexArraySecondaryColorOffsetEXT = cast(PFN_glVertexArraySecondaryColorOffsetEXT)loadSymbol(loader, "glVertexArraySecondaryColorOffsetEXT", []);
10097         _VertexArrayVertexAttribOffsetEXT = cast(PFN_glVertexArrayVertexAttribOffsetEXT)loadSymbol(loader, "glVertexArrayVertexAttribOffsetEXT", []);
10098         _VertexArrayVertexAttribIOffsetEXT = cast(PFN_glVertexArrayVertexAttribIOffsetEXT)loadSymbol(loader, "glVertexArrayVertexAttribIOffsetEXT", []);
10099         _EnableVertexArrayEXT = cast(PFN_glEnableVertexArrayEXT)loadSymbol(loader, "glEnableVertexArrayEXT", []);
10100         _DisableVertexArrayEXT = cast(PFN_glDisableVertexArrayEXT)loadSymbol(loader, "glDisableVertexArrayEXT", []);
10101         _EnableVertexArrayAttribEXT = cast(PFN_glEnableVertexArrayAttribEXT)loadSymbol(loader, "glEnableVertexArrayAttribEXT", []);
10102         _DisableVertexArrayAttribEXT = cast(PFN_glDisableVertexArrayAttribEXT)loadSymbol(loader, "glDisableVertexArrayAttribEXT", []);
10103         _GetVertexArrayIntegervEXT = cast(PFN_glGetVertexArrayIntegervEXT)loadSymbol(loader, "glGetVertexArrayIntegervEXT", []);
10104         _GetVertexArrayPointervEXT = cast(PFN_glGetVertexArrayPointervEXT)loadSymbol(loader, "glGetVertexArrayPointervEXT", []);
10105         _GetVertexArrayIntegeri_vEXT = cast(PFN_glGetVertexArrayIntegeri_vEXT)loadSymbol(loader, "glGetVertexArrayIntegeri_vEXT", []);
10106         _GetVertexArrayPointeri_vEXT = cast(PFN_glGetVertexArrayPointeri_vEXT)loadSymbol(loader, "glGetVertexArrayPointeri_vEXT", []);
10107         _MapNamedBufferRangeEXT = cast(PFN_glMapNamedBufferRangeEXT)loadSymbol(loader, "glMapNamedBufferRangeEXT", []);
10108         _FlushMappedNamedBufferRangeEXT = cast(PFN_glFlushMappedNamedBufferRangeEXT)loadSymbol(loader, "glFlushMappedNamedBufferRangeEXT", []);
10109         _ClearNamedBufferDataEXT = cast(PFN_glClearNamedBufferDataEXT)loadSymbol(loader, "glClearNamedBufferDataEXT", []);
10110         _ClearNamedBufferSubDataEXT = cast(PFN_glClearNamedBufferSubDataEXT)loadSymbol(loader, "glClearNamedBufferSubDataEXT", []);
10111         _NamedFramebufferParameteriEXT = cast(PFN_glNamedFramebufferParameteriEXT)loadSymbol(loader, "glNamedFramebufferParameteriEXT", []);
10112         _GetNamedFramebufferParameterivEXT = cast(PFN_glGetNamedFramebufferParameterivEXT)loadSymbol(loader, "glGetNamedFramebufferParameterivEXT", []);
10113         _ProgramUniform1dEXT = cast(PFN_glProgramUniform1dEXT)loadSymbol(loader, "glProgramUniform1dEXT", []);
10114         _ProgramUniform2dEXT = cast(PFN_glProgramUniform2dEXT)loadSymbol(loader, "glProgramUniform2dEXT", []);
10115         _ProgramUniform3dEXT = cast(PFN_glProgramUniform3dEXT)loadSymbol(loader, "glProgramUniform3dEXT", []);
10116         _ProgramUniform4dEXT = cast(PFN_glProgramUniform4dEXT)loadSymbol(loader, "glProgramUniform4dEXT", []);
10117         _ProgramUniform1dvEXT = cast(PFN_glProgramUniform1dvEXT)loadSymbol(loader, "glProgramUniform1dvEXT", []);
10118         _ProgramUniform2dvEXT = cast(PFN_glProgramUniform2dvEXT)loadSymbol(loader, "glProgramUniform2dvEXT", []);
10119         _ProgramUniform3dvEXT = cast(PFN_glProgramUniform3dvEXT)loadSymbol(loader, "glProgramUniform3dvEXT", []);
10120         _ProgramUniform4dvEXT = cast(PFN_glProgramUniform4dvEXT)loadSymbol(loader, "glProgramUniform4dvEXT", []);
10121         _ProgramUniformMatrix2dvEXT = cast(PFN_glProgramUniformMatrix2dvEXT)loadSymbol(loader, "glProgramUniformMatrix2dvEXT", []);
10122         _ProgramUniformMatrix3dvEXT = cast(PFN_glProgramUniformMatrix3dvEXT)loadSymbol(loader, "glProgramUniformMatrix3dvEXT", []);
10123         _ProgramUniformMatrix4dvEXT = cast(PFN_glProgramUniformMatrix4dvEXT)loadSymbol(loader, "glProgramUniformMatrix4dvEXT", []);
10124         _ProgramUniformMatrix2x3dvEXT = cast(PFN_glProgramUniformMatrix2x3dvEXT)loadSymbol(loader, "glProgramUniformMatrix2x3dvEXT", []);
10125         _ProgramUniformMatrix2x4dvEXT = cast(PFN_glProgramUniformMatrix2x4dvEXT)loadSymbol(loader, "glProgramUniformMatrix2x4dvEXT", []);
10126         _ProgramUniformMatrix3x2dvEXT = cast(PFN_glProgramUniformMatrix3x2dvEXT)loadSymbol(loader, "glProgramUniformMatrix3x2dvEXT", []);
10127         _ProgramUniformMatrix3x4dvEXT = cast(PFN_glProgramUniformMatrix3x4dvEXT)loadSymbol(loader, "glProgramUniformMatrix3x4dvEXT", []);
10128         _ProgramUniformMatrix4x2dvEXT = cast(PFN_glProgramUniformMatrix4x2dvEXT)loadSymbol(loader, "glProgramUniformMatrix4x2dvEXT", []);
10129         _ProgramUniformMatrix4x3dvEXT = cast(PFN_glProgramUniformMatrix4x3dvEXT)loadSymbol(loader, "glProgramUniformMatrix4x3dvEXT", []);
10130         _TextureBufferRangeEXT = cast(PFN_glTextureBufferRangeEXT)loadSymbol(loader, "glTextureBufferRangeEXT", []);
10131         _TextureStorage1DEXT = cast(PFN_glTextureStorage1DEXT)loadSymbol(loader, "glTextureStorage1DEXT", []);
10132         _TextureStorage2DEXT = cast(PFN_glTextureStorage2DEXT)loadSymbol(loader, "glTextureStorage2DEXT", []);
10133         _TextureStorage3DEXT = cast(PFN_glTextureStorage3DEXT)loadSymbol(loader, "glTextureStorage3DEXT", []);
10134         _TextureStorage2DMultisampleEXT = cast(PFN_glTextureStorage2DMultisampleEXT)loadSymbol(loader, "glTextureStorage2DMultisampleEXT", []);
10135         _TextureStorage3DMultisampleEXT = cast(PFN_glTextureStorage3DMultisampleEXT)loadSymbol(loader, "glTextureStorage3DMultisampleEXT", []);
10136         _VertexArrayBindVertexBufferEXT = cast(PFN_glVertexArrayBindVertexBufferEXT)loadSymbol(loader, "glVertexArrayBindVertexBufferEXT", []);
10137         _VertexArrayVertexAttribFormatEXT = cast(PFN_glVertexArrayVertexAttribFormatEXT)loadSymbol(loader, "glVertexArrayVertexAttribFormatEXT", []);
10138         _VertexArrayVertexAttribIFormatEXT = cast(PFN_glVertexArrayVertexAttribIFormatEXT)loadSymbol(loader, "glVertexArrayVertexAttribIFormatEXT", []);
10139         _VertexArrayVertexAttribLFormatEXT = cast(PFN_glVertexArrayVertexAttribLFormatEXT)loadSymbol(loader, "glVertexArrayVertexAttribLFormatEXT", []);
10140         _VertexArrayVertexAttribBindingEXT = cast(PFN_glVertexArrayVertexAttribBindingEXT)loadSymbol(loader, "glVertexArrayVertexAttribBindingEXT", []);
10141         _VertexArrayVertexBindingDivisorEXT = cast(PFN_glVertexArrayVertexBindingDivisorEXT)loadSymbol(loader, "glVertexArrayVertexBindingDivisorEXT", []);
10142         _VertexArrayVertexAttribLOffsetEXT = cast(PFN_glVertexArrayVertexAttribLOffsetEXT)loadSymbol(loader, "glVertexArrayVertexAttribLOffsetEXT", []);
10143         _TexturePageCommitmentEXT = cast(PFN_glTexturePageCommitmentEXT)loadSymbol(loader, "glTexturePageCommitmentEXT", []);
10144         _VertexArrayVertexAttribDivisorEXT = cast(PFN_glVertexArrayVertexAttribDivisorEXT)loadSymbol(loader, "glVertexArrayVertexAttribDivisorEXT", []);
10145 
10146         // GL_EXT_raster_multisample,
10147         _RasterSamplesEXT = cast(PFN_glRasterSamplesEXT)loadSymbol(loader, "glRasterSamplesEXT", []);
10148 
10149         // GL_EXT_separate_shader_objects,
10150         _UseShaderProgramEXT = cast(PFN_glUseShaderProgramEXT)loadSymbol(loader, "glUseShaderProgramEXT", []);
10151         _ActiveProgramEXT = cast(PFN_glActiveProgramEXT)loadSymbol(loader, "glActiveProgramEXT", []);
10152         _CreateShaderProgramEXT = cast(PFN_glCreateShaderProgramEXT)loadSymbol(loader, "glCreateShaderProgramEXT", []);
10153 
10154         // GL_EXT_window_rectangles,
10155         _WindowRectanglesEXT = cast(PFN_glWindowRectanglesEXT)loadSymbol(loader, "glWindowRectanglesEXT", []);
10156 
10157         // GL_INTEL_framebuffer_CMAA,
10158         _ApplyFramebufferAttachmentCMAAINTEL = cast(PFN_glApplyFramebufferAttachmentCMAAINTEL)loadSymbol(loader, "glApplyFramebufferAttachmentCMAAINTEL", []);
10159 
10160         // GL_INTEL_performance_query,
10161         _BeginPerfQueryINTEL = cast(PFN_glBeginPerfQueryINTEL)loadSymbol(loader, "glBeginPerfQueryINTEL", []);
10162         _CreatePerfQueryINTEL = cast(PFN_glCreatePerfQueryINTEL)loadSymbol(loader, "glCreatePerfQueryINTEL", []);
10163         _DeletePerfQueryINTEL = cast(PFN_glDeletePerfQueryINTEL)loadSymbol(loader, "glDeletePerfQueryINTEL", []);
10164         _EndPerfQueryINTEL = cast(PFN_glEndPerfQueryINTEL)loadSymbol(loader, "glEndPerfQueryINTEL", []);
10165         _GetFirstPerfQueryIdINTEL = cast(PFN_glGetFirstPerfQueryIdINTEL)loadSymbol(loader, "glGetFirstPerfQueryIdINTEL", []);
10166         _GetNextPerfQueryIdINTEL = cast(PFN_glGetNextPerfQueryIdINTEL)loadSymbol(loader, "glGetNextPerfQueryIdINTEL", []);
10167         _GetPerfCounterInfoINTEL = cast(PFN_glGetPerfCounterInfoINTEL)loadSymbol(loader, "glGetPerfCounterInfoINTEL", []);
10168         _GetPerfQueryDataINTEL = cast(PFN_glGetPerfQueryDataINTEL)loadSymbol(loader, "glGetPerfQueryDataINTEL", []);
10169         _GetPerfQueryIdByNameINTEL = cast(PFN_glGetPerfQueryIdByNameINTEL)loadSymbol(loader, "glGetPerfQueryIdByNameINTEL", []);
10170         _GetPerfQueryInfoINTEL = cast(PFN_glGetPerfQueryInfoINTEL)loadSymbol(loader, "glGetPerfQueryInfoINTEL", []);
10171 
10172         // GL_NV_bindless_multi_draw_indirect,
10173         _MultiDrawArraysIndirectBindlessNV = cast(PFN_glMultiDrawArraysIndirectBindlessNV)loadSymbol(loader, "glMultiDrawArraysIndirectBindlessNV", []);
10174         _MultiDrawElementsIndirectBindlessNV = cast(PFN_glMultiDrawElementsIndirectBindlessNV)loadSymbol(loader, "glMultiDrawElementsIndirectBindlessNV", []);
10175 
10176         // GL_NV_bindless_multi_draw_indirect_count,
10177         _MultiDrawArraysIndirectBindlessCountNV = cast(PFN_glMultiDrawArraysIndirectBindlessCountNV)loadSymbol(loader, "glMultiDrawArraysIndirectBindlessCountNV", []);
10178         _MultiDrawElementsIndirectBindlessCountNV = cast(PFN_glMultiDrawElementsIndirectBindlessCountNV)loadSymbol(loader, "glMultiDrawElementsIndirectBindlessCountNV", []);
10179 
10180         // GL_NV_bindless_texture,
10181         _GetTextureHandleNV = cast(PFN_glGetTextureHandleNV)loadSymbol(loader, "glGetTextureHandleNV", []);
10182         _GetTextureSamplerHandleNV = cast(PFN_glGetTextureSamplerHandleNV)loadSymbol(loader, "glGetTextureSamplerHandleNV", []);
10183         _MakeTextureHandleResidentNV = cast(PFN_glMakeTextureHandleResidentNV)loadSymbol(loader, "glMakeTextureHandleResidentNV", []);
10184         _MakeTextureHandleNonResidentNV = cast(PFN_glMakeTextureHandleNonResidentNV)loadSymbol(loader, "glMakeTextureHandleNonResidentNV", []);
10185         _GetImageHandleNV = cast(PFN_glGetImageHandleNV)loadSymbol(loader, "glGetImageHandleNV", []);
10186         _MakeImageHandleResidentNV = cast(PFN_glMakeImageHandleResidentNV)loadSymbol(loader, "glMakeImageHandleResidentNV", []);
10187         _MakeImageHandleNonResidentNV = cast(PFN_glMakeImageHandleNonResidentNV)loadSymbol(loader, "glMakeImageHandleNonResidentNV", []);
10188         _UniformHandleui64NV = cast(PFN_glUniformHandleui64NV)loadSymbol(loader, "glUniformHandleui64NV", []);
10189         _UniformHandleui64vNV = cast(PFN_glUniformHandleui64vNV)loadSymbol(loader, "glUniformHandleui64vNV", []);
10190         _ProgramUniformHandleui64NV = cast(PFN_glProgramUniformHandleui64NV)loadSymbol(loader, "glProgramUniformHandleui64NV", []);
10191         _ProgramUniformHandleui64vNV = cast(PFN_glProgramUniformHandleui64vNV)loadSymbol(loader, "glProgramUniformHandleui64vNV", []);
10192         _IsTextureHandleResidentNV = cast(PFN_glIsTextureHandleResidentNV)loadSymbol(loader, "glIsTextureHandleResidentNV", []);
10193         _IsImageHandleResidentNV = cast(PFN_glIsImageHandleResidentNV)loadSymbol(loader, "glIsImageHandleResidentNV", []);
10194 
10195         // GL_NV_blend_equation_advanced,
10196         _BlendParameteriNV = cast(PFN_glBlendParameteriNV)loadSymbol(loader, "glBlendParameteriNV", []);
10197         _BlendBarrierNV = cast(PFN_glBlendBarrierNV)loadSymbol(loader, "glBlendBarrierNV", []);
10198 
10199         // GL_NV_clip_space_w_scaling,
10200         _ViewportPositionWScaleNV = cast(PFN_glViewportPositionWScaleNV)loadSymbol(loader, "glViewportPositionWScaleNV", []);
10201 
10202         // GL_NV_command_list,
10203         _CreateStatesNV = cast(PFN_glCreateStatesNV)loadSymbol(loader, "glCreateStatesNV", []);
10204         _DeleteStatesNV = cast(PFN_glDeleteStatesNV)loadSymbol(loader, "glDeleteStatesNV", []);
10205         _IsStateNV = cast(PFN_glIsStateNV)loadSymbol(loader, "glIsStateNV", []);
10206         _StateCaptureNV = cast(PFN_glStateCaptureNV)loadSymbol(loader, "glStateCaptureNV", []);
10207         _GetCommandHeaderNV = cast(PFN_glGetCommandHeaderNV)loadSymbol(loader, "glGetCommandHeaderNV", []);
10208         _GetStageIndexNV = cast(PFN_glGetStageIndexNV)loadSymbol(loader, "glGetStageIndexNV", []);
10209         _DrawCommandsNV = cast(PFN_glDrawCommandsNV)loadSymbol(loader, "glDrawCommandsNV", []);
10210         _DrawCommandsAddressNV = cast(PFN_glDrawCommandsAddressNV)loadSymbol(loader, "glDrawCommandsAddressNV", []);
10211         _DrawCommandsStatesNV = cast(PFN_glDrawCommandsStatesNV)loadSymbol(loader, "glDrawCommandsStatesNV", []);
10212         _DrawCommandsStatesAddressNV = cast(PFN_glDrawCommandsStatesAddressNV)loadSymbol(loader, "glDrawCommandsStatesAddressNV", []);
10213         _CreateCommandListsNV = cast(PFN_glCreateCommandListsNV)loadSymbol(loader, "glCreateCommandListsNV", []);
10214         _DeleteCommandListsNV = cast(PFN_glDeleteCommandListsNV)loadSymbol(loader, "glDeleteCommandListsNV", []);
10215         _IsCommandListNV = cast(PFN_glIsCommandListNV)loadSymbol(loader, "glIsCommandListNV", []);
10216         _ListDrawCommandsStatesClientNV = cast(PFN_glListDrawCommandsStatesClientNV)loadSymbol(loader, "glListDrawCommandsStatesClientNV", []);
10217         _CommandListSegmentsNV = cast(PFN_glCommandListSegmentsNV)loadSymbol(loader, "glCommandListSegmentsNV", []);
10218         _CompileCommandListNV = cast(PFN_glCompileCommandListNV)loadSymbol(loader, "glCompileCommandListNV", []);
10219         _CallCommandListNV = cast(PFN_glCallCommandListNV)loadSymbol(loader, "glCallCommandListNV", []);
10220 
10221         // GL_NV_conservative_raster,
10222         _SubpixelPrecisionBiasNV = cast(PFN_glSubpixelPrecisionBiasNV)loadSymbol(loader, "glSubpixelPrecisionBiasNV", []);
10223 
10224         // GL_NV_conservative_raster_dilate,
10225         _ConservativeRasterParameterfNV = cast(PFN_glConservativeRasterParameterfNV)loadSymbol(loader, "glConservativeRasterParameterfNV", []);
10226 
10227         // GL_NV_conservative_raster_pre_snap_triangles,
10228         _ConservativeRasterParameteriNV = cast(PFN_glConservativeRasterParameteriNV)loadSymbol(loader, "glConservativeRasterParameteriNV", []);
10229 
10230         // GL_NV_draw_vulkan_image,
10231         _DrawVkImageNV = cast(PFN_glDrawVkImageNV)loadSymbol(loader, "glDrawVkImageNV", []);
10232         _GetVkProcAddrNV = cast(PFN_glGetVkProcAddrNV)loadSymbol(loader, "glGetVkProcAddrNV", []);
10233         _WaitVkSemaphoreNV = cast(PFN_glWaitVkSemaphoreNV)loadSymbol(loader, "glWaitVkSemaphoreNV", []);
10234         _SignalVkSemaphoreNV = cast(PFN_glSignalVkSemaphoreNV)loadSymbol(loader, "glSignalVkSemaphoreNV", []);
10235         _SignalVkFenceNV = cast(PFN_glSignalVkFenceNV)loadSymbol(loader, "glSignalVkFenceNV", []);
10236 
10237         // GL_NV_fragment_coverage_to_color,
10238         _FragmentCoverageColorNV = cast(PFN_glFragmentCoverageColorNV)loadSymbol(loader, "glFragmentCoverageColorNV", []);
10239 
10240         // GL_NV_framebuffer_mixed_samples,
10241         _CoverageModulationTableNV = cast(PFN_glCoverageModulationTableNV)loadSymbol(loader, "glCoverageModulationTableNV", []);
10242         _GetCoverageModulationTableNV = cast(PFN_glGetCoverageModulationTableNV)loadSymbol(loader, "glGetCoverageModulationTableNV", []);
10243         _CoverageModulationNV = cast(PFN_glCoverageModulationNV)loadSymbol(loader, "glCoverageModulationNV", []);
10244 
10245         // GL_NV_framebuffer_multisample_coverage,
10246         _RenderbufferStorageMultisampleCoverageNV = cast(PFN_glRenderbufferStorageMultisampleCoverageNV)loadSymbol(loader, "glRenderbufferStorageMultisampleCoverageNV", []);
10247 
10248         // GL_NV_gpu_shader5,
10249         _Uniform1i64NV = cast(PFN_glUniform1i64NV)loadSymbol(loader, "glUniform1i64NV", []);
10250         _Uniform2i64NV = cast(PFN_glUniform2i64NV)loadSymbol(loader, "glUniform2i64NV", []);
10251         _Uniform3i64NV = cast(PFN_glUniform3i64NV)loadSymbol(loader, "glUniform3i64NV", []);
10252         _Uniform4i64NV = cast(PFN_glUniform4i64NV)loadSymbol(loader, "glUniform4i64NV", []);
10253         _Uniform1i64vNV = cast(PFN_glUniform1i64vNV)loadSymbol(loader, "glUniform1i64vNV", []);
10254         _Uniform2i64vNV = cast(PFN_glUniform2i64vNV)loadSymbol(loader, "glUniform2i64vNV", []);
10255         _Uniform3i64vNV = cast(PFN_glUniform3i64vNV)loadSymbol(loader, "glUniform3i64vNV", []);
10256         _Uniform4i64vNV = cast(PFN_glUniform4i64vNV)loadSymbol(loader, "glUniform4i64vNV", []);
10257         _Uniform1ui64NV = cast(PFN_glUniform1ui64NV)loadSymbol(loader, "glUniform1ui64NV", []);
10258         _Uniform2ui64NV = cast(PFN_glUniform2ui64NV)loadSymbol(loader, "glUniform2ui64NV", []);
10259         _Uniform3ui64NV = cast(PFN_glUniform3ui64NV)loadSymbol(loader, "glUniform3ui64NV", []);
10260         _Uniform4ui64NV = cast(PFN_glUniform4ui64NV)loadSymbol(loader, "glUniform4ui64NV", []);
10261         _Uniform1ui64vNV = cast(PFN_glUniform1ui64vNV)loadSymbol(loader, "glUniform1ui64vNV", []);
10262         _Uniform2ui64vNV = cast(PFN_glUniform2ui64vNV)loadSymbol(loader, "glUniform2ui64vNV", []);
10263         _Uniform3ui64vNV = cast(PFN_glUniform3ui64vNV)loadSymbol(loader, "glUniform3ui64vNV", []);
10264         _Uniform4ui64vNV = cast(PFN_glUniform4ui64vNV)loadSymbol(loader, "glUniform4ui64vNV", []);
10265         _GetUniformi64vNV = cast(PFN_glGetUniformi64vNV)loadSymbol(loader, "glGetUniformi64vNV", []);
10266         _ProgramUniform1i64NV = cast(PFN_glProgramUniform1i64NV)loadSymbol(loader, "glProgramUniform1i64NV", []);
10267         _ProgramUniform2i64NV = cast(PFN_glProgramUniform2i64NV)loadSymbol(loader, "glProgramUniform2i64NV", []);
10268         _ProgramUniform3i64NV = cast(PFN_glProgramUniform3i64NV)loadSymbol(loader, "glProgramUniform3i64NV", []);
10269         _ProgramUniform4i64NV = cast(PFN_glProgramUniform4i64NV)loadSymbol(loader, "glProgramUniform4i64NV", []);
10270         _ProgramUniform1i64vNV = cast(PFN_glProgramUniform1i64vNV)loadSymbol(loader, "glProgramUniform1i64vNV", []);
10271         _ProgramUniform2i64vNV = cast(PFN_glProgramUniform2i64vNV)loadSymbol(loader, "glProgramUniform2i64vNV", []);
10272         _ProgramUniform3i64vNV = cast(PFN_glProgramUniform3i64vNV)loadSymbol(loader, "glProgramUniform3i64vNV", []);
10273         _ProgramUniform4i64vNV = cast(PFN_glProgramUniform4i64vNV)loadSymbol(loader, "glProgramUniform4i64vNV", []);
10274         _ProgramUniform1ui64NV = cast(PFN_glProgramUniform1ui64NV)loadSymbol(loader, "glProgramUniform1ui64NV", []);
10275         _ProgramUniform2ui64NV = cast(PFN_glProgramUniform2ui64NV)loadSymbol(loader, "glProgramUniform2ui64NV", []);
10276         _ProgramUniform3ui64NV = cast(PFN_glProgramUniform3ui64NV)loadSymbol(loader, "glProgramUniform3ui64NV", []);
10277         _ProgramUniform4ui64NV = cast(PFN_glProgramUniform4ui64NV)loadSymbol(loader, "glProgramUniform4ui64NV", []);
10278         _ProgramUniform1ui64vNV = cast(PFN_glProgramUniform1ui64vNV)loadSymbol(loader, "glProgramUniform1ui64vNV", []);
10279         _ProgramUniform2ui64vNV = cast(PFN_glProgramUniform2ui64vNV)loadSymbol(loader, "glProgramUniform2ui64vNV", []);
10280         _ProgramUniform3ui64vNV = cast(PFN_glProgramUniform3ui64vNV)loadSymbol(loader, "glProgramUniform3ui64vNV", []);
10281         _ProgramUniform4ui64vNV = cast(PFN_glProgramUniform4ui64vNV)loadSymbol(loader, "glProgramUniform4ui64vNV", []);
10282 
10283         // GL_NV_internalformat_sample_query,
10284         _GetInternalformatSampleivNV = cast(PFN_glGetInternalformatSampleivNV)loadSymbol(loader, "glGetInternalformatSampleivNV", []);
10285 
10286         // GL_NV_path_rendering,
10287         _GenPathsNV = cast(PFN_glGenPathsNV)loadSymbol(loader, "glGenPathsNV", []);
10288         _DeletePathsNV = cast(PFN_glDeletePathsNV)loadSymbol(loader, "glDeletePathsNV", []);
10289         _IsPathNV = cast(PFN_glIsPathNV)loadSymbol(loader, "glIsPathNV", []);
10290         _PathCommandsNV = cast(PFN_glPathCommandsNV)loadSymbol(loader, "glPathCommandsNV", []);
10291         _PathCoordsNV = cast(PFN_glPathCoordsNV)loadSymbol(loader, "glPathCoordsNV", []);
10292         _PathSubCommandsNV = cast(PFN_glPathSubCommandsNV)loadSymbol(loader, "glPathSubCommandsNV", []);
10293         _PathSubCoordsNV = cast(PFN_glPathSubCoordsNV)loadSymbol(loader, "glPathSubCoordsNV", []);
10294         _PathStringNV = cast(PFN_glPathStringNV)loadSymbol(loader, "glPathStringNV", []);
10295         _PathGlyphsNV = cast(PFN_glPathGlyphsNV)loadSymbol(loader, "glPathGlyphsNV", []);
10296         _PathGlyphRangeNV = cast(PFN_glPathGlyphRangeNV)loadSymbol(loader, "glPathGlyphRangeNV", []);
10297         _WeightPathsNV = cast(PFN_glWeightPathsNV)loadSymbol(loader, "glWeightPathsNV", []);
10298         _CopyPathNV = cast(PFN_glCopyPathNV)loadSymbol(loader, "glCopyPathNV", []);
10299         _InterpolatePathsNV = cast(PFN_glInterpolatePathsNV)loadSymbol(loader, "glInterpolatePathsNV", []);
10300         _TransformPathNV = cast(PFN_glTransformPathNV)loadSymbol(loader, "glTransformPathNV", []);
10301         _PathParameterivNV = cast(PFN_glPathParameterivNV)loadSymbol(loader, "glPathParameterivNV", []);
10302         _PathParameteriNV = cast(PFN_glPathParameteriNV)loadSymbol(loader, "glPathParameteriNV", []);
10303         _PathParameterfvNV = cast(PFN_glPathParameterfvNV)loadSymbol(loader, "glPathParameterfvNV", []);
10304         _PathParameterfNV = cast(PFN_glPathParameterfNV)loadSymbol(loader, "glPathParameterfNV", []);
10305         _PathDashArrayNV = cast(PFN_glPathDashArrayNV)loadSymbol(loader, "glPathDashArrayNV", []);
10306         _PathStencilFuncNV = cast(PFN_glPathStencilFuncNV)loadSymbol(loader, "glPathStencilFuncNV", []);
10307         _PathStencilDepthOffsetNV = cast(PFN_glPathStencilDepthOffsetNV)loadSymbol(loader, "glPathStencilDepthOffsetNV", []);
10308         _StencilFillPathNV = cast(PFN_glStencilFillPathNV)loadSymbol(loader, "glStencilFillPathNV", []);
10309         _StencilStrokePathNV = cast(PFN_glStencilStrokePathNV)loadSymbol(loader, "glStencilStrokePathNV", []);
10310         _StencilFillPathInstancedNV = cast(PFN_glStencilFillPathInstancedNV)loadSymbol(loader, "glStencilFillPathInstancedNV", []);
10311         _StencilStrokePathInstancedNV = cast(PFN_glStencilStrokePathInstancedNV)loadSymbol(loader, "glStencilStrokePathInstancedNV", []);
10312         _PathCoverDepthFuncNV = cast(PFN_glPathCoverDepthFuncNV)loadSymbol(loader, "glPathCoverDepthFuncNV", []);
10313         _CoverFillPathNV = cast(PFN_glCoverFillPathNV)loadSymbol(loader, "glCoverFillPathNV", []);
10314         _CoverStrokePathNV = cast(PFN_glCoverStrokePathNV)loadSymbol(loader, "glCoverStrokePathNV", []);
10315         _CoverFillPathInstancedNV = cast(PFN_glCoverFillPathInstancedNV)loadSymbol(loader, "glCoverFillPathInstancedNV", []);
10316         _CoverStrokePathInstancedNV = cast(PFN_glCoverStrokePathInstancedNV)loadSymbol(loader, "glCoverStrokePathInstancedNV", []);
10317         _GetPathParameterivNV = cast(PFN_glGetPathParameterivNV)loadSymbol(loader, "glGetPathParameterivNV", []);
10318         _GetPathParameterfvNV = cast(PFN_glGetPathParameterfvNV)loadSymbol(loader, "glGetPathParameterfvNV", []);
10319         _GetPathCommandsNV = cast(PFN_glGetPathCommandsNV)loadSymbol(loader, "glGetPathCommandsNV", []);
10320         _GetPathCoordsNV = cast(PFN_glGetPathCoordsNV)loadSymbol(loader, "glGetPathCoordsNV", []);
10321         _GetPathDashArrayNV = cast(PFN_glGetPathDashArrayNV)loadSymbol(loader, "glGetPathDashArrayNV", []);
10322         _GetPathMetricsNV = cast(PFN_glGetPathMetricsNV)loadSymbol(loader, "glGetPathMetricsNV", []);
10323         _GetPathMetricRangeNV = cast(PFN_glGetPathMetricRangeNV)loadSymbol(loader, "glGetPathMetricRangeNV", []);
10324         _GetPathSpacingNV = cast(PFN_glGetPathSpacingNV)loadSymbol(loader, "glGetPathSpacingNV", []);
10325         _IsPointInFillPathNV = cast(PFN_glIsPointInFillPathNV)loadSymbol(loader, "glIsPointInFillPathNV", []);
10326         _IsPointInStrokePathNV = cast(PFN_glIsPointInStrokePathNV)loadSymbol(loader, "glIsPointInStrokePathNV", []);
10327         _GetPathLengthNV = cast(PFN_glGetPathLengthNV)loadSymbol(loader, "glGetPathLengthNV", []);
10328         _PointAlongPathNV = cast(PFN_glPointAlongPathNV)loadSymbol(loader, "glPointAlongPathNV", []);
10329         _MatrixLoad3x2fNV = cast(PFN_glMatrixLoad3x2fNV)loadSymbol(loader, "glMatrixLoad3x2fNV", []);
10330         _MatrixLoad3x3fNV = cast(PFN_glMatrixLoad3x3fNV)loadSymbol(loader, "glMatrixLoad3x3fNV", []);
10331         _MatrixLoadTranspose3x3fNV = cast(PFN_glMatrixLoadTranspose3x3fNV)loadSymbol(loader, "glMatrixLoadTranspose3x3fNV", []);
10332         _MatrixMult3x2fNV = cast(PFN_glMatrixMult3x2fNV)loadSymbol(loader, "glMatrixMult3x2fNV", []);
10333         _MatrixMult3x3fNV = cast(PFN_glMatrixMult3x3fNV)loadSymbol(loader, "glMatrixMult3x3fNV", []);
10334         _MatrixMultTranspose3x3fNV = cast(PFN_glMatrixMultTranspose3x3fNV)loadSymbol(loader, "glMatrixMultTranspose3x3fNV", []);
10335         _StencilThenCoverFillPathNV = cast(PFN_glStencilThenCoverFillPathNV)loadSymbol(loader, "glStencilThenCoverFillPathNV", []);
10336         _StencilThenCoverStrokePathNV = cast(PFN_glStencilThenCoverStrokePathNV)loadSymbol(loader, "glStencilThenCoverStrokePathNV", []);
10337         _StencilThenCoverFillPathInstancedNV = cast(PFN_glStencilThenCoverFillPathInstancedNV)loadSymbol(loader, "glStencilThenCoverFillPathInstancedNV", []);
10338         _StencilThenCoverStrokePathInstancedNV = cast(PFN_glStencilThenCoverStrokePathInstancedNV)loadSymbol(loader, "glStencilThenCoverStrokePathInstancedNV", []);
10339         _PathGlyphIndexRangeNV = cast(PFN_glPathGlyphIndexRangeNV)loadSymbol(loader, "glPathGlyphIndexRangeNV", []);
10340         _PathGlyphIndexArrayNV = cast(PFN_glPathGlyphIndexArrayNV)loadSymbol(loader, "glPathGlyphIndexArrayNV", []);
10341         _PathMemoryGlyphIndexArrayNV = cast(PFN_glPathMemoryGlyphIndexArrayNV)loadSymbol(loader, "glPathMemoryGlyphIndexArrayNV", []);
10342         _ProgramPathFragmentInputGenNV = cast(PFN_glProgramPathFragmentInputGenNV)loadSymbol(loader, "glProgramPathFragmentInputGenNV", []);
10343         _GetProgramResourcefvNV = cast(PFN_glGetProgramResourcefvNV)loadSymbol(loader, "glGetProgramResourcefvNV", []);
10344 
10345         // GL_NV_sample_locations,
10346         _FramebufferSampleLocationsfvNV = cast(PFN_glFramebufferSampleLocationsfvNV)loadSymbol(loader, "glFramebufferSampleLocationsfvNV", []);
10347         _NamedFramebufferSampleLocationsfvNV = cast(PFN_glNamedFramebufferSampleLocationsfvNV)loadSymbol(loader, "glNamedFramebufferSampleLocationsfvNV", []);
10348         _ResolveDepthValuesNV = cast(PFN_glResolveDepthValuesNV)loadSymbol(loader, "glResolveDepthValuesNV", []);
10349 
10350         // GL_NV_shader_buffer_load,
10351         _MakeBufferResidentNV = cast(PFN_glMakeBufferResidentNV)loadSymbol(loader, "glMakeBufferResidentNV", []);
10352         _MakeBufferNonResidentNV = cast(PFN_glMakeBufferNonResidentNV)loadSymbol(loader, "glMakeBufferNonResidentNV", []);
10353         _IsBufferResidentNV = cast(PFN_glIsBufferResidentNV)loadSymbol(loader, "glIsBufferResidentNV", []);
10354         _MakeNamedBufferResidentNV = cast(PFN_glMakeNamedBufferResidentNV)loadSymbol(loader, "glMakeNamedBufferResidentNV", []);
10355         _MakeNamedBufferNonResidentNV = cast(PFN_glMakeNamedBufferNonResidentNV)loadSymbol(loader, "glMakeNamedBufferNonResidentNV", []);
10356         _IsNamedBufferResidentNV = cast(PFN_glIsNamedBufferResidentNV)loadSymbol(loader, "glIsNamedBufferResidentNV", []);
10357         _GetBufferParameterui64vNV = cast(PFN_glGetBufferParameterui64vNV)loadSymbol(loader, "glGetBufferParameterui64vNV", []);
10358         _GetNamedBufferParameterui64vNV = cast(PFN_glGetNamedBufferParameterui64vNV)loadSymbol(loader, "glGetNamedBufferParameterui64vNV", []);
10359         _GetIntegerui64vNV = cast(PFN_glGetIntegerui64vNV)loadSymbol(loader, "glGetIntegerui64vNV", []);
10360         _Uniformui64NV = cast(PFN_glUniformui64NV)loadSymbol(loader, "glUniformui64NV", []);
10361         _Uniformui64vNV = cast(PFN_glUniformui64vNV)loadSymbol(loader, "glUniformui64vNV", []);
10362         _GetUniformui64vNV = cast(PFN_glGetUniformui64vNV)loadSymbol(loader, "glGetUniformui64vNV", []);
10363         _ProgramUniformui64NV = cast(PFN_glProgramUniformui64NV)loadSymbol(loader, "glProgramUniformui64NV", []);
10364         _ProgramUniformui64vNV = cast(PFN_glProgramUniformui64vNV)loadSymbol(loader, "glProgramUniformui64vNV", []);
10365 
10366         // GL_NV_texture_barrier,
10367         _TextureBarrierNV = cast(PFN_glTextureBarrierNV)loadSymbol(loader, "glTextureBarrierNV", []);
10368 
10369         // GL_NV_vertex_attrib_integer_64bit,
10370         _VertexAttribL1i64NV = cast(PFN_glVertexAttribL1i64NV)loadSymbol(loader, "glVertexAttribL1i64NV", []);
10371         _VertexAttribL2i64NV = cast(PFN_glVertexAttribL2i64NV)loadSymbol(loader, "glVertexAttribL2i64NV", []);
10372         _VertexAttribL3i64NV = cast(PFN_glVertexAttribL3i64NV)loadSymbol(loader, "glVertexAttribL3i64NV", []);
10373         _VertexAttribL4i64NV = cast(PFN_glVertexAttribL4i64NV)loadSymbol(loader, "glVertexAttribL4i64NV", []);
10374         _VertexAttribL1i64vNV = cast(PFN_glVertexAttribL1i64vNV)loadSymbol(loader, "glVertexAttribL1i64vNV", []);
10375         _VertexAttribL2i64vNV = cast(PFN_glVertexAttribL2i64vNV)loadSymbol(loader, "glVertexAttribL2i64vNV", []);
10376         _VertexAttribL3i64vNV = cast(PFN_glVertexAttribL3i64vNV)loadSymbol(loader, "glVertexAttribL3i64vNV", []);
10377         _VertexAttribL4i64vNV = cast(PFN_glVertexAttribL4i64vNV)loadSymbol(loader, "glVertexAttribL4i64vNV", []);
10378         _VertexAttribL1ui64NV = cast(PFN_glVertexAttribL1ui64NV)loadSymbol(loader, "glVertexAttribL1ui64NV", []);
10379         _VertexAttribL2ui64NV = cast(PFN_glVertexAttribL2ui64NV)loadSymbol(loader, "glVertexAttribL2ui64NV", []);
10380         _VertexAttribL3ui64NV = cast(PFN_glVertexAttribL3ui64NV)loadSymbol(loader, "glVertexAttribL3ui64NV", []);
10381         _VertexAttribL4ui64NV = cast(PFN_glVertexAttribL4ui64NV)loadSymbol(loader, "glVertexAttribL4ui64NV", []);
10382         _VertexAttribL1ui64vNV = cast(PFN_glVertexAttribL1ui64vNV)loadSymbol(loader, "glVertexAttribL1ui64vNV", []);
10383         _VertexAttribL2ui64vNV = cast(PFN_glVertexAttribL2ui64vNV)loadSymbol(loader, "glVertexAttribL2ui64vNV", []);
10384         _VertexAttribL3ui64vNV = cast(PFN_glVertexAttribL3ui64vNV)loadSymbol(loader, "glVertexAttribL3ui64vNV", []);
10385         _VertexAttribL4ui64vNV = cast(PFN_glVertexAttribL4ui64vNV)loadSymbol(loader, "glVertexAttribL4ui64vNV", []);
10386         _GetVertexAttribLi64vNV = cast(PFN_glGetVertexAttribLi64vNV)loadSymbol(loader, "glGetVertexAttribLi64vNV", []);
10387         _GetVertexAttribLui64vNV = cast(PFN_glGetVertexAttribLui64vNV)loadSymbol(loader, "glGetVertexAttribLui64vNV", []);
10388         _VertexAttribLFormatNV = cast(PFN_glVertexAttribLFormatNV)loadSymbol(loader, "glVertexAttribLFormatNV", []);
10389 
10390         // GL_NV_vertex_buffer_unified_memory,
10391         _BufferAddressRangeNV = cast(PFN_glBufferAddressRangeNV)loadSymbol(loader, "glBufferAddressRangeNV", []);
10392         _VertexFormatNV = cast(PFN_glVertexFormatNV)loadSymbol(loader, "glVertexFormatNV", []);
10393         _NormalFormatNV = cast(PFN_glNormalFormatNV)loadSymbol(loader, "glNormalFormatNV", []);
10394         _ColorFormatNV = cast(PFN_glColorFormatNV)loadSymbol(loader, "glColorFormatNV", []);
10395         _IndexFormatNV = cast(PFN_glIndexFormatNV)loadSymbol(loader, "glIndexFormatNV", []);
10396         _TexCoordFormatNV = cast(PFN_glTexCoordFormatNV)loadSymbol(loader, "glTexCoordFormatNV", []);
10397         _EdgeFlagFormatNV = cast(PFN_glEdgeFlagFormatNV)loadSymbol(loader, "glEdgeFlagFormatNV", []);
10398         _SecondaryColorFormatNV = cast(PFN_glSecondaryColorFormatNV)loadSymbol(loader, "glSecondaryColorFormatNV", []);
10399         _FogCoordFormatNV = cast(PFN_glFogCoordFormatNV)loadSymbol(loader, "glFogCoordFormatNV", []);
10400         _VertexAttribFormatNV = cast(PFN_glVertexAttribFormatNV)loadSymbol(loader, "glVertexAttribFormatNV", []);
10401         _VertexAttribIFormatNV = cast(PFN_glVertexAttribIFormatNV)loadSymbol(loader, "glVertexAttribIFormatNV", []);
10402         _GetIntegerui64i_vNV = cast(PFN_glGetIntegerui64i_vNV)loadSymbol(loader, "glGetIntegerui64i_vNV", []);
10403 
10404         // GL_NV_viewport_swizzle,
10405         _ViewportSwizzleNV = cast(PFN_glViewportSwizzleNV)loadSymbol(loader, "glViewportSwizzleNV", []);
10406 
10407         // GL_OVR_multiview,
10408         _FramebufferTextureMultiviewOVR = cast(PFN_glFramebufferTextureMultiviewOVR)loadSymbol(loader, "glFramebufferTextureMultiviewOVR", []);
10409     }
10410 
10411     private static void* loadSymbol(SymbolLoader loader, in string name, in string[] aliases) {
10412         void* sym = loader(name);
10413         if (sym) return sym;
10414         foreach (n; aliases) {
10415             sym = loader(n);
10416             if (sym) return sym;
10417         }
10418         return null;
10419     }
10420 
10421     /// Commands for GL_VERSION_1_0
10422     public void CullFace (GLenum mode) const {
10423         assert(_CullFace !is null, "OpenGL command glCullFace was not loaded");
10424         return _CullFace (mode);
10425     }
10426     /// ditto
10427     public void FrontFace (GLenum mode) const {
10428         assert(_FrontFace !is null, "OpenGL command glFrontFace was not loaded");
10429         return _FrontFace (mode);
10430     }
10431     /// ditto
10432     public void Hint (GLenum target, GLenum mode) const {
10433         assert(_Hint !is null, "OpenGL command glHint was not loaded");
10434         return _Hint (target, mode);
10435     }
10436     /// ditto
10437     public void LineWidth (GLfloat width) const {
10438         assert(_LineWidth !is null, "OpenGL command glLineWidth was not loaded");
10439         return _LineWidth (width);
10440     }
10441     /// ditto
10442     public void PointSize (GLfloat size) const {
10443         assert(_PointSize !is null, "OpenGL command glPointSize was not loaded");
10444         return _PointSize (size);
10445     }
10446     /// ditto
10447     public void PolygonMode (GLenum face, GLenum mode) const {
10448         assert(_PolygonMode !is null, "OpenGL command glPolygonMode was not loaded");
10449         return _PolygonMode (face, mode);
10450     }
10451     /// ditto
10452     public void Scissor (GLint x, GLint y, GLsizei width, GLsizei height) const {
10453         assert(_Scissor !is null, "OpenGL command glScissor was not loaded");
10454         return _Scissor (x, y, width, height);
10455     }
10456     /// ditto
10457     public void TexParameterf (GLenum target, GLenum pname, GLfloat param) const {
10458         assert(_TexParameterf !is null, "OpenGL command glTexParameterf was not loaded");
10459         return _TexParameterf (target, pname, param);
10460     }
10461     /// ditto
10462     public void TexParameterfv (GLenum target, GLenum pname, const(GLfloat)* params) const {
10463         assert(_TexParameterfv !is null, "OpenGL command glTexParameterfv was not loaded");
10464         return _TexParameterfv (target, pname, params);
10465     }
10466     /// ditto
10467     public void TexParameteri (GLenum target, GLenum pname, GLint param) const {
10468         assert(_TexParameteri !is null, "OpenGL command glTexParameteri was not loaded");
10469         return _TexParameteri (target, pname, param);
10470     }
10471     /// ditto
10472     public void TexParameteriv (GLenum target, GLenum pname, const(GLint)* params) const {
10473         assert(_TexParameteriv !is null, "OpenGL command glTexParameteriv was not loaded");
10474         return _TexParameteriv (target, pname, params);
10475     }
10476     /// ditto
10477     public void TexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const(void)* pixels) const {
10478         assert(_TexImage1D !is null, "OpenGL command glTexImage1D was not loaded");
10479         return _TexImage1D (target, level, internalformat, width, border, format, type, pixels);
10480     }
10481     /// ditto
10482     public void TexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const(void)* pixels) const {
10483         assert(_TexImage2D !is null, "OpenGL command glTexImage2D was not loaded");
10484         return _TexImage2D (target, level, internalformat, width, height, border, format, type, pixels);
10485     }
10486     /// ditto
10487     public void DrawBuffer (GLenum buf) const {
10488         assert(_DrawBuffer !is null, "OpenGL command glDrawBuffer was not loaded");
10489         return _DrawBuffer (buf);
10490     }
10491     /// ditto
10492     public void Clear (GLbitfield mask) const {
10493         assert(_Clear !is null, "OpenGL command glClear was not loaded");
10494         return _Clear (mask);
10495     }
10496     /// ditto
10497     public void ClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) const {
10498         assert(_ClearColor !is null, "OpenGL command glClearColor was not loaded");
10499         return _ClearColor (red, green, blue, alpha);
10500     }
10501     /// ditto
10502     public void ClearStencil (GLint s) const {
10503         assert(_ClearStencil !is null, "OpenGL command glClearStencil was not loaded");
10504         return _ClearStencil (s);
10505     }
10506     /// ditto
10507     public void ClearDepth (GLdouble depth) const {
10508         assert(_ClearDepth !is null, "OpenGL command glClearDepth was not loaded");
10509         return _ClearDepth (depth);
10510     }
10511     /// ditto
10512     public void StencilMask (GLuint mask) const {
10513         assert(_StencilMask !is null, "OpenGL command glStencilMask was not loaded");
10514         return _StencilMask (mask);
10515     }
10516     /// ditto
10517     public void ColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) const {
10518         assert(_ColorMask !is null, "OpenGL command glColorMask was not loaded");
10519         return _ColorMask (red, green, blue, alpha);
10520     }
10521     /// ditto
10522     public void DepthMask (GLboolean flag) const {
10523         assert(_DepthMask !is null, "OpenGL command glDepthMask was not loaded");
10524         return _DepthMask (flag);
10525     }
10526     /// ditto
10527     public void Disable (GLenum cap) const {
10528         assert(_Disable !is null, "OpenGL command glDisable was not loaded");
10529         return _Disable (cap);
10530     }
10531     /// ditto
10532     public void Enable (GLenum cap) const {
10533         assert(_Enable !is null, "OpenGL command glEnable was not loaded");
10534         return _Enable (cap);
10535     }
10536     /// ditto
10537     public void Finish () const {
10538         assert(_Finish !is null, "OpenGL command glFinish was not loaded");
10539         return _Finish ();
10540     }
10541     /// ditto
10542     public void Flush () const {
10543         assert(_Flush !is null, "OpenGL command glFlush was not loaded");
10544         return _Flush ();
10545     }
10546     /// ditto
10547     public void BlendFunc (GLenum sfactor, GLenum dfactor) const {
10548         assert(_BlendFunc !is null, "OpenGL command glBlendFunc was not loaded");
10549         return _BlendFunc (sfactor, dfactor);
10550     }
10551     /// ditto
10552     public void LogicOp (GLenum opcode) const {
10553         assert(_LogicOp !is null, "OpenGL command glLogicOp was not loaded");
10554         return _LogicOp (opcode);
10555     }
10556     /// ditto
10557     public void StencilFunc (GLenum func, GLint ref_, GLuint mask) const {
10558         assert(_StencilFunc !is null, "OpenGL command glStencilFunc was not loaded");
10559         return _StencilFunc (func, ref_, mask);
10560     }
10561     /// ditto
10562     public void StencilOp (GLenum fail, GLenum zfail, GLenum zpass) const {
10563         assert(_StencilOp !is null, "OpenGL command glStencilOp was not loaded");
10564         return _StencilOp (fail, zfail, zpass);
10565     }
10566     /// ditto
10567     public void DepthFunc (GLenum func) const {
10568         assert(_DepthFunc !is null, "OpenGL command glDepthFunc was not loaded");
10569         return _DepthFunc (func);
10570     }
10571     /// ditto
10572     public void PixelStoref (GLenum pname, GLfloat param) const {
10573         assert(_PixelStoref !is null, "OpenGL command glPixelStoref was not loaded");
10574         return _PixelStoref (pname, param);
10575     }
10576     /// ditto
10577     public void PixelStorei (GLenum pname, GLint param) const {
10578         assert(_PixelStorei !is null, "OpenGL command glPixelStorei was not loaded");
10579         return _PixelStorei (pname, param);
10580     }
10581     /// ditto
10582     public void ReadBuffer (GLenum src) const {
10583         assert(_ReadBuffer !is null, "OpenGL command glReadBuffer was not loaded");
10584         return _ReadBuffer (src);
10585     }
10586     /// ditto
10587     public void ReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels) const {
10588         assert(_ReadPixels !is null, "OpenGL command glReadPixels was not loaded");
10589         return _ReadPixels (x, y, width, height, format, type, pixels);
10590     }
10591     /// ditto
10592     public void GetBooleanv (GLenum pname, GLboolean* data) const {
10593         assert(_GetBooleanv !is null, "OpenGL command glGetBooleanv was not loaded");
10594         return _GetBooleanv (pname, data);
10595     }
10596     /// ditto
10597     public void GetDoublev (GLenum pname, GLdouble* data) const {
10598         assert(_GetDoublev !is null, "OpenGL command glGetDoublev was not loaded");
10599         return _GetDoublev (pname, data);
10600     }
10601     /// ditto
10602     public GLenum GetError () const {
10603         assert(_GetError !is null, "OpenGL command glGetError was not loaded");
10604         return _GetError ();
10605     }
10606     /// ditto
10607     public void GetFloatv (GLenum pname, GLfloat* data) const {
10608         assert(_GetFloatv !is null, "OpenGL command glGetFloatv was not loaded");
10609         return _GetFloatv (pname, data);
10610     }
10611     /// ditto
10612     public void GetIntegerv (GLenum pname, GLint* data) const {
10613         assert(_GetIntegerv !is null, "OpenGL command glGetIntegerv was not loaded");
10614         return _GetIntegerv (pname, data);
10615     }
10616     /// ditto
10617     public const(GLubyte)* GetString (GLenum name) const {
10618         assert(_GetString !is null, "OpenGL command glGetString was not loaded");
10619         return _GetString (name);
10620     }
10621     /// ditto
10622     public void GetTexImage (GLenum target, GLint level, GLenum format, GLenum type, void* pixels) const {
10623         assert(_GetTexImage !is null, "OpenGL command glGetTexImage was not loaded");
10624         return _GetTexImage (target, level, format, type, pixels);
10625     }
10626     /// ditto
10627     public void GetTexParameterfv (GLenum target, GLenum pname, GLfloat* params) const {
10628         assert(_GetTexParameterfv !is null, "OpenGL command glGetTexParameterfv was not loaded");
10629         return _GetTexParameterfv (target, pname, params);
10630     }
10631     /// ditto
10632     public void GetTexParameteriv (GLenum target, GLenum pname, GLint* params) const {
10633         assert(_GetTexParameteriv !is null, "OpenGL command glGetTexParameteriv was not loaded");
10634         return _GetTexParameteriv (target, pname, params);
10635     }
10636     /// ditto
10637     public void GetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat* params) const {
10638         assert(_GetTexLevelParameterfv !is null, "OpenGL command glGetTexLevelParameterfv was not loaded");
10639         return _GetTexLevelParameterfv (target, level, pname, params);
10640     }
10641     /// ditto
10642     public void GetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint* params) const {
10643         assert(_GetTexLevelParameteriv !is null, "OpenGL command glGetTexLevelParameteriv was not loaded");
10644         return _GetTexLevelParameteriv (target, level, pname, params);
10645     }
10646     /// ditto
10647     public GLboolean IsEnabled (GLenum cap) const {
10648         assert(_IsEnabled !is null, "OpenGL command glIsEnabled was not loaded");
10649         return _IsEnabled (cap);
10650     }
10651     /// ditto
10652     public void DepthRange (GLdouble near, GLdouble far) const {
10653         assert(_DepthRange !is null, "OpenGL command glDepthRange was not loaded");
10654         return _DepthRange (near, far);
10655     }
10656     /// ditto
10657     public void Viewport (GLint x, GLint y, GLsizei width, GLsizei height) const {
10658         assert(_Viewport !is null, "OpenGL command glViewport was not loaded");
10659         return _Viewport (x, y, width, height);
10660     }
10661 
10662     /// Commands for GL_VERSION_1_1
10663     public void DrawArrays (GLenum mode, GLint first, GLsizei count) const {
10664         assert(_DrawArrays !is null, "OpenGL command glDrawArrays was not loaded");
10665         return _DrawArrays (mode, first, count);
10666     }
10667     /// ditto
10668     public void DrawElements (GLenum mode, GLsizei count, GLenum type, const(void)* indices) const {
10669         assert(_DrawElements !is null, "OpenGL command glDrawElements was not loaded");
10670         return _DrawElements (mode, count, type, indices);
10671     }
10672     /// ditto
10673     public void GetPointerv (GLenum pname, void** params) const {
10674         assert(_GetPointerv !is null, "OpenGL command glGetPointerv was not loaded");
10675         return _GetPointerv (pname, params);
10676     }
10677     /// ditto
10678     public void PolygonOffset (GLfloat factor, GLfloat units) const {
10679         assert(_PolygonOffset !is null, "OpenGL command glPolygonOffset was not loaded");
10680         return _PolygonOffset (factor, units);
10681     }
10682     /// ditto
10683     public void CopyTexImage1D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) const {
10684         assert(_CopyTexImage1D !is null, "OpenGL command glCopyTexImage1D was not loaded");
10685         return _CopyTexImage1D (target, level, internalformat, x, y, width, border);
10686     }
10687     /// ditto
10688     public void CopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) const {
10689         assert(_CopyTexImage2D !is null, "OpenGL command glCopyTexImage2D was not loaded");
10690         return _CopyTexImage2D (target, level, internalformat, x, y, width, height, border);
10691     }
10692     /// ditto
10693     public void CopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) const {
10694         assert(_CopyTexSubImage1D !is null, "OpenGL command glCopyTexSubImage1D was not loaded");
10695         return _CopyTexSubImage1D (target, level, xoffset, x, y, width);
10696     }
10697     /// ditto
10698     public void CopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) const {
10699         assert(_CopyTexSubImage2D !is null, "OpenGL command glCopyTexSubImage2D was not loaded");
10700         return _CopyTexSubImage2D (target, level, xoffset, yoffset, x, y, width, height);
10701     }
10702     /// ditto
10703     public void TexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const(void)* pixels) const {
10704         assert(_TexSubImage1D !is null, "OpenGL command glTexSubImage1D was not loaded");
10705         return _TexSubImage1D (target, level, xoffset, width, format, type, pixels);
10706     }
10707     /// ditto
10708     public void TexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const(void)* pixels) const {
10709         assert(_TexSubImage2D !is null, "OpenGL command glTexSubImage2D was not loaded");
10710         return _TexSubImage2D (target, level, xoffset, yoffset, width, height, format, type, pixels);
10711     }
10712     /// ditto
10713     public void BindTexture (GLenum target, GLuint texture) const {
10714         assert(_BindTexture !is null, "OpenGL command glBindTexture was not loaded");
10715         return _BindTexture (target, texture);
10716     }
10717     /// ditto
10718     public void DeleteTextures (GLsizei n, const(GLuint)* textures) const {
10719         assert(_DeleteTextures !is null, "OpenGL command glDeleteTextures was not loaded");
10720         return _DeleteTextures (n, textures);
10721     }
10722     /// ditto
10723     public void GenTextures (GLsizei n, GLuint* textures) const {
10724         assert(_GenTextures !is null, "OpenGL command glGenTextures was not loaded");
10725         return _GenTextures (n, textures);
10726     }
10727     /// ditto
10728     public GLboolean IsTexture (GLuint texture) const {
10729         assert(_IsTexture !is null, "OpenGL command glIsTexture was not loaded");
10730         return _IsTexture (texture);
10731     }
10732 
10733     /// Commands for GL_VERSION_1_2
10734     public void DrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const(void)* indices) const {
10735         assert(_DrawRangeElements !is null, "OpenGL command glDrawRangeElements was not loaded");
10736         return _DrawRangeElements (mode, start, end, count, type, indices);
10737     }
10738     /// ditto
10739     public void TexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const(void)* pixels) const {
10740         assert(_TexImage3D !is null, "OpenGL command glTexImage3D was not loaded");
10741         return _TexImage3D (target, level, internalformat, width, height, depth, border, format, type, pixels);
10742     }
10743     /// ditto
10744     public void TexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const(void)* pixels) const {
10745         assert(_TexSubImage3D !is null, "OpenGL command glTexSubImage3D was not loaded");
10746         return _TexSubImage3D (target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
10747     }
10748     /// ditto
10749     public void CopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) const {
10750         assert(_CopyTexSubImage3D !is null, "OpenGL command glCopyTexSubImage3D was not loaded");
10751         return _CopyTexSubImage3D (target, level, xoffset, yoffset, zoffset, x, y, width, height);
10752     }
10753 
10754     /// Commands for GL_VERSION_1_3
10755     public void ActiveTexture (GLenum texture) const {
10756         assert(_ActiveTexture !is null, "OpenGL command glActiveTexture was not loaded");
10757         return _ActiveTexture (texture);
10758     }
10759     /// ditto
10760     public void SampleCoverage (GLfloat value, GLboolean invert) const {
10761         assert(_SampleCoverage !is null, "OpenGL command glSampleCoverage was not loaded");
10762         return _SampleCoverage (value, invert);
10763     }
10764     /// ditto
10765     public void CompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const(void)* data) const {
10766         assert(_CompressedTexImage3D !is null, "OpenGL command glCompressedTexImage3D was not loaded");
10767         return _CompressedTexImage3D (target, level, internalformat, width, height, depth, border, imageSize, data);
10768     }
10769     /// ditto
10770     public void CompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const(void)* data) const {
10771         assert(_CompressedTexImage2D !is null, "OpenGL command glCompressedTexImage2D was not loaded");
10772         return _CompressedTexImage2D (target, level, internalformat, width, height, border, imageSize, data);
10773     }
10774     /// ditto
10775     public void CompressedTexImage1D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const(void)* data) const {
10776         assert(_CompressedTexImage1D !is null, "OpenGL command glCompressedTexImage1D was not loaded");
10777         return _CompressedTexImage1D (target, level, internalformat, width, border, imageSize, data);
10778     }
10779     /// ditto
10780     public void CompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const(void)* data) const {
10781         assert(_CompressedTexSubImage3D !is null, "OpenGL command glCompressedTexSubImage3D was not loaded");
10782         return _CompressedTexSubImage3D (target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
10783     }
10784     /// ditto
10785     public void CompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const(void)* data) const {
10786         assert(_CompressedTexSubImage2D !is null, "OpenGL command glCompressedTexSubImage2D was not loaded");
10787         return _CompressedTexSubImage2D (target, level, xoffset, yoffset, width, height, format, imageSize, data);
10788     }
10789     /// ditto
10790     public void CompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const(void)* data) const {
10791         assert(_CompressedTexSubImage1D !is null, "OpenGL command glCompressedTexSubImage1D was not loaded");
10792         return _CompressedTexSubImage1D (target, level, xoffset, width, format, imageSize, data);
10793     }
10794     /// ditto
10795     public void GetCompressedTexImage (GLenum target, GLint level, void* img) const {
10796         assert(_GetCompressedTexImage !is null, "OpenGL command glGetCompressedTexImage was not loaded");
10797         return _GetCompressedTexImage (target, level, img);
10798     }
10799 
10800     /// Commands for GL_VERSION_1_4
10801     public void BlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) const {
10802         assert(_BlendFuncSeparate !is null, "OpenGL command glBlendFuncSeparate was not loaded");
10803         return _BlendFuncSeparate (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
10804     }
10805     /// ditto
10806     public void MultiDrawArrays (GLenum mode, const(GLint)* first, const(GLsizei)* count, GLsizei drawcount) const {
10807         assert(_MultiDrawArrays !is null, "OpenGL command glMultiDrawArrays was not loaded");
10808         return _MultiDrawArrays (mode, first, count, drawcount);
10809     }
10810     /// ditto
10811     public void MultiDrawElements (GLenum mode, const(GLsizei)* count, GLenum type, const(void*)* indices, GLsizei drawcount) const {
10812         assert(_MultiDrawElements !is null, "OpenGL command glMultiDrawElements was not loaded");
10813         return _MultiDrawElements (mode, count, type, indices, drawcount);
10814     }
10815     /// ditto
10816     public void PointParameterf (GLenum pname, GLfloat param) const {
10817         assert(_PointParameterf !is null, "OpenGL command glPointParameterf was not loaded");
10818         return _PointParameterf (pname, param);
10819     }
10820     /// ditto
10821     public void PointParameterfv (GLenum pname, const(GLfloat)* params) const {
10822         assert(_PointParameterfv !is null, "OpenGL command glPointParameterfv was not loaded");
10823         return _PointParameterfv (pname, params);
10824     }
10825     /// ditto
10826     public void PointParameteri (GLenum pname, GLint param) const {
10827         assert(_PointParameteri !is null, "OpenGL command glPointParameteri was not loaded");
10828         return _PointParameteri (pname, param);
10829     }
10830     /// ditto
10831     public void PointParameteriv (GLenum pname, const(GLint)* params) const {
10832         assert(_PointParameteriv !is null, "OpenGL command glPointParameteriv was not loaded");
10833         return _PointParameteriv (pname, params);
10834     }
10835     /// ditto
10836     public void BlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) const {
10837         assert(_BlendColor !is null, "OpenGL command glBlendColor was not loaded");
10838         return _BlendColor (red, green, blue, alpha);
10839     }
10840     /// ditto
10841     public void BlendEquation (GLenum mode) const {
10842         assert(_BlendEquation !is null, "OpenGL command glBlendEquation was not loaded");
10843         return _BlendEquation (mode);
10844     }
10845 
10846     /// Commands for GL_VERSION_1_5
10847     public void GenQueries (GLsizei n, GLuint* ids) const {
10848         assert(_GenQueries !is null, "OpenGL command glGenQueries was not loaded");
10849         return _GenQueries (n, ids);
10850     }
10851     /// ditto
10852     public void DeleteQueries (GLsizei n, const(GLuint)* ids) const {
10853         assert(_DeleteQueries !is null, "OpenGL command glDeleteQueries was not loaded");
10854         return _DeleteQueries (n, ids);
10855     }
10856     /// ditto
10857     public GLboolean IsQuery (GLuint id) const {
10858         assert(_IsQuery !is null, "OpenGL command glIsQuery was not loaded");
10859         return _IsQuery (id);
10860     }
10861     /// ditto
10862     public void BeginQuery (GLenum target, GLuint id) const {
10863         assert(_BeginQuery !is null, "OpenGL command glBeginQuery was not loaded");
10864         return _BeginQuery (target, id);
10865     }
10866     /// ditto
10867     public void EndQuery (GLenum target) const {
10868         assert(_EndQuery !is null, "OpenGL command glEndQuery was not loaded");
10869         return _EndQuery (target);
10870     }
10871     /// ditto
10872     public void GetQueryiv (GLenum target, GLenum pname, GLint* params) const {
10873         assert(_GetQueryiv !is null, "OpenGL command glGetQueryiv was not loaded");
10874         return _GetQueryiv (target, pname, params);
10875     }
10876     /// ditto
10877     public void GetQueryObjectiv (GLuint id, GLenum pname, GLint* params) const {
10878         assert(_GetQueryObjectiv !is null, "OpenGL command glGetQueryObjectiv was not loaded");
10879         return _GetQueryObjectiv (id, pname, params);
10880     }
10881     /// ditto
10882     public void GetQueryObjectuiv (GLuint id, GLenum pname, GLuint* params) const {
10883         assert(_GetQueryObjectuiv !is null, "OpenGL command glGetQueryObjectuiv was not loaded");
10884         return _GetQueryObjectuiv (id, pname, params);
10885     }
10886     /// ditto
10887     public void BindBuffer (GLenum target, GLuint buffer) const {
10888         assert(_BindBuffer !is null, "OpenGL command glBindBuffer was not loaded");
10889         return _BindBuffer (target, buffer);
10890     }
10891     /// ditto
10892     public void DeleteBuffers (GLsizei n, const(GLuint)* buffers) const {
10893         assert(_DeleteBuffers !is null, "OpenGL command glDeleteBuffers was not loaded");
10894         return _DeleteBuffers (n, buffers);
10895     }
10896     /// ditto
10897     public void GenBuffers (GLsizei n, GLuint* buffers) const {
10898         assert(_GenBuffers !is null, "OpenGL command glGenBuffers was not loaded");
10899         return _GenBuffers (n, buffers);
10900     }
10901     /// ditto
10902     public GLboolean IsBuffer (GLuint buffer) const {
10903         assert(_IsBuffer !is null, "OpenGL command glIsBuffer was not loaded");
10904         return _IsBuffer (buffer);
10905     }
10906     /// ditto
10907     public void BufferData (GLenum target, GLsizeiptr size, const(void)* data, GLenum usage) const {
10908         assert(_BufferData !is null, "OpenGL command glBufferData was not loaded");
10909         return _BufferData (target, size, data, usage);
10910     }
10911     /// ditto
10912     public void BufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const(void)* data) const {
10913         assert(_BufferSubData !is null, "OpenGL command glBufferSubData was not loaded");
10914         return _BufferSubData (target, offset, size, data);
10915     }
10916     /// ditto
10917     public void GetBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, void* data) const {
10918         assert(_GetBufferSubData !is null, "OpenGL command glGetBufferSubData was not loaded");
10919         return _GetBufferSubData (target, offset, size, data);
10920     }
10921     /// ditto
10922     public void * MapBuffer (GLenum target, GLenum access) const {
10923         assert(_MapBuffer !is null, "OpenGL command glMapBuffer was not loaded");
10924         return _MapBuffer (target, access);
10925     }
10926     /// ditto
10927     public GLboolean UnmapBuffer (GLenum target) const {
10928         assert(_UnmapBuffer !is null, "OpenGL command glUnmapBuffer was not loaded");
10929         return _UnmapBuffer (target);
10930     }
10931     /// ditto
10932     public void GetBufferParameteriv (GLenum target, GLenum pname, GLint* params) const {
10933         assert(_GetBufferParameteriv !is null, "OpenGL command glGetBufferParameteriv was not loaded");
10934         return _GetBufferParameteriv (target, pname, params);
10935     }
10936     /// ditto
10937     public void GetBufferPointerv (GLenum target, GLenum pname, void** params) const {
10938         assert(_GetBufferPointerv !is null, "OpenGL command glGetBufferPointerv was not loaded");
10939         return _GetBufferPointerv (target, pname, params);
10940     }
10941 
10942     /// Commands for GL_VERSION_2_0
10943     public void BlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha) const {
10944         assert(_BlendEquationSeparate !is null, "OpenGL command glBlendEquationSeparate was not loaded");
10945         return _BlendEquationSeparate (modeRGB, modeAlpha);
10946     }
10947     /// ditto
10948     public void DrawBuffers (GLsizei n, const(GLenum)* bufs) const {
10949         assert(_DrawBuffers !is null, "OpenGL command glDrawBuffers was not loaded");
10950         return _DrawBuffers (n, bufs);
10951     }
10952     /// ditto
10953     public void StencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) const {
10954         assert(_StencilOpSeparate !is null, "OpenGL command glStencilOpSeparate was not loaded");
10955         return _StencilOpSeparate (face, sfail, dpfail, dppass);
10956     }
10957     /// ditto
10958     public void StencilFuncSeparate (GLenum face, GLenum func, GLint ref_, GLuint mask) const {
10959         assert(_StencilFuncSeparate !is null, "OpenGL command glStencilFuncSeparate was not loaded");
10960         return _StencilFuncSeparate (face, func, ref_, mask);
10961     }
10962     /// ditto
10963     public void StencilMaskSeparate (GLenum face, GLuint mask) const {
10964         assert(_StencilMaskSeparate !is null, "OpenGL command glStencilMaskSeparate was not loaded");
10965         return _StencilMaskSeparate (face, mask);
10966     }
10967     /// ditto
10968     public void AttachShader (GLuint program, GLuint shader) const {
10969         assert(_AttachShader !is null, "OpenGL command glAttachShader was not loaded");
10970         return _AttachShader (program, shader);
10971     }
10972     /// ditto
10973     public void BindAttribLocation (GLuint program, GLuint index, const(GLchar)* name) const {
10974         assert(_BindAttribLocation !is null, "OpenGL command glBindAttribLocation was not loaded");
10975         return _BindAttribLocation (program, index, name);
10976     }
10977     /// ditto
10978     public void CompileShader (GLuint shader) const {
10979         assert(_CompileShader !is null, "OpenGL command glCompileShader was not loaded");
10980         return _CompileShader (shader);
10981     }
10982     /// ditto
10983     public GLuint CreateProgram () const {
10984         assert(_CreateProgram !is null, "OpenGL command glCreateProgram was not loaded");
10985         return _CreateProgram ();
10986     }
10987     /// ditto
10988     public GLuint CreateShader (GLenum type) const {
10989         assert(_CreateShader !is null, "OpenGL command glCreateShader was not loaded");
10990         return _CreateShader (type);
10991     }
10992     /// ditto
10993     public void DeleteProgram (GLuint program) const {
10994         assert(_DeleteProgram !is null, "OpenGL command glDeleteProgram was not loaded");
10995         return _DeleteProgram (program);
10996     }
10997     /// ditto
10998     public void DeleteShader (GLuint shader) const {
10999         assert(_DeleteShader !is null, "OpenGL command glDeleteShader was not loaded");
11000         return _DeleteShader (shader);
11001     }
11002     /// ditto
11003     public void DetachShader (GLuint program, GLuint shader) const {
11004         assert(_DetachShader !is null, "OpenGL command glDetachShader was not loaded");
11005         return _DetachShader (program, shader);
11006     }
11007     /// ditto
11008     public void DisableVertexAttribArray (GLuint index) const {
11009         assert(_DisableVertexAttribArray !is null, "OpenGL command glDisableVertexAttribArray was not loaded");
11010         return _DisableVertexAttribArray (index);
11011     }
11012     /// ditto
11013     public void EnableVertexAttribArray (GLuint index) const {
11014         assert(_EnableVertexAttribArray !is null, "OpenGL command glEnableVertexAttribArray was not loaded");
11015         return _EnableVertexAttribArray (index);
11016     }
11017     /// ditto
11018     public void GetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) const {
11019         assert(_GetActiveAttrib !is null, "OpenGL command glGetActiveAttrib was not loaded");
11020         return _GetActiveAttrib (program, index, bufSize, length, size, type, name);
11021     }
11022     /// ditto
11023     public void GetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) const {
11024         assert(_GetActiveUniform !is null, "OpenGL command glGetActiveUniform was not loaded");
11025         return _GetActiveUniform (program, index, bufSize, length, size, type, name);
11026     }
11027     /// ditto
11028     public void GetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders) const {
11029         assert(_GetAttachedShaders !is null, "OpenGL command glGetAttachedShaders was not loaded");
11030         return _GetAttachedShaders (program, maxCount, count, shaders);
11031     }
11032     /// ditto
11033     public GLint GetAttribLocation (GLuint program, const(GLchar)* name) const {
11034         assert(_GetAttribLocation !is null, "OpenGL command glGetAttribLocation was not loaded");
11035         return _GetAttribLocation (program, name);
11036     }
11037     /// ditto
11038     public void GetProgramiv (GLuint program, GLenum pname, GLint* params) const {
11039         assert(_GetProgramiv !is null, "OpenGL command glGetProgramiv was not loaded");
11040         return _GetProgramiv (program, pname, params);
11041     }
11042     /// ditto
11043     public void GetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog) const {
11044         assert(_GetProgramInfoLog !is null, "OpenGL command glGetProgramInfoLog was not loaded");
11045         return _GetProgramInfoLog (program, bufSize, length, infoLog);
11046     }
11047     /// ditto
11048     public void GetShaderiv (GLuint shader, GLenum pname, GLint* params) const {
11049         assert(_GetShaderiv !is null, "OpenGL command glGetShaderiv was not loaded");
11050         return _GetShaderiv (shader, pname, params);
11051     }
11052     /// ditto
11053     public void GetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog) const {
11054         assert(_GetShaderInfoLog !is null, "OpenGL command glGetShaderInfoLog was not loaded");
11055         return _GetShaderInfoLog (shader, bufSize, length, infoLog);
11056     }
11057     /// ditto
11058     public void GetShaderSource (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* source) const {
11059         assert(_GetShaderSource !is null, "OpenGL command glGetShaderSource was not loaded");
11060         return _GetShaderSource (shader, bufSize, length, source);
11061     }
11062     /// ditto
11063     public GLint GetUniformLocation (GLuint program, const(GLchar)* name) const {
11064         assert(_GetUniformLocation !is null, "OpenGL command glGetUniformLocation was not loaded");
11065         return _GetUniformLocation (program, name);
11066     }
11067     /// ditto
11068     public void GetUniformfv (GLuint program, GLint location, GLfloat* params) const {
11069         assert(_GetUniformfv !is null, "OpenGL command glGetUniformfv was not loaded");
11070         return _GetUniformfv (program, location, params);
11071     }
11072     /// ditto
11073     public void GetUniformiv (GLuint program, GLint location, GLint* params) const {
11074         assert(_GetUniformiv !is null, "OpenGL command glGetUniformiv was not loaded");
11075         return _GetUniformiv (program, location, params);
11076     }
11077     /// ditto
11078     public void GetVertexAttribdv (GLuint index, GLenum pname, GLdouble* params) const {
11079         assert(_GetVertexAttribdv !is null, "OpenGL command glGetVertexAttribdv was not loaded");
11080         return _GetVertexAttribdv (index, pname, params);
11081     }
11082     /// ditto
11083     public void GetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params) const {
11084         assert(_GetVertexAttribfv !is null, "OpenGL command glGetVertexAttribfv was not loaded");
11085         return _GetVertexAttribfv (index, pname, params);
11086     }
11087     /// ditto
11088     public void GetVertexAttribiv (GLuint index, GLenum pname, GLint* params) const {
11089         assert(_GetVertexAttribiv !is null, "OpenGL command glGetVertexAttribiv was not loaded");
11090         return _GetVertexAttribiv (index, pname, params);
11091     }
11092     /// ditto
11093     public void GetVertexAttribPointerv (GLuint index, GLenum pname, void** pointer) const {
11094         assert(_GetVertexAttribPointerv !is null, "OpenGL command glGetVertexAttribPointerv was not loaded");
11095         return _GetVertexAttribPointerv (index, pname, pointer);
11096     }
11097     /// ditto
11098     public GLboolean IsProgram (GLuint program) const {
11099         assert(_IsProgram !is null, "OpenGL command glIsProgram was not loaded");
11100         return _IsProgram (program);
11101     }
11102     /// ditto
11103     public GLboolean IsShader (GLuint shader) const {
11104         assert(_IsShader !is null, "OpenGL command glIsShader was not loaded");
11105         return _IsShader (shader);
11106     }
11107     /// ditto
11108     public void LinkProgram (GLuint program) const {
11109         assert(_LinkProgram !is null, "OpenGL command glLinkProgram was not loaded");
11110         return _LinkProgram (program);
11111     }
11112     /// ditto
11113     public void ShaderSource (GLuint shader, GLsizei count, const(GLchar*)* string, const(GLint)* length) const {
11114         assert(_ShaderSource !is null, "OpenGL command glShaderSource was not loaded");
11115         return _ShaderSource (shader, count, string, length);
11116     }
11117     /// ditto
11118     public void UseProgram (GLuint program) const {
11119         assert(_UseProgram !is null, "OpenGL command glUseProgram was not loaded");
11120         return _UseProgram (program);
11121     }
11122     /// ditto
11123     public void Uniform1f (GLint location, GLfloat v0) const {
11124         assert(_Uniform1f !is null, "OpenGL command glUniform1f was not loaded");
11125         return _Uniform1f (location, v0);
11126     }
11127     /// ditto
11128     public void Uniform2f (GLint location, GLfloat v0, GLfloat v1) const {
11129         assert(_Uniform2f !is null, "OpenGL command glUniform2f was not loaded");
11130         return _Uniform2f (location, v0, v1);
11131     }
11132     /// ditto
11133     public void Uniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2) const {
11134         assert(_Uniform3f !is null, "OpenGL command glUniform3f was not loaded");
11135         return _Uniform3f (location, v0, v1, v2);
11136     }
11137     /// ditto
11138     public void Uniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) const {
11139         assert(_Uniform4f !is null, "OpenGL command glUniform4f was not loaded");
11140         return _Uniform4f (location, v0, v1, v2, v3);
11141     }
11142     /// ditto
11143     public void Uniform1i (GLint location, GLint v0) const {
11144         assert(_Uniform1i !is null, "OpenGL command glUniform1i was not loaded");
11145         return _Uniform1i (location, v0);
11146     }
11147     /// ditto
11148     public void Uniform2i (GLint location, GLint v0, GLint v1) const {
11149         assert(_Uniform2i !is null, "OpenGL command glUniform2i was not loaded");
11150         return _Uniform2i (location, v0, v1);
11151     }
11152     /// ditto
11153     public void Uniform3i (GLint location, GLint v0, GLint v1, GLint v2) const {
11154         assert(_Uniform3i !is null, "OpenGL command glUniform3i was not loaded");
11155         return _Uniform3i (location, v0, v1, v2);
11156     }
11157     /// ditto
11158     public void Uniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3) const {
11159         assert(_Uniform4i !is null, "OpenGL command glUniform4i was not loaded");
11160         return _Uniform4i (location, v0, v1, v2, v3);
11161     }
11162     /// ditto
11163     public void Uniform1fv (GLint location, GLsizei count, const(GLfloat)* value) const {
11164         assert(_Uniform1fv !is null, "OpenGL command glUniform1fv was not loaded");
11165         return _Uniform1fv (location, count, value);
11166     }
11167     /// ditto
11168     public void Uniform2fv (GLint location, GLsizei count, const(GLfloat)* value) const {
11169         assert(_Uniform2fv !is null, "OpenGL command glUniform2fv was not loaded");
11170         return _Uniform2fv (location, count, value);
11171     }
11172     /// ditto
11173     public void Uniform3fv (GLint location, GLsizei count, const(GLfloat)* value) const {
11174         assert(_Uniform3fv !is null, "OpenGL command glUniform3fv was not loaded");
11175         return _Uniform3fv (location, count, value);
11176     }
11177     /// ditto
11178     public void Uniform4fv (GLint location, GLsizei count, const(GLfloat)* value) const {
11179         assert(_Uniform4fv !is null, "OpenGL command glUniform4fv was not loaded");
11180         return _Uniform4fv (location, count, value);
11181     }
11182     /// ditto
11183     public void Uniform1iv (GLint location, GLsizei count, const(GLint)* value) const {
11184         assert(_Uniform1iv !is null, "OpenGL command glUniform1iv was not loaded");
11185         return _Uniform1iv (location, count, value);
11186     }
11187     /// ditto
11188     public void Uniform2iv (GLint location, GLsizei count, const(GLint)* value) const {
11189         assert(_Uniform2iv !is null, "OpenGL command glUniform2iv was not loaded");
11190         return _Uniform2iv (location, count, value);
11191     }
11192     /// ditto
11193     public void Uniform3iv (GLint location, GLsizei count, const(GLint)* value) const {
11194         assert(_Uniform3iv !is null, "OpenGL command glUniform3iv was not loaded");
11195         return _Uniform3iv (location, count, value);
11196     }
11197     /// ditto
11198     public void Uniform4iv (GLint location, GLsizei count, const(GLint)* value) const {
11199         assert(_Uniform4iv !is null, "OpenGL command glUniform4iv was not loaded");
11200         return _Uniform4iv (location, count, value);
11201     }
11202     /// ditto
11203     public void UniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
11204         assert(_UniformMatrix2fv !is null, "OpenGL command glUniformMatrix2fv was not loaded");
11205         return _UniformMatrix2fv (location, count, transpose, value);
11206     }
11207     /// ditto
11208     public void UniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
11209         assert(_UniformMatrix3fv !is null, "OpenGL command glUniformMatrix3fv was not loaded");
11210         return _UniformMatrix3fv (location, count, transpose, value);
11211     }
11212     /// ditto
11213     public void UniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
11214         assert(_UniformMatrix4fv !is null, "OpenGL command glUniformMatrix4fv was not loaded");
11215         return _UniformMatrix4fv (location, count, transpose, value);
11216     }
11217     /// ditto
11218     public void ValidateProgram (GLuint program) const {
11219         assert(_ValidateProgram !is null, "OpenGL command glValidateProgram was not loaded");
11220         return _ValidateProgram (program);
11221     }
11222     /// ditto
11223     public void VertexAttrib1d (GLuint index, GLdouble x) const {
11224         assert(_VertexAttrib1d !is null, "OpenGL command glVertexAttrib1d was not loaded");
11225         return _VertexAttrib1d (index, x);
11226     }
11227     /// ditto
11228     public void VertexAttrib1dv (GLuint index, const(GLdouble)* v) const {
11229         assert(_VertexAttrib1dv !is null, "OpenGL command glVertexAttrib1dv was not loaded");
11230         return _VertexAttrib1dv (index, v);
11231     }
11232     /// ditto
11233     public void VertexAttrib1f (GLuint index, GLfloat x) const {
11234         assert(_VertexAttrib1f !is null, "OpenGL command glVertexAttrib1f was not loaded");
11235         return _VertexAttrib1f (index, x);
11236     }
11237     /// ditto
11238     public void VertexAttrib1fv (GLuint index, const(GLfloat)* v) const {
11239         assert(_VertexAttrib1fv !is null, "OpenGL command glVertexAttrib1fv was not loaded");
11240         return _VertexAttrib1fv (index, v);
11241     }
11242     /// ditto
11243     public void VertexAttrib1s (GLuint index, GLshort x) const {
11244         assert(_VertexAttrib1s !is null, "OpenGL command glVertexAttrib1s was not loaded");
11245         return _VertexAttrib1s (index, x);
11246     }
11247     /// ditto
11248     public void VertexAttrib1sv (GLuint index, const(GLshort)* v) const {
11249         assert(_VertexAttrib1sv !is null, "OpenGL command glVertexAttrib1sv was not loaded");
11250         return _VertexAttrib1sv (index, v);
11251     }
11252     /// ditto
11253     public void VertexAttrib2d (GLuint index, GLdouble x, GLdouble y) const {
11254         assert(_VertexAttrib2d !is null, "OpenGL command glVertexAttrib2d was not loaded");
11255         return _VertexAttrib2d (index, x, y);
11256     }
11257     /// ditto
11258     public void VertexAttrib2dv (GLuint index, const(GLdouble)* v) const {
11259         assert(_VertexAttrib2dv !is null, "OpenGL command glVertexAttrib2dv was not loaded");
11260         return _VertexAttrib2dv (index, v);
11261     }
11262     /// ditto
11263     public void VertexAttrib2f (GLuint index, GLfloat x, GLfloat y) const {
11264         assert(_VertexAttrib2f !is null, "OpenGL command glVertexAttrib2f was not loaded");
11265         return _VertexAttrib2f (index, x, y);
11266     }
11267     /// ditto
11268     public void VertexAttrib2fv (GLuint index, const(GLfloat)* v) const {
11269         assert(_VertexAttrib2fv !is null, "OpenGL command glVertexAttrib2fv was not loaded");
11270         return _VertexAttrib2fv (index, v);
11271     }
11272     /// ditto
11273     public void VertexAttrib2s (GLuint index, GLshort x, GLshort y) const {
11274         assert(_VertexAttrib2s !is null, "OpenGL command glVertexAttrib2s was not loaded");
11275         return _VertexAttrib2s (index, x, y);
11276     }
11277     /// ditto
11278     public void VertexAttrib2sv (GLuint index, const(GLshort)* v) const {
11279         assert(_VertexAttrib2sv !is null, "OpenGL command glVertexAttrib2sv was not loaded");
11280         return _VertexAttrib2sv (index, v);
11281     }
11282     /// ditto
11283     public void VertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z) const {
11284         assert(_VertexAttrib3d !is null, "OpenGL command glVertexAttrib3d was not loaded");
11285         return _VertexAttrib3d (index, x, y, z);
11286     }
11287     /// ditto
11288     public void VertexAttrib3dv (GLuint index, const(GLdouble)* v) const {
11289         assert(_VertexAttrib3dv !is null, "OpenGL command glVertexAttrib3dv was not loaded");
11290         return _VertexAttrib3dv (index, v);
11291     }
11292     /// ditto
11293     public void VertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z) const {
11294         assert(_VertexAttrib3f !is null, "OpenGL command glVertexAttrib3f was not loaded");
11295         return _VertexAttrib3f (index, x, y, z);
11296     }
11297     /// ditto
11298     public void VertexAttrib3fv (GLuint index, const(GLfloat)* v) const {
11299         assert(_VertexAttrib3fv !is null, "OpenGL command glVertexAttrib3fv was not loaded");
11300         return _VertexAttrib3fv (index, v);
11301     }
11302     /// ditto
11303     public void VertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z) const {
11304         assert(_VertexAttrib3s !is null, "OpenGL command glVertexAttrib3s was not loaded");
11305         return _VertexAttrib3s (index, x, y, z);
11306     }
11307     /// ditto
11308     public void VertexAttrib3sv (GLuint index, const(GLshort)* v) const {
11309         assert(_VertexAttrib3sv !is null, "OpenGL command glVertexAttrib3sv was not loaded");
11310         return _VertexAttrib3sv (index, v);
11311     }
11312     /// ditto
11313     public void VertexAttrib4Nbv (GLuint index, const(GLbyte)* v) const {
11314         assert(_VertexAttrib4Nbv !is null, "OpenGL command glVertexAttrib4Nbv was not loaded");
11315         return _VertexAttrib4Nbv (index, v);
11316     }
11317     /// ditto
11318     public void VertexAttrib4Niv (GLuint index, const(GLint)* v) const {
11319         assert(_VertexAttrib4Niv !is null, "OpenGL command glVertexAttrib4Niv was not loaded");
11320         return _VertexAttrib4Niv (index, v);
11321     }
11322     /// ditto
11323     public void VertexAttrib4Nsv (GLuint index, const(GLshort)* v) const {
11324         assert(_VertexAttrib4Nsv !is null, "OpenGL command glVertexAttrib4Nsv was not loaded");
11325         return _VertexAttrib4Nsv (index, v);
11326     }
11327     /// ditto
11328     public void VertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) const {
11329         assert(_VertexAttrib4Nub !is null, "OpenGL command glVertexAttrib4Nub was not loaded");
11330         return _VertexAttrib4Nub (index, x, y, z, w);
11331     }
11332     /// ditto
11333     public void VertexAttrib4Nubv (GLuint index, const(GLubyte)* v) const {
11334         assert(_VertexAttrib4Nubv !is null, "OpenGL command glVertexAttrib4Nubv was not loaded");
11335         return _VertexAttrib4Nubv (index, v);
11336     }
11337     /// ditto
11338     public void VertexAttrib4Nuiv (GLuint index, const(GLuint)* v) const {
11339         assert(_VertexAttrib4Nuiv !is null, "OpenGL command glVertexAttrib4Nuiv was not loaded");
11340         return _VertexAttrib4Nuiv (index, v);
11341     }
11342     /// ditto
11343     public void VertexAttrib4Nusv (GLuint index, const(GLushort)* v) const {
11344         assert(_VertexAttrib4Nusv !is null, "OpenGL command glVertexAttrib4Nusv was not loaded");
11345         return _VertexAttrib4Nusv (index, v);
11346     }
11347     /// ditto
11348     public void VertexAttrib4bv (GLuint index, const(GLbyte)* v) const {
11349         assert(_VertexAttrib4bv !is null, "OpenGL command glVertexAttrib4bv was not loaded");
11350         return _VertexAttrib4bv (index, v);
11351     }
11352     /// ditto
11353     public void VertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) const {
11354         assert(_VertexAttrib4d !is null, "OpenGL command glVertexAttrib4d was not loaded");
11355         return _VertexAttrib4d (index, x, y, z, w);
11356     }
11357     /// ditto
11358     public void VertexAttrib4dv (GLuint index, const(GLdouble)* v) const {
11359         assert(_VertexAttrib4dv !is null, "OpenGL command glVertexAttrib4dv was not loaded");
11360         return _VertexAttrib4dv (index, v);
11361     }
11362     /// ditto
11363     public void VertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) const {
11364         assert(_VertexAttrib4f !is null, "OpenGL command glVertexAttrib4f was not loaded");
11365         return _VertexAttrib4f (index, x, y, z, w);
11366     }
11367     /// ditto
11368     public void VertexAttrib4fv (GLuint index, const(GLfloat)* v) const {
11369         assert(_VertexAttrib4fv !is null, "OpenGL command glVertexAttrib4fv was not loaded");
11370         return _VertexAttrib4fv (index, v);
11371     }
11372     /// ditto
11373     public void VertexAttrib4iv (GLuint index, const(GLint)* v) const {
11374         assert(_VertexAttrib4iv !is null, "OpenGL command glVertexAttrib4iv was not loaded");
11375         return _VertexAttrib4iv (index, v);
11376     }
11377     /// ditto
11378     public void VertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) const {
11379         assert(_VertexAttrib4s !is null, "OpenGL command glVertexAttrib4s was not loaded");
11380         return _VertexAttrib4s (index, x, y, z, w);
11381     }
11382     /// ditto
11383     public void VertexAttrib4sv (GLuint index, const(GLshort)* v) const {
11384         assert(_VertexAttrib4sv !is null, "OpenGL command glVertexAttrib4sv was not loaded");
11385         return _VertexAttrib4sv (index, v);
11386     }
11387     /// ditto
11388     public void VertexAttrib4ubv (GLuint index, const(GLubyte)* v) const {
11389         assert(_VertexAttrib4ubv !is null, "OpenGL command glVertexAttrib4ubv was not loaded");
11390         return _VertexAttrib4ubv (index, v);
11391     }
11392     /// ditto
11393     public void VertexAttrib4uiv (GLuint index, const(GLuint)* v) const {
11394         assert(_VertexAttrib4uiv !is null, "OpenGL command glVertexAttrib4uiv was not loaded");
11395         return _VertexAttrib4uiv (index, v);
11396     }
11397     /// ditto
11398     public void VertexAttrib4usv (GLuint index, const(GLushort)* v) const {
11399         assert(_VertexAttrib4usv !is null, "OpenGL command glVertexAttrib4usv was not loaded");
11400         return _VertexAttrib4usv (index, v);
11401     }
11402     /// ditto
11403     public void VertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const(void)* pointer) const {
11404         assert(_VertexAttribPointer !is null, "OpenGL command glVertexAttribPointer was not loaded");
11405         return _VertexAttribPointer (index, size, type, normalized, stride, pointer);
11406     }
11407 
11408     /// Commands for GL_VERSION_2_1
11409     public void UniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
11410         assert(_UniformMatrix2x3fv !is null, "OpenGL command glUniformMatrix2x3fv was not loaded");
11411         return _UniformMatrix2x3fv (location, count, transpose, value);
11412     }
11413     /// ditto
11414     public void UniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
11415         assert(_UniformMatrix3x2fv !is null, "OpenGL command glUniformMatrix3x2fv was not loaded");
11416         return _UniformMatrix3x2fv (location, count, transpose, value);
11417     }
11418     /// ditto
11419     public void UniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
11420         assert(_UniformMatrix2x4fv !is null, "OpenGL command glUniformMatrix2x4fv was not loaded");
11421         return _UniformMatrix2x4fv (location, count, transpose, value);
11422     }
11423     /// ditto
11424     public void UniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
11425         assert(_UniformMatrix4x2fv !is null, "OpenGL command glUniformMatrix4x2fv was not loaded");
11426         return _UniformMatrix4x2fv (location, count, transpose, value);
11427     }
11428     /// ditto
11429     public void UniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
11430         assert(_UniformMatrix3x4fv !is null, "OpenGL command glUniformMatrix3x4fv was not loaded");
11431         return _UniformMatrix3x4fv (location, count, transpose, value);
11432     }
11433     /// ditto
11434     public void UniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
11435         assert(_UniformMatrix4x3fv !is null, "OpenGL command glUniformMatrix4x3fv was not loaded");
11436         return _UniformMatrix4x3fv (location, count, transpose, value);
11437     }
11438 
11439     /// Commands for GL_VERSION_3_0
11440     public void ColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) const {
11441         assert(_ColorMaski !is null, "OpenGL command glColorMaski was not loaded");
11442         return _ColorMaski (index, r, g, b, a);
11443     }
11444     /// ditto
11445     public void GetBooleani_v (GLenum target, GLuint index, GLboolean* data) const {
11446         assert(_GetBooleani_v !is null, "OpenGL command glGetBooleani_v was not loaded");
11447         return _GetBooleani_v (target, index, data);
11448     }
11449     /// ditto
11450     public void GetIntegeri_v (GLenum target, GLuint index, GLint* data) const {
11451         assert(_GetIntegeri_v !is null, "OpenGL command glGetIntegeri_v was not loaded");
11452         return _GetIntegeri_v (target, index, data);
11453     }
11454     /// ditto
11455     public void Enablei (GLenum target, GLuint index) const {
11456         assert(_Enablei !is null, "OpenGL command glEnablei was not loaded");
11457         return _Enablei (target, index);
11458     }
11459     /// ditto
11460     public void Disablei (GLenum target, GLuint index) const {
11461         assert(_Disablei !is null, "OpenGL command glDisablei was not loaded");
11462         return _Disablei (target, index);
11463     }
11464     /// ditto
11465     public GLboolean IsEnabledi (GLenum target, GLuint index) const {
11466         assert(_IsEnabledi !is null, "OpenGL command glIsEnabledi was not loaded");
11467         return _IsEnabledi (target, index);
11468     }
11469     /// ditto
11470     public void BeginTransformFeedback (GLenum primitiveMode) const {
11471         assert(_BeginTransformFeedback !is null, "OpenGL command glBeginTransformFeedback was not loaded");
11472         return _BeginTransformFeedback (primitiveMode);
11473     }
11474     /// ditto
11475     public void EndTransformFeedback () const {
11476         assert(_EndTransformFeedback !is null, "OpenGL command glEndTransformFeedback was not loaded");
11477         return _EndTransformFeedback ();
11478     }
11479     /// ditto
11480     public void BindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) const {
11481         assert(_BindBufferRange !is null, "OpenGL command glBindBufferRange was not loaded");
11482         return _BindBufferRange (target, index, buffer, offset, size);
11483     }
11484     /// ditto
11485     public void BindBufferBase (GLenum target, GLuint index, GLuint buffer) const {
11486         assert(_BindBufferBase !is null, "OpenGL command glBindBufferBase was not loaded");
11487         return _BindBufferBase (target, index, buffer);
11488     }
11489     /// ditto
11490     public void TransformFeedbackVaryings (GLuint program, GLsizei count, const(GLchar*)* varyings, GLenum bufferMode) const {
11491         assert(_TransformFeedbackVaryings !is null, "OpenGL command glTransformFeedbackVaryings was not loaded");
11492         return _TransformFeedbackVaryings (program, count, varyings, bufferMode);
11493     }
11494     /// ditto
11495     public void GetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) const {
11496         assert(_GetTransformFeedbackVarying !is null, "OpenGL command glGetTransformFeedbackVarying was not loaded");
11497         return _GetTransformFeedbackVarying (program, index, bufSize, length, size, type, name);
11498     }
11499     /// ditto
11500     public void ClampColor (GLenum target, GLenum clamp) const {
11501         assert(_ClampColor !is null, "OpenGL command glClampColor was not loaded");
11502         return _ClampColor (target, clamp);
11503     }
11504     /// ditto
11505     public void BeginConditionalRender (GLuint id, GLenum mode) const {
11506         assert(_BeginConditionalRender !is null, "OpenGL command glBeginConditionalRender was not loaded");
11507         return _BeginConditionalRender (id, mode);
11508     }
11509     /// ditto
11510     public void EndConditionalRender () const {
11511         assert(_EndConditionalRender !is null, "OpenGL command glEndConditionalRender was not loaded");
11512         return _EndConditionalRender ();
11513     }
11514     /// ditto
11515     public void VertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const(void)* pointer) const {
11516         assert(_VertexAttribIPointer !is null, "OpenGL command glVertexAttribIPointer was not loaded");
11517         return _VertexAttribIPointer (index, size, type, stride, pointer);
11518     }
11519     /// ditto
11520     public void GetVertexAttribIiv (GLuint index, GLenum pname, GLint* params) const {
11521         assert(_GetVertexAttribIiv !is null, "OpenGL command glGetVertexAttribIiv was not loaded");
11522         return _GetVertexAttribIiv (index, pname, params);
11523     }
11524     /// ditto
11525     public void GetVertexAttribIuiv (GLuint index, GLenum pname, GLuint* params) const {
11526         assert(_GetVertexAttribIuiv !is null, "OpenGL command glGetVertexAttribIuiv was not loaded");
11527         return _GetVertexAttribIuiv (index, pname, params);
11528     }
11529     /// ditto
11530     public void VertexAttribI1i (GLuint index, GLint x) const {
11531         assert(_VertexAttribI1i !is null, "OpenGL command glVertexAttribI1i was not loaded");
11532         return _VertexAttribI1i (index, x);
11533     }
11534     /// ditto
11535     public void VertexAttribI2i (GLuint index, GLint x, GLint y) const {
11536         assert(_VertexAttribI2i !is null, "OpenGL command glVertexAttribI2i was not loaded");
11537         return _VertexAttribI2i (index, x, y);
11538     }
11539     /// ditto
11540     public void VertexAttribI3i (GLuint index, GLint x, GLint y, GLint z) const {
11541         assert(_VertexAttribI3i !is null, "OpenGL command glVertexAttribI3i was not loaded");
11542         return _VertexAttribI3i (index, x, y, z);
11543     }
11544     /// ditto
11545     public void VertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w) const {
11546         assert(_VertexAttribI4i !is null, "OpenGL command glVertexAttribI4i was not loaded");
11547         return _VertexAttribI4i (index, x, y, z, w);
11548     }
11549     /// ditto
11550     public void VertexAttribI1ui (GLuint index, GLuint x) const {
11551         assert(_VertexAttribI1ui !is null, "OpenGL command glVertexAttribI1ui was not loaded");
11552         return _VertexAttribI1ui (index, x);
11553     }
11554     /// ditto
11555     public void VertexAttribI2ui (GLuint index, GLuint x, GLuint y) const {
11556         assert(_VertexAttribI2ui !is null, "OpenGL command glVertexAttribI2ui was not loaded");
11557         return _VertexAttribI2ui (index, x, y);
11558     }
11559     /// ditto
11560     public void VertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z) const {
11561         assert(_VertexAttribI3ui !is null, "OpenGL command glVertexAttribI3ui was not loaded");
11562         return _VertexAttribI3ui (index, x, y, z);
11563     }
11564     /// ditto
11565     public void VertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) const {
11566         assert(_VertexAttribI4ui !is null, "OpenGL command glVertexAttribI4ui was not loaded");
11567         return _VertexAttribI4ui (index, x, y, z, w);
11568     }
11569     /// ditto
11570     public void VertexAttribI1iv (GLuint index, const(GLint)* v) const {
11571         assert(_VertexAttribI1iv !is null, "OpenGL command glVertexAttribI1iv was not loaded");
11572         return _VertexAttribI1iv (index, v);
11573     }
11574     /// ditto
11575     public void VertexAttribI2iv (GLuint index, const(GLint)* v) const {
11576         assert(_VertexAttribI2iv !is null, "OpenGL command glVertexAttribI2iv was not loaded");
11577         return _VertexAttribI2iv (index, v);
11578     }
11579     /// ditto
11580     public void VertexAttribI3iv (GLuint index, const(GLint)* v) const {
11581         assert(_VertexAttribI3iv !is null, "OpenGL command glVertexAttribI3iv was not loaded");
11582         return _VertexAttribI3iv (index, v);
11583     }
11584     /// ditto
11585     public void VertexAttribI4iv (GLuint index, const(GLint)* v) const {
11586         assert(_VertexAttribI4iv !is null, "OpenGL command glVertexAttribI4iv was not loaded");
11587         return _VertexAttribI4iv (index, v);
11588     }
11589     /// ditto
11590     public void VertexAttribI1uiv (GLuint index, const(GLuint)* v) const {
11591         assert(_VertexAttribI1uiv !is null, "OpenGL command glVertexAttribI1uiv was not loaded");
11592         return _VertexAttribI1uiv (index, v);
11593     }
11594     /// ditto
11595     public void VertexAttribI2uiv (GLuint index, const(GLuint)* v) const {
11596         assert(_VertexAttribI2uiv !is null, "OpenGL command glVertexAttribI2uiv was not loaded");
11597         return _VertexAttribI2uiv (index, v);
11598     }
11599     /// ditto
11600     public void VertexAttribI3uiv (GLuint index, const(GLuint)* v) const {
11601         assert(_VertexAttribI3uiv !is null, "OpenGL command glVertexAttribI3uiv was not loaded");
11602         return _VertexAttribI3uiv (index, v);
11603     }
11604     /// ditto
11605     public void VertexAttribI4uiv (GLuint index, const(GLuint)* v) const {
11606         assert(_VertexAttribI4uiv !is null, "OpenGL command glVertexAttribI4uiv was not loaded");
11607         return _VertexAttribI4uiv (index, v);
11608     }
11609     /// ditto
11610     public void VertexAttribI4bv (GLuint index, const(GLbyte)* v) const {
11611         assert(_VertexAttribI4bv !is null, "OpenGL command glVertexAttribI4bv was not loaded");
11612         return _VertexAttribI4bv (index, v);
11613     }
11614     /// ditto
11615     public void VertexAttribI4sv (GLuint index, const(GLshort)* v) const {
11616         assert(_VertexAttribI4sv !is null, "OpenGL command glVertexAttribI4sv was not loaded");
11617         return _VertexAttribI4sv (index, v);
11618     }
11619     /// ditto
11620     public void VertexAttribI4ubv (GLuint index, const(GLubyte)* v) const {
11621         assert(_VertexAttribI4ubv !is null, "OpenGL command glVertexAttribI4ubv was not loaded");
11622         return _VertexAttribI4ubv (index, v);
11623     }
11624     /// ditto
11625     public void VertexAttribI4usv (GLuint index, const(GLushort)* v) const {
11626         assert(_VertexAttribI4usv !is null, "OpenGL command glVertexAttribI4usv was not loaded");
11627         return _VertexAttribI4usv (index, v);
11628     }
11629     /// ditto
11630     public void GetUniformuiv (GLuint program, GLint location, GLuint* params) const {
11631         assert(_GetUniformuiv !is null, "OpenGL command glGetUniformuiv was not loaded");
11632         return _GetUniformuiv (program, location, params);
11633     }
11634     /// ditto
11635     public void BindFragDataLocation (GLuint program, GLuint color, const(GLchar)* name) const {
11636         assert(_BindFragDataLocation !is null, "OpenGL command glBindFragDataLocation was not loaded");
11637         return _BindFragDataLocation (program, color, name);
11638     }
11639     /// ditto
11640     public GLint GetFragDataLocation (GLuint program, const(GLchar)* name) const {
11641         assert(_GetFragDataLocation !is null, "OpenGL command glGetFragDataLocation was not loaded");
11642         return _GetFragDataLocation (program, name);
11643     }
11644     /// ditto
11645     public void Uniform1ui (GLint location, GLuint v0) const {
11646         assert(_Uniform1ui !is null, "OpenGL command glUniform1ui was not loaded");
11647         return _Uniform1ui (location, v0);
11648     }
11649     /// ditto
11650     public void Uniform2ui (GLint location, GLuint v0, GLuint v1) const {
11651         assert(_Uniform2ui !is null, "OpenGL command glUniform2ui was not loaded");
11652         return _Uniform2ui (location, v0, v1);
11653     }
11654     /// ditto
11655     public void Uniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2) const {
11656         assert(_Uniform3ui !is null, "OpenGL command glUniform3ui was not loaded");
11657         return _Uniform3ui (location, v0, v1, v2);
11658     }
11659     /// ditto
11660     public void Uniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) const {
11661         assert(_Uniform4ui !is null, "OpenGL command glUniform4ui was not loaded");
11662         return _Uniform4ui (location, v0, v1, v2, v3);
11663     }
11664     /// ditto
11665     public void Uniform1uiv (GLint location, GLsizei count, const(GLuint)* value) const {
11666         assert(_Uniform1uiv !is null, "OpenGL command glUniform1uiv was not loaded");
11667         return _Uniform1uiv (location, count, value);
11668     }
11669     /// ditto
11670     public void Uniform2uiv (GLint location, GLsizei count, const(GLuint)* value) const {
11671         assert(_Uniform2uiv !is null, "OpenGL command glUniform2uiv was not loaded");
11672         return _Uniform2uiv (location, count, value);
11673     }
11674     /// ditto
11675     public void Uniform3uiv (GLint location, GLsizei count, const(GLuint)* value) const {
11676         assert(_Uniform3uiv !is null, "OpenGL command glUniform3uiv was not loaded");
11677         return _Uniform3uiv (location, count, value);
11678     }
11679     /// ditto
11680     public void Uniform4uiv (GLint location, GLsizei count, const(GLuint)* value) const {
11681         assert(_Uniform4uiv !is null, "OpenGL command glUniform4uiv was not loaded");
11682         return _Uniform4uiv (location, count, value);
11683     }
11684     /// ditto
11685     public void TexParameterIiv (GLenum target, GLenum pname, const(GLint)* params) const {
11686         assert(_TexParameterIiv !is null, "OpenGL command glTexParameterIiv was not loaded");
11687         return _TexParameterIiv (target, pname, params);
11688     }
11689     /// ditto
11690     public void TexParameterIuiv (GLenum target, GLenum pname, const(GLuint)* params) const {
11691         assert(_TexParameterIuiv !is null, "OpenGL command glTexParameterIuiv was not loaded");
11692         return _TexParameterIuiv (target, pname, params);
11693     }
11694     /// ditto
11695     public void GetTexParameterIiv (GLenum target, GLenum pname, GLint* params) const {
11696         assert(_GetTexParameterIiv !is null, "OpenGL command glGetTexParameterIiv was not loaded");
11697         return _GetTexParameterIiv (target, pname, params);
11698     }
11699     /// ditto
11700     public void GetTexParameterIuiv (GLenum target, GLenum pname, GLuint* params) const {
11701         assert(_GetTexParameterIuiv !is null, "OpenGL command glGetTexParameterIuiv was not loaded");
11702         return _GetTexParameterIuiv (target, pname, params);
11703     }
11704     /// ditto
11705     public void ClearBufferiv (GLenum buffer, GLint drawbuffer, const(GLint)* value) const {
11706         assert(_ClearBufferiv !is null, "OpenGL command glClearBufferiv was not loaded");
11707         return _ClearBufferiv (buffer, drawbuffer, value);
11708     }
11709     /// ditto
11710     public void ClearBufferuiv (GLenum buffer, GLint drawbuffer, const(GLuint)* value) const {
11711         assert(_ClearBufferuiv !is null, "OpenGL command glClearBufferuiv was not loaded");
11712         return _ClearBufferuiv (buffer, drawbuffer, value);
11713     }
11714     /// ditto
11715     public void ClearBufferfv (GLenum buffer, GLint drawbuffer, const(GLfloat)* value) const {
11716         assert(_ClearBufferfv !is null, "OpenGL command glClearBufferfv was not loaded");
11717         return _ClearBufferfv (buffer, drawbuffer, value);
11718     }
11719     /// ditto
11720     public void ClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) const {
11721         assert(_ClearBufferfi !is null, "OpenGL command glClearBufferfi was not loaded");
11722         return _ClearBufferfi (buffer, drawbuffer, depth, stencil);
11723     }
11724     /// ditto
11725     public const(GLubyte)* GetStringi (GLenum name, GLuint index) const {
11726         assert(_GetStringi !is null, "OpenGL command glGetStringi was not loaded");
11727         return _GetStringi (name, index);
11728     }
11729     /// ditto
11730     public GLboolean IsRenderbuffer (GLuint renderbuffer) const {
11731         assert(_IsRenderbuffer !is null, "OpenGL command glIsRenderbuffer was not loaded");
11732         return _IsRenderbuffer (renderbuffer);
11733     }
11734     /// ditto
11735     public void BindRenderbuffer (GLenum target, GLuint renderbuffer) const {
11736         assert(_BindRenderbuffer !is null, "OpenGL command glBindRenderbuffer was not loaded");
11737         return _BindRenderbuffer (target, renderbuffer);
11738     }
11739     /// ditto
11740     public void DeleteRenderbuffers (GLsizei n, const(GLuint)* renderbuffers) const {
11741         assert(_DeleteRenderbuffers !is null, "OpenGL command glDeleteRenderbuffers was not loaded");
11742         return _DeleteRenderbuffers (n, renderbuffers);
11743     }
11744     /// ditto
11745     public void GenRenderbuffers (GLsizei n, GLuint* renderbuffers) const {
11746         assert(_GenRenderbuffers !is null, "OpenGL command glGenRenderbuffers was not loaded");
11747         return _GenRenderbuffers (n, renderbuffers);
11748     }
11749     /// ditto
11750     public void RenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height) const {
11751         assert(_RenderbufferStorage !is null, "OpenGL command glRenderbufferStorage was not loaded");
11752         return _RenderbufferStorage (target, internalformat, width, height);
11753     }
11754     /// ditto
11755     public void GetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params) const {
11756         assert(_GetRenderbufferParameteriv !is null, "OpenGL command glGetRenderbufferParameteriv was not loaded");
11757         return _GetRenderbufferParameteriv (target, pname, params);
11758     }
11759     /// ditto
11760     public GLboolean IsFramebuffer (GLuint framebuffer) const {
11761         assert(_IsFramebuffer !is null, "OpenGL command glIsFramebuffer was not loaded");
11762         return _IsFramebuffer (framebuffer);
11763     }
11764     /// ditto
11765     public void BindFramebuffer (GLenum target, GLuint framebuffer) const {
11766         assert(_BindFramebuffer !is null, "OpenGL command glBindFramebuffer was not loaded");
11767         return _BindFramebuffer (target, framebuffer);
11768     }
11769     /// ditto
11770     public void DeleteFramebuffers (GLsizei n, const(GLuint)* framebuffers) const {
11771         assert(_DeleteFramebuffers !is null, "OpenGL command glDeleteFramebuffers was not loaded");
11772         return _DeleteFramebuffers (n, framebuffers);
11773     }
11774     /// ditto
11775     public void GenFramebuffers (GLsizei n, GLuint* framebuffers) const {
11776         assert(_GenFramebuffers !is null, "OpenGL command glGenFramebuffers was not loaded");
11777         return _GenFramebuffers (n, framebuffers);
11778     }
11779     /// ditto
11780     public GLenum CheckFramebufferStatus (GLenum target) const {
11781         assert(_CheckFramebufferStatus !is null, "OpenGL command glCheckFramebufferStatus was not loaded");
11782         return _CheckFramebufferStatus (target);
11783     }
11784     /// ditto
11785     public void FramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) const {
11786         assert(_FramebufferTexture1D !is null, "OpenGL command glFramebufferTexture1D was not loaded");
11787         return _FramebufferTexture1D (target, attachment, textarget, texture, level);
11788     }
11789     /// ditto
11790     public void FramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) const {
11791         assert(_FramebufferTexture2D !is null, "OpenGL command glFramebufferTexture2D was not loaded");
11792         return _FramebufferTexture2D (target, attachment, textarget, texture, level);
11793     }
11794     /// ditto
11795     public void FramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) const {
11796         assert(_FramebufferTexture3D !is null, "OpenGL command glFramebufferTexture3D was not loaded");
11797         return _FramebufferTexture3D (target, attachment, textarget, texture, level, zoffset);
11798     }
11799     /// ditto
11800     public void FramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) const {
11801         assert(_FramebufferRenderbuffer !is null, "OpenGL command glFramebufferRenderbuffer was not loaded");
11802         return _FramebufferRenderbuffer (target, attachment, renderbuffertarget, renderbuffer);
11803     }
11804     /// ditto
11805     public void GetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params) const {
11806         assert(_GetFramebufferAttachmentParameteriv !is null, "OpenGL command glGetFramebufferAttachmentParameteriv was not loaded");
11807         return _GetFramebufferAttachmentParameteriv (target, attachment, pname, params);
11808     }
11809     /// ditto
11810     public void GenerateMipmap (GLenum target) const {
11811         assert(_GenerateMipmap !is null, "OpenGL command glGenerateMipmap was not loaded");
11812         return _GenerateMipmap (target);
11813     }
11814     /// ditto
11815     public void BlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) const {
11816         assert(_BlitFramebuffer !is null, "OpenGL command glBlitFramebuffer was not loaded");
11817         return _BlitFramebuffer (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
11818     }
11819     /// ditto
11820     public void RenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) const {
11821         assert(_RenderbufferStorageMultisample !is null, "OpenGL command glRenderbufferStorageMultisample was not loaded");
11822         return _RenderbufferStorageMultisample (target, samples, internalformat, width, height);
11823     }
11824     /// ditto
11825     public void FramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) const {
11826         assert(_FramebufferTextureLayer !is null, "OpenGL command glFramebufferTextureLayer was not loaded");
11827         return _FramebufferTextureLayer (target, attachment, texture, level, layer);
11828     }
11829     /// ditto
11830     public void * MapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) const {
11831         assert(_MapBufferRange !is null, "OpenGL command glMapBufferRange was not loaded");
11832         return _MapBufferRange (target, offset, length, access);
11833     }
11834     /// ditto
11835     public void FlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length) const {
11836         assert(_FlushMappedBufferRange !is null, "OpenGL command glFlushMappedBufferRange was not loaded");
11837         return _FlushMappedBufferRange (target, offset, length);
11838     }
11839     /// ditto
11840     public void BindVertexArray (GLuint array) const {
11841         assert(_BindVertexArray !is null, "OpenGL command glBindVertexArray was not loaded");
11842         return _BindVertexArray (array);
11843     }
11844     /// ditto
11845     public void DeleteVertexArrays (GLsizei n, const(GLuint)* arrays) const {
11846         assert(_DeleteVertexArrays !is null, "OpenGL command glDeleteVertexArrays was not loaded");
11847         return _DeleteVertexArrays (n, arrays);
11848     }
11849     /// ditto
11850     public void GenVertexArrays (GLsizei n, GLuint* arrays) const {
11851         assert(_GenVertexArrays !is null, "OpenGL command glGenVertexArrays was not loaded");
11852         return _GenVertexArrays (n, arrays);
11853     }
11854     /// ditto
11855     public GLboolean IsVertexArray (GLuint array) const {
11856         assert(_IsVertexArray !is null, "OpenGL command glIsVertexArray was not loaded");
11857         return _IsVertexArray (array);
11858     }
11859 
11860     /// Commands for GL_VERSION_3_1
11861     public void DrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount) const {
11862         assert(_DrawArraysInstanced !is null, "OpenGL command glDrawArraysInstanced was not loaded");
11863         return _DrawArraysInstanced (mode, first, count, instancecount);
11864     }
11865     /// ditto
11866     public void DrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const(void)* indices, GLsizei instancecount) const {
11867         assert(_DrawElementsInstanced !is null, "OpenGL command glDrawElementsInstanced was not loaded");
11868         return _DrawElementsInstanced (mode, count, type, indices, instancecount);
11869     }
11870     /// ditto
11871     public void TexBuffer (GLenum target, GLenum internalformat, GLuint buffer) const {
11872         assert(_TexBuffer !is null, "OpenGL command glTexBuffer was not loaded");
11873         return _TexBuffer (target, internalformat, buffer);
11874     }
11875     /// ditto
11876     public void PrimitiveRestartIndex (GLuint index) const {
11877         assert(_PrimitiveRestartIndex !is null, "OpenGL command glPrimitiveRestartIndex was not loaded");
11878         return _PrimitiveRestartIndex (index);
11879     }
11880     /// ditto
11881     public void CopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) const {
11882         assert(_CopyBufferSubData !is null, "OpenGL command glCopyBufferSubData was not loaded");
11883         return _CopyBufferSubData (readTarget, writeTarget, readOffset, writeOffset, size);
11884     }
11885     /// ditto
11886     public void GetUniformIndices (GLuint program, GLsizei uniformCount, const(GLchar*)* uniformNames, GLuint* uniformIndices) const {
11887         assert(_GetUniformIndices !is null, "OpenGL command glGetUniformIndices was not loaded");
11888         return _GetUniformIndices (program, uniformCount, uniformNames, uniformIndices);
11889     }
11890     /// ditto
11891     public void GetActiveUniformsiv (GLuint program, GLsizei uniformCount, const(GLuint)* uniformIndices, GLenum pname, GLint* params) const {
11892         assert(_GetActiveUniformsiv !is null, "OpenGL command glGetActiveUniformsiv was not loaded");
11893         return _GetActiveUniformsiv (program, uniformCount, uniformIndices, pname, params);
11894     }
11895     /// ditto
11896     public void GetActiveUniformName (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName) const {
11897         assert(_GetActiveUniformName !is null, "OpenGL command glGetActiveUniformName was not loaded");
11898         return _GetActiveUniformName (program, uniformIndex, bufSize, length, uniformName);
11899     }
11900     /// ditto
11901     public GLuint GetUniformBlockIndex (GLuint program, const(GLchar)* uniformBlockName) const {
11902         assert(_GetUniformBlockIndex !is null, "OpenGL command glGetUniformBlockIndex was not loaded");
11903         return _GetUniformBlockIndex (program, uniformBlockName);
11904     }
11905     /// ditto
11906     public void GetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params) const {
11907         assert(_GetActiveUniformBlockiv !is null, "OpenGL command glGetActiveUniformBlockiv was not loaded");
11908         return _GetActiveUniformBlockiv (program, uniformBlockIndex, pname, params);
11909     }
11910     /// ditto
11911     public void GetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName) const {
11912         assert(_GetActiveUniformBlockName !is null, "OpenGL command glGetActiveUniformBlockName was not loaded");
11913         return _GetActiveUniformBlockName (program, uniformBlockIndex, bufSize, length, uniformBlockName);
11914     }
11915     /// ditto
11916     public void UniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) const {
11917         assert(_UniformBlockBinding !is null, "OpenGL command glUniformBlockBinding was not loaded");
11918         return _UniformBlockBinding (program, uniformBlockIndex, uniformBlockBinding);
11919     }
11920 
11921     /// Commands for GL_VERSION_3_2
11922     public void DrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const(void)* indices, GLint basevertex) const {
11923         assert(_DrawElementsBaseVertex !is null, "OpenGL command glDrawElementsBaseVertex was not loaded");
11924         return _DrawElementsBaseVertex (mode, count, type, indices, basevertex);
11925     }
11926     /// ditto
11927     public void DrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const(void)* indices, GLint basevertex) const {
11928         assert(_DrawRangeElementsBaseVertex !is null, "OpenGL command glDrawRangeElementsBaseVertex was not loaded");
11929         return _DrawRangeElementsBaseVertex (mode, start, end, count, type, indices, basevertex);
11930     }
11931     /// ditto
11932     public void DrawElementsInstancedBaseVertex (GLenum mode, GLsizei count, GLenum type, const(void)* indices, GLsizei instancecount, GLint basevertex) const {
11933         assert(_DrawElementsInstancedBaseVertex !is null, "OpenGL command glDrawElementsInstancedBaseVertex was not loaded");
11934         return _DrawElementsInstancedBaseVertex (mode, count, type, indices, instancecount, basevertex);
11935     }
11936     /// ditto
11937     public void MultiDrawElementsBaseVertex (GLenum mode, const(GLsizei)* count, GLenum type, const(void*)* indices, GLsizei drawcount, const(GLint)* basevertex) const {
11938         assert(_MultiDrawElementsBaseVertex !is null, "OpenGL command glMultiDrawElementsBaseVertex was not loaded");
11939         return _MultiDrawElementsBaseVertex (mode, count, type, indices, drawcount, basevertex);
11940     }
11941     /// ditto
11942     public void ProvokingVertex (GLenum mode) const {
11943         assert(_ProvokingVertex !is null, "OpenGL command glProvokingVertex was not loaded");
11944         return _ProvokingVertex (mode);
11945     }
11946     /// ditto
11947     public GLsync FenceSync (GLenum condition, GLbitfield flags) const {
11948         assert(_FenceSync !is null, "OpenGL command glFenceSync was not loaded");
11949         return _FenceSync (condition, flags);
11950     }
11951     /// ditto
11952     public GLboolean IsSync (GLsync sync) const {
11953         assert(_IsSync !is null, "OpenGL command glIsSync was not loaded");
11954         return _IsSync (sync);
11955     }
11956     /// ditto
11957     public void DeleteSync (GLsync sync) const {
11958         assert(_DeleteSync !is null, "OpenGL command glDeleteSync was not loaded");
11959         return _DeleteSync (sync);
11960     }
11961     /// ditto
11962     public GLenum ClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout) const {
11963         assert(_ClientWaitSync !is null, "OpenGL command glClientWaitSync was not loaded");
11964         return _ClientWaitSync (sync, flags, timeout);
11965     }
11966     /// ditto
11967     public void WaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout) const {
11968         assert(_WaitSync !is null, "OpenGL command glWaitSync was not loaded");
11969         return _WaitSync (sync, flags, timeout);
11970     }
11971     /// ditto
11972     public void GetInteger64v (GLenum pname, GLint64* data) const {
11973         assert(_GetInteger64v !is null, "OpenGL command glGetInteger64v was not loaded");
11974         return _GetInteger64v (pname, data);
11975     }
11976     /// ditto
11977     public void GetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) const {
11978         assert(_GetSynciv !is null, "OpenGL command glGetSynciv was not loaded");
11979         return _GetSynciv (sync, pname, bufSize, length, values);
11980     }
11981     /// ditto
11982     public void GetInteger64i_v (GLenum target, GLuint index, GLint64* data) const {
11983         assert(_GetInteger64i_v !is null, "OpenGL command glGetInteger64i_v was not loaded");
11984         return _GetInteger64i_v (target, index, data);
11985     }
11986     /// ditto
11987     public void GetBufferParameteri64v (GLenum target, GLenum pname, GLint64* params) const {
11988         assert(_GetBufferParameteri64v !is null, "OpenGL command glGetBufferParameteri64v was not loaded");
11989         return _GetBufferParameteri64v (target, pname, params);
11990     }
11991     /// ditto
11992     public void FramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level) const {
11993         assert(_FramebufferTexture !is null, "OpenGL command glFramebufferTexture was not loaded");
11994         return _FramebufferTexture (target, attachment, texture, level);
11995     }
11996     /// ditto
11997     public void TexImage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) const {
11998         assert(_TexImage2DMultisample !is null, "OpenGL command glTexImage2DMultisample was not loaded");
11999         return _TexImage2DMultisample (target, samples, internalformat, width, height, fixedsamplelocations);
12000     }
12001     /// ditto
12002     public void TexImage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) const {
12003         assert(_TexImage3DMultisample !is null, "OpenGL command glTexImage3DMultisample was not loaded");
12004         return _TexImage3DMultisample (target, samples, internalformat, width, height, depth, fixedsamplelocations);
12005     }
12006     /// ditto
12007     public void GetMultisamplefv (GLenum pname, GLuint index, GLfloat* val) const {
12008         assert(_GetMultisamplefv !is null, "OpenGL command glGetMultisamplefv was not loaded");
12009         return _GetMultisamplefv (pname, index, val);
12010     }
12011     /// ditto
12012     public void SampleMaski (GLuint maskNumber, GLbitfield mask) const {
12013         assert(_SampleMaski !is null, "OpenGL command glSampleMaski was not loaded");
12014         return _SampleMaski (maskNumber, mask);
12015     }
12016 
12017     /// Commands for GL_VERSION_3_3
12018     public void BindFragDataLocationIndexed (GLuint program, GLuint colorNumber, GLuint index, const(GLchar)* name) const {
12019         assert(_BindFragDataLocationIndexed !is null, "OpenGL command glBindFragDataLocationIndexed was not loaded");
12020         return _BindFragDataLocationIndexed (program, colorNumber, index, name);
12021     }
12022     /// ditto
12023     public GLint GetFragDataIndex (GLuint program, const(GLchar)* name) const {
12024         assert(_GetFragDataIndex !is null, "OpenGL command glGetFragDataIndex was not loaded");
12025         return _GetFragDataIndex (program, name);
12026     }
12027     /// ditto
12028     public void GenSamplers (GLsizei count, GLuint* samplers) const {
12029         assert(_GenSamplers !is null, "OpenGL command glGenSamplers was not loaded");
12030         return _GenSamplers (count, samplers);
12031     }
12032     /// ditto
12033     public void DeleteSamplers (GLsizei count, const(GLuint)* samplers) const {
12034         assert(_DeleteSamplers !is null, "OpenGL command glDeleteSamplers was not loaded");
12035         return _DeleteSamplers (count, samplers);
12036     }
12037     /// ditto
12038     public GLboolean IsSampler (GLuint sampler) const {
12039         assert(_IsSampler !is null, "OpenGL command glIsSampler was not loaded");
12040         return _IsSampler (sampler);
12041     }
12042     /// ditto
12043     public void BindSampler (GLuint unit, GLuint sampler) const {
12044         assert(_BindSampler !is null, "OpenGL command glBindSampler was not loaded");
12045         return _BindSampler (unit, sampler);
12046     }
12047     /// ditto
12048     public void SamplerParameteri (GLuint sampler, GLenum pname, GLint param) const {
12049         assert(_SamplerParameteri !is null, "OpenGL command glSamplerParameteri was not loaded");
12050         return _SamplerParameteri (sampler, pname, param);
12051     }
12052     /// ditto
12053     public void SamplerParameteriv (GLuint sampler, GLenum pname, const(GLint)* param) const {
12054         assert(_SamplerParameteriv !is null, "OpenGL command glSamplerParameteriv was not loaded");
12055         return _SamplerParameteriv (sampler, pname, param);
12056     }
12057     /// ditto
12058     public void SamplerParameterf (GLuint sampler, GLenum pname, GLfloat param) const {
12059         assert(_SamplerParameterf !is null, "OpenGL command glSamplerParameterf was not loaded");
12060         return _SamplerParameterf (sampler, pname, param);
12061     }
12062     /// ditto
12063     public void SamplerParameterfv (GLuint sampler, GLenum pname, const(GLfloat)* param) const {
12064         assert(_SamplerParameterfv !is null, "OpenGL command glSamplerParameterfv was not loaded");
12065         return _SamplerParameterfv (sampler, pname, param);
12066     }
12067     /// ditto
12068     public void SamplerParameterIiv (GLuint sampler, GLenum pname, const(GLint)* param) const {
12069         assert(_SamplerParameterIiv !is null, "OpenGL command glSamplerParameterIiv was not loaded");
12070         return _SamplerParameterIiv (sampler, pname, param);
12071     }
12072     /// ditto
12073     public void SamplerParameterIuiv (GLuint sampler, GLenum pname, const(GLuint)* param) const {
12074         assert(_SamplerParameterIuiv !is null, "OpenGL command glSamplerParameterIuiv was not loaded");
12075         return _SamplerParameterIuiv (sampler, pname, param);
12076     }
12077     /// ditto
12078     public void GetSamplerParameteriv (GLuint sampler, GLenum pname, GLint* params) const {
12079         assert(_GetSamplerParameteriv !is null, "OpenGL command glGetSamplerParameteriv was not loaded");
12080         return _GetSamplerParameteriv (sampler, pname, params);
12081     }
12082     /// ditto
12083     public void GetSamplerParameterIiv (GLuint sampler, GLenum pname, GLint* params) const {
12084         assert(_GetSamplerParameterIiv !is null, "OpenGL command glGetSamplerParameterIiv was not loaded");
12085         return _GetSamplerParameterIiv (sampler, pname, params);
12086     }
12087     /// ditto
12088     public void GetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat* params) const {
12089         assert(_GetSamplerParameterfv !is null, "OpenGL command glGetSamplerParameterfv was not loaded");
12090         return _GetSamplerParameterfv (sampler, pname, params);
12091     }
12092     /// ditto
12093     public void GetSamplerParameterIuiv (GLuint sampler, GLenum pname, GLuint* params) const {
12094         assert(_GetSamplerParameterIuiv !is null, "OpenGL command glGetSamplerParameterIuiv was not loaded");
12095         return _GetSamplerParameterIuiv (sampler, pname, params);
12096     }
12097     /// ditto
12098     public void QueryCounter (GLuint id, GLenum target) const {
12099         assert(_QueryCounter !is null, "OpenGL command glQueryCounter was not loaded");
12100         return _QueryCounter (id, target);
12101     }
12102     /// ditto
12103     public void GetQueryObjecti64v (GLuint id, GLenum pname, GLint64* params) const {
12104         assert(_GetQueryObjecti64v !is null, "OpenGL command glGetQueryObjecti64v was not loaded");
12105         return _GetQueryObjecti64v (id, pname, params);
12106     }
12107     /// ditto
12108     public void GetQueryObjectui64v (GLuint id, GLenum pname, GLuint64* params) const {
12109         assert(_GetQueryObjectui64v !is null, "OpenGL command glGetQueryObjectui64v was not loaded");
12110         return _GetQueryObjectui64v (id, pname, params);
12111     }
12112     /// ditto
12113     public void VertexAttribDivisor (GLuint index, GLuint divisor) const {
12114         assert(_VertexAttribDivisor !is null, "OpenGL command glVertexAttribDivisor was not loaded");
12115         return _VertexAttribDivisor (index, divisor);
12116     }
12117     /// ditto
12118     public void VertexAttribP1ui (GLuint index, GLenum type, GLboolean normalized, GLuint value) const {
12119         assert(_VertexAttribP1ui !is null, "OpenGL command glVertexAttribP1ui was not loaded");
12120         return _VertexAttribP1ui (index, type, normalized, value);
12121     }
12122     /// ditto
12123     public void VertexAttribP1uiv (GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value) const {
12124         assert(_VertexAttribP1uiv !is null, "OpenGL command glVertexAttribP1uiv was not loaded");
12125         return _VertexAttribP1uiv (index, type, normalized, value);
12126     }
12127     /// ditto
12128     public void VertexAttribP2ui (GLuint index, GLenum type, GLboolean normalized, GLuint value) const {
12129         assert(_VertexAttribP2ui !is null, "OpenGL command glVertexAttribP2ui was not loaded");
12130         return _VertexAttribP2ui (index, type, normalized, value);
12131     }
12132     /// ditto
12133     public void VertexAttribP2uiv (GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value) const {
12134         assert(_VertexAttribP2uiv !is null, "OpenGL command glVertexAttribP2uiv was not loaded");
12135         return _VertexAttribP2uiv (index, type, normalized, value);
12136     }
12137     /// ditto
12138     public void VertexAttribP3ui (GLuint index, GLenum type, GLboolean normalized, GLuint value) const {
12139         assert(_VertexAttribP3ui !is null, "OpenGL command glVertexAttribP3ui was not loaded");
12140         return _VertexAttribP3ui (index, type, normalized, value);
12141     }
12142     /// ditto
12143     public void VertexAttribP3uiv (GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value) const {
12144         assert(_VertexAttribP3uiv !is null, "OpenGL command glVertexAttribP3uiv was not loaded");
12145         return _VertexAttribP3uiv (index, type, normalized, value);
12146     }
12147     /// ditto
12148     public void VertexAttribP4ui (GLuint index, GLenum type, GLboolean normalized, GLuint value) const {
12149         assert(_VertexAttribP4ui !is null, "OpenGL command glVertexAttribP4ui was not loaded");
12150         return _VertexAttribP4ui (index, type, normalized, value);
12151     }
12152     /// ditto
12153     public void VertexAttribP4uiv (GLuint index, GLenum type, GLboolean normalized, const(GLuint)* value) const {
12154         assert(_VertexAttribP4uiv !is null, "OpenGL command glVertexAttribP4uiv was not loaded");
12155         return _VertexAttribP4uiv (index, type, normalized, value);
12156     }
12157 
12158     /// Commands for GL_VERSION_4_0
12159     public void MinSampleShading (GLfloat value) const {
12160         assert(_MinSampleShading !is null, "OpenGL command glMinSampleShading was not loaded");
12161         return _MinSampleShading (value);
12162     }
12163     /// ditto
12164     public void BlendEquationi (GLuint buf, GLenum mode) const {
12165         assert(_BlendEquationi !is null, "OpenGL command glBlendEquationi was not loaded");
12166         return _BlendEquationi (buf, mode);
12167     }
12168     /// ditto
12169     public void BlendEquationSeparatei (GLuint buf, GLenum modeRGB, GLenum modeAlpha) const {
12170         assert(_BlendEquationSeparatei !is null, "OpenGL command glBlendEquationSeparatei was not loaded");
12171         return _BlendEquationSeparatei (buf, modeRGB, modeAlpha);
12172     }
12173     /// ditto
12174     public void BlendFunci (GLuint buf, GLenum src, GLenum dst) const {
12175         assert(_BlendFunci !is null, "OpenGL command glBlendFunci was not loaded");
12176         return _BlendFunci (buf, src, dst);
12177     }
12178     /// ditto
12179     public void BlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) const {
12180         assert(_BlendFuncSeparatei !is null, "OpenGL command glBlendFuncSeparatei was not loaded");
12181         return _BlendFuncSeparatei (buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
12182     }
12183     /// ditto
12184     public void DrawArraysIndirect (GLenum mode, const(void)* indirect) const {
12185         assert(_DrawArraysIndirect !is null, "OpenGL command glDrawArraysIndirect was not loaded");
12186         return _DrawArraysIndirect (mode, indirect);
12187     }
12188     /// ditto
12189     public void DrawElementsIndirect (GLenum mode, GLenum type, const(void)* indirect) const {
12190         assert(_DrawElementsIndirect !is null, "OpenGL command glDrawElementsIndirect was not loaded");
12191         return _DrawElementsIndirect (mode, type, indirect);
12192     }
12193     /// ditto
12194     public void Uniform1d (GLint location, GLdouble x) const {
12195         assert(_Uniform1d !is null, "OpenGL command glUniform1d was not loaded");
12196         return _Uniform1d (location, x);
12197     }
12198     /// ditto
12199     public void Uniform2d (GLint location, GLdouble x, GLdouble y) const {
12200         assert(_Uniform2d !is null, "OpenGL command glUniform2d was not loaded");
12201         return _Uniform2d (location, x, y);
12202     }
12203     /// ditto
12204     public void Uniform3d (GLint location, GLdouble x, GLdouble y, GLdouble z) const {
12205         assert(_Uniform3d !is null, "OpenGL command glUniform3d was not loaded");
12206         return _Uniform3d (location, x, y, z);
12207     }
12208     /// ditto
12209     public void Uniform4d (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) const {
12210         assert(_Uniform4d !is null, "OpenGL command glUniform4d was not loaded");
12211         return _Uniform4d (location, x, y, z, w);
12212     }
12213     /// ditto
12214     public void Uniform1dv (GLint location, GLsizei count, const(GLdouble)* value) const {
12215         assert(_Uniform1dv !is null, "OpenGL command glUniform1dv was not loaded");
12216         return _Uniform1dv (location, count, value);
12217     }
12218     /// ditto
12219     public void Uniform2dv (GLint location, GLsizei count, const(GLdouble)* value) const {
12220         assert(_Uniform2dv !is null, "OpenGL command glUniform2dv was not loaded");
12221         return _Uniform2dv (location, count, value);
12222     }
12223     /// ditto
12224     public void Uniform3dv (GLint location, GLsizei count, const(GLdouble)* value) const {
12225         assert(_Uniform3dv !is null, "OpenGL command glUniform3dv was not loaded");
12226         return _Uniform3dv (location, count, value);
12227     }
12228     /// ditto
12229     public void Uniform4dv (GLint location, GLsizei count, const(GLdouble)* value) const {
12230         assert(_Uniform4dv !is null, "OpenGL command glUniform4dv was not loaded");
12231         return _Uniform4dv (location, count, value);
12232     }
12233     /// ditto
12234     public void UniformMatrix2dv (GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12235         assert(_UniformMatrix2dv !is null, "OpenGL command glUniformMatrix2dv was not loaded");
12236         return _UniformMatrix2dv (location, count, transpose, value);
12237     }
12238     /// ditto
12239     public void UniformMatrix3dv (GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12240         assert(_UniformMatrix3dv !is null, "OpenGL command glUniformMatrix3dv was not loaded");
12241         return _UniformMatrix3dv (location, count, transpose, value);
12242     }
12243     /// ditto
12244     public void UniformMatrix4dv (GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12245         assert(_UniformMatrix4dv !is null, "OpenGL command glUniformMatrix4dv was not loaded");
12246         return _UniformMatrix4dv (location, count, transpose, value);
12247     }
12248     /// ditto
12249     public void UniformMatrix2x3dv (GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12250         assert(_UniformMatrix2x3dv !is null, "OpenGL command glUniformMatrix2x3dv was not loaded");
12251         return _UniformMatrix2x3dv (location, count, transpose, value);
12252     }
12253     /// ditto
12254     public void UniformMatrix2x4dv (GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12255         assert(_UniformMatrix2x4dv !is null, "OpenGL command glUniformMatrix2x4dv was not loaded");
12256         return _UniformMatrix2x4dv (location, count, transpose, value);
12257     }
12258     /// ditto
12259     public void UniformMatrix3x2dv (GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12260         assert(_UniformMatrix3x2dv !is null, "OpenGL command glUniformMatrix3x2dv was not loaded");
12261         return _UniformMatrix3x2dv (location, count, transpose, value);
12262     }
12263     /// ditto
12264     public void UniformMatrix3x4dv (GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12265         assert(_UniformMatrix3x4dv !is null, "OpenGL command glUniformMatrix3x4dv was not loaded");
12266         return _UniformMatrix3x4dv (location, count, transpose, value);
12267     }
12268     /// ditto
12269     public void UniformMatrix4x2dv (GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12270         assert(_UniformMatrix4x2dv !is null, "OpenGL command glUniformMatrix4x2dv was not loaded");
12271         return _UniformMatrix4x2dv (location, count, transpose, value);
12272     }
12273     /// ditto
12274     public void UniformMatrix4x3dv (GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12275         assert(_UniformMatrix4x3dv !is null, "OpenGL command glUniformMatrix4x3dv was not loaded");
12276         return _UniformMatrix4x3dv (location, count, transpose, value);
12277     }
12278     /// ditto
12279     public void GetUniformdv (GLuint program, GLint location, GLdouble* params) const {
12280         assert(_GetUniformdv !is null, "OpenGL command glGetUniformdv was not loaded");
12281         return _GetUniformdv (program, location, params);
12282     }
12283     /// ditto
12284     public GLint GetSubroutineUniformLocation (GLuint program, GLenum shadertype, const(GLchar)* name) const {
12285         assert(_GetSubroutineUniformLocation !is null, "OpenGL command glGetSubroutineUniformLocation was not loaded");
12286         return _GetSubroutineUniformLocation (program, shadertype, name);
12287     }
12288     /// ditto
12289     public GLuint GetSubroutineIndex (GLuint program, GLenum shadertype, const(GLchar)* name) const {
12290         assert(_GetSubroutineIndex !is null, "OpenGL command glGetSubroutineIndex was not loaded");
12291         return _GetSubroutineIndex (program, shadertype, name);
12292     }
12293     /// ditto
12294     public void GetActiveSubroutineUniformiv (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values) const {
12295         assert(_GetActiveSubroutineUniformiv !is null, "OpenGL command glGetActiveSubroutineUniformiv was not loaded");
12296         return _GetActiveSubroutineUniformiv (program, shadertype, index, pname, values);
12297     }
12298     /// ditto
12299     public void GetActiveSubroutineUniformName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name) const {
12300         assert(_GetActiveSubroutineUniformName !is null, "OpenGL command glGetActiveSubroutineUniformName was not loaded");
12301         return _GetActiveSubroutineUniformName (program, shadertype, index, bufsize, length, name);
12302     }
12303     /// ditto
12304     public void GetActiveSubroutineName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name) const {
12305         assert(_GetActiveSubroutineName !is null, "OpenGL command glGetActiveSubroutineName was not loaded");
12306         return _GetActiveSubroutineName (program, shadertype, index, bufsize, length, name);
12307     }
12308     /// ditto
12309     public void UniformSubroutinesuiv (GLenum shadertype, GLsizei count, const(GLuint)* indices) const {
12310         assert(_UniformSubroutinesuiv !is null, "OpenGL command glUniformSubroutinesuiv was not loaded");
12311         return _UniformSubroutinesuiv (shadertype, count, indices);
12312     }
12313     /// ditto
12314     public void GetUniformSubroutineuiv (GLenum shadertype, GLint location, GLuint* params) const {
12315         assert(_GetUniformSubroutineuiv !is null, "OpenGL command glGetUniformSubroutineuiv was not loaded");
12316         return _GetUniformSubroutineuiv (shadertype, location, params);
12317     }
12318     /// ditto
12319     public void GetProgramStageiv (GLuint program, GLenum shadertype, GLenum pname, GLint* values) const {
12320         assert(_GetProgramStageiv !is null, "OpenGL command glGetProgramStageiv was not loaded");
12321         return _GetProgramStageiv (program, shadertype, pname, values);
12322     }
12323     /// ditto
12324     public void PatchParameteri (GLenum pname, GLint value) const {
12325         assert(_PatchParameteri !is null, "OpenGL command glPatchParameteri was not loaded");
12326         return _PatchParameteri (pname, value);
12327     }
12328     /// ditto
12329     public void PatchParameterfv (GLenum pname, const(GLfloat)* values) const {
12330         assert(_PatchParameterfv !is null, "OpenGL command glPatchParameterfv was not loaded");
12331         return _PatchParameterfv (pname, values);
12332     }
12333     /// ditto
12334     public void BindTransformFeedback (GLenum target, GLuint id) const {
12335         assert(_BindTransformFeedback !is null, "OpenGL command glBindTransformFeedback was not loaded");
12336         return _BindTransformFeedback (target, id);
12337     }
12338     /// ditto
12339     public void DeleteTransformFeedbacks (GLsizei n, const(GLuint)* ids) const {
12340         assert(_DeleteTransformFeedbacks !is null, "OpenGL command glDeleteTransformFeedbacks was not loaded");
12341         return _DeleteTransformFeedbacks (n, ids);
12342     }
12343     /// ditto
12344     public void GenTransformFeedbacks (GLsizei n, GLuint* ids) const {
12345         assert(_GenTransformFeedbacks !is null, "OpenGL command glGenTransformFeedbacks was not loaded");
12346         return _GenTransformFeedbacks (n, ids);
12347     }
12348     /// ditto
12349     public GLboolean IsTransformFeedback (GLuint id) const {
12350         assert(_IsTransformFeedback !is null, "OpenGL command glIsTransformFeedback was not loaded");
12351         return _IsTransformFeedback (id);
12352     }
12353     /// ditto
12354     public void PauseTransformFeedback () const {
12355         assert(_PauseTransformFeedback !is null, "OpenGL command glPauseTransformFeedback was not loaded");
12356         return _PauseTransformFeedback ();
12357     }
12358     /// ditto
12359     public void ResumeTransformFeedback () const {
12360         assert(_ResumeTransformFeedback !is null, "OpenGL command glResumeTransformFeedback was not loaded");
12361         return _ResumeTransformFeedback ();
12362     }
12363     /// ditto
12364     public void DrawTransformFeedback (GLenum mode, GLuint id) const {
12365         assert(_DrawTransformFeedback !is null, "OpenGL command glDrawTransformFeedback was not loaded");
12366         return _DrawTransformFeedback (mode, id);
12367     }
12368     /// ditto
12369     public void DrawTransformFeedbackStream (GLenum mode, GLuint id, GLuint stream) const {
12370         assert(_DrawTransformFeedbackStream !is null, "OpenGL command glDrawTransformFeedbackStream was not loaded");
12371         return _DrawTransformFeedbackStream (mode, id, stream);
12372     }
12373     /// ditto
12374     public void BeginQueryIndexed (GLenum target, GLuint index, GLuint id) const {
12375         assert(_BeginQueryIndexed !is null, "OpenGL command glBeginQueryIndexed was not loaded");
12376         return _BeginQueryIndexed (target, index, id);
12377     }
12378     /// ditto
12379     public void EndQueryIndexed (GLenum target, GLuint index) const {
12380         assert(_EndQueryIndexed !is null, "OpenGL command glEndQueryIndexed was not loaded");
12381         return _EndQueryIndexed (target, index);
12382     }
12383     /// ditto
12384     public void GetQueryIndexediv (GLenum target, GLuint index, GLenum pname, GLint* params) const {
12385         assert(_GetQueryIndexediv !is null, "OpenGL command glGetQueryIndexediv was not loaded");
12386         return _GetQueryIndexediv (target, index, pname, params);
12387     }
12388 
12389     /// Commands for GL_VERSION_4_1
12390     public void ReleaseShaderCompiler () const {
12391         assert(_ReleaseShaderCompiler !is null, "OpenGL command glReleaseShaderCompiler was not loaded");
12392         return _ReleaseShaderCompiler ();
12393     }
12394     /// ditto
12395     public void ShaderBinary (GLsizei count, const(GLuint)* shaders, GLenum binaryformat, const(void)* binary, GLsizei length) const {
12396         assert(_ShaderBinary !is null, "OpenGL command glShaderBinary was not loaded");
12397         return _ShaderBinary (count, shaders, binaryformat, binary, length);
12398     }
12399     /// ditto
12400     public void GetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) const {
12401         assert(_GetShaderPrecisionFormat !is null, "OpenGL command glGetShaderPrecisionFormat was not loaded");
12402         return _GetShaderPrecisionFormat (shadertype, precisiontype, range, precision);
12403     }
12404     /// ditto
12405     public void DepthRangef (GLfloat n, GLfloat f) const {
12406         assert(_DepthRangef !is null, "OpenGL command glDepthRangef was not loaded");
12407         return _DepthRangef (n, f);
12408     }
12409     /// ditto
12410     public void ClearDepthf (GLfloat d) const {
12411         assert(_ClearDepthf !is null, "OpenGL command glClearDepthf was not loaded");
12412         return _ClearDepthf (d);
12413     }
12414     /// ditto
12415     public void GetProgramBinary (GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void* binary) const {
12416         assert(_GetProgramBinary !is null, "OpenGL command glGetProgramBinary was not loaded");
12417         return _GetProgramBinary (program, bufSize, length, binaryFormat, binary);
12418     }
12419     /// ditto
12420     public void ProgramBinary (GLuint program, GLenum binaryFormat, const(void)* binary, GLsizei length) const {
12421         assert(_ProgramBinary !is null, "OpenGL command glProgramBinary was not loaded");
12422         return _ProgramBinary (program, binaryFormat, binary, length);
12423     }
12424     /// ditto
12425     public void ProgramParameteri (GLuint program, GLenum pname, GLint value) const {
12426         assert(_ProgramParameteri !is null, "OpenGL command glProgramParameteri was not loaded");
12427         return _ProgramParameteri (program, pname, value);
12428     }
12429     /// ditto
12430     public void UseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program) const {
12431         assert(_UseProgramStages !is null, "OpenGL command glUseProgramStages was not loaded");
12432         return _UseProgramStages (pipeline, stages, program);
12433     }
12434     /// ditto
12435     public void ActiveShaderProgram (GLuint pipeline, GLuint program) const {
12436         assert(_ActiveShaderProgram !is null, "OpenGL command glActiveShaderProgram was not loaded");
12437         return _ActiveShaderProgram (pipeline, program);
12438     }
12439     /// ditto
12440     public GLuint CreateShaderProgramv (GLenum type, GLsizei count, const(GLchar*)* strings) const {
12441         assert(_CreateShaderProgramv !is null, "OpenGL command glCreateShaderProgramv was not loaded");
12442         return _CreateShaderProgramv (type, count, strings);
12443     }
12444     /// ditto
12445     public void BindProgramPipeline (GLuint pipeline) const {
12446         assert(_BindProgramPipeline !is null, "OpenGL command glBindProgramPipeline was not loaded");
12447         return _BindProgramPipeline (pipeline);
12448     }
12449     /// ditto
12450     public void DeleteProgramPipelines (GLsizei n, const(GLuint)* pipelines) const {
12451         assert(_DeleteProgramPipelines !is null, "OpenGL command glDeleteProgramPipelines was not loaded");
12452         return _DeleteProgramPipelines (n, pipelines);
12453     }
12454     /// ditto
12455     public void GenProgramPipelines (GLsizei n, GLuint* pipelines) const {
12456         assert(_GenProgramPipelines !is null, "OpenGL command glGenProgramPipelines was not loaded");
12457         return _GenProgramPipelines (n, pipelines);
12458     }
12459     /// ditto
12460     public GLboolean IsProgramPipeline (GLuint pipeline) const {
12461         assert(_IsProgramPipeline !is null, "OpenGL command glIsProgramPipeline was not loaded");
12462         return _IsProgramPipeline (pipeline);
12463     }
12464     /// ditto
12465     public void GetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint* params) const {
12466         assert(_GetProgramPipelineiv !is null, "OpenGL command glGetProgramPipelineiv was not loaded");
12467         return _GetProgramPipelineiv (pipeline, pname, params);
12468     }
12469     /// ditto
12470     public void ProgramUniform1i (GLuint program, GLint location, GLint v0) const {
12471         assert(_ProgramUniform1i !is null, "OpenGL command glProgramUniform1i was not loaded");
12472         return _ProgramUniform1i (program, location, v0);
12473     }
12474     /// ditto
12475     public void ProgramUniform1iv (GLuint program, GLint location, GLsizei count, const(GLint)* value) const {
12476         assert(_ProgramUniform1iv !is null, "OpenGL command glProgramUniform1iv was not loaded");
12477         return _ProgramUniform1iv (program, location, count, value);
12478     }
12479     /// ditto
12480     public void ProgramUniform1f (GLuint program, GLint location, GLfloat v0) const {
12481         assert(_ProgramUniform1f !is null, "OpenGL command glProgramUniform1f was not loaded");
12482         return _ProgramUniform1f (program, location, v0);
12483     }
12484     /// ditto
12485     public void ProgramUniform1fv (GLuint program, GLint location, GLsizei count, const(GLfloat)* value) const {
12486         assert(_ProgramUniform1fv !is null, "OpenGL command glProgramUniform1fv was not loaded");
12487         return _ProgramUniform1fv (program, location, count, value);
12488     }
12489     /// ditto
12490     public void ProgramUniform1d (GLuint program, GLint location, GLdouble v0) const {
12491         assert(_ProgramUniform1d !is null, "OpenGL command glProgramUniform1d was not loaded");
12492         return _ProgramUniform1d (program, location, v0);
12493     }
12494     /// ditto
12495     public void ProgramUniform1dv (GLuint program, GLint location, GLsizei count, const(GLdouble)* value) const {
12496         assert(_ProgramUniform1dv !is null, "OpenGL command glProgramUniform1dv was not loaded");
12497         return _ProgramUniform1dv (program, location, count, value);
12498     }
12499     /// ditto
12500     public void ProgramUniform1ui (GLuint program, GLint location, GLuint v0) const {
12501         assert(_ProgramUniform1ui !is null, "OpenGL command glProgramUniform1ui was not loaded");
12502         return _ProgramUniform1ui (program, location, v0);
12503     }
12504     /// ditto
12505     public void ProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const(GLuint)* value) const {
12506         assert(_ProgramUniform1uiv !is null, "OpenGL command glProgramUniform1uiv was not loaded");
12507         return _ProgramUniform1uiv (program, location, count, value);
12508     }
12509     /// ditto
12510     public void ProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1) const {
12511         assert(_ProgramUniform2i !is null, "OpenGL command glProgramUniform2i was not loaded");
12512         return _ProgramUniform2i (program, location, v0, v1);
12513     }
12514     /// ditto
12515     public void ProgramUniform2iv (GLuint program, GLint location, GLsizei count, const(GLint)* value) const {
12516         assert(_ProgramUniform2iv !is null, "OpenGL command glProgramUniform2iv was not loaded");
12517         return _ProgramUniform2iv (program, location, count, value);
12518     }
12519     /// ditto
12520     public void ProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1) const {
12521         assert(_ProgramUniform2f !is null, "OpenGL command glProgramUniform2f was not loaded");
12522         return _ProgramUniform2f (program, location, v0, v1);
12523     }
12524     /// ditto
12525     public void ProgramUniform2fv (GLuint program, GLint location, GLsizei count, const(GLfloat)* value) const {
12526         assert(_ProgramUniform2fv !is null, "OpenGL command glProgramUniform2fv was not loaded");
12527         return _ProgramUniform2fv (program, location, count, value);
12528     }
12529     /// ditto
12530     public void ProgramUniform2d (GLuint program, GLint location, GLdouble v0, GLdouble v1) const {
12531         assert(_ProgramUniform2d !is null, "OpenGL command glProgramUniform2d was not loaded");
12532         return _ProgramUniform2d (program, location, v0, v1);
12533     }
12534     /// ditto
12535     public void ProgramUniform2dv (GLuint program, GLint location, GLsizei count, const(GLdouble)* value) const {
12536         assert(_ProgramUniform2dv !is null, "OpenGL command glProgramUniform2dv was not loaded");
12537         return _ProgramUniform2dv (program, location, count, value);
12538     }
12539     /// ditto
12540     public void ProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1) const {
12541         assert(_ProgramUniform2ui !is null, "OpenGL command glProgramUniform2ui was not loaded");
12542         return _ProgramUniform2ui (program, location, v0, v1);
12543     }
12544     /// ditto
12545     public void ProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const(GLuint)* value) const {
12546         assert(_ProgramUniform2uiv !is null, "OpenGL command glProgramUniform2uiv was not loaded");
12547         return _ProgramUniform2uiv (program, location, count, value);
12548     }
12549     /// ditto
12550     public void ProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2) const {
12551         assert(_ProgramUniform3i !is null, "OpenGL command glProgramUniform3i was not loaded");
12552         return _ProgramUniform3i (program, location, v0, v1, v2);
12553     }
12554     /// ditto
12555     public void ProgramUniform3iv (GLuint program, GLint location, GLsizei count, const(GLint)* value) const {
12556         assert(_ProgramUniform3iv !is null, "OpenGL command glProgramUniform3iv was not loaded");
12557         return _ProgramUniform3iv (program, location, count, value);
12558     }
12559     /// ditto
12560     public void ProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) const {
12561         assert(_ProgramUniform3f !is null, "OpenGL command glProgramUniform3f was not loaded");
12562         return _ProgramUniform3f (program, location, v0, v1, v2);
12563     }
12564     /// ditto
12565     public void ProgramUniform3fv (GLuint program, GLint location, GLsizei count, const(GLfloat)* value) const {
12566         assert(_ProgramUniform3fv !is null, "OpenGL command glProgramUniform3fv was not loaded");
12567         return _ProgramUniform3fv (program, location, count, value);
12568     }
12569     /// ditto
12570     public void ProgramUniform3d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) const {
12571         assert(_ProgramUniform3d !is null, "OpenGL command glProgramUniform3d was not loaded");
12572         return _ProgramUniform3d (program, location, v0, v1, v2);
12573     }
12574     /// ditto
12575     public void ProgramUniform3dv (GLuint program, GLint location, GLsizei count, const(GLdouble)* value) const {
12576         assert(_ProgramUniform3dv !is null, "OpenGL command glProgramUniform3dv was not loaded");
12577         return _ProgramUniform3dv (program, location, count, value);
12578     }
12579     /// ditto
12580     public void ProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) const {
12581         assert(_ProgramUniform3ui !is null, "OpenGL command glProgramUniform3ui was not loaded");
12582         return _ProgramUniform3ui (program, location, v0, v1, v2);
12583     }
12584     /// ditto
12585     public void ProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const(GLuint)* value) const {
12586         assert(_ProgramUniform3uiv !is null, "OpenGL command glProgramUniform3uiv was not loaded");
12587         return _ProgramUniform3uiv (program, location, count, value);
12588     }
12589     /// ditto
12590     public void ProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) const {
12591         assert(_ProgramUniform4i !is null, "OpenGL command glProgramUniform4i was not loaded");
12592         return _ProgramUniform4i (program, location, v0, v1, v2, v3);
12593     }
12594     /// ditto
12595     public void ProgramUniform4iv (GLuint program, GLint location, GLsizei count, const(GLint)* value) const {
12596         assert(_ProgramUniform4iv !is null, "OpenGL command glProgramUniform4iv was not loaded");
12597         return _ProgramUniform4iv (program, location, count, value);
12598     }
12599     /// ditto
12600     public void ProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) const {
12601         assert(_ProgramUniform4f !is null, "OpenGL command glProgramUniform4f was not loaded");
12602         return _ProgramUniform4f (program, location, v0, v1, v2, v3);
12603     }
12604     /// ditto
12605     public void ProgramUniform4fv (GLuint program, GLint location, GLsizei count, const(GLfloat)* value) const {
12606         assert(_ProgramUniform4fv !is null, "OpenGL command glProgramUniform4fv was not loaded");
12607         return _ProgramUniform4fv (program, location, count, value);
12608     }
12609     /// ditto
12610     public void ProgramUniform4d (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) const {
12611         assert(_ProgramUniform4d !is null, "OpenGL command glProgramUniform4d was not loaded");
12612         return _ProgramUniform4d (program, location, v0, v1, v2, v3);
12613     }
12614     /// ditto
12615     public void ProgramUniform4dv (GLuint program, GLint location, GLsizei count, const(GLdouble)* value) const {
12616         assert(_ProgramUniform4dv !is null, "OpenGL command glProgramUniform4dv was not loaded");
12617         return _ProgramUniform4dv (program, location, count, value);
12618     }
12619     /// ditto
12620     public void ProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) const {
12621         assert(_ProgramUniform4ui !is null, "OpenGL command glProgramUniform4ui was not loaded");
12622         return _ProgramUniform4ui (program, location, v0, v1, v2, v3);
12623     }
12624     /// ditto
12625     public void ProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const(GLuint)* value) const {
12626         assert(_ProgramUniform4uiv !is null, "OpenGL command glProgramUniform4uiv was not loaded");
12627         return _ProgramUniform4uiv (program, location, count, value);
12628     }
12629     /// ditto
12630     public void ProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
12631         assert(_ProgramUniformMatrix2fv !is null, "OpenGL command glProgramUniformMatrix2fv was not loaded");
12632         return _ProgramUniformMatrix2fv (program, location, count, transpose, value);
12633     }
12634     /// ditto
12635     public void ProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
12636         assert(_ProgramUniformMatrix3fv !is null, "OpenGL command glProgramUniformMatrix3fv was not loaded");
12637         return _ProgramUniformMatrix3fv (program, location, count, transpose, value);
12638     }
12639     /// ditto
12640     public void ProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
12641         assert(_ProgramUniformMatrix4fv !is null, "OpenGL command glProgramUniformMatrix4fv was not loaded");
12642         return _ProgramUniformMatrix4fv (program, location, count, transpose, value);
12643     }
12644     /// ditto
12645     public void ProgramUniformMatrix2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12646         assert(_ProgramUniformMatrix2dv !is null, "OpenGL command glProgramUniformMatrix2dv was not loaded");
12647         return _ProgramUniformMatrix2dv (program, location, count, transpose, value);
12648     }
12649     /// ditto
12650     public void ProgramUniformMatrix3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12651         assert(_ProgramUniformMatrix3dv !is null, "OpenGL command glProgramUniformMatrix3dv was not loaded");
12652         return _ProgramUniformMatrix3dv (program, location, count, transpose, value);
12653     }
12654     /// ditto
12655     public void ProgramUniformMatrix4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12656         assert(_ProgramUniformMatrix4dv !is null, "OpenGL command glProgramUniformMatrix4dv was not loaded");
12657         return _ProgramUniformMatrix4dv (program, location, count, transpose, value);
12658     }
12659     /// ditto
12660     public void ProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
12661         assert(_ProgramUniformMatrix2x3fv !is null, "OpenGL command glProgramUniformMatrix2x3fv was not loaded");
12662         return _ProgramUniformMatrix2x3fv (program, location, count, transpose, value);
12663     }
12664     /// ditto
12665     public void ProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
12666         assert(_ProgramUniformMatrix3x2fv !is null, "OpenGL command glProgramUniformMatrix3x2fv was not loaded");
12667         return _ProgramUniformMatrix3x2fv (program, location, count, transpose, value);
12668     }
12669     /// ditto
12670     public void ProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
12671         assert(_ProgramUniformMatrix2x4fv !is null, "OpenGL command glProgramUniformMatrix2x4fv was not loaded");
12672         return _ProgramUniformMatrix2x4fv (program, location, count, transpose, value);
12673     }
12674     /// ditto
12675     public void ProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
12676         assert(_ProgramUniformMatrix4x2fv !is null, "OpenGL command glProgramUniformMatrix4x2fv was not loaded");
12677         return _ProgramUniformMatrix4x2fv (program, location, count, transpose, value);
12678     }
12679     /// ditto
12680     public void ProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
12681         assert(_ProgramUniformMatrix3x4fv !is null, "OpenGL command glProgramUniformMatrix3x4fv was not loaded");
12682         return _ProgramUniformMatrix3x4fv (program, location, count, transpose, value);
12683     }
12684     /// ditto
12685     public void ProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLfloat)* value) const {
12686         assert(_ProgramUniformMatrix4x3fv !is null, "OpenGL command glProgramUniformMatrix4x3fv was not loaded");
12687         return _ProgramUniformMatrix4x3fv (program, location, count, transpose, value);
12688     }
12689     /// ditto
12690     public void ProgramUniformMatrix2x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12691         assert(_ProgramUniformMatrix2x3dv !is null, "OpenGL command glProgramUniformMatrix2x3dv was not loaded");
12692         return _ProgramUniformMatrix2x3dv (program, location, count, transpose, value);
12693     }
12694     /// ditto
12695     public void ProgramUniformMatrix3x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12696         assert(_ProgramUniformMatrix3x2dv !is null, "OpenGL command glProgramUniformMatrix3x2dv was not loaded");
12697         return _ProgramUniformMatrix3x2dv (program, location, count, transpose, value);
12698     }
12699     /// ditto
12700     public void ProgramUniformMatrix2x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12701         assert(_ProgramUniformMatrix2x4dv !is null, "OpenGL command glProgramUniformMatrix2x4dv was not loaded");
12702         return _ProgramUniformMatrix2x4dv (program, location, count, transpose, value);
12703     }
12704     /// ditto
12705     public void ProgramUniformMatrix4x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12706         assert(_ProgramUniformMatrix4x2dv !is null, "OpenGL command glProgramUniformMatrix4x2dv was not loaded");
12707         return _ProgramUniformMatrix4x2dv (program, location, count, transpose, value);
12708     }
12709     /// ditto
12710     public void ProgramUniformMatrix3x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12711         assert(_ProgramUniformMatrix3x4dv !is null, "OpenGL command glProgramUniformMatrix3x4dv was not loaded");
12712         return _ProgramUniformMatrix3x4dv (program, location, count, transpose, value);
12713     }
12714     /// ditto
12715     public void ProgramUniformMatrix4x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
12716         assert(_ProgramUniformMatrix4x3dv !is null, "OpenGL command glProgramUniformMatrix4x3dv was not loaded");
12717         return _ProgramUniformMatrix4x3dv (program, location, count, transpose, value);
12718     }
12719     /// ditto
12720     public void ValidateProgramPipeline (GLuint pipeline) const {
12721         assert(_ValidateProgramPipeline !is null, "OpenGL command glValidateProgramPipeline was not loaded");
12722         return _ValidateProgramPipeline (pipeline);
12723     }
12724     /// ditto
12725     public void GetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog) const {
12726         assert(_GetProgramPipelineInfoLog !is null, "OpenGL command glGetProgramPipelineInfoLog was not loaded");
12727         return _GetProgramPipelineInfoLog (pipeline, bufSize, length, infoLog);
12728     }
12729     /// ditto
12730     public void VertexAttribL1d (GLuint index, GLdouble x) const {
12731         assert(_VertexAttribL1d !is null, "OpenGL command glVertexAttribL1d was not loaded");
12732         return _VertexAttribL1d (index, x);
12733     }
12734     /// ditto
12735     public void VertexAttribL2d (GLuint index, GLdouble x, GLdouble y) const {
12736         assert(_VertexAttribL2d !is null, "OpenGL command glVertexAttribL2d was not loaded");
12737         return _VertexAttribL2d (index, x, y);
12738     }
12739     /// ditto
12740     public void VertexAttribL3d (GLuint index, GLdouble x, GLdouble y, GLdouble z) const {
12741         assert(_VertexAttribL3d !is null, "OpenGL command glVertexAttribL3d was not loaded");
12742         return _VertexAttribL3d (index, x, y, z);
12743     }
12744     /// ditto
12745     public void VertexAttribL4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) const {
12746         assert(_VertexAttribL4d !is null, "OpenGL command glVertexAttribL4d was not loaded");
12747         return _VertexAttribL4d (index, x, y, z, w);
12748     }
12749     /// ditto
12750     public void VertexAttribL1dv (GLuint index, const(GLdouble)* v) const {
12751         assert(_VertexAttribL1dv !is null, "OpenGL command glVertexAttribL1dv was not loaded");
12752         return _VertexAttribL1dv (index, v);
12753     }
12754     /// ditto
12755     public void VertexAttribL2dv (GLuint index, const(GLdouble)* v) const {
12756         assert(_VertexAttribL2dv !is null, "OpenGL command glVertexAttribL2dv was not loaded");
12757         return _VertexAttribL2dv (index, v);
12758     }
12759     /// ditto
12760     public void VertexAttribL3dv (GLuint index, const(GLdouble)* v) const {
12761         assert(_VertexAttribL3dv !is null, "OpenGL command glVertexAttribL3dv was not loaded");
12762         return _VertexAttribL3dv (index, v);
12763     }
12764     /// ditto
12765     public void VertexAttribL4dv (GLuint index, const(GLdouble)* v) const {
12766         assert(_VertexAttribL4dv !is null, "OpenGL command glVertexAttribL4dv was not loaded");
12767         return _VertexAttribL4dv (index, v);
12768     }
12769     /// ditto
12770     public void VertexAttribLPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const(void)* pointer) const {
12771         assert(_VertexAttribLPointer !is null, "OpenGL command glVertexAttribLPointer was not loaded");
12772         return _VertexAttribLPointer (index, size, type, stride, pointer);
12773     }
12774     /// ditto
12775     public void GetVertexAttribLdv (GLuint index, GLenum pname, GLdouble* params) const {
12776         assert(_GetVertexAttribLdv !is null, "OpenGL command glGetVertexAttribLdv was not loaded");
12777         return _GetVertexAttribLdv (index, pname, params);
12778     }
12779     /// ditto
12780     public void ViewportArrayv (GLuint first, GLsizei count, const(GLfloat)* v) const {
12781         assert(_ViewportArrayv !is null, "OpenGL command glViewportArrayv was not loaded");
12782         return _ViewportArrayv (first, count, v);
12783     }
12784     /// ditto
12785     public void ViewportIndexedf (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) const {
12786         assert(_ViewportIndexedf !is null, "OpenGL command glViewportIndexedf was not loaded");
12787         return _ViewportIndexedf (index, x, y, w, h);
12788     }
12789     /// ditto
12790     public void ViewportIndexedfv (GLuint index, const(GLfloat)* v) const {
12791         assert(_ViewportIndexedfv !is null, "OpenGL command glViewportIndexedfv was not loaded");
12792         return _ViewportIndexedfv (index, v);
12793     }
12794     /// ditto
12795     public void ScissorArrayv (GLuint first, GLsizei count, const(GLint)* v) const {
12796         assert(_ScissorArrayv !is null, "OpenGL command glScissorArrayv was not loaded");
12797         return _ScissorArrayv (first, count, v);
12798     }
12799     /// ditto
12800     public void ScissorIndexed (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) const {
12801         assert(_ScissorIndexed !is null, "OpenGL command glScissorIndexed was not loaded");
12802         return _ScissorIndexed (index, left, bottom, width, height);
12803     }
12804     /// ditto
12805     public void ScissorIndexedv (GLuint index, const(GLint)* v) const {
12806         assert(_ScissorIndexedv !is null, "OpenGL command glScissorIndexedv was not loaded");
12807         return _ScissorIndexedv (index, v);
12808     }
12809     /// ditto
12810     public void DepthRangeArrayv (GLuint first, GLsizei count, const(GLdouble)* v) const {
12811         assert(_DepthRangeArrayv !is null, "OpenGL command glDepthRangeArrayv was not loaded");
12812         return _DepthRangeArrayv (first, count, v);
12813     }
12814     /// ditto
12815     public void DepthRangeIndexed (GLuint index, GLdouble n, GLdouble f) const {
12816         assert(_DepthRangeIndexed !is null, "OpenGL command glDepthRangeIndexed was not loaded");
12817         return _DepthRangeIndexed (index, n, f);
12818     }
12819     /// ditto
12820     public void GetFloati_v (GLenum target, GLuint index, GLfloat* data) const {
12821         assert(_GetFloati_v !is null, "OpenGL command glGetFloati_v was not loaded");
12822         return _GetFloati_v (target, index, data);
12823     }
12824     /// ditto
12825     public void GetDoublei_v (GLenum target, GLuint index, GLdouble* data) const {
12826         assert(_GetDoublei_v !is null, "OpenGL command glGetDoublei_v was not loaded");
12827         return _GetDoublei_v (target, index, data);
12828     }
12829 
12830     /// Commands for GL_VERSION_4_2
12831     public void DrawArraysInstancedBaseInstance (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) const {
12832         assert(_DrawArraysInstancedBaseInstance !is null, "OpenGL command glDrawArraysInstancedBaseInstance was not loaded");
12833         return _DrawArraysInstancedBaseInstance (mode, first, count, instancecount, baseinstance);
12834     }
12835     /// ditto
12836     public void DrawElementsInstancedBaseInstance (GLenum mode, GLsizei count, GLenum type, const(void)* indices, GLsizei instancecount, GLuint baseinstance) const {
12837         assert(_DrawElementsInstancedBaseInstance !is null, "OpenGL command glDrawElementsInstancedBaseInstance was not loaded");
12838         return _DrawElementsInstancedBaseInstance (mode, count, type, indices, instancecount, baseinstance);
12839     }
12840     /// ditto
12841     public void DrawElementsInstancedBaseVertexBaseInstance (GLenum mode, GLsizei count, GLenum type, const(void)* indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) const {
12842         assert(_DrawElementsInstancedBaseVertexBaseInstance !is null, "OpenGL command glDrawElementsInstancedBaseVertexBaseInstance was not loaded");
12843         return _DrawElementsInstancedBaseVertexBaseInstance (mode, count, type, indices, instancecount, basevertex, baseinstance);
12844     }
12845     /// ditto
12846     public void GetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params) const {
12847         assert(_GetInternalformativ !is null, "OpenGL command glGetInternalformativ was not loaded");
12848         return _GetInternalformativ (target, internalformat, pname, bufSize, params);
12849     }
12850     /// ditto
12851     public void GetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint* params) const {
12852         assert(_GetActiveAtomicCounterBufferiv !is null, "OpenGL command glGetActiveAtomicCounterBufferiv was not loaded");
12853         return _GetActiveAtomicCounterBufferiv (program, bufferIndex, pname, params);
12854     }
12855     /// ditto
12856     public void BindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) const {
12857         assert(_BindImageTexture !is null, "OpenGL command glBindImageTexture was not loaded");
12858         return _BindImageTexture (unit, texture, level, layered, layer, access, format);
12859     }
12860     /// ditto
12861     public void MemoryBarrier (GLbitfield barriers) const {
12862         assert(_MemoryBarrier !is null, "OpenGL command glMemoryBarrier was not loaded");
12863         return _MemoryBarrier (barriers);
12864     }
12865     /// ditto
12866     public void TexStorage1D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) const {
12867         assert(_TexStorage1D !is null, "OpenGL command glTexStorage1D was not loaded");
12868         return _TexStorage1D (target, levels, internalformat, width);
12869     }
12870     /// ditto
12871     public void TexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) const {
12872         assert(_TexStorage2D !is null, "OpenGL command glTexStorage2D was not loaded");
12873         return _TexStorage2D (target, levels, internalformat, width, height);
12874     }
12875     /// ditto
12876     public void TexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) const {
12877         assert(_TexStorage3D !is null, "OpenGL command glTexStorage3D was not loaded");
12878         return _TexStorage3D (target, levels, internalformat, width, height, depth);
12879     }
12880     /// ditto
12881     public void DrawTransformFeedbackInstanced (GLenum mode, GLuint id, GLsizei instancecount) const {
12882         assert(_DrawTransformFeedbackInstanced !is null, "OpenGL command glDrawTransformFeedbackInstanced was not loaded");
12883         return _DrawTransformFeedbackInstanced (mode, id, instancecount);
12884     }
12885     /// ditto
12886     public void DrawTransformFeedbackStreamInstanced (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) const {
12887         assert(_DrawTransformFeedbackStreamInstanced !is null, "OpenGL command glDrawTransformFeedbackStreamInstanced was not loaded");
12888         return _DrawTransformFeedbackStreamInstanced (mode, id, stream, instancecount);
12889     }
12890 
12891     /// Commands for GL_VERSION_4_3
12892     public void ClearBufferData (GLenum target, GLenum internalformat, GLenum format, GLenum type, const(void)* data) const {
12893         assert(_ClearBufferData !is null, "OpenGL command glClearBufferData was not loaded");
12894         return _ClearBufferData (target, internalformat, format, type, data);
12895     }
12896     /// ditto
12897     public void ClearBufferSubData (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const(void)* data) const {
12898         assert(_ClearBufferSubData !is null, "OpenGL command glClearBufferSubData was not loaded");
12899         return _ClearBufferSubData (target, internalformat, offset, size, format, type, data);
12900     }
12901     /// ditto
12902     public void DispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) const {
12903         assert(_DispatchCompute !is null, "OpenGL command glDispatchCompute was not loaded");
12904         return _DispatchCompute (num_groups_x, num_groups_y, num_groups_z);
12905     }
12906     /// ditto
12907     public void DispatchComputeIndirect (GLintptr indirect) const {
12908         assert(_DispatchComputeIndirect !is null, "OpenGL command glDispatchComputeIndirect was not loaded");
12909         return _DispatchComputeIndirect (indirect);
12910     }
12911     /// ditto
12912     public void CopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) const {
12913         assert(_CopyImageSubData !is null, "OpenGL command glCopyImageSubData was not loaded");
12914         return _CopyImageSubData (srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
12915     }
12916     /// ditto
12917     public void FramebufferParameteri (GLenum target, GLenum pname, GLint param) const {
12918         assert(_FramebufferParameteri !is null, "OpenGL command glFramebufferParameteri was not loaded");
12919         return _FramebufferParameteri (target, pname, param);
12920     }
12921     /// ditto
12922     public void GetFramebufferParameteriv (GLenum target, GLenum pname, GLint* params) const {
12923         assert(_GetFramebufferParameteriv !is null, "OpenGL command glGetFramebufferParameteriv was not loaded");
12924         return _GetFramebufferParameteriv (target, pname, params);
12925     }
12926     /// ditto
12927     public void GetInternalformati64v (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64* params) const {
12928         assert(_GetInternalformati64v !is null, "OpenGL command glGetInternalformati64v was not loaded");
12929         return _GetInternalformati64v (target, internalformat, pname, bufSize, params);
12930     }
12931     /// ditto
12932     public void InvalidateTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) const {
12933         assert(_InvalidateTexSubImage !is null, "OpenGL command glInvalidateTexSubImage was not loaded");
12934         return _InvalidateTexSubImage (texture, level, xoffset, yoffset, zoffset, width, height, depth);
12935     }
12936     /// ditto
12937     public void InvalidateTexImage (GLuint texture, GLint level) const {
12938         assert(_InvalidateTexImage !is null, "OpenGL command glInvalidateTexImage was not loaded");
12939         return _InvalidateTexImage (texture, level);
12940     }
12941     /// ditto
12942     public void InvalidateBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr length) const {
12943         assert(_InvalidateBufferSubData !is null, "OpenGL command glInvalidateBufferSubData was not loaded");
12944         return _InvalidateBufferSubData (buffer, offset, length);
12945     }
12946     /// ditto
12947     public void InvalidateBufferData (GLuint buffer) const {
12948         assert(_InvalidateBufferData !is null, "OpenGL command glInvalidateBufferData was not loaded");
12949         return _InvalidateBufferData (buffer);
12950     }
12951     /// ditto
12952     public void InvalidateFramebuffer (GLenum target, GLsizei numAttachments, const(GLenum)* attachments) const {
12953         assert(_InvalidateFramebuffer !is null, "OpenGL command glInvalidateFramebuffer was not loaded");
12954         return _InvalidateFramebuffer (target, numAttachments, attachments);
12955     }
12956     /// ditto
12957     public void InvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const(GLenum)* attachments, GLint x, GLint y, GLsizei width, GLsizei height) const {
12958         assert(_InvalidateSubFramebuffer !is null, "OpenGL command glInvalidateSubFramebuffer was not loaded");
12959         return _InvalidateSubFramebuffer (target, numAttachments, attachments, x, y, width, height);
12960     }
12961     /// ditto
12962     public void MultiDrawArraysIndirect (GLenum mode, const(void)* indirect, GLsizei drawcount, GLsizei stride) const {
12963         assert(_MultiDrawArraysIndirect !is null, "OpenGL command glMultiDrawArraysIndirect was not loaded");
12964         return _MultiDrawArraysIndirect (mode, indirect, drawcount, stride);
12965     }
12966     /// ditto
12967     public void MultiDrawElementsIndirect (GLenum mode, GLenum type, const(void)* indirect, GLsizei drawcount, GLsizei stride) const {
12968         assert(_MultiDrawElementsIndirect !is null, "OpenGL command glMultiDrawElementsIndirect was not loaded");
12969         return _MultiDrawElementsIndirect (mode, type, indirect, drawcount, stride);
12970     }
12971     /// ditto
12972     public void GetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint* params) const {
12973         assert(_GetProgramInterfaceiv !is null, "OpenGL command glGetProgramInterfaceiv was not loaded");
12974         return _GetProgramInterfaceiv (program, programInterface, pname, params);
12975     }
12976     /// ditto
12977     public GLuint GetProgramResourceIndex (GLuint program, GLenum programInterface, const(GLchar)* name) const {
12978         assert(_GetProgramResourceIndex !is null, "OpenGL command glGetProgramResourceIndex was not loaded");
12979         return _GetProgramResourceIndex (program, programInterface, name);
12980     }
12981     /// ditto
12982     public void GetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar* name) const {
12983         assert(_GetProgramResourceName !is null, "OpenGL command glGetProgramResourceName was not loaded");
12984         return _GetProgramResourceName (program, programInterface, index, bufSize, length, name);
12985     }
12986     /// ditto
12987     public void GetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const(GLenum)* props, GLsizei bufSize, GLsizei* length, GLint* params) const {
12988         assert(_GetProgramResourceiv !is null, "OpenGL command glGetProgramResourceiv was not loaded");
12989         return _GetProgramResourceiv (program, programInterface, index, propCount, props, bufSize, length, params);
12990     }
12991     /// ditto
12992     public GLint GetProgramResourceLocation (GLuint program, GLenum programInterface, const(GLchar)* name) const {
12993         assert(_GetProgramResourceLocation !is null, "OpenGL command glGetProgramResourceLocation was not loaded");
12994         return _GetProgramResourceLocation (program, programInterface, name);
12995     }
12996     /// ditto
12997     public GLint GetProgramResourceLocationIndex (GLuint program, GLenum programInterface, const(GLchar)* name) const {
12998         assert(_GetProgramResourceLocationIndex !is null, "OpenGL command glGetProgramResourceLocationIndex was not loaded");
12999         return _GetProgramResourceLocationIndex (program, programInterface, name);
13000     }
13001     /// ditto
13002     public void ShaderStorageBlockBinding (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) const {
13003         assert(_ShaderStorageBlockBinding !is null, "OpenGL command glShaderStorageBlockBinding was not loaded");
13004         return _ShaderStorageBlockBinding (program, storageBlockIndex, storageBlockBinding);
13005     }
13006     /// ditto
13007     public void TexBufferRange (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) const {
13008         assert(_TexBufferRange !is null, "OpenGL command glTexBufferRange was not loaded");
13009         return _TexBufferRange (target, internalformat, buffer, offset, size);
13010     }
13011     /// ditto
13012     public void TexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) const {
13013         assert(_TexStorage2DMultisample !is null, "OpenGL command glTexStorage2DMultisample was not loaded");
13014         return _TexStorage2DMultisample (target, samples, internalformat, width, height, fixedsamplelocations);
13015     }
13016     /// ditto
13017     public void TexStorage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) const {
13018         assert(_TexStorage3DMultisample !is null, "OpenGL command glTexStorage3DMultisample was not loaded");
13019         return _TexStorage3DMultisample (target, samples, internalformat, width, height, depth, fixedsamplelocations);
13020     }
13021     /// ditto
13022     public void TextureView (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) const {
13023         assert(_TextureView !is null, "OpenGL command glTextureView was not loaded");
13024         return _TextureView (texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers);
13025     }
13026     /// ditto
13027     public void BindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) const {
13028         assert(_BindVertexBuffer !is null, "OpenGL command glBindVertexBuffer was not loaded");
13029         return _BindVertexBuffer (bindingindex, buffer, offset, stride);
13030     }
13031     /// ditto
13032     public void VertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) const {
13033         assert(_VertexAttribFormat !is null, "OpenGL command glVertexAttribFormat was not loaded");
13034         return _VertexAttribFormat (attribindex, size, type, normalized, relativeoffset);
13035     }
13036     /// ditto
13037     public void VertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) const {
13038         assert(_VertexAttribIFormat !is null, "OpenGL command glVertexAttribIFormat was not loaded");
13039         return _VertexAttribIFormat (attribindex, size, type, relativeoffset);
13040     }
13041     /// ditto
13042     public void VertexAttribLFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) const {
13043         assert(_VertexAttribLFormat !is null, "OpenGL command glVertexAttribLFormat was not loaded");
13044         return _VertexAttribLFormat (attribindex, size, type, relativeoffset);
13045     }
13046     /// ditto
13047     public void VertexAttribBinding (GLuint attribindex, GLuint bindingindex) const {
13048         assert(_VertexAttribBinding !is null, "OpenGL command glVertexAttribBinding was not loaded");
13049         return _VertexAttribBinding (attribindex, bindingindex);
13050     }
13051     /// ditto
13052     public void VertexBindingDivisor (GLuint bindingindex, GLuint divisor) const {
13053         assert(_VertexBindingDivisor !is null, "OpenGL command glVertexBindingDivisor was not loaded");
13054         return _VertexBindingDivisor (bindingindex, divisor);
13055     }
13056     /// ditto
13057     public void DebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const(GLuint)* ids, GLboolean enabled) const {
13058         assert(_DebugMessageControl !is null, "OpenGL command glDebugMessageControl was not loaded");
13059         return _DebugMessageControl (source, type, severity, count, ids, enabled);
13060     }
13061     /// ditto
13062     public void DebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const(GLchar)* buf) const {
13063         assert(_DebugMessageInsert !is null, "OpenGL command glDebugMessageInsert was not loaded");
13064         return _DebugMessageInsert (source, type, id, severity, length, buf);
13065     }
13066     /// ditto
13067     public void DebugMessageCallback (GLDEBUGPROC callback, const(void)* userParam) const {
13068         assert(_DebugMessageCallback !is null, "OpenGL command glDebugMessageCallback was not loaded");
13069         return _DebugMessageCallback (callback, userParam);
13070     }
13071     /// ditto
13072     public GLuint GetDebugMessageLog (GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog) const {
13073         assert(_GetDebugMessageLog !is null, "OpenGL command glGetDebugMessageLog was not loaded");
13074         return _GetDebugMessageLog (count, bufSize, sources, types, ids, severities, lengths, messageLog);
13075     }
13076     /// ditto
13077     public void PushDebugGroup (GLenum source, GLuint id, GLsizei length, const(GLchar)* message) const {
13078         assert(_PushDebugGroup !is null, "OpenGL command glPushDebugGroup was not loaded");
13079         return _PushDebugGroup (source, id, length, message);
13080     }
13081     /// ditto
13082     public void PopDebugGroup () const {
13083         assert(_PopDebugGroup !is null, "OpenGL command glPopDebugGroup was not loaded");
13084         return _PopDebugGroup ();
13085     }
13086     /// ditto
13087     public void ObjectLabel (GLenum identifier, GLuint name, GLsizei length, const(GLchar)* label) const {
13088         assert(_ObjectLabel !is null, "OpenGL command glObjectLabel was not loaded");
13089         return _ObjectLabel (identifier, name, length, label);
13090     }
13091     /// ditto
13092     public void GetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label) const {
13093         assert(_GetObjectLabel !is null, "OpenGL command glGetObjectLabel was not loaded");
13094         return _GetObjectLabel (identifier, name, bufSize, length, label);
13095     }
13096     /// ditto
13097     public void ObjectPtrLabel (const(void)* ptr, GLsizei length, const(GLchar)* label) const {
13098         assert(_ObjectPtrLabel !is null, "OpenGL command glObjectPtrLabel was not loaded");
13099         return _ObjectPtrLabel (ptr, length, label);
13100     }
13101     /// ditto
13102     public void GetObjectPtrLabel (const(void)* ptr, GLsizei bufSize, GLsizei* length, GLchar* label) const {
13103         assert(_GetObjectPtrLabel !is null, "OpenGL command glGetObjectPtrLabel was not loaded");
13104         return _GetObjectPtrLabel (ptr, bufSize, length, label);
13105     }
13106 
13107     /// Commands for GL_VERSION_4_4
13108     public void BufferStorage (GLenum target, GLsizeiptr size, const(void)* data, GLbitfield flags) const {
13109         assert(_BufferStorage !is null, "OpenGL command glBufferStorage was not loaded");
13110         return _BufferStorage (target, size, data, flags);
13111     }
13112     /// ditto
13113     public void ClearTexImage (GLuint texture, GLint level, GLenum format, GLenum type, const(void)* data) const {
13114         assert(_ClearTexImage !is null, "OpenGL command glClearTexImage was not loaded");
13115         return _ClearTexImage (texture, level, format, type, data);
13116     }
13117     /// ditto
13118     public void ClearTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const(void)* data) const {
13119         assert(_ClearTexSubImage !is null, "OpenGL command glClearTexSubImage was not loaded");
13120         return _ClearTexSubImage (texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data);
13121     }
13122     /// ditto
13123     public void BindBuffersBase (GLenum target, GLuint first, GLsizei count, const(GLuint)* buffers) const {
13124         assert(_BindBuffersBase !is null, "OpenGL command glBindBuffersBase was not loaded");
13125         return _BindBuffersBase (target, first, count, buffers);
13126     }
13127     /// ditto
13128     public void BindBuffersRange (GLenum target, GLuint first, GLsizei count, const(GLuint)* buffers, const(GLintptr)* offsets, const(GLsizeiptr)* sizes) const {
13129         assert(_BindBuffersRange !is null, "OpenGL command glBindBuffersRange was not loaded");
13130         return _BindBuffersRange (target, first, count, buffers, offsets, sizes);
13131     }
13132     /// ditto
13133     public void BindTextures (GLuint first, GLsizei count, const(GLuint)* textures) const {
13134         assert(_BindTextures !is null, "OpenGL command glBindTextures was not loaded");
13135         return _BindTextures (first, count, textures);
13136     }
13137     /// ditto
13138     public void BindSamplers (GLuint first, GLsizei count, const(GLuint)* samplers) const {
13139         assert(_BindSamplers !is null, "OpenGL command glBindSamplers was not loaded");
13140         return _BindSamplers (first, count, samplers);
13141     }
13142     /// ditto
13143     public void BindImageTextures (GLuint first, GLsizei count, const(GLuint)* textures) const {
13144         assert(_BindImageTextures !is null, "OpenGL command glBindImageTextures was not loaded");
13145         return _BindImageTextures (first, count, textures);
13146     }
13147     /// ditto
13148     public void BindVertexBuffers (GLuint first, GLsizei count, const(GLuint)* buffers, const(GLintptr)* offsets, const(GLsizei)* strides) const {
13149         assert(_BindVertexBuffers !is null, "OpenGL command glBindVertexBuffers was not loaded");
13150         return _BindVertexBuffers (first, count, buffers, offsets, strides);
13151     }
13152 
13153     /// Commands for GL_VERSION_4_5
13154     public void ClipControl (GLenum origin, GLenum depth) const {
13155         assert(_ClipControl !is null, "OpenGL command glClipControl was not loaded");
13156         return _ClipControl (origin, depth);
13157     }
13158     /// ditto
13159     public void CreateTransformFeedbacks (GLsizei n, GLuint* ids) const {
13160         assert(_CreateTransformFeedbacks !is null, "OpenGL command glCreateTransformFeedbacks was not loaded");
13161         return _CreateTransformFeedbacks (n, ids);
13162     }
13163     /// ditto
13164     public void TransformFeedbackBufferBase (GLuint xfb, GLuint index, GLuint buffer) const {
13165         assert(_TransformFeedbackBufferBase !is null, "OpenGL command glTransformFeedbackBufferBase was not loaded");
13166         return _TransformFeedbackBufferBase (xfb, index, buffer);
13167     }
13168     /// ditto
13169     public void TransformFeedbackBufferRange (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) const {
13170         assert(_TransformFeedbackBufferRange !is null, "OpenGL command glTransformFeedbackBufferRange was not loaded");
13171         return _TransformFeedbackBufferRange (xfb, index, buffer, offset, size);
13172     }
13173     /// ditto
13174     public void GetTransformFeedbackiv (GLuint xfb, GLenum pname, GLint* param) const {
13175         assert(_GetTransformFeedbackiv !is null, "OpenGL command glGetTransformFeedbackiv was not loaded");
13176         return _GetTransformFeedbackiv (xfb, pname, param);
13177     }
13178     /// ditto
13179     public void GetTransformFeedbacki_v (GLuint xfb, GLenum pname, GLuint index, GLint* param) const {
13180         assert(_GetTransformFeedbacki_v !is null, "OpenGL command glGetTransformFeedbacki_v was not loaded");
13181         return _GetTransformFeedbacki_v (xfb, pname, index, param);
13182     }
13183     /// ditto
13184     public void GetTransformFeedbacki64_v (GLuint xfb, GLenum pname, GLuint index, GLint64* param) const {
13185         assert(_GetTransformFeedbacki64_v !is null, "OpenGL command glGetTransformFeedbacki64_v was not loaded");
13186         return _GetTransformFeedbacki64_v (xfb, pname, index, param);
13187     }
13188     /// ditto
13189     public void CreateBuffers (GLsizei n, GLuint* buffers) const {
13190         assert(_CreateBuffers !is null, "OpenGL command glCreateBuffers was not loaded");
13191         return _CreateBuffers (n, buffers);
13192     }
13193     /// ditto
13194     public void NamedBufferStorage (GLuint buffer, GLsizeiptr size, const(void)* data, GLbitfield flags) const {
13195         assert(_NamedBufferStorage !is null, "OpenGL command glNamedBufferStorage was not loaded");
13196         return _NamedBufferStorage (buffer, size, data, flags);
13197     }
13198     /// ditto
13199     public void NamedBufferData (GLuint buffer, GLsizeiptr size, const(void)* data, GLenum usage) const {
13200         assert(_NamedBufferData !is null, "OpenGL command glNamedBufferData was not loaded");
13201         return _NamedBufferData (buffer, size, data, usage);
13202     }
13203     /// ditto
13204     public void NamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, const(void)* data) const {
13205         assert(_NamedBufferSubData !is null, "OpenGL command glNamedBufferSubData was not loaded");
13206         return _NamedBufferSubData (buffer, offset, size, data);
13207     }
13208     /// ditto
13209     public void CopyNamedBufferSubData (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) const {
13210         assert(_CopyNamedBufferSubData !is null, "OpenGL command glCopyNamedBufferSubData was not loaded");
13211         return _CopyNamedBufferSubData (readBuffer, writeBuffer, readOffset, writeOffset, size);
13212     }
13213     /// ditto
13214     public void ClearNamedBufferData (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const(void)* data) const {
13215         assert(_ClearNamedBufferData !is null, "OpenGL command glClearNamedBufferData was not loaded");
13216         return _ClearNamedBufferData (buffer, internalformat, format, type, data);
13217     }
13218     /// ditto
13219     public void ClearNamedBufferSubData (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const(void)* data) const {
13220         assert(_ClearNamedBufferSubData !is null, "OpenGL command glClearNamedBufferSubData was not loaded");
13221         return _ClearNamedBufferSubData (buffer, internalformat, offset, size, format, type, data);
13222     }
13223     /// ditto
13224     public void * MapNamedBuffer (GLuint buffer, GLenum access) const {
13225         assert(_MapNamedBuffer !is null, "OpenGL command glMapNamedBuffer was not loaded");
13226         return _MapNamedBuffer (buffer, access);
13227     }
13228     /// ditto
13229     public void * MapNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) const {
13230         assert(_MapNamedBufferRange !is null, "OpenGL command glMapNamedBufferRange was not loaded");
13231         return _MapNamedBufferRange (buffer, offset, length, access);
13232     }
13233     /// ditto
13234     public GLboolean UnmapNamedBuffer (GLuint buffer) const {
13235         assert(_UnmapNamedBuffer !is null, "OpenGL command glUnmapNamedBuffer was not loaded");
13236         return _UnmapNamedBuffer (buffer);
13237     }
13238     /// ditto
13239     public void FlushMappedNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length) const {
13240         assert(_FlushMappedNamedBufferRange !is null, "OpenGL command glFlushMappedNamedBufferRange was not loaded");
13241         return _FlushMappedNamedBufferRange (buffer, offset, length);
13242     }
13243     /// ditto
13244     public void GetNamedBufferParameteriv (GLuint buffer, GLenum pname, GLint* params) const {
13245         assert(_GetNamedBufferParameteriv !is null, "OpenGL command glGetNamedBufferParameteriv was not loaded");
13246         return _GetNamedBufferParameteriv (buffer, pname, params);
13247     }
13248     /// ditto
13249     public void GetNamedBufferParameteri64v (GLuint buffer, GLenum pname, GLint64* params) const {
13250         assert(_GetNamedBufferParameteri64v !is null, "OpenGL command glGetNamedBufferParameteri64v was not loaded");
13251         return _GetNamedBufferParameteri64v (buffer, pname, params);
13252     }
13253     /// ditto
13254     public void GetNamedBufferPointerv (GLuint buffer, GLenum pname, void** params) const {
13255         assert(_GetNamedBufferPointerv !is null, "OpenGL command glGetNamedBufferPointerv was not loaded");
13256         return _GetNamedBufferPointerv (buffer, pname, params);
13257     }
13258     /// ditto
13259     public void GetNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, void* data) const {
13260         assert(_GetNamedBufferSubData !is null, "OpenGL command glGetNamedBufferSubData was not loaded");
13261         return _GetNamedBufferSubData (buffer, offset, size, data);
13262     }
13263     /// ditto
13264     public void CreateFramebuffers (GLsizei n, GLuint* framebuffers) const {
13265         assert(_CreateFramebuffers !is null, "OpenGL command glCreateFramebuffers was not loaded");
13266         return _CreateFramebuffers (n, framebuffers);
13267     }
13268     /// ditto
13269     public void NamedFramebufferRenderbuffer (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) const {
13270         assert(_NamedFramebufferRenderbuffer !is null, "OpenGL command glNamedFramebufferRenderbuffer was not loaded");
13271         return _NamedFramebufferRenderbuffer (framebuffer, attachment, renderbuffertarget, renderbuffer);
13272     }
13273     /// ditto
13274     public void NamedFramebufferParameteri (GLuint framebuffer, GLenum pname, GLint param) const {
13275         assert(_NamedFramebufferParameteri !is null, "OpenGL command glNamedFramebufferParameteri was not loaded");
13276         return _NamedFramebufferParameteri (framebuffer, pname, param);
13277     }
13278     /// ditto
13279     public void NamedFramebufferTexture (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) const {
13280         assert(_NamedFramebufferTexture !is null, "OpenGL command glNamedFramebufferTexture was not loaded");
13281         return _NamedFramebufferTexture (framebuffer, attachment, texture, level);
13282     }
13283     /// ditto
13284     public void NamedFramebufferTextureLayer (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) const {
13285         assert(_NamedFramebufferTextureLayer !is null, "OpenGL command glNamedFramebufferTextureLayer was not loaded");
13286         return _NamedFramebufferTextureLayer (framebuffer, attachment, texture, level, layer);
13287     }
13288     /// ditto
13289     public void NamedFramebufferDrawBuffer (GLuint framebuffer, GLenum buf) const {
13290         assert(_NamedFramebufferDrawBuffer !is null, "OpenGL command glNamedFramebufferDrawBuffer was not loaded");
13291         return _NamedFramebufferDrawBuffer (framebuffer, buf);
13292     }
13293     /// ditto
13294     public void NamedFramebufferDrawBuffers (GLuint framebuffer, GLsizei n, const(GLenum)* bufs) const {
13295         assert(_NamedFramebufferDrawBuffers !is null, "OpenGL command glNamedFramebufferDrawBuffers was not loaded");
13296         return _NamedFramebufferDrawBuffers (framebuffer, n, bufs);
13297     }
13298     /// ditto
13299     public void NamedFramebufferReadBuffer (GLuint framebuffer, GLenum src) const {
13300         assert(_NamedFramebufferReadBuffer !is null, "OpenGL command glNamedFramebufferReadBuffer was not loaded");
13301         return _NamedFramebufferReadBuffer (framebuffer, src);
13302     }
13303     /// ditto
13304     public void InvalidateNamedFramebufferData (GLuint framebuffer, GLsizei numAttachments, const(GLenum)* attachments) const {
13305         assert(_InvalidateNamedFramebufferData !is null, "OpenGL command glInvalidateNamedFramebufferData was not loaded");
13306         return _InvalidateNamedFramebufferData (framebuffer, numAttachments, attachments);
13307     }
13308     /// ditto
13309     public void InvalidateNamedFramebufferSubData (GLuint framebuffer, GLsizei numAttachments, const(GLenum)* attachments, GLint x, GLint y, GLsizei width, GLsizei height) const {
13310         assert(_InvalidateNamedFramebufferSubData !is null, "OpenGL command glInvalidateNamedFramebufferSubData was not loaded");
13311         return _InvalidateNamedFramebufferSubData (framebuffer, numAttachments, attachments, x, y, width, height);
13312     }
13313     /// ditto
13314     public void ClearNamedFramebufferiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const(GLint)* value) const {
13315         assert(_ClearNamedFramebufferiv !is null, "OpenGL command glClearNamedFramebufferiv was not loaded");
13316         return _ClearNamedFramebufferiv (framebuffer, buffer, drawbuffer, value);
13317     }
13318     /// ditto
13319     public void ClearNamedFramebufferuiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const(GLuint)* value) const {
13320         assert(_ClearNamedFramebufferuiv !is null, "OpenGL command glClearNamedFramebufferuiv was not loaded");
13321         return _ClearNamedFramebufferuiv (framebuffer, buffer, drawbuffer, value);
13322     }
13323     /// ditto
13324     public void ClearNamedFramebufferfv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const(GLfloat)* value) const {
13325         assert(_ClearNamedFramebufferfv !is null, "OpenGL command glClearNamedFramebufferfv was not loaded");
13326         return _ClearNamedFramebufferfv (framebuffer, buffer, drawbuffer, value);
13327     }
13328     /// ditto
13329     public void ClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) const {
13330         assert(_ClearNamedFramebufferfi !is null, "OpenGL command glClearNamedFramebufferfi was not loaded");
13331         return _ClearNamedFramebufferfi (framebuffer, buffer, drawbuffer, depth, stencil);
13332     }
13333     /// ditto
13334     public void BlitNamedFramebuffer (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) const {
13335         assert(_BlitNamedFramebuffer !is null, "OpenGL command glBlitNamedFramebuffer was not loaded");
13336         return _BlitNamedFramebuffer (readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
13337     }
13338     /// ditto
13339     public GLenum CheckNamedFramebufferStatus (GLuint framebuffer, GLenum target) const {
13340         assert(_CheckNamedFramebufferStatus !is null, "OpenGL command glCheckNamedFramebufferStatus was not loaded");
13341         return _CheckNamedFramebufferStatus (framebuffer, target);
13342     }
13343     /// ditto
13344     public void GetNamedFramebufferParameteriv (GLuint framebuffer, GLenum pname, GLint* param) const {
13345         assert(_GetNamedFramebufferParameteriv !is null, "OpenGL command glGetNamedFramebufferParameteriv was not loaded");
13346         return _GetNamedFramebufferParameteriv (framebuffer, pname, param);
13347     }
13348     /// ditto
13349     public void GetNamedFramebufferAttachmentParameteriv (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params) const {
13350         assert(_GetNamedFramebufferAttachmentParameteriv !is null, "OpenGL command glGetNamedFramebufferAttachmentParameteriv was not loaded");
13351         return _GetNamedFramebufferAttachmentParameteriv (framebuffer, attachment, pname, params);
13352     }
13353     /// ditto
13354     public void CreateRenderbuffers (GLsizei n, GLuint* renderbuffers) const {
13355         assert(_CreateRenderbuffers !is null, "OpenGL command glCreateRenderbuffers was not loaded");
13356         return _CreateRenderbuffers (n, renderbuffers);
13357     }
13358     /// ditto
13359     public void NamedRenderbufferStorage (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) const {
13360         assert(_NamedRenderbufferStorage !is null, "OpenGL command glNamedRenderbufferStorage was not loaded");
13361         return _NamedRenderbufferStorage (renderbuffer, internalformat, width, height);
13362     }
13363     /// ditto
13364     public void NamedRenderbufferStorageMultisample (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) const {
13365         assert(_NamedRenderbufferStorageMultisample !is null, "OpenGL command glNamedRenderbufferStorageMultisample was not loaded");
13366         return _NamedRenderbufferStorageMultisample (renderbuffer, samples, internalformat, width, height);
13367     }
13368     /// ditto
13369     public void GetNamedRenderbufferParameteriv (GLuint renderbuffer, GLenum pname, GLint* params) const {
13370         assert(_GetNamedRenderbufferParameteriv !is null, "OpenGL command glGetNamedRenderbufferParameteriv was not loaded");
13371         return _GetNamedRenderbufferParameteriv (renderbuffer, pname, params);
13372     }
13373     /// ditto
13374     public void CreateTextures (GLenum target, GLsizei n, GLuint* textures) const {
13375         assert(_CreateTextures !is null, "OpenGL command glCreateTextures was not loaded");
13376         return _CreateTextures (target, n, textures);
13377     }
13378     /// ditto
13379     public void TextureBuffer (GLuint texture, GLenum internalformat, GLuint buffer) const {
13380         assert(_TextureBuffer !is null, "OpenGL command glTextureBuffer was not loaded");
13381         return _TextureBuffer (texture, internalformat, buffer);
13382     }
13383     /// ditto
13384     public void TextureBufferRange (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) const {
13385         assert(_TextureBufferRange !is null, "OpenGL command glTextureBufferRange was not loaded");
13386         return _TextureBufferRange (texture, internalformat, buffer, offset, size);
13387     }
13388     /// ditto
13389     public void TextureStorage1D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width) const {
13390         assert(_TextureStorage1D !is null, "OpenGL command glTextureStorage1D was not loaded");
13391         return _TextureStorage1D (texture, levels, internalformat, width);
13392     }
13393     /// ditto
13394     public void TextureStorage2D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) const {
13395         assert(_TextureStorage2D !is null, "OpenGL command glTextureStorage2D was not loaded");
13396         return _TextureStorage2D (texture, levels, internalformat, width, height);
13397     }
13398     /// ditto
13399     public void TextureStorage3D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) const {
13400         assert(_TextureStorage3D !is null, "OpenGL command glTextureStorage3D was not loaded");
13401         return _TextureStorage3D (texture, levels, internalformat, width, height, depth);
13402     }
13403     /// ditto
13404     public void TextureStorage2DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) const {
13405         assert(_TextureStorage2DMultisample !is null, "OpenGL command glTextureStorage2DMultisample was not loaded");
13406         return _TextureStorage2DMultisample (texture, samples, internalformat, width, height, fixedsamplelocations);
13407     }
13408     /// ditto
13409     public void TextureStorage3DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) const {
13410         assert(_TextureStorage3DMultisample !is null, "OpenGL command glTextureStorage3DMultisample was not loaded");
13411         return _TextureStorage3DMultisample (texture, samples, internalformat, width, height, depth, fixedsamplelocations);
13412     }
13413     /// ditto
13414     public void TextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const(void)* pixels) const {
13415         assert(_TextureSubImage1D !is null, "OpenGL command glTextureSubImage1D was not loaded");
13416         return _TextureSubImage1D (texture, level, xoffset, width, format, type, pixels);
13417     }
13418     /// ditto
13419     public void TextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const(void)* pixels) const {
13420         assert(_TextureSubImage2D !is null, "OpenGL command glTextureSubImage2D was not loaded");
13421         return _TextureSubImage2D (texture, level, xoffset, yoffset, width, height, format, type, pixels);
13422     }
13423     /// ditto
13424     public void TextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const(void)* pixels) const {
13425         assert(_TextureSubImage3D !is null, "OpenGL command glTextureSubImage3D was not loaded");
13426         return _TextureSubImage3D (texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
13427     }
13428     /// ditto
13429     public void CompressedTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const(void)* data) const {
13430         assert(_CompressedTextureSubImage1D !is null, "OpenGL command glCompressedTextureSubImage1D was not loaded");
13431         return _CompressedTextureSubImage1D (texture, level, xoffset, width, format, imageSize, data);
13432     }
13433     /// ditto
13434     public void CompressedTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const(void)* data) const {
13435         assert(_CompressedTextureSubImage2D !is null, "OpenGL command glCompressedTextureSubImage2D was not loaded");
13436         return _CompressedTextureSubImage2D (texture, level, xoffset, yoffset, width, height, format, imageSize, data);
13437     }
13438     /// ditto
13439     public void CompressedTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const(void)* data) const {
13440         assert(_CompressedTextureSubImage3D !is null, "OpenGL command glCompressedTextureSubImage3D was not loaded");
13441         return _CompressedTextureSubImage3D (texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
13442     }
13443     /// ditto
13444     public void CopyTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) const {
13445         assert(_CopyTextureSubImage1D !is null, "OpenGL command glCopyTextureSubImage1D was not loaded");
13446         return _CopyTextureSubImage1D (texture, level, xoffset, x, y, width);
13447     }
13448     /// ditto
13449     public void CopyTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) const {
13450         assert(_CopyTextureSubImage2D !is null, "OpenGL command glCopyTextureSubImage2D was not loaded");
13451         return _CopyTextureSubImage2D (texture, level, xoffset, yoffset, x, y, width, height);
13452     }
13453     /// ditto
13454     public void CopyTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) const {
13455         assert(_CopyTextureSubImage3D !is null, "OpenGL command glCopyTextureSubImage3D was not loaded");
13456         return _CopyTextureSubImage3D (texture, level, xoffset, yoffset, zoffset, x, y, width, height);
13457     }
13458     /// ditto
13459     public void TextureParameterf (GLuint texture, GLenum pname, GLfloat param) const {
13460         assert(_TextureParameterf !is null, "OpenGL command glTextureParameterf was not loaded");
13461         return _TextureParameterf (texture, pname, param);
13462     }
13463     /// ditto
13464     public void TextureParameterfv (GLuint texture, GLenum pname, const(GLfloat)* param) const {
13465         assert(_TextureParameterfv !is null, "OpenGL command glTextureParameterfv was not loaded");
13466         return _TextureParameterfv (texture, pname, param);
13467     }
13468     /// ditto
13469     public void TextureParameteri (GLuint texture, GLenum pname, GLint param) const {
13470         assert(_TextureParameteri !is null, "OpenGL command glTextureParameteri was not loaded");
13471         return _TextureParameteri (texture, pname, param);
13472     }
13473     /// ditto
13474     public void TextureParameterIiv (GLuint texture, GLenum pname, const(GLint)* params) const {
13475         assert(_TextureParameterIiv !is null, "OpenGL command glTextureParameterIiv was not loaded");
13476         return _TextureParameterIiv (texture, pname, params);
13477     }
13478     /// ditto
13479     public void TextureParameterIuiv (GLuint texture, GLenum pname, const(GLuint)* params) const {
13480         assert(_TextureParameterIuiv !is null, "OpenGL command glTextureParameterIuiv was not loaded");
13481         return _TextureParameterIuiv (texture, pname, params);
13482     }
13483     /// ditto
13484     public void TextureParameteriv (GLuint texture, GLenum pname, const(GLint)* param) const {
13485         assert(_TextureParameteriv !is null, "OpenGL command glTextureParameteriv was not loaded");
13486         return _TextureParameteriv (texture, pname, param);
13487     }
13488     /// ditto
13489     public void GenerateTextureMipmap (GLuint texture) const {
13490         assert(_GenerateTextureMipmap !is null, "OpenGL command glGenerateTextureMipmap was not loaded");
13491         return _GenerateTextureMipmap (texture);
13492     }
13493     /// ditto
13494     public void BindTextureUnit (GLuint unit, GLuint texture) const {
13495         assert(_BindTextureUnit !is null, "OpenGL command glBindTextureUnit was not loaded");
13496         return _BindTextureUnit (unit, texture);
13497     }
13498     /// ditto
13499     public void GetTextureImage (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* pixels) const {
13500         assert(_GetTextureImage !is null, "OpenGL command glGetTextureImage was not loaded");
13501         return _GetTextureImage (texture, level, format, type, bufSize, pixels);
13502     }
13503     /// ditto
13504     public void GetCompressedTextureImage (GLuint texture, GLint level, GLsizei bufSize, void* pixels) const {
13505         assert(_GetCompressedTextureImage !is null, "OpenGL command glGetCompressedTextureImage was not loaded");
13506         return _GetCompressedTextureImage (texture, level, bufSize, pixels);
13507     }
13508     /// ditto
13509     public void GetTextureLevelParameterfv (GLuint texture, GLint level, GLenum pname, GLfloat* params) const {
13510         assert(_GetTextureLevelParameterfv !is null, "OpenGL command glGetTextureLevelParameterfv was not loaded");
13511         return _GetTextureLevelParameterfv (texture, level, pname, params);
13512     }
13513     /// ditto
13514     public void GetTextureLevelParameteriv (GLuint texture, GLint level, GLenum pname, GLint* params) const {
13515         assert(_GetTextureLevelParameteriv !is null, "OpenGL command glGetTextureLevelParameteriv was not loaded");
13516         return _GetTextureLevelParameteriv (texture, level, pname, params);
13517     }
13518     /// ditto
13519     public void GetTextureParameterfv (GLuint texture, GLenum pname, GLfloat* params) const {
13520         assert(_GetTextureParameterfv !is null, "OpenGL command glGetTextureParameterfv was not loaded");
13521         return _GetTextureParameterfv (texture, pname, params);
13522     }
13523     /// ditto
13524     public void GetTextureParameterIiv (GLuint texture, GLenum pname, GLint* params) const {
13525         assert(_GetTextureParameterIiv !is null, "OpenGL command glGetTextureParameterIiv was not loaded");
13526         return _GetTextureParameterIiv (texture, pname, params);
13527     }
13528     /// ditto
13529     public void GetTextureParameterIuiv (GLuint texture, GLenum pname, GLuint* params) const {
13530         assert(_GetTextureParameterIuiv !is null, "OpenGL command glGetTextureParameterIuiv was not loaded");
13531         return _GetTextureParameterIuiv (texture, pname, params);
13532     }
13533     /// ditto
13534     public void GetTextureParameteriv (GLuint texture, GLenum pname, GLint* params) const {
13535         assert(_GetTextureParameteriv !is null, "OpenGL command glGetTextureParameteriv was not loaded");
13536         return _GetTextureParameteriv (texture, pname, params);
13537     }
13538     /// ditto
13539     public void CreateVertexArrays (GLsizei n, GLuint* arrays) const {
13540         assert(_CreateVertexArrays !is null, "OpenGL command glCreateVertexArrays was not loaded");
13541         return _CreateVertexArrays (n, arrays);
13542     }
13543     /// ditto
13544     public void DisableVertexArrayAttrib (GLuint vaobj, GLuint index) const {
13545         assert(_DisableVertexArrayAttrib !is null, "OpenGL command glDisableVertexArrayAttrib was not loaded");
13546         return _DisableVertexArrayAttrib (vaobj, index);
13547     }
13548     /// ditto
13549     public void EnableVertexArrayAttrib (GLuint vaobj, GLuint index) const {
13550         assert(_EnableVertexArrayAttrib !is null, "OpenGL command glEnableVertexArrayAttrib was not loaded");
13551         return _EnableVertexArrayAttrib (vaobj, index);
13552     }
13553     /// ditto
13554     public void VertexArrayElementBuffer (GLuint vaobj, GLuint buffer) const {
13555         assert(_VertexArrayElementBuffer !is null, "OpenGL command glVertexArrayElementBuffer was not loaded");
13556         return _VertexArrayElementBuffer (vaobj, buffer);
13557     }
13558     /// ditto
13559     public void VertexArrayVertexBuffer (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) const {
13560         assert(_VertexArrayVertexBuffer !is null, "OpenGL command glVertexArrayVertexBuffer was not loaded");
13561         return _VertexArrayVertexBuffer (vaobj, bindingindex, buffer, offset, stride);
13562     }
13563     /// ditto
13564     public void VertexArrayVertexBuffers (GLuint vaobj, GLuint first, GLsizei count, const(GLuint)* buffers, const(GLintptr)* offsets, const(GLsizei)* strides) const {
13565         assert(_VertexArrayVertexBuffers !is null, "OpenGL command glVertexArrayVertexBuffers was not loaded");
13566         return _VertexArrayVertexBuffers (vaobj, first, count, buffers, offsets, strides);
13567     }
13568     /// ditto
13569     public void VertexArrayAttribBinding (GLuint vaobj, GLuint attribindex, GLuint bindingindex) const {
13570         assert(_VertexArrayAttribBinding !is null, "OpenGL command glVertexArrayAttribBinding was not loaded");
13571         return _VertexArrayAttribBinding (vaobj, attribindex, bindingindex);
13572     }
13573     /// ditto
13574     public void VertexArrayAttribFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) const {
13575         assert(_VertexArrayAttribFormat !is null, "OpenGL command glVertexArrayAttribFormat was not loaded");
13576         return _VertexArrayAttribFormat (vaobj, attribindex, size, type, normalized, relativeoffset);
13577     }
13578     /// ditto
13579     public void VertexArrayAttribIFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) const {
13580         assert(_VertexArrayAttribIFormat !is null, "OpenGL command glVertexArrayAttribIFormat was not loaded");
13581         return _VertexArrayAttribIFormat (vaobj, attribindex, size, type, relativeoffset);
13582     }
13583     /// ditto
13584     public void VertexArrayAttribLFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) const {
13585         assert(_VertexArrayAttribLFormat !is null, "OpenGL command glVertexArrayAttribLFormat was not loaded");
13586         return _VertexArrayAttribLFormat (vaobj, attribindex, size, type, relativeoffset);
13587     }
13588     /// ditto
13589     public void VertexArrayBindingDivisor (GLuint vaobj, GLuint bindingindex, GLuint divisor) const {
13590         assert(_VertexArrayBindingDivisor !is null, "OpenGL command glVertexArrayBindingDivisor was not loaded");
13591         return _VertexArrayBindingDivisor (vaobj, bindingindex, divisor);
13592     }
13593     /// ditto
13594     public void GetVertexArrayiv (GLuint vaobj, GLenum pname, GLint* param) const {
13595         assert(_GetVertexArrayiv !is null, "OpenGL command glGetVertexArrayiv was not loaded");
13596         return _GetVertexArrayiv (vaobj, pname, param);
13597     }
13598     /// ditto
13599     public void GetVertexArrayIndexediv (GLuint vaobj, GLuint index, GLenum pname, GLint* param) const {
13600         assert(_GetVertexArrayIndexediv !is null, "OpenGL command glGetVertexArrayIndexediv was not loaded");
13601         return _GetVertexArrayIndexediv (vaobj, index, pname, param);
13602     }
13603     /// ditto
13604     public void GetVertexArrayIndexed64iv (GLuint vaobj, GLuint index, GLenum pname, GLint64* param) const {
13605         assert(_GetVertexArrayIndexed64iv !is null, "OpenGL command glGetVertexArrayIndexed64iv was not loaded");
13606         return _GetVertexArrayIndexed64iv (vaobj, index, pname, param);
13607     }
13608     /// ditto
13609     public void CreateSamplers (GLsizei n, GLuint* samplers) const {
13610         assert(_CreateSamplers !is null, "OpenGL command glCreateSamplers was not loaded");
13611         return _CreateSamplers (n, samplers);
13612     }
13613     /// ditto
13614     public void CreateProgramPipelines (GLsizei n, GLuint* pipelines) const {
13615         assert(_CreateProgramPipelines !is null, "OpenGL command glCreateProgramPipelines was not loaded");
13616         return _CreateProgramPipelines (n, pipelines);
13617     }
13618     /// ditto
13619     public void CreateQueries (GLenum target, GLsizei n, GLuint* ids) const {
13620         assert(_CreateQueries !is null, "OpenGL command glCreateQueries was not loaded");
13621         return _CreateQueries (target, n, ids);
13622     }
13623     /// ditto
13624     public void GetQueryBufferObjecti64v (GLuint id, GLuint buffer, GLenum pname, GLintptr offset) const {
13625         assert(_GetQueryBufferObjecti64v !is null, "OpenGL command glGetQueryBufferObjecti64v was not loaded");
13626         return _GetQueryBufferObjecti64v (id, buffer, pname, offset);
13627     }
13628     /// ditto
13629     public void GetQueryBufferObjectiv (GLuint id, GLuint buffer, GLenum pname, GLintptr offset) const {
13630         assert(_GetQueryBufferObjectiv !is null, "OpenGL command glGetQueryBufferObjectiv was not loaded");
13631         return _GetQueryBufferObjectiv (id, buffer, pname, offset);
13632     }
13633     /// ditto
13634     public void GetQueryBufferObjectui64v (GLuint id, GLuint buffer, GLenum pname, GLintptr offset) const {
13635         assert(_GetQueryBufferObjectui64v !is null, "OpenGL command glGetQueryBufferObjectui64v was not loaded");
13636         return _GetQueryBufferObjectui64v (id, buffer, pname, offset);
13637     }
13638     /// ditto
13639     public void GetQueryBufferObjectuiv (GLuint id, GLuint buffer, GLenum pname, GLintptr offset) const {
13640         assert(_GetQueryBufferObjectuiv !is null, "OpenGL command glGetQueryBufferObjectuiv was not loaded");
13641         return _GetQueryBufferObjectuiv (id, buffer, pname, offset);
13642     }
13643     /// ditto
13644     public void MemoryBarrierByRegion (GLbitfield barriers) const {
13645         assert(_MemoryBarrierByRegion !is null, "OpenGL command glMemoryBarrierByRegion was not loaded");
13646         return _MemoryBarrierByRegion (barriers);
13647     }
13648     /// ditto
13649     public void GetTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void* pixels) const {
13650         assert(_GetTextureSubImage !is null, "OpenGL command glGetTextureSubImage was not loaded");
13651         return _GetTextureSubImage (texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels);
13652     }
13653     /// ditto
13654     public void GetCompressedTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void* pixels) const {
13655         assert(_GetCompressedTextureSubImage !is null, "OpenGL command glGetCompressedTextureSubImage was not loaded");
13656         return _GetCompressedTextureSubImage (texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels);
13657     }
13658     /// ditto
13659     public GLenum GetGraphicsResetStatus () const {
13660         assert(_GetGraphicsResetStatus !is null, "OpenGL command glGetGraphicsResetStatus was not loaded");
13661         return _GetGraphicsResetStatus ();
13662     }
13663     /// ditto
13664     public void GetnCompressedTexImage (GLenum target, GLint lod, GLsizei bufSize, void* pixels) const {
13665         assert(_GetnCompressedTexImage !is null, "OpenGL command glGetnCompressedTexImage was not loaded");
13666         return _GetnCompressedTexImage (target, lod, bufSize, pixels);
13667     }
13668     /// ditto
13669     public void GetnTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* pixels) const {
13670         assert(_GetnTexImage !is null, "OpenGL command glGetnTexImage was not loaded");
13671         return _GetnTexImage (target, level, format, type, bufSize, pixels);
13672     }
13673     /// ditto
13674     public void GetnUniformdv (GLuint program, GLint location, GLsizei bufSize, GLdouble* params) const {
13675         assert(_GetnUniformdv !is null, "OpenGL command glGetnUniformdv was not loaded");
13676         return _GetnUniformdv (program, location, bufSize, params);
13677     }
13678     /// ditto
13679     public void GetnUniformfv (GLuint program, GLint location, GLsizei bufSize, GLfloat* params) const {
13680         assert(_GetnUniformfv !is null, "OpenGL command glGetnUniformfv was not loaded");
13681         return _GetnUniformfv (program, location, bufSize, params);
13682     }
13683     /// ditto
13684     public void GetnUniformiv (GLuint program, GLint location, GLsizei bufSize, GLint* params) const {
13685         assert(_GetnUniformiv !is null, "OpenGL command glGetnUniformiv was not loaded");
13686         return _GetnUniformiv (program, location, bufSize, params);
13687     }
13688     /// ditto
13689     public void GetnUniformuiv (GLuint program, GLint location, GLsizei bufSize, GLuint* params) const {
13690         assert(_GetnUniformuiv !is null, "OpenGL command glGetnUniformuiv was not loaded");
13691         return _GetnUniformuiv (program, location, bufSize, params);
13692     }
13693     /// ditto
13694     public void ReadnPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data) const {
13695         assert(_ReadnPixels !is null, "OpenGL command glReadnPixels was not loaded");
13696         return _ReadnPixels (x, y, width, height, format, type, bufSize, data);
13697     }
13698     /// ditto
13699     public void TextureBarrier () const {
13700         assert(_TextureBarrier !is null, "OpenGL command glTextureBarrier was not loaded");
13701         return _TextureBarrier ();
13702     }
13703 
13704     /// Commands for GL_VERSION_4_6
13705     public void SpecializeShader (GLuint shader, const(GLchar)* pEntryPoint, GLuint numSpecializationConstants, const(GLuint)* pConstantIndex, const(GLuint)* pConstantValue) const {
13706         assert(_SpecializeShader !is null, "OpenGL command glSpecializeShader was not loaded");
13707         return _SpecializeShader (shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue);
13708     }
13709     /// ditto
13710     public void MultiDrawArraysIndirectCount (GLenum mode, const(void)* indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) const {
13711         assert(_MultiDrawArraysIndirectCount !is null, "OpenGL command glMultiDrawArraysIndirectCount was not loaded");
13712         return _MultiDrawArraysIndirectCount (mode, indirect, drawcount, maxdrawcount, stride);
13713     }
13714     /// ditto
13715     public void MultiDrawElementsIndirectCount (GLenum mode, GLenum type, const(void)* indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) const {
13716         assert(_MultiDrawElementsIndirectCount !is null, "OpenGL command glMultiDrawElementsIndirectCount was not loaded");
13717         return _MultiDrawElementsIndirectCount (mode, type, indirect, drawcount, maxdrawcount, stride);
13718     }
13719     /// ditto
13720     public void PolygonOffsetClamp (GLfloat factor, GLfloat units, GLfloat clamp) const {
13721         assert(_PolygonOffsetClamp !is null, "OpenGL command glPolygonOffsetClamp was not loaded");
13722         return _PolygonOffsetClamp (factor, units, clamp);
13723     }
13724 
13725     /// Commands for GL_ARB_ES3_2_compatibility
13726     public void PrimitiveBoundingBoxARB (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) const {
13727         assert(_PrimitiveBoundingBoxARB !is null, "OpenGL command glPrimitiveBoundingBoxARB was not loaded");
13728         return _PrimitiveBoundingBoxARB (minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
13729     }
13730 
13731     /// Commands for GL_ARB_bindless_texture
13732     public GLuint64 GetTextureHandleARB (GLuint texture) const {
13733         assert(_GetTextureHandleARB !is null, "OpenGL command glGetTextureHandleARB was not loaded");
13734         return _GetTextureHandleARB (texture);
13735     }
13736     /// ditto
13737     public GLuint64 GetTextureSamplerHandleARB (GLuint texture, GLuint sampler) const {
13738         assert(_GetTextureSamplerHandleARB !is null, "OpenGL command glGetTextureSamplerHandleARB was not loaded");
13739         return _GetTextureSamplerHandleARB (texture, sampler);
13740     }
13741     /// ditto
13742     public void MakeTextureHandleResidentARB (GLuint64 handle) const {
13743         assert(_MakeTextureHandleResidentARB !is null, "OpenGL command glMakeTextureHandleResidentARB was not loaded");
13744         return _MakeTextureHandleResidentARB (handle);
13745     }
13746     /// ditto
13747     public void MakeTextureHandleNonResidentARB (GLuint64 handle) const {
13748         assert(_MakeTextureHandleNonResidentARB !is null, "OpenGL command glMakeTextureHandleNonResidentARB was not loaded");
13749         return _MakeTextureHandleNonResidentARB (handle);
13750     }
13751     /// ditto
13752     public GLuint64 GetImageHandleARB (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format) const {
13753         assert(_GetImageHandleARB !is null, "OpenGL command glGetImageHandleARB was not loaded");
13754         return _GetImageHandleARB (texture, level, layered, layer, format);
13755     }
13756     /// ditto
13757     public void MakeImageHandleResidentARB (GLuint64 handle, GLenum access) const {
13758         assert(_MakeImageHandleResidentARB !is null, "OpenGL command glMakeImageHandleResidentARB was not loaded");
13759         return _MakeImageHandleResidentARB (handle, access);
13760     }
13761     /// ditto
13762     public void MakeImageHandleNonResidentARB (GLuint64 handle) const {
13763         assert(_MakeImageHandleNonResidentARB !is null, "OpenGL command glMakeImageHandleNonResidentARB was not loaded");
13764         return _MakeImageHandleNonResidentARB (handle);
13765     }
13766     /// ditto
13767     public void UniformHandleui64ARB (GLint location, GLuint64 value) const {
13768         assert(_UniformHandleui64ARB !is null, "OpenGL command glUniformHandleui64ARB was not loaded");
13769         return _UniformHandleui64ARB (location, value);
13770     }
13771     /// ditto
13772     public void UniformHandleui64vARB (GLint location, GLsizei count, const(GLuint64)* value) const {
13773         assert(_UniformHandleui64vARB !is null, "OpenGL command glUniformHandleui64vARB was not loaded");
13774         return _UniformHandleui64vARB (location, count, value);
13775     }
13776     /// ditto
13777     public void ProgramUniformHandleui64ARB (GLuint program, GLint location, GLuint64 value) const {
13778         assert(_ProgramUniformHandleui64ARB !is null, "OpenGL command glProgramUniformHandleui64ARB was not loaded");
13779         return _ProgramUniformHandleui64ARB (program, location, value);
13780     }
13781     /// ditto
13782     public void ProgramUniformHandleui64vARB (GLuint program, GLint location, GLsizei count, const(GLuint64)* values) const {
13783         assert(_ProgramUniformHandleui64vARB !is null, "OpenGL command glProgramUniformHandleui64vARB was not loaded");
13784         return _ProgramUniformHandleui64vARB (program, location, count, values);
13785     }
13786     /// ditto
13787     public GLboolean IsTextureHandleResidentARB (GLuint64 handle) const {
13788         assert(_IsTextureHandleResidentARB !is null, "OpenGL command glIsTextureHandleResidentARB was not loaded");
13789         return _IsTextureHandleResidentARB (handle);
13790     }
13791     /// ditto
13792     public GLboolean IsImageHandleResidentARB (GLuint64 handle) const {
13793         assert(_IsImageHandleResidentARB !is null, "OpenGL command glIsImageHandleResidentARB was not loaded");
13794         return _IsImageHandleResidentARB (handle);
13795     }
13796     /// ditto
13797     public void VertexAttribL1ui64ARB (GLuint index, GLuint64EXT x) const {
13798         assert(_VertexAttribL1ui64ARB !is null, "OpenGL command glVertexAttribL1ui64ARB was not loaded");
13799         return _VertexAttribL1ui64ARB (index, x);
13800     }
13801     /// ditto
13802     public void VertexAttribL1ui64vARB (GLuint index, const(GLuint64EXT)* v) const {
13803         assert(_VertexAttribL1ui64vARB !is null, "OpenGL command glVertexAttribL1ui64vARB was not loaded");
13804         return _VertexAttribL1ui64vARB (index, v);
13805     }
13806     /// ditto
13807     public void GetVertexAttribLui64vARB (GLuint index, GLenum pname, GLuint64EXT* params) const {
13808         assert(_GetVertexAttribLui64vARB !is null, "OpenGL command glGetVertexAttribLui64vARB was not loaded");
13809         return _GetVertexAttribLui64vARB (index, pname, params);
13810     }
13811 
13812     /// Commands for GL_ARB_cl_event
13813     public GLsync CreateSyncFromCLeventARB (_cl_context* context, _cl_event* event, GLbitfield flags) const {
13814         assert(_CreateSyncFromCLeventARB !is null, "OpenGL command glCreateSyncFromCLeventARB was not loaded");
13815         return _CreateSyncFromCLeventARB (context, event, flags);
13816     }
13817 
13818     /// Commands for GL_ARB_compute_variable_group_size
13819     public void DispatchComputeGroupSizeARB (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z) const {
13820         assert(_DispatchComputeGroupSizeARB !is null, "OpenGL command glDispatchComputeGroupSizeARB was not loaded");
13821         return _DispatchComputeGroupSizeARB (num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z);
13822     }
13823 
13824     /// Commands for GL_ARB_geometry_shader4
13825     public void FramebufferTextureFaceARB (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face) const {
13826         assert(_FramebufferTextureFaceARB !is null, "OpenGL command glFramebufferTextureFaceARB was not loaded");
13827         return _FramebufferTextureFaceARB (target, attachment, texture, level, face);
13828     }
13829 
13830     /// Commands for GL_ARB_gpu_shader_int64
13831     public void Uniform1i64ARB (GLint location, GLint64 x) const {
13832         assert(_Uniform1i64ARB !is null, "OpenGL command glUniform1i64ARB was not loaded");
13833         return _Uniform1i64ARB (location, x);
13834     }
13835     /// ditto
13836     public void Uniform2i64ARB (GLint location, GLint64 x, GLint64 y) const {
13837         assert(_Uniform2i64ARB !is null, "OpenGL command glUniform2i64ARB was not loaded");
13838         return _Uniform2i64ARB (location, x, y);
13839     }
13840     /// ditto
13841     public void Uniform3i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z) const {
13842         assert(_Uniform3i64ARB !is null, "OpenGL command glUniform3i64ARB was not loaded");
13843         return _Uniform3i64ARB (location, x, y, z);
13844     }
13845     /// ditto
13846     public void Uniform4i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w) const {
13847         assert(_Uniform4i64ARB !is null, "OpenGL command glUniform4i64ARB was not loaded");
13848         return _Uniform4i64ARB (location, x, y, z, w);
13849     }
13850     /// ditto
13851     public void Uniform1i64vARB (GLint location, GLsizei count, const(GLint64)* value) const {
13852         assert(_Uniform1i64vARB !is null, "OpenGL command glUniform1i64vARB was not loaded");
13853         return _Uniform1i64vARB (location, count, value);
13854     }
13855     /// ditto
13856     public void Uniform2i64vARB (GLint location, GLsizei count, const(GLint64)* value) const {
13857         assert(_Uniform2i64vARB !is null, "OpenGL command glUniform2i64vARB was not loaded");
13858         return _Uniform2i64vARB (location, count, value);
13859     }
13860     /// ditto
13861     public void Uniform3i64vARB (GLint location, GLsizei count, const(GLint64)* value) const {
13862         assert(_Uniform3i64vARB !is null, "OpenGL command glUniform3i64vARB was not loaded");
13863         return _Uniform3i64vARB (location, count, value);
13864     }
13865     /// ditto
13866     public void Uniform4i64vARB (GLint location, GLsizei count, const(GLint64)* value) const {
13867         assert(_Uniform4i64vARB !is null, "OpenGL command glUniform4i64vARB was not loaded");
13868         return _Uniform4i64vARB (location, count, value);
13869     }
13870     /// ditto
13871     public void Uniform1ui64ARB (GLint location, GLuint64 x) const {
13872         assert(_Uniform1ui64ARB !is null, "OpenGL command glUniform1ui64ARB was not loaded");
13873         return _Uniform1ui64ARB (location, x);
13874     }
13875     /// ditto
13876     public void Uniform2ui64ARB (GLint location, GLuint64 x, GLuint64 y) const {
13877         assert(_Uniform2ui64ARB !is null, "OpenGL command glUniform2ui64ARB was not loaded");
13878         return _Uniform2ui64ARB (location, x, y);
13879     }
13880     /// ditto
13881     public void Uniform3ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z) const {
13882         assert(_Uniform3ui64ARB !is null, "OpenGL command glUniform3ui64ARB was not loaded");
13883         return _Uniform3ui64ARB (location, x, y, z);
13884     }
13885     /// ditto
13886     public void Uniform4ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w) const {
13887         assert(_Uniform4ui64ARB !is null, "OpenGL command glUniform4ui64ARB was not loaded");
13888         return _Uniform4ui64ARB (location, x, y, z, w);
13889     }
13890     /// ditto
13891     public void Uniform1ui64vARB (GLint location, GLsizei count, const(GLuint64)* value) const {
13892         assert(_Uniform1ui64vARB !is null, "OpenGL command glUniform1ui64vARB was not loaded");
13893         return _Uniform1ui64vARB (location, count, value);
13894     }
13895     /// ditto
13896     public void Uniform2ui64vARB (GLint location, GLsizei count, const(GLuint64)* value) const {
13897         assert(_Uniform2ui64vARB !is null, "OpenGL command glUniform2ui64vARB was not loaded");
13898         return _Uniform2ui64vARB (location, count, value);
13899     }
13900     /// ditto
13901     public void Uniform3ui64vARB (GLint location, GLsizei count, const(GLuint64)* value) const {
13902         assert(_Uniform3ui64vARB !is null, "OpenGL command glUniform3ui64vARB was not loaded");
13903         return _Uniform3ui64vARB (location, count, value);
13904     }
13905     /// ditto
13906     public void Uniform4ui64vARB (GLint location, GLsizei count, const(GLuint64)* value) const {
13907         assert(_Uniform4ui64vARB !is null, "OpenGL command glUniform4ui64vARB was not loaded");
13908         return _Uniform4ui64vARB (location, count, value);
13909     }
13910     /// ditto
13911     public void GetUniformi64vARB (GLuint program, GLint location, GLint64* params) const {
13912         assert(_GetUniformi64vARB !is null, "OpenGL command glGetUniformi64vARB was not loaded");
13913         return _GetUniformi64vARB (program, location, params);
13914     }
13915     /// ditto
13916     public void GetUniformui64vARB (GLuint program, GLint location, GLuint64* params) const {
13917         assert(_GetUniformui64vARB !is null, "OpenGL command glGetUniformui64vARB was not loaded");
13918         return _GetUniformui64vARB (program, location, params);
13919     }
13920     /// ditto
13921     public void GetnUniformi64vARB (GLuint program, GLint location, GLsizei bufSize, GLint64* params) const {
13922         assert(_GetnUniformi64vARB !is null, "OpenGL command glGetnUniformi64vARB was not loaded");
13923         return _GetnUniformi64vARB (program, location, bufSize, params);
13924     }
13925     /// ditto
13926     public void GetnUniformui64vARB (GLuint program, GLint location, GLsizei bufSize, GLuint64* params) const {
13927         assert(_GetnUniformui64vARB !is null, "OpenGL command glGetnUniformui64vARB was not loaded");
13928         return _GetnUniformui64vARB (program, location, bufSize, params);
13929     }
13930     /// ditto
13931     public void ProgramUniform1i64ARB (GLuint program, GLint location, GLint64 x) const {
13932         assert(_ProgramUniform1i64ARB !is null, "OpenGL command glProgramUniform1i64ARB was not loaded");
13933         return _ProgramUniform1i64ARB (program, location, x);
13934     }
13935     /// ditto
13936     public void ProgramUniform2i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y) const {
13937         assert(_ProgramUniform2i64ARB !is null, "OpenGL command glProgramUniform2i64ARB was not loaded");
13938         return _ProgramUniform2i64ARB (program, location, x, y);
13939     }
13940     /// ditto
13941     public void ProgramUniform3i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z) const {
13942         assert(_ProgramUniform3i64ARB !is null, "OpenGL command glProgramUniform3i64ARB was not loaded");
13943         return _ProgramUniform3i64ARB (program, location, x, y, z);
13944     }
13945     /// ditto
13946     public void ProgramUniform4i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w) const {
13947         assert(_ProgramUniform4i64ARB !is null, "OpenGL command glProgramUniform4i64ARB was not loaded");
13948         return _ProgramUniform4i64ARB (program, location, x, y, z, w);
13949     }
13950     /// ditto
13951     public void ProgramUniform1i64vARB (GLuint program, GLint location, GLsizei count, const(GLint64)* value) const {
13952         assert(_ProgramUniform1i64vARB !is null, "OpenGL command glProgramUniform1i64vARB was not loaded");
13953         return _ProgramUniform1i64vARB (program, location, count, value);
13954     }
13955     /// ditto
13956     public void ProgramUniform2i64vARB (GLuint program, GLint location, GLsizei count, const(GLint64)* value) const {
13957         assert(_ProgramUniform2i64vARB !is null, "OpenGL command glProgramUniform2i64vARB was not loaded");
13958         return _ProgramUniform2i64vARB (program, location, count, value);
13959     }
13960     /// ditto
13961     public void ProgramUniform3i64vARB (GLuint program, GLint location, GLsizei count, const(GLint64)* value) const {
13962         assert(_ProgramUniform3i64vARB !is null, "OpenGL command glProgramUniform3i64vARB was not loaded");
13963         return _ProgramUniform3i64vARB (program, location, count, value);
13964     }
13965     /// ditto
13966     public void ProgramUniform4i64vARB (GLuint program, GLint location, GLsizei count, const(GLint64)* value) const {
13967         assert(_ProgramUniform4i64vARB !is null, "OpenGL command glProgramUniform4i64vARB was not loaded");
13968         return _ProgramUniform4i64vARB (program, location, count, value);
13969     }
13970     /// ditto
13971     public void ProgramUniform1ui64ARB (GLuint program, GLint location, GLuint64 x) const {
13972         assert(_ProgramUniform1ui64ARB !is null, "OpenGL command glProgramUniform1ui64ARB was not loaded");
13973         return _ProgramUniform1ui64ARB (program, location, x);
13974     }
13975     /// ditto
13976     public void ProgramUniform2ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y) const {
13977         assert(_ProgramUniform2ui64ARB !is null, "OpenGL command glProgramUniform2ui64ARB was not loaded");
13978         return _ProgramUniform2ui64ARB (program, location, x, y);
13979     }
13980     /// ditto
13981     public void ProgramUniform3ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z) const {
13982         assert(_ProgramUniform3ui64ARB !is null, "OpenGL command glProgramUniform3ui64ARB was not loaded");
13983         return _ProgramUniform3ui64ARB (program, location, x, y, z);
13984     }
13985     /// ditto
13986     public void ProgramUniform4ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w) const {
13987         assert(_ProgramUniform4ui64ARB !is null, "OpenGL command glProgramUniform4ui64ARB was not loaded");
13988         return _ProgramUniform4ui64ARB (program, location, x, y, z, w);
13989     }
13990     /// ditto
13991     public void ProgramUniform1ui64vARB (GLuint program, GLint location, GLsizei count, const(GLuint64)* value) const {
13992         assert(_ProgramUniform1ui64vARB !is null, "OpenGL command glProgramUniform1ui64vARB was not loaded");
13993         return _ProgramUniform1ui64vARB (program, location, count, value);
13994     }
13995     /// ditto
13996     public void ProgramUniform2ui64vARB (GLuint program, GLint location, GLsizei count, const(GLuint64)* value) const {
13997         assert(_ProgramUniform2ui64vARB !is null, "OpenGL command glProgramUniform2ui64vARB was not loaded");
13998         return _ProgramUniform2ui64vARB (program, location, count, value);
13999     }
14000     /// ditto
14001     public void ProgramUniform3ui64vARB (GLuint program, GLint location, GLsizei count, const(GLuint64)* value) const {
14002         assert(_ProgramUniform3ui64vARB !is null, "OpenGL command glProgramUniform3ui64vARB was not loaded");
14003         return _ProgramUniform3ui64vARB (program, location, count, value);
14004     }
14005     /// ditto
14006     public void ProgramUniform4ui64vARB (GLuint program, GLint location, GLsizei count, const(GLuint64)* value) const {
14007         assert(_ProgramUniform4ui64vARB !is null, "OpenGL command glProgramUniform4ui64vARB was not loaded");
14008         return _ProgramUniform4ui64vARB (program, location, count, value);
14009     }
14010 
14011     /// Commands for GL_ARB_parallel_shader_compile
14012     public void MaxShaderCompilerThreadsARB (GLuint count) const {
14013         assert(_MaxShaderCompilerThreadsARB !is null, "OpenGL command glMaxShaderCompilerThreadsARB was not loaded");
14014         return _MaxShaderCompilerThreadsARB (count);
14015     }
14016 
14017     /// Commands for GL_ARB_robustness
14018     public GLenum GetGraphicsResetStatusARB () const {
14019         assert(_GetGraphicsResetStatusARB !is null, "OpenGL command glGetGraphicsResetStatusARB was not loaded");
14020         return _GetGraphicsResetStatusARB ();
14021     }
14022     /// ditto
14023     public void GetnTexImageARB (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* img) const {
14024         assert(_GetnTexImageARB !is null, "OpenGL command glGetnTexImageARB was not loaded");
14025         return _GetnTexImageARB (target, level, format, type, bufSize, img);
14026     }
14027     /// ditto
14028     public void GetnCompressedTexImageARB (GLenum target, GLint lod, GLsizei bufSize, void* img) const {
14029         assert(_GetnCompressedTexImageARB !is null, "OpenGL command glGetnCompressedTexImageARB was not loaded");
14030         return _GetnCompressedTexImageARB (target, lod, bufSize, img);
14031     }
14032     /// ditto
14033     public void GetnUniformfvARB (GLuint program, GLint location, GLsizei bufSize, GLfloat* params) const {
14034         assert(_GetnUniformfvARB !is null, "OpenGL command glGetnUniformfvARB was not loaded");
14035         return _GetnUniformfvARB (program, location, bufSize, params);
14036     }
14037     /// ditto
14038     public void GetnUniformivARB (GLuint program, GLint location, GLsizei bufSize, GLint* params) const {
14039         assert(_GetnUniformivARB !is null, "OpenGL command glGetnUniformivARB was not loaded");
14040         return _GetnUniformivARB (program, location, bufSize, params);
14041     }
14042     /// ditto
14043     public void GetnUniformuivARB (GLuint program, GLint location, GLsizei bufSize, GLuint* params) const {
14044         assert(_GetnUniformuivARB !is null, "OpenGL command glGetnUniformuivARB was not loaded");
14045         return _GetnUniformuivARB (program, location, bufSize, params);
14046     }
14047     /// ditto
14048     public void GetnUniformdvARB (GLuint program, GLint location, GLsizei bufSize, GLdouble* params) const {
14049         assert(_GetnUniformdvARB !is null, "OpenGL command glGetnUniformdvARB was not loaded");
14050         return _GetnUniformdvARB (program, location, bufSize, params);
14051     }
14052 
14053     /// Commands for GL_ARB_sample_locations
14054     public void FramebufferSampleLocationsfvARB (GLenum target, GLuint start, GLsizei count, const(GLfloat)* v) const {
14055         assert(_FramebufferSampleLocationsfvARB !is null, "OpenGL command glFramebufferSampleLocationsfvARB was not loaded");
14056         return _FramebufferSampleLocationsfvARB (target, start, count, v);
14057     }
14058     /// ditto
14059     public void NamedFramebufferSampleLocationsfvARB (GLuint framebuffer, GLuint start, GLsizei count, const(GLfloat)* v) const {
14060         assert(_NamedFramebufferSampleLocationsfvARB !is null, "OpenGL command glNamedFramebufferSampleLocationsfvARB was not loaded");
14061         return _NamedFramebufferSampleLocationsfvARB (framebuffer, start, count, v);
14062     }
14063     /// ditto
14064     public void EvaluateDepthValuesARB () const {
14065         assert(_EvaluateDepthValuesARB !is null, "OpenGL command glEvaluateDepthValuesARB was not loaded");
14066         return _EvaluateDepthValuesARB ();
14067     }
14068 
14069     /// Commands for GL_ARB_shading_language_include
14070     public void NamedStringARB (GLenum type, GLint namelen, const(GLchar)* name, GLint stringlen, const(GLchar)* string) const {
14071         assert(_NamedStringARB !is null, "OpenGL command glNamedStringARB was not loaded");
14072         return _NamedStringARB (type, namelen, name, stringlen, string);
14073     }
14074     /// ditto
14075     public void DeleteNamedStringARB (GLint namelen, const(GLchar)* name) const {
14076         assert(_DeleteNamedStringARB !is null, "OpenGL command glDeleteNamedStringARB was not loaded");
14077         return _DeleteNamedStringARB (namelen, name);
14078     }
14079     /// ditto
14080     public void CompileShaderIncludeARB (GLuint shader, GLsizei count, const(GLchar*)* path, const(GLint)* length) const {
14081         assert(_CompileShaderIncludeARB !is null, "OpenGL command glCompileShaderIncludeARB was not loaded");
14082         return _CompileShaderIncludeARB (shader, count, path, length);
14083     }
14084     /// ditto
14085     public GLboolean IsNamedStringARB (GLint namelen, const(GLchar)* name) const {
14086         assert(_IsNamedStringARB !is null, "OpenGL command glIsNamedStringARB was not loaded");
14087         return _IsNamedStringARB (namelen, name);
14088     }
14089     /// ditto
14090     public void GetNamedStringARB (GLint namelen, const(GLchar)* name, GLsizei bufSize, GLint* stringlen, GLchar* string) const {
14091         assert(_GetNamedStringARB !is null, "OpenGL command glGetNamedStringARB was not loaded");
14092         return _GetNamedStringARB (namelen, name, bufSize, stringlen, string);
14093     }
14094     /// ditto
14095     public void GetNamedStringivARB (GLint namelen, const(GLchar)* name, GLenum pname, GLint* params) const {
14096         assert(_GetNamedStringivARB !is null, "OpenGL command glGetNamedStringivARB was not loaded");
14097         return _GetNamedStringivARB (namelen, name, pname, params);
14098     }
14099 
14100     /// Commands for GL_ARB_sparse_buffer
14101     public void BufferPageCommitmentARB (GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit) const {
14102         assert(_BufferPageCommitmentARB !is null, "OpenGL command glBufferPageCommitmentARB was not loaded");
14103         return _BufferPageCommitmentARB (target, offset, size, commit);
14104     }
14105     /// ditto
14106     public void NamedBufferPageCommitmentEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit) const {
14107         assert(_NamedBufferPageCommitmentEXT !is null, "OpenGL command glNamedBufferPageCommitmentEXT was not loaded");
14108         return _NamedBufferPageCommitmentEXT (buffer, offset, size, commit);
14109     }
14110     /// ditto
14111     public void NamedBufferPageCommitmentARB (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit) const {
14112         assert(_NamedBufferPageCommitmentARB !is null, "OpenGL command glNamedBufferPageCommitmentARB was not loaded");
14113         return _NamedBufferPageCommitmentARB (buffer, offset, size, commit);
14114     }
14115 
14116     /// Commands for GL_ARB_sparse_texture
14117     public void TexPageCommitmentARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit) const {
14118         assert(_TexPageCommitmentARB !is null, "OpenGL command glTexPageCommitmentARB was not loaded");
14119         return _TexPageCommitmentARB (target, level, xoffset, yoffset, zoffset, width, height, depth, commit);
14120     }
14121 
14122     /// Commands for GL_KHR_blend_equation_advanced
14123     public void BlendBarrierKHR () const {
14124         assert(_BlendBarrierKHR !is null, "OpenGL command glBlendBarrierKHR was not loaded");
14125         return _BlendBarrierKHR ();
14126     }
14127 
14128     /// Commands for GL_KHR_parallel_shader_compile
14129     public void MaxShaderCompilerThreadsKHR (GLuint count) const {
14130         assert(_MaxShaderCompilerThreadsKHR !is null, "OpenGL command glMaxShaderCompilerThreadsKHR was not loaded");
14131         return _MaxShaderCompilerThreadsKHR (count);
14132     }
14133 
14134     /// Commands for GL_AMD_performance_monitor
14135     public void GetPerfMonitorGroupsAMD (GLint* numGroups, GLsizei groupsSize, GLuint* groups) const {
14136         assert(_GetPerfMonitorGroupsAMD !is null, "OpenGL command glGetPerfMonitorGroupsAMD was not loaded");
14137         return _GetPerfMonitorGroupsAMD (numGroups, groupsSize, groups);
14138     }
14139     /// ditto
14140     public void GetPerfMonitorCountersAMD (GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters) const {
14141         assert(_GetPerfMonitorCountersAMD !is null, "OpenGL command glGetPerfMonitorCountersAMD was not loaded");
14142         return _GetPerfMonitorCountersAMD (group, numCounters, maxActiveCounters, counterSize, counters);
14143     }
14144     /// ditto
14145     public void GetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei* length, GLchar* groupString) const {
14146         assert(_GetPerfMonitorGroupStringAMD !is null, "OpenGL command glGetPerfMonitorGroupStringAMD was not loaded");
14147         return _GetPerfMonitorGroupStringAMD (group, bufSize, length, groupString);
14148     }
14149     /// ditto
14150     public void GetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar* counterString) const {
14151         assert(_GetPerfMonitorCounterStringAMD !is null, "OpenGL command glGetPerfMonitorCounterStringAMD was not loaded");
14152         return _GetPerfMonitorCounterStringAMD (group, counter, bufSize, length, counterString);
14153     }
14154     /// ditto
14155     public void GetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void* data) const {
14156         assert(_GetPerfMonitorCounterInfoAMD !is null, "OpenGL command glGetPerfMonitorCounterInfoAMD was not loaded");
14157         return _GetPerfMonitorCounterInfoAMD (group, counter, pname, data);
14158     }
14159     /// ditto
14160     public void GenPerfMonitorsAMD (GLsizei n, GLuint* monitors) const {
14161         assert(_GenPerfMonitorsAMD !is null, "OpenGL command glGenPerfMonitorsAMD was not loaded");
14162         return _GenPerfMonitorsAMD (n, monitors);
14163     }
14164     /// ditto
14165     public void DeletePerfMonitorsAMD (GLsizei n, GLuint* monitors) const {
14166         assert(_DeletePerfMonitorsAMD !is null, "OpenGL command glDeletePerfMonitorsAMD was not loaded");
14167         return _DeletePerfMonitorsAMD (n, monitors);
14168     }
14169     /// ditto
14170     public void SelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList) const {
14171         assert(_SelectPerfMonitorCountersAMD !is null, "OpenGL command glSelectPerfMonitorCountersAMD was not loaded");
14172         return _SelectPerfMonitorCountersAMD (monitor, enable, group, numCounters, counterList);
14173     }
14174     /// ditto
14175     public void BeginPerfMonitorAMD (GLuint monitor) const {
14176         assert(_BeginPerfMonitorAMD !is null, "OpenGL command glBeginPerfMonitorAMD was not loaded");
14177         return _BeginPerfMonitorAMD (monitor);
14178     }
14179     /// ditto
14180     public void EndPerfMonitorAMD (GLuint monitor) const {
14181         assert(_EndPerfMonitorAMD !is null, "OpenGL command glEndPerfMonitorAMD was not loaded");
14182         return _EndPerfMonitorAMD (monitor);
14183     }
14184     /// ditto
14185     public void GetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint* bytesWritten) const {
14186         assert(_GetPerfMonitorCounterDataAMD !is null, "OpenGL command glGetPerfMonitorCounterDataAMD was not loaded");
14187         return _GetPerfMonitorCounterDataAMD (monitor, pname, dataSize, data, bytesWritten);
14188     }
14189 
14190     /// Commands for GL_EXT_debug_label
14191     public void LabelObjectEXT (GLenum type, GLuint object, GLsizei length, const(GLchar)* label) const {
14192         assert(_LabelObjectEXT !is null, "OpenGL command glLabelObjectEXT was not loaded");
14193         return _LabelObjectEXT (type, object, length, label);
14194     }
14195     /// ditto
14196     public void GetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei* length, GLchar* label) const {
14197         assert(_GetObjectLabelEXT !is null, "OpenGL command glGetObjectLabelEXT was not loaded");
14198         return _GetObjectLabelEXT (type, object, bufSize, length, label);
14199     }
14200 
14201     /// Commands for GL_EXT_debug_marker
14202     public void InsertEventMarkerEXT (GLsizei length, const(GLchar)* marker) const {
14203         assert(_InsertEventMarkerEXT !is null, "OpenGL command glInsertEventMarkerEXT was not loaded");
14204         return _InsertEventMarkerEXT (length, marker);
14205     }
14206     /// ditto
14207     public void PushGroupMarkerEXT (GLsizei length, const(GLchar)* marker) const {
14208         assert(_PushGroupMarkerEXT !is null, "OpenGL command glPushGroupMarkerEXT was not loaded");
14209         return _PushGroupMarkerEXT (length, marker);
14210     }
14211     /// ditto
14212     public void PopGroupMarkerEXT () const {
14213         assert(_PopGroupMarkerEXT !is null, "OpenGL command glPopGroupMarkerEXT was not loaded");
14214         return _PopGroupMarkerEXT ();
14215     }
14216 
14217     /// Commands for GL_EXT_direct_state_access
14218     public void MatrixLoadfEXT (GLenum mode, const(GLfloat)* m) const {
14219         assert(_MatrixLoadfEXT !is null, "OpenGL command glMatrixLoadfEXT was not loaded");
14220         return _MatrixLoadfEXT (mode, m);
14221     }
14222     /// ditto
14223     public void MatrixLoaddEXT (GLenum mode, const(GLdouble)* m) const {
14224         assert(_MatrixLoaddEXT !is null, "OpenGL command glMatrixLoaddEXT was not loaded");
14225         return _MatrixLoaddEXT (mode, m);
14226     }
14227     /// ditto
14228     public void MatrixMultfEXT (GLenum mode, const(GLfloat)* m) const {
14229         assert(_MatrixMultfEXT !is null, "OpenGL command glMatrixMultfEXT was not loaded");
14230         return _MatrixMultfEXT (mode, m);
14231     }
14232     /// ditto
14233     public void MatrixMultdEXT (GLenum mode, const(GLdouble)* m) const {
14234         assert(_MatrixMultdEXT !is null, "OpenGL command glMatrixMultdEXT was not loaded");
14235         return _MatrixMultdEXT (mode, m);
14236     }
14237     /// ditto
14238     public void MatrixLoadIdentityEXT (GLenum mode) const {
14239         assert(_MatrixLoadIdentityEXT !is null, "OpenGL command glMatrixLoadIdentityEXT was not loaded");
14240         return _MatrixLoadIdentityEXT (mode);
14241     }
14242     /// ditto
14243     public void MatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) const {
14244         assert(_MatrixRotatefEXT !is null, "OpenGL command glMatrixRotatefEXT was not loaded");
14245         return _MatrixRotatefEXT (mode, angle, x, y, z);
14246     }
14247     /// ditto
14248     public void MatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z) const {
14249         assert(_MatrixRotatedEXT !is null, "OpenGL command glMatrixRotatedEXT was not loaded");
14250         return _MatrixRotatedEXT (mode, angle, x, y, z);
14251     }
14252     /// ditto
14253     public void MatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z) const {
14254         assert(_MatrixScalefEXT !is null, "OpenGL command glMatrixScalefEXT was not loaded");
14255         return _MatrixScalefEXT (mode, x, y, z);
14256     }
14257     /// ditto
14258     public void MatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z) const {
14259         assert(_MatrixScaledEXT !is null, "OpenGL command glMatrixScaledEXT was not loaded");
14260         return _MatrixScaledEXT (mode, x, y, z);
14261     }
14262     /// ditto
14263     public void MatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z) const {
14264         assert(_MatrixTranslatefEXT !is null, "OpenGL command glMatrixTranslatefEXT was not loaded");
14265         return _MatrixTranslatefEXT (mode, x, y, z);
14266     }
14267     /// ditto
14268     public void MatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z) const {
14269         assert(_MatrixTranslatedEXT !is null, "OpenGL command glMatrixTranslatedEXT was not loaded");
14270         return _MatrixTranslatedEXT (mode, x, y, z);
14271     }
14272     /// ditto
14273     public void MatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) const {
14274         assert(_MatrixFrustumEXT !is null, "OpenGL command glMatrixFrustumEXT was not loaded");
14275         return _MatrixFrustumEXT (mode, left, right, bottom, top, zNear, zFar);
14276     }
14277     /// ditto
14278     public void MatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) const {
14279         assert(_MatrixOrthoEXT !is null, "OpenGL command glMatrixOrthoEXT was not loaded");
14280         return _MatrixOrthoEXT (mode, left, right, bottom, top, zNear, zFar);
14281     }
14282     /// ditto
14283     public void MatrixPopEXT (GLenum mode) const {
14284         assert(_MatrixPopEXT !is null, "OpenGL command glMatrixPopEXT was not loaded");
14285         return _MatrixPopEXT (mode);
14286     }
14287     /// ditto
14288     public void MatrixPushEXT (GLenum mode) const {
14289         assert(_MatrixPushEXT !is null, "OpenGL command glMatrixPushEXT was not loaded");
14290         return _MatrixPushEXT (mode);
14291     }
14292     /// ditto
14293     public void ClientAttribDefaultEXT (GLbitfield mask) const {
14294         assert(_ClientAttribDefaultEXT !is null, "OpenGL command glClientAttribDefaultEXT was not loaded");
14295         return _ClientAttribDefaultEXT (mask);
14296     }
14297     /// ditto
14298     public void PushClientAttribDefaultEXT (GLbitfield mask) const {
14299         assert(_PushClientAttribDefaultEXT !is null, "OpenGL command glPushClientAttribDefaultEXT was not loaded");
14300         return _PushClientAttribDefaultEXT (mask);
14301     }
14302     /// ditto
14303     public void TextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param) const {
14304         assert(_TextureParameterfEXT !is null, "OpenGL command glTextureParameterfEXT was not loaded");
14305         return _TextureParameterfEXT (texture, target, pname, param);
14306     }
14307     /// ditto
14308     public void TextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const(GLfloat)* params) const {
14309         assert(_TextureParameterfvEXT !is null, "OpenGL command glTextureParameterfvEXT was not loaded");
14310         return _TextureParameterfvEXT (texture, target, pname, params);
14311     }
14312     /// ditto
14313     public void TextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param) const {
14314         assert(_TextureParameteriEXT !is null, "OpenGL command glTextureParameteriEXT was not loaded");
14315         return _TextureParameteriEXT (texture, target, pname, param);
14316     }
14317     /// ditto
14318     public void TextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const(GLint)* params) const {
14319         assert(_TextureParameterivEXT !is null, "OpenGL command glTextureParameterivEXT was not loaded");
14320         return _TextureParameterivEXT (texture, target, pname, params);
14321     }
14322     /// ditto
14323     public void TextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const(void)* pixels) const {
14324         assert(_TextureImage1DEXT !is null, "OpenGL command glTextureImage1DEXT was not loaded");
14325         return _TextureImage1DEXT (texture, target, level, internalformat, width, border, format, type, pixels);
14326     }
14327     /// ditto
14328     public void TextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const(void)* pixels) const {
14329         assert(_TextureImage2DEXT !is null, "OpenGL command glTextureImage2DEXT was not loaded");
14330         return _TextureImage2DEXT (texture, target, level, internalformat, width, height, border, format, type, pixels);
14331     }
14332     /// ditto
14333     public void TextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const(void)* pixels) const {
14334         assert(_TextureSubImage1DEXT !is null, "OpenGL command glTextureSubImage1DEXT was not loaded");
14335         return _TextureSubImage1DEXT (texture, target, level, xoffset, width, format, type, pixels);
14336     }
14337     /// ditto
14338     public void TextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const(void)* pixels) const {
14339         assert(_TextureSubImage2DEXT !is null, "OpenGL command glTextureSubImage2DEXT was not loaded");
14340         return _TextureSubImage2DEXT (texture, target, level, xoffset, yoffset, width, height, format, type, pixels);
14341     }
14342     /// ditto
14343     public void CopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) const {
14344         assert(_CopyTextureImage1DEXT !is null, "OpenGL command glCopyTextureImage1DEXT was not loaded");
14345         return _CopyTextureImage1DEXT (texture, target, level, internalformat, x, y, width, border);
14346     }
14347     /// ditto
14348     public void CopyTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) const {
14349         assert(_CopyTextureImage2DEXT !is null, "OpenGL command glCopyTextureImage2DEXT was not loaded");
14350         return _CopyTextureImage2DEXT (texture, target, level, internalformat, x, y, width, height, border);
14351     }
14352     /// ditto
14353     public void CopyTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) const {
14354         assert(_CopyTextureSubImage1DEXT !is null, "OpenGL command glCopyTextureSubImage1DEXT was not loaded");
14355         return _CopyTextureSubImage1DEXT (texture, target, level, xoffset, x, y, width);
14356     }
14357     /// ditto
14358     public void CopyTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) const {
14359         assert(_CopyTextureSubImage2DEXT !is null, "OpenGL command glCopyTextureSubImage2DEXT was not loaded");
14360         return _CopyTextureSubImage2DEXT (texture, target, level, xoffset, yoffset, x, y, width, height);
14361     }
14362     /// ditto
14363     public void GetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void* pixels) const {
14364         assert(_GetTextureImageEXT !is null, "OpenGL command glGetTextureImageEXT was not loaded");
14365         return _GetTextureImageEXT (texture, target, level, format, type, pixels);
14366     }
14367     /// ditto
14368     public void GetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat* params) const {
14369         assert(_GetTextureParameterfvEXT !is null, "OpenGL command glGetTextureParameterfvEXT was not loaded");
14370         return _GetTextureParameterfvEXT (texture, target, pname, params);
14371     }
14372     /// ditto
14373     public void GetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint* params) const {
14374         assert(_GetTextureParameterivEXT !is null, "OpenGL command glGetTextureParameterivEXT was not loaded");
14375         return _GetTextureParameterivEXT (texture, target, pname, params);
14376     }
14377     /// ditto
14378     public void GetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params) const {
14379         assert(_GetTextureLevelParameterfvEXT !is null, "OpenGL command glGetTextureLevelParameterfvEXT was not loaded");
14380         return _GetTextureLevelParameterfvEXT (texture, target, level, pname, params);
14381     }
14382     /// ditto
14383     public void GetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params) const {
14384         assert(_GetTextureLevelParameterivEXT !is null, "OpenGL command glGetTextureLevelParameterivEXT was not loaded");
14385         return _GetTextureLevelParameterivEXT (texture, target, level, pname, params);
14386     }
14387     /// ditto
14388     public void TextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const(void)* pixels) const {
14389         assert(_TextureImage3DEXT !is null, "OpenGL command glTextureImage3DEXT was not loaded");
14390         return _TextureImage3DEXT (texture, target, level, internalformat, width, height, depth, border, format, type, pixels);
14391     }
14392     /// ditto
14393     public void TextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const(void)* pixels) const {
14394         assert(_TextureSubImage3DEXT !is null, "OpenGL command glTextureSubImage3DEXT was not loaded");
14395         return _TextureSubImage3DEXT (texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
14396     }
14397     /// ditto
14398     public void CopyTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) const {
14399         assert(_CopyTextureSubImage3DEXT !is null, "OpenGL command glCopyTextureSubImage3DEXT was not loaded");
14400         return _CopyTextureSubImage3DEXT (texture, target, level, xoffset, yoffset, zoffset, x, y, width, height);
14401     }
14402     /// ditto
14403     public void BindMultiTextureEXT (GLenum texunit, GLenum target, GLuint texture) const {
14404         assert(_BindMultiTextureEXT !is null, "OpenGL command glBindMultiTextureEXT was not loaded");
14405         return _BindMultiTextureEXT (texunit, target, texture);
14406     }
14407     /// ditto
14408     public void MultiTexCoordPointerEXT (GLenum texunit, GLint size, GLenum type, GLsizei stride, const(void)* pointer) const {
14409         assert(_MultiTexCoordPointerEXT !is null, "OpenGL command glMultiTexCoordPointerEXT was not loaded");
14410         return _MultiTexCoordPointerEXT (texunit, size, type, stride, pointer);
14411     }
14412     /// ditto
14413     public void MultiTexEnvfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param) const {
14414         assert(_MultiTexEnvfEXT !is null, "OpenGL command glMultiTexEnvfEXT was not loaded");
14415         return _MultiTexEnvfEXT (texunit, target, pname, param);
14416     }
14417     /// ditto
14418     public void MultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, const(GLfloat)* params) const {
14419         assert(_MultiTexEnvfvEXT !is null, "OpenGL command glMultiTexEnvfvEXT was not loaded");
14420         return _MultiTexEnvfvEXT (texunit, target, pname, params);
14421     }
14422     /// ditto
14423     public void MultiTexEnviEXT (GLenum texunit, GLenum target, GLenum pname, GLint param) const {
14424         assert(_MultiTexEnviEXT !is null, "OpenGL command glMultiTexEnviEXT was not loaded");
14425         return _MultiTexEnviEXT (texunit, target, pname, param);
14426     }
14427     /// ditto
14428     public void MultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, const(GLint)* params) const {
14429         assert(_MultiTexEnvivEXT !is null, "OpenGL command glMultiTexEnvivEXT was not loaded");
14430         return _MultiTexEnvivEXT (texunit, target, pname, params);
14431     }
14432     /// ditto
14433     public void MultiTexGendEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble param) const {
14434         assert(_MultiTexGendEXT !is null, "OpenGL command glMultiTexGendEXT was not loaded");
14435         return _MultiTexGendEXT (texunit, coord, pname, param);
14436     }
14437     /// ditto
14438     public void MultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, const(GLdouble)* params) const {
14439         assert(_MultiTexGendvEXT !is null, "OpenGL command glMultiTexGendvEXT was not loaded");
14440         return _MultiTexGendvEXT (texunit, coord, pname, params);
14441     }
14442     /// ditto
14443     public void MultiTexGenfEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat param) const {
14444         assert(_MultiTexGenfEXT !is null, "OpenGL command glMultiTexGenfEXT was not loaded");
14445         return _MultiTexGenfEXT (texunit, coord, pname, param);
14446     }
14447     /// ditto
14448     public void MultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, const(GLfloat)* params) const {
14449         assert(_MultiTexGenfvEXT !is null, "OpenGL command glMultiTexGenfvEXT was not loaded");
14450         return _MultiTexGenfvEXT (texunit, coord, pname, params);
14451     }
14452     /// ditto
14453     public void MultiTexGeniEXT (GLenum texunit, GLenum coord, GLenum pname, GLint param) const {
14454         assert(_MultiTexGeniEXT !is null, "OpenGL command glMultiTexGeniEXT was not loaded");
14455         return _MultiTexGeniEXT (texunit, coord, pname, param);
14456     }
14457     /// ditto
14458     public void MultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, const(GLint)* params) const {
14459         assert(_MultiTexGenivEXT !is null, "OpenGL command glMultiTexGenivEXT was not loaded");
14460         return _MultiTexGenivEXT (texunit, coord, pname, params);
14461     }
14462     /// ditto
14463     public void GetMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat* params) const {
14464         assert(_GetMultiTexEnvfvEXT !is null, "OpenGL command glGetMultiTexEnvfvEXT was not loaded");
14465         return _GetMultiTexEnvfvEXT (texunit, target, pname, params);
14466     }
14467     /// ditto
14468     public void GetMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, GLint* params) const {
14469         assert(_GetMultiTexEnvivEXT !is null, "OpenGL command glGetMultiTexEnvivEXT was not loaded");
14470         return _GetMultiTexEnvivEXT (texunit, target, pname, params);
14471     }
14472     /// ditto
14473     public void GetMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble* params) const {
14474         assert(_GetMultiTexGendvEXT !is null, "OpenGL command glGetMultiTexGendvEXT was not loaded");
14475         return _GetMultiTexGendvEXT (texunit, coord, pname, params);
14476     }
14477     /// ditto
14478     public void GetMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat* params) const {
14479         assert(_GetMultiTexGenfvEXT !is null, "OpenGL command glGetMultiTexGenfvEXT was not loaded");
14480         return _GetMultiTexGenfvEXT (texunit, coord, pname, params);
14481     }
14482     /// ditto
14483     public void GetMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, GLint* params) const {
14484         assert(_GetMultiTexGenivEXT !is null, "OpenGL command glGetMultiTexGenivEXT was not loaded");
14485         return _GetMultiTexGenivEXT (texunit, coord, pname, params);
14486     }
14487     /// ditto
14488     public void MultiTexParameteriEXT (GLenum texunit, GLenum target, GLenum pname, GLint param) const {
14489         assert(_MultiTexParameteriEXT !is null, "OpenGL command glMultiTexParameteriEXT was not loaded");
14490         return _MultiTexParameteriEXT (texunit, target, pname, param);
14491     }
14492     /// ditto
14493     public void MultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, const(GLint)* params) const {
14494         assert(_MultiTexParameterivEXT !is null, "OpenGL command glMultiTexParameterivEXT was not loaded");
14495         return _MultiTexParameterivEXT (texunit, target, pname, params);
14496     }
14497     /// ditto
14498     public void MultiTexParameterfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param) const {
14499         assert(_MultiTexParameterfEXT !is null, "OpenGL command glMultiTexParameterfEXT was not loaded");
14500         return _MultiTexParameterfEXT (texunit, target, pname, param);
14501     }
14502     /// ditto
14503     public void MultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, const(GLfloat)* params) const {
14504         assert(_MultiTexParameterfvEXT !is null, "OpenGL command glMultiTexParameterfvEXT was not loaded");
14505         return _MultiTexParameterfvEXT (texunit, target, pname, params);
14506     }
14507     /// ditto
14508     public void MultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const(void)* pixels) const {
14509         assert(_MultiTexImage1DEXT !is null, "OpenGL command glMultiTexImage1DEXT was not loaded");
14510         return _MultiTexImage1DEXT (texunit, target, level, internalformat, width, border, format, type, pixels);
14511     }
14512     /// ditto
14513     public void MultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const(void)* pixels) const {
14514         assert(_MultiTexImage2DEXT !is null, "OpenGL command glMultiTexImage2DEXT was not loaded");
14515         return _MultiTexImage2DEXT (texunit, target, level, internalformat, width, height, border, format, type, pixels);
14516     }
14517     /// ditto
14518     public void MultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const(void)* pixels) const {
14519         assert(_MultiTexSubImage1DEXT !is null, "OpenGL command glMultiTexSubImage1DEXT was not loaded");
14520         return _MultiTexSubImage1DEXT (texunit, target, level, xoffset, width, format, type, pixels);
14521     }
14522     /// ditto
14523     public void MultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const(void)* pixels) const {
14524         assert(_MultiTexSubImage2DEXT !is null, "OpenGL command glMultiTexSubImage2DEXT was not loaded");
14525         return _MultiTexSubImage2DEXT (texunit, target, level, xoffset, yoffset, width, height, format, type, pixels);
14526     }
14527     /// ditto
14528     public void CopyMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) const {
14529         assert(_CopyMultiTexImage1DEXT !is null, "OpenGL command glCopyMultiTexImage1DEXT was not loaded");
14530         return _CopyMultiTexImage1DEXT (texunit, target, level, internalformat, x, y, width, border);
14531     }
14532     /// ditto
14533     public void CopyMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) const {
14534         assert(_CopyMultiTexImage2DEXT !is null, "OpenGL command glCopyMultiTexImage2DEXT was not loaded");
14535         return _CopyMultiTexImage2DEXT (texunit, target, level, internalformat, x, y, width, height, border);
14536     }
14537     /// ditto
14538     public void CopyMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) const {
14539         assert(_CopyMultiTexSubImage1DEXT !is null, "OpenGL command glCopyMultiTexSubImage1DEXT was not loaded");
14540         return _CopyMultiTexSubImage1DEXT (texunit, target, level, xoffset, x, y, width);
14541     }
14542     /// ditto
14543     public void CopyMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) const {
14544         assert(_CopyMultiTexSubImage2DEXT !is null, "OpenGL command glCopyMultiTexSubImage2DEXT was not loaded");
14545         return _CopyMultiTexSubImage2DEXT (texunit, target, level, xoffset, yoffset, x, y, width, height);
14546     }
14547     /// ditto
14548     public void GetMultiTexImageEXT (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void* pixels) const {
14549         assert(_GetMultiTexImageEXT !is null, "OpenGL command glGetMultiTexImageEXT was not loaded");
14550         return _GetMultiTexImageEXT (texunit, target, level, format, type, pixels);
14551     }
14552     /// ditto
14553     public void GetMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat* params) const {
14554         assert(_GetMultiTexParameterfvEXT !is null, "OpenGL command glGetMultiTexParameterfvEXT was not loaded");
14555         return _GetMultiTexParameterfvEXT (texunit, target, pname, params);
14556     }
14557     /// ditto
14558     public void GetMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, GLint* params) const {
14559         assert(_GetMultiTexParameterivEXT !is null, "OpenGL command glGetMultiTexParameterivEXT was not loaded");
14560         return _GetMultiTexParameterivEXT (texunit, target, pname, params);
14561     }
14562     /// ditto
14563     public void GetMultiTexLevelParameterfvEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params) const {
14564         assert(_GetMultiTexLevelParameterfvEXT !is null, "OpenGL command glGetMultiTexLevelParameterfvEXT was not loaded");
14565         return _GetMultiTexLevelParameterfvEXT (texunit, target, level, pname, params);
14566     }
14567     /// ditto
14568     public void GetMultiTexLevelParameterivEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params) const {
14569         assert(_GetMultiTexLevelParameterivEXT !is null, "OpenGL command glGetMultiTexLevelParameterivEXT was not loaded");
14570         return _GetMultiTexLevelParameterivEXT (texunit, target, level, pname, params);
14571     }
14572     /// ditto
14573     public void MultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const(void)* pixels) const {
14574         assert(_MultiTexImage3DEXT !is null, "OpenGL command glMultiTexImage3DEXT was not loaded");
14575         return _MultiTexImage3DEXT (texunit, target, level, internalformat, width, height, depth, border, format, type, pixels);
14576     }
14577     /// ditto
14578     public void MultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const(void)* pixels) const {
14579         assert(_MultiTexSubImage3DEXT !is null, "OpenGL command glMultiTexSubImage3DEXT was not loaded");
14580         return _MultiTexSubImage3DEXT (texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
14581     }
14582     /// ditto
14583     public void CopyMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) const {
14584         assert(_CopyMultiTexSubImage3DEXT !is null, "OpenGL command glCopyMultiTexSubImage3DEXT was not loaded");
14585         return _CopyMultiTexSubImage3DEXT (texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height);
14586     }
14587     /// ditto
14588     public void EnableClientStateIndexedEXT (GLenum array, GLuint index) const {
14589         assert(_EnableClientStateIndexedEXT !is null, "OpenGL command glEnableClientStateIndexedEXT was not loaded");
14590         return _EnableClientStateIndexedEXT (array, index);
14591     }
14592     /// ditto
14593     public void DisableClientStateIndexedEXT (GLenum array, GLuint index) const {
14594         assert(_DisableClientStateIndexedEXT !is null, "OpenGL command glDisableClientStateIndexedEXT was not loaded");
14595         return _DisableClientStateIndexedEXT (array, index);
14596     }
14597     /// ditto
14598     public void GetPointerIndexedvEXT (GLenum target, GLuint index, void** data) const {
14599         assert(_GetPointerIndexedvEXT !is null, "OpenGL command glGetPointerIndexedvEXT was not loaded");
14600         return _GetPointerIndexedvEXT (target, index, data);
14601     }
14602     /// ditto
14603     public void CompressedTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const(void)* bits) const {
14604         assert(_CompressedTextureImage3DEXT !is null, "OpenGL command glCompressedTextureImage3DEXT was not loaded");
14605         return _CompressedTextureImage3DEXT (texture, target, level, internalformat, width, height, depth, border, imageSize, bits);
14606     }
14607     /// ditto
14608     public void CompressedTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const(void)* bits) const {
14609         assert(_CompressedTextureImage2DEXT !is null, "OpenGL command glCompressedTextureImage2DEXT was not loaded");
14610         return _CompressedTextureImage2DEXT (texture, target, level, internalformat, width, height, border, imageSize, bits);
14611     }
14612     /// ditto
14613     public void CompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const(void)* bits) const {
14614         assert(_CompressedTextureImage1DEXT !is null, "OpenGL command glCompressedTextureImage1DEXT was not loaded");
14615         return _CompressedTextureImage1DEXT (texture, target, level, internalformat, width, border, imageSize, bits);
14616     }
14617     /// ditto
14618     public void CompressedTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const(void)* bits) const {
14619         assert(_CompressedTextureSubImage3DEXT !is null, "OpenGL command glCompressedTextureSubImage3DEXT was not loaded");
14620         return _CompressedTextureSubImage3DEXT (texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);
14621     }
14622     /// ditto
14623     public void CompressedTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const(void)* bits) const {
14624         assert(_CompressedTextureSubImage2DEXT !is null, "OpenGL command glCompressedTextureSubImage2DEXT was not loaded");
14625         return _CompressedTextureSubImage2DEXT (texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits);
14626     }
14627     /// ditto
14628     public void CompressedTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const(void)* bits) const {
14629         assert(_CompressedTextureSubImage1DEXT !is null, "OpenGL command glCompressedTextureSubImage1DEXT was not loaded");
14630         return _CompressedTextureSubImage1DEXT (texture, target, level, xoffset, width, format, imageSize, bits);
14631     }
14632     /// ditto
14633     public void GetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, void* img) const {
14634         assert(_GetCompressedTextureImageEXT !is null, "OpenGL command glGetCompressedTextureImageEXT was not loaded");
14635         return _GetCompressedTextureImageEXT (texture, target, lod, img);
14636     }
14637     /// ditto
14638     public void CompressedMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const(void)* bits) const {
14639         assert(_CompressedMultiTexImage3DEXT !is null, "OpenGL command glCompressedMultiTexImage3DEXT was not loaded");
14640         return _CompressedMultiTexImage3DEXT (texunit, target, level, internalformat, width, height, depth, border, imageSize, bits);
14641     }
14642     /// ditto
14643     public void CompressedMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const(void)* bits) const {
14644         assert(_CompressedMultiTexImage2DEXT !is null, "OpenGL command glCompressedMultiTexImage2DEXT was not loaded");
14645         return _CompressedMultiTexImage2DEXT (texunit, target, level, internalformat, width, height, border, imageSize, bits);
14646     }
14647     /// ditto
14648     public void CompressedMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const(void)* bits) const {
14649         assert(_CompressedMultiTexImage1DEXT !is null, "OpenGL command glCompressedMultiTexImage1DEXT was not loaded");
14650         return _CompressedMultiTexImage1DEXT (texunit, target, level, internalformat, width, border, imageSize, bits);
14651     }
14652     /// ditto
14653     public void CompressedMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const(void)* bits) const {
14654         assert(_CompressedMultiTexSubImage3DEXT !is null, "OpenGL command glCompressedMultiTexSubImage3DEXT was not loaded");
14655         return _CompressedMultiTexSubImage3DEXT (texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);
14656     }
14657     /// ditto
14658     public void CompressedMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const(void)* bits) const {
14659         assert(_CompressedMultiTexSubImage2DEXT !is null, "OpenGL command glCompressedMultiTexSubImage2DEXT was not loaded");
14660         return _CompressedMultiTexSubImage2DEXT (texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits);
14661     }
14662     /// ditto
14663     public void CompressedMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const(void)* bits) const {
14664         assert(_CompressedMultiTexSubImage1DEXT !is null, "OpenGL command glCompressedMultiTexSubImage1DEXT was not loaded");
14665         return _CompressedMultiTexSubImage1DEXT (texunit, target, level, xoffset, width, format, imageSize, bits);
14666     }
14667     /// ditto
14668     public void GetCompressedMultiTexImageEXT (GLenum texunit, GLenum target, GLint lod, void* img) const {
14669         assert(_GetCompressedMultiTexImageEXT !is null, "OpenGL command glGetCompressedMultiTexImageEXT was not loaded");
14670         return _GetCompressedMultiTexImageEXT (texunit, target, lod, img);
14671     }
14672     /// ditto
14673     public void MatrixLoadTransposefEXT (GLenum mode, const(GLfloat)* m) const {
14674         assert(_MatrixLoadTransposefEXT !is null, "OpenGL command glMatrixLoadTransposefEXT was not loaded");
14675         return _MatrixLoadTransposefEXT (mode, m);
14676     }
14677     /// ditto
14678     public void MatrixLoadTransposedEXT (GLenum mode, const(GLdouble)* m) const {
14679         assert(_MatrixLoadTransposedEXT !is null, "OpenGL command glMatrixLoadTransposedEXT was not loaded");
14680         return _MatrixLoadTransposedEXT (mode, m);
14681     }
14682     /// ditto
14683     public void MatrixMultTransposefEXT (GLenum mode, const(GLfloat)* m) const {
14684         assert(_MatrixMultTransposefEXT !is null, "OpenGL command glMatrixMultTransposefEXT was not loaded");
14685         return _MatrixMultTransposefEXT (mode, m);
14686     }
14687     /// ditto
14688     public void MatrixMultTransposedEXT (GLenum mode, const(GLdouble)* m) const {
14689         assert(_MatrixMultTransposedEXT !is null, "OpenGL command glMatrixMultTransposedEXT was not loaded");
14690         return _MatrixMultTransposedEXT (mode, m);
14691     }
14692     /// ditto
14693     public void NamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const(void)* data, GLenum usage) const {
14694         assert(_NamedBufferDataEXT !is null, "OpenGL command glNamedBufferDataEXT was not loaded");
14695         return _NamedBufferDataEXT (buffer, size, data, usage);
14696     }
14697     /// ditto
14698     public void * MapNamedBufferEXT (GLuint buffer, GLenum access) const {
14699         assert(_MapNamedBufferEXT !is null, "OpenGL command glMapNamedBufferEXT was not loaded");
14700         return _MapNamedBufferEXT (buffer, access);
14701     }
14702     /// ditto
14703     public GLboolean UnmapNamedBufferEXT (GLuint buffer) const {
14704         assert(_UnmapNamedBufferEXT !is null, "OpenGL command glUnmapNamedBufferEXT was not loaded");
14705         return _UnmapNamedBufferEXT (buffer);
14706     }
14707     /// ditto
14708     public void GetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint* params) const {
14709         assert(_GetNamedBufferParameterivEXT !is null, "OpenGL command glGetNamedBufferParameterivEXT was not loaded");
14710         return _GetNamedBufferParameterivEXT (buffer, pname, params);
14711     }
14712     /// ditto
14713     public void GetNamedBufferPointervEXT (GLuint buffer, GLenum pname, void** params) const {
14714         assert(_GetNamedBufferPointervEXT !is null, "OpenGL command glGetNamedBufferPointervEXT was not loaded");
14715         return _GetNamedBufferPointervEXT (buffer, pname, params);
14716     }
14717     /// ditto
14718     public void GetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, void* data) const {
14719         assert(_GetNamedBufferSubDataEXT !is null, "OpenGL command glGetNamedBufferSubDataEXT was not loaded");
14720         return _GetNamedBufferSubDataEXT (buffer, offset, size, data);
14721     }
14722     /// ditto
14723     public void TextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer) const {
14724         assert(_TextureBufferEXT !is null, "OpenGL command glTextureBufferEXT was not loaded");
14725         return _TextureBufferEXT (texture, target, internalformat, buffer);
14726     }
14727     /// ditto
14728     public void MultiTexBufferEXT (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer) const {
14729         assert(_MultiTexBufferEXT !is null, "OpenGL command glMultiTexBufferEXT was not loaded");
14730         return _MultiTexBufferEXT (texunit, target, internalformat, buffer);
14731     }
14732     /// ditto
14733     public void TextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const(GLint)* params) const {
14734         assert(_TextureParameterIivEXT !is null, "OpenGL command glTextureParameterIivEXT was not loaded");
14735         return _TextureParameterIivEXT (texture, target, pname, params);
14736     }
14737     /// ditto
14738     public void TextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const(GLuint)* params) const {
14739         assert(_TextureParameterIuivEXT !is null, "OpenGL command glTextureParameterIuivEXT was not loaded");
14740         return _TextureParameterIuivEXT (texture, target, pname, params);
14741     }
14742     /// ditto
14743     public void GetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint* params) const {
14744         assert(_GetTextureParameterIivEXT !is null, "OpenGL command glGetTextureParameterIivEXT was not loaded");
14745         return _GetTextureParameterIivEXT (texture, target, pname, params);
14746     }
14747     /// ditto
14748     public void GetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint* params) const {
14749         assert(_GetTextureParameterIuivEXT !is null, "OpenGL command glGetTextureParameterIuivEXT was not loaded");
14750         return _GetTextureParameterIuivEXT (texture, target, pname, params);
14751     }
14752     /// ditto
14753     public void MultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, const(GLint)* params) const {
14754         assert(_MultiTexParameterIivEXT !is null, "OpenGL command glMultiTexParameterIivEXT was not loaded");
14755         return _MultiTexParameterIivEXT (texunit, target, pname, params);
14756     }
14757     /// ditto
14758     public void MultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, const(GLuint)* params) const {
14759         assert(_MultiTexParameterIuivEXT !is null, "OpenGL command glMultiTexParameterIuivEXT was not loaded");
14760         return _MultiTexParameterIuivEXT (texunit, target, pname, params);
14761     }
14762     /// ditto
14763     public void GetMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, GLint* params) const {
14764         assert(_GetMultiTexParameterIivEXT !is null, "OpenGL command glGetMultiTexParameterIivEXT was not loaded");
14765         return _GetMultiTexParameterIivEXT (texunit, target, pname, params);
14766     }
14767     /// ditto
14768     public void GetMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, GLuint* params) const {
14769         assert(_GetMultiTexParameterIuivEXT !is null, "OpenGL command glGetMultiTexParameterIuivEXT was not loaded");
14770         return _GetMultiTexParameterIuivEXT (texunit, target, pname, params);
14771     }
14772     /// ditto
14773     public void NamedProgramLocalParameters4fvEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const(GLfloat)* params) const {
14774         assert(_NamedProgramLocalParameters4fvEXT !is null, "OpenGL command glNamedProgramLocalParameters4fvEXT was not loaded");
14775         return _NamedProgramLocalParameters4fvEXT (program, target, index, count, params);
14776     }
14777     /// ditto
14778     public void NamedProgramLocalParameterI4iEXT (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) const {
14779         assert(_NamedProgramLocalParameterI4iEXT !is null, "OpenGL command glNamedProgramLocalParameterI4iEXT was not loaded");
14780         return _NamedProgramLocalParameterI4iEXT (program, target, index, x, y, z, w);
14781     }
14782     /// ditto
14783     public void NamedProgramLocalParameterI4ivEXT (GLuint program, GLenum target, GLuint index, const(GLint)* params) const {
14784         assert(_NamedProgramLocalParameterI4ivEXT !is null, "OpenGL command glNamedProgramLocalParameterI4ivEXT was not loaded");
14785         return _NamedProgramLocalParameterI4ivEXT (program, target, index, params);
14786     }
14787     /// ditto
14788     public void NamedProgramLocalParametersI4ivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const(GLint)* params) const {
14789         assert(_NamedProgramLocalParametersI4ivEXT !is null, "OpenGL command glNamedProgramLocalParametersI4ivEXT was not loaded");
14790         return _NamedProgramLocalParametersI4ivEXT (program, target, index, count, params);
14791     }
14792     /// ditto
14793     public void NamedProgramLocalParameterI4uiEXT (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) const {
14794         assert(_NamedProgramLocalParameterI4uiEXT !is null, "OpenGL command glNamedProgramLocalParameterI4uiEXT was not loaded");
14795         return _NamedProgramLocalParameterI4uiEXT (program, target, index, x, y, z, w);
14796     }
14797     /// ditto
14798     public void NamedProgramLocalParameterI4uivEXT (GLuint program, GLenum target, GLuint index, const(GLuint)* params) const {
14799         assert(_NamedProgramLocalParameterI4uivEXT !is null, "OpenGL command glNamedProgramLocalParameterI4uivEXT was not loaded");
14800         return _NamedProgramLocalParameterI4uivEXT (program, target, index, params);
14801     }
14802     /// ditto
14803     public void NamedProgramLocalParametersI4uivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const(GLuint)* params) const {
14804         assert(_NamedProgramLocalParametersI4uivEXT !is null, "OpenGL command glNamedProgramLocalParametersI4uivEXT was not loaded");
14805         return _NamedProgramLocalParametersI4uivEXT (program, target, index, count, params);
14806     }
14807     /// ditto
14808     public void GetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint* params) const {
14809         assert(_GetNamedProgramLocalParameterIivEXT !is null, "OpenGL command glGetNamedProgramLocalParameterIivEXT was not loaded");
14810         return _GetNamedProgramLocalParameterIivEXT (program, target, index, params);
14811     }
14812     /// ditto
14813     public void GetNamedProgramLocalParameterIuivEXT (GLuint program, GLenum target, GLuint index, GLuint* params) const {
14814         assert(_GetNamedProgramLocalParameterIuivEXT !is null, "OpenGL command glGetNamedProgramLocalParameterIuivEXT was not loaded");
14815         return _GetNamedProgramLocalParameterIuivEXT (program, target, index, params);
14816     }
14817     /// ditto
14818     public void EnableClientStateiEXT (GLenum array, GLuint index) const {
14819         assert(_EnableClientStateiEXT !is null, "OpenGL command glEnableClientStateiEXT was not loaded");
14820         return _EnableClientStateiEXT (array, index);
14821     }
14822     /// ditto
14823     public void DisableClientStateiEXT (GLenum array, GLuint index) const {
14824         assert(_DisableClientStateiEXT !is null, "OpenGL command glDisableClientStateiEXT was not loaded");
14825         return _DisableClientStateiEXT (array, index);
14826     }
14827     /// ditto
14828     public void GetPointeri_vEXT (GLenum pname, GLuint index, void** params) const {
14829         assert(_GetPointeri_vEXT !is null, "OpenGL command glGetPointeri_vEXT was not loaded");
14830         return _GetPointeri_vEXT (pname, index, params);
14831     }
14832     /// ditto
14833     public void NamedProgramStringEXT (GLuint program, GLenum target, GLenum format, GLsizei len, const(void)* string) const {
14834         assert(_NamedProgramStringEXT !is null, "OpenGL command glNamedProgramStringEXT was not loaded");
14835         return _NamedProgramStringEXT (program, target, format, len, string);
14836     }
14837     /// ditto
14838     public void NamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) const {
14839         assert(_NamedProgramLocalParameter4dEXT !is null, "OpenGL command glNamedProgramLocalParameter4dEXT was not loaded");
14840         return _NamedProgramLocalParameter4dEXT (program, target, index, x, y, z, w);
14841     }
14842     /// ditto
14843     public void NamedProgramLocalParameter4dvEXT (GLuint program, GLenum target, GLuint index, const(GLdouble)* params) const {
14844         assert(_NamedProgramLocalParameter4dvEXT !is null, "OpenGL command glNamedProgramLocalParameter4dvEXT was not loaded");
14845         return _NamedProgramLocalParameter4dvEXT (program, target, index, params);
14846     }
14847     /// ditto
14848     public void NamedProgramLocalParameter4fEXT (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) const {
14849         assert(_NamedProgramLocalParameter4fEXT !is null, "OpenGL command glNamedProgramLocalParameter4fEXT was not loaded");
14850         return _NamedProgramLocalParameter4fEXT (program, target, index, x, y, z, w);
14851     }
14852     /// ditto
14853     public void NamedProgramLocalParameter4fvEXT (GLuint program, GLenum target, GLuint index, const(GLfloat)* params) const {
14854         assert(_NamedProgramLocalParameter4fvEXT !is null, "OpenGL command glNamedProgramLocalParameter4fvEXT was not loaded");
14855         return _NamedProgramLocalParameter4fvEXT (program, target, index, params);
14856     }
14857     /// ditto
14858     public void GetNamedProgramLocalParameterdvEXT (GLuint program, GLenum target, GLuint index, GLdouble* params) const {
14859         assert(_GetNamedProgramLocalParameterdvEXT !is null, "OpenGL command glGetNamedProgramLocalParameterdvEXT was not loaded");
14860         return _GetNamedProgramLocalParameterdvEXT (program, target, index, params);
14861     }
14862     /// ditto
14863     public void GetNamedProgramLocalParameterfvEXT (GLuint program, GLenum target, GLuint index, GLfloat* params) const {
14864         assert(_GetNamedProgramLocalParameterfvEXT !is null, "OpenGL command glGetNamedProgramLocalParameterfvEXT was not loaded");
14865         return _GetNamedProgramLocalParameterfvEXT (program, target, index, params);
14866     }
14867     /// ditto
14868     public void GetNamedProgramivEXT (GLuint program, GLenum target, GLenum pname, GLint* params) const {
14869         assert(_GetNamedProgramivEXT !is null, "OpenGL command glGetNamedProgramivEXT was not loaded");
14870         return _GetNamedProgramivEXT (program, target, pname, params);
14871     }
14872     /// ditto
14873     public void GetNamedProgramStringEXT (GLuint program, GLenum target, GLenum pname, void* string) const {
14874         assert(_GetNamedProgramStringEXT !is null, "OpenGL command glGetNamedProgramStringEXT was not loaded");
14875         return _GetNamedProgramStringEXT (program, target, pname, string);
14876     }
14877     /// ditto
14878     public void NamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) const {
14879         assert(_NamedRenderbufferStorageEXT !is null, "OpenGL command glNamedRenderbufferStorageEXT was not loaded");
14880         return _NamedRenderbufferStorageEXT (renderbuffer, internalformat, width, height);
14881     }
14882     /// ditto
14883     public void GetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint* params) const {
14884         assert(_GetNamedRenderbufferParameterivEXT !is null, "OpenGL command glGetNamedRenderbufferParameterivEXT was not loaded");
14885         return _GetNamedRenderbufferParameterivEXT (renderbuffer, pname, params);
14886     }
14887     /// ditto
14888     public void NamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) const {
14889         assert(_NamedRenderbufferStorageMultisampleEXT !is null, "OpenGL command glNamedRenderbufferStorageMultisampleEXT was not loaded");
14890         return _NamedRenderbufferStorageMultisampleEXT (renderbuffer, samples, internalformat, width, height);
14891     }
14892     /// ditto
14893     public void NamedRenderbufferStorageMultisampleCoverageEXT (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) const {
14894         assert(_NamedRenderbufferStorageMultisampleCoverageEXT !is null, "OpenGL command glNamedRenderbufferStorageMultisampleCoverageEXT was not loaded");
14895         return _NamedRenderbufferStorageMultisampleCoverageEXT (renderbuffer, coverageSamples, colorSamples, internalformat, width, height);
14896     }
14897     /// ditto
14898     public GLenum CheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target) const {
14899         assert(_CheckNamedFramebufferStatusEXT !is null, "OpenGL command glCheckNamedFramebufferStatusEXT was not loaded");
14900         return _CheckNamedFramebufferStatusEXT (framebuffer, target);
14901     }
14902     /// ditto
14903     public void NamedFramebufferTexture1DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) const {
14904         assert(_NamedFramebufferTexture1DEXT !is null, "OpenGL command glNamedFramebufferTexture1DEXT was not loaded");
14905         return _NamedFramebufferTexture1DEXT (framebuffer, attachment, textarget, texture, level);
14906     }
14907     /// ditto
14908     public void NamedFramebufferTexture2DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) const {
14909         assert(_NamedFramebufferTexture2DEXT !is null, "OpenGL command glNamedFramebufferTexture2DEXT was not loaded");
14910         return _NamedFramebufferTexture2DEXT (framebuffer, attachment, textarget, texture, level);
14911     }
14912     /// ditto
14913     public void NamedFramebufferTexture3DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) const {
14914         assert(_NamedFramebufferTexture3DEXT !is null, "OpenGL command glNamedFramebufferTexture3DEXT was not loaded");
14915         return _NamedFramebufferTexture3DEXT (framebuffer, attachment, textarget, texture, level, zoffset);
14916     }
14917     /// ditto
14918     public void NamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) const {
14919         assert(_NamedFramebufferRenderbufferEXT !is null, "OpenGL command glNamedFramebufferRenderbufferEXT was not loaded");
14920         return _NamedFramebufferRenderbufferEXT (framebuffer, attachment, renderbuffertarget, renderbuffer);
14921     }
14922     /// ditto
14923     public void GetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params) const {
14924         assert(_GetNamedFramebufferAttachmentParameterivEXT !is null, "OpenGL command glGetNamedFramebufferAttachmentParameterivEXT was not loaded");
14925         return _GetNamedFramebufferAttachmentParameterivEXT (framebuffer, attachment, pname, params);
14926     }
14927     /// ditto
14928     public void GenerateTextureMipmapEXT (GLuint texture, GLenum target) const {
14929         assert(_GenerateTextureMipmapEXT !is null, "OpenGL command glGenerateTextureMipmapEXT was not loaded");
14930         return _GenerateTextureMipmapEXT (texture, target);
14931     }
14932     /// ditto
14933     public void GenerateMultiTexMipmapEXT (GLenum texunit, GLenum target) const {
14934         assert(_GenerateMultiTexMipmapEXT !is null, "OpenGL command glGenerateMultiTexMipmapEXT was not loaded");
14935         return _GenerateMultiTexMipmapEXT (texunit, target);
14936     }
14937     /// ditto
14938     public void FramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode) const {
14939         assert(_FramebufferDrawBufferEXT !is null, "OpenGL command glFramebufferDrawBufferEXT was not loaded");
14940         return _FramebufferDrawBufferEXT (framebuffer, mode);
14941     }
14942     /// ditto
14943     public void FramebufferDrawBuffersEXT (GLuint framebuffer, GLsizei n, const(GLenum)* bufs) const {
14944         assert(_FramebufferDrawBuffersEXT !is null, "OpenGL command glFramebufferDrawBuffersEXT was not loaded");
14945         return _FramebufferDrawBuffersEXT (framebuffer, n, bufs);
14946     }
14947     /// ditto
14948     public void FramebufferReadBufferEXT (GLuint framebuffer, GLenum mode) const {
14949         assert(_FramebufferReadBufferEXT !is null, "OpenGL command glFramebufferReadBufferEXT was not loaded");
14950         return _FramebufferReadBufferEXT (framebuffer, mode);
14951     }
14952     /// ditto
14953     public void GetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint* params) const {
14954         assert(_GetFramebufferParameterivEXT !is null, "OpenGL command glGetFramebufferParameterivEXT was not loaded");
14955         return _GetFramebufferParameterivEXT (framebuffer, pname, params);
14956     }
14957     /// ditto
14958     public void NamedCopyBufferSubDataEXT (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) const {
14959         assert(_NamedCopyBufferSubDataEXT !is null, "OpenGL command glNamedCopyBufferSubDataEXT was not loaded");
14960         return _NamedCopyBufferSubDataEXT (readBuffer, writeBuffer, readOffset, writeOffset, size);
14961     }
14962     /// ditto
14963     public void NamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) const {
14964         assert(_NamedFramebufferTextureEXT !is null, "OpenGL command glNamedFramebufferTextureEXT was not loaded");
14965         return _NamedFramebufferTextureEXT (framebuffer, attachment, texture, level);
14966     }
14967     /// ditto
14968     public void NamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) const {
14969         assert(_NamedFramebufferTextureLayerEXT !is null, "OpenGL command glNamedFramebufferTextureLayerEXT was not loaded");
14970         return _NamedFramebufferTextureLayerEXT (framebuffer, attachment, texture, level, layer);
14971     }
14972     /// ditto
14973     public void NamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face) const {
14974         assert(_NamedFramebufferTextureFaceEXT !is null, "OpenGL command glNamedFramebufferTextureFaceEXT was not loaded");
14975         return _NamedFramebufferTextureFaceEXT (framebuffer, attachment, texture, level, face);
14976     }
14977     /// ditto
14978     public void TextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer) const {
14979         assert(_TextureRenderbufferEXT !is null, "OpenGL command glTextureRenderbufferEXT was not loaded");
14980         return _TextureRenderbufferEXT (texture, target, renderbuffer);
14981     }
14982     /// ditto
14983     public void MultiTexRenderbufferEXT (GLenum texunit, GLenum target, GLuint renderbuffer) const {
14984         assert(_MultiTexRenderbufferEXT !is null, "OpenGL command glMultiTexRenderbufferEXT was not loaded");
14985         return _MultiTexRenderbufferEXT (texunit, target, renderbuffer);
14986     }
14987     /// ditto
14988     public void VertexArrayVertexOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) const {
14989         assert(_VertexArrayVertexOffsetEXT !is null, "OpenGL command glVertexArrayVertexOffsetEXT was not loaded");
14990         return _VertexArrayVertexOffsetEXT (vaobj, buffer, size, type, stride, offset);
14991     }
14992     /// ditto
14993     public void VertexArrayColorOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) const {
14994         assert(_VertexArrayColorOffsetEXT !is null, "OpenGL command glVertexArrayColorOffsetEXT was not loaded");
14995         return _VertexArrayColorOffsetEXT (vaobj, buffer, size, type, stride, offset);
14996     }
14997     /// ditto
14998     public void VertexArrayEdgeFlagOffsetEXT (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset) const {
14999         assert(_VertexArrayEdgeFlagOffsetEXT !is null, "OpenGL command glVertexArrayEdgeFlagOffsetEXT was not loaded");
15000         return _VertexArrayEdgeFlagOffsetEXT (vaobj, buffer, stride, offset);
15001     }
15002     /// ditto
15003     public void VertexArrayIndexOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) const {
15004         assert(_VertexArrayIndexOffsetEXT !is null, "OpenGL command glVertexArrayIndexOffsetEXT was not loaded");
15005         return _VertexArrayIndexOffsetEXT (vaobj, buffer, type, stride, offset);
15006     }
15007     /// ditto
15008     public void VertexArrayNormalOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) const {
15009         assert(_VertexArrayNormalOffsetEXT !is null, "OpenGL command glVertexArrayNormalOffsetEXT was not loaded");
15010         return _VertexArrayNormalOffsetEXT (vaobj, buffer, type, stride, offset);
15011     }
15012     /// ditto
15013     public void VertexArrayTexCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) const {
15014         assert(_VertexArrayTexCoordOffsetEXT !is null, "OpenGL command glVertexArrayTexCoordOffsetEXT was not loaded");
15015         return _VertexArrayTexCoordOffsetEXT (vaobj, buffer, size, type, stride, offset);
15016     }
15017     /// ditto
15018     public void VertexArrayMultiTexCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset) const {
15019         assert(_VertexArrayMultiTexCoordOffsetEXT !is null, "OpenGL command glVertexArrayMultiTexCoordOffsetEXT was not loaded");
15020         return _VertexArrayMultiTexCoordOffsetEXT (vaobj, buffer, texunit, size, type, stride, offset);
15021     }
15022     /// ditto
15023     public void VertexArrayFogCoordOffsetEXT (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) const {
15024         assert(_VertexArrayFogCoordOffsetEXT !is null, "OpenGL command glVertexArrayFogCoordOffsetEXT was not loaded");
15025         return _VertexArrayFogCoordOffsetEXT (vaobj, buffer, type, stride, offset);
15026     }
15027     /// ditto
15028     public void VertexArraySecondaryColorOffsetEXT (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) const {
15029         assert(_VertexArraySecondaryColorOffsetEXT !is null, "OpenGL command glVertexArraySecondaryColorOffsetEXT was not loaded");
15030         return _VertexArraySecondaryColorOffsetEXT (vaobj, buffer, size, type, stride, offset);
15031     }
15032     /// ditto
15033     public void VertexArrayVertexAttribOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset) const {
15034         assert(_VertexArrayVertexAttribOffsetEXT !is null, "OpenGL command glVertexArrayVertexAttribOffsetEXT was not loaded");
15035         return _VertexArrayVertexAttribOffsetEXT (vaobj, buffer, index, size, type, normalized, stride, offset);
15036     }
15037     /// ditto
15038     public void VertexArrayVertexAttribIOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset) const {
15039         assert(_VertexArrayVertexAttribIOffsetEXT !is null, "OpenGL command glVertexArrayVertexAttribIOffsetEXT was not loaded");
15040         return _VertexArrayVertexAttribIOffsetEXT (vaobj, buffer, index, size, type, stride, offset);
15041     }
15042     /// ditto
15043     public void EnableVertexArrayEXT (GLuint vaobj, GLenum array) const {
15044         assert(_EnableVertexArrayEXT !is null, "OpenGL command glEnableVertexArrayEXT was not loaded");
15045         return _EnableVertexArrayEXT (vaobj, array);
15046     }
15047     /// ditto
15048     public void DisableVertexArrayEXT (GLuint vaobj, GLenum array) const {
15049         assert(_DisableVertexArrayEXT !is null, "OpenGL command glDisableVertexArrayEXT was not loaded");
15050         return _DisableVertexArrayEXT (vaobj, array);
15051     }
15052     /// ditto
15053     public void EnableVertexArrayAttribEXT (GLuint vaobj, GLuint index) const {
15054         assert(_EnableVertexArrayAttribEXT !is null, "OpenGL command glEnableVertexArrayAttribEXT was not loaded");
15055         return _EnableVertexArrayAttribEXT (vaobj, index);
15056     }
15057     /// ditto
15058     public void DisableVertexArrayAttribEXT (GLuint vaobj, GLuint index) const {
15059         assert(_DisableVertexArrayAttribEXT !is null, "OpenGL command glDisableVertexArrayAttribEXT was not loaded");
15060         return _DisableVertexArrayAttribEXT (vaobj, index);
15061     }
15062     /// ditto
15063     public void GetVertexArrayIntegervEXT (GLuint vaobj, GLenum pname, GLint* param) const {
15064         assert(_GetVertexArrayIntegervEXT !is null, "OpenGL command glGetVertexArrayIntegervEXT was not loaded");
15065         return _GetVertexArrayIntegervEXT (vaobj, pname, param);
15066     }
15067     /// ditto
15068     public void GetVertexArrayPointervEXT (GLuint vaobj, GLenum pname, void** param) const {
15069         assert(_GetVertexArrayPointervEXT !is null, "OpenGL command glGetVertexArrayPointervEXT was not loaded");
15070         return _GetVertexArrayPointervEXT (vaobj, pname, param);
15071     }
15072     /// ditto
15073     public void GetVertexArrayIntegeri_vEXT (GLuint vaobj, GLuint index, GLenum pname, GLint* param) const {
15074         assert(_GetVertexArrayIntegeri_vEXT !is null, "OpenGL command glGetVertexArrayIntegeri_vEXT was not loaded");
15075         return _GetVertexArrayIntegeri_vEXT (vaobj, index, pname, param);
15076     }
15077     /// ditto
15078     public void GetVertexArrayPointeri_vEXT (GLuint vaobj, GLuint index, GLenum pname, void** param) const {
15079         assert(_GetVertexArrayPointeri_vEXT !is null, "OpenGL command glGetVertexArrayPointeri_vEXT was not loaded");
15080         return _GetVertexArrayPointeri_vEXT (vaobj, index, pname, param);
15081     }
15082     /// ditto
15083     public void * MapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) const {
15084         assert(_MapNamedBufferRangeEXT !is null, "OpenGL command glMapNamedBufferRangeEXT was not loaded");
15085         return _MapNamedBufferRangeEXT (buffer, offset, length, access);
15086     }
15087     /// ditto
15088     public void FlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length) const {
15089         assert(_FlushMappedNamedBufferRangeEXT !is null, "OpenGL command glFlushMappedNamedBufferRangeEXT was not loaded");
15090         return _FlushMappedNamedBufferRangeEXT (buffer, offset, length);
15091     }
15092     /// ditto
15093     public void ClearNamedBufferDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const(void)* data) const {
15094         assert(_ClearNamedBufferDataEXT !is null, "OpenGL command glClearNamedBufferDataEXT was not loaded");
15095         return _ClearNamedBufferDataEXT (buffer, internalformat, format, type, data);
15096     }
15097     /// ditto
15098     public void ClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const(void)* data) const {
15099         assert(_ClearNamedBufferSubDataEXT !is null, "OpenGL command glClearNamedBufferSubDataEXT was not loaded");
15100         return _ClearNamedBufferSubDataEXT (buffer, internalformat, offset, size, format, type, data);
15101     }
15102     /// ditto
15103     public void NamedFramebufferParameteriEXT (GLuint framebuffer, GLenum pname, GLint param) const {
15104         assert(_NamedFramebufferParameteriEXT !is null, "OpenGL command glNamedFramebufferParameteriEXT was not loaded");
15105         return _NamedFramebufferParameteriEXT (framebuffer, pname, param);
15106     }
15107     /// ditto
15108     public void GetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint* params) const {
15109         assert(_GetNamedFramebufferParameterivEXT !is null, "OpenGL command glGetNamedFramebufferParameterivEXT was not loaded");
15110         return _GetNamedFramebufferParameterivEXT (framebuffer, pname, params);
15111     }
15112     /// ditto
15113     public void ProgramUniform1dEXT (GLuint program, GLint location, GLdouble x) const {
15114         assert(_ProgramUniform1dEXT !is null, "OpenGL command glProgramUniform1dEXT was not loaded");
15115         return _ProgramUniform1dEXT (program, location, x);
15116     }
15117     /// ditto
15118     public void ProgramUniform2dEXT (GLuint program, GLint location, GLdouble x, GLdouble y) const {
15119         assert(_ProgramUniform2dEXT !is null, "OpenGL command glProgramUniform2dEXT was not loaded");
15120         return _ProgramUniform2dEXT (program, location, x, y);
15121     }
15122     /// ditto
15123     public void ProgramUniform3dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z) const {
15124         assert(_ProgramUniform3dEXT !is null, "OpenGL command glProgramUniform3dEXT was not loaded");
15125         return _ProgramUniform3dEXT (program, location, x, y, z);
15126     }
15127     /// ditto
15128     public void ProgramUniform4dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) const {
15129         assert(_ProgramUniform4dEXT !is null, "OpenGL command glProgramUniform4dEXT was not loaded");
15130         return _ProgramUniform4dEXT (program, location, x, y, z, w);
15131     }
15132     /// ditto
15133     public void ProgramUniform1dvEXT (GLuint program, GLint location, GLsizei count, const(GLdouble)* value) const {
15134         assert(_ProgramUniform1dvEXT !is null, "OpenGL command glProgramUniform1dvEXT was not loaded");
15135         return _ProgramUniform1dvEXT (program, location, count, value);
15136     }
15137     /// ditto
15138     public void ProgramUniform2dvEXT (GLuint program, GLint location, GLsizei count, const(GLdouble)* value) const {
15139         assert(_ProgramUniform2dvEXT !is null, "OpenGL command glProgramUniform2dvEXT was not loaded");
15140         return _ProgramUniform2dvEXT (program, location, count, value);
15141     }
15142     /// ditto
15143     public void ProgramUniform3dvEXT (GLuint program, GLint location, GLsizei count, const(GLdouble)* value) const {
15144         assert(_ProgramUniform3dvEXT !is null, "OpenGL command glProgramUniform3dvEXT was not loaded");
15145         return _ProgramUniform3dvEXT (program, location, count, value);
15146     }
15147     /// ditto
15148     public void ProgramUniform4dvEXT (GLuint program, GLint location, GLsizei count, const(GLdouble)* value) const {
15149         assert(_ProgramUniform4dvEXT !is null, "OpenGL command glProgramUniform4dvEXT was not loaded");
15150         return _ProgramUniform4dvEXT (program, location, count, value);
15151     }
15152     /// ditto
15153     public void ProgramUniformMatrix2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
15154         assert(_ProgramUniformMatrix2dvEXT !is null, "OpenGL command glProgramUniformMatrix2dvEXT was not loaded");
15155         return _ProgramUniformMatrix2dvEXT (program, location, count, transpose, value);
15156     }
15157     /// ditto
15158     public void ProgramUniformMatrix3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
15159         assert(_ProgramUniformMatrix3dvEXT !is null, "OpenGL command glProgramUniformMatrix3dvEXT was not loaded");
15160         return _ProgramUniformMatrix3dvEXT (program, location, count, transpose, value);
15161     }
15162     /// ditto
15163     public void ProgramUniformMatrix4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
15164         assert(_ProgramUniformMatrix4dvEXT !is null, "OpenGL command glProgramUniformMatrix4dvEXT was not loaded");
15165         return _ProgramUniformMatrix4dvEXT (program, location, count, transpose, value);
15166     }
15167     /// ditto
15168     public void ProgramUniformMatrix2x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
15169         assert(_ProgramUniformMatrix2x3dvEXT !is null, "OpenGL command glProgramUniformMatrix2x3dvEXT was not loaded");
15170         return _ProgramUniformMatrix2x3dvEXT (program, location, count, transpose, value);
15171     }
15172     /// ditto
15173     public void ProgramUniformMatrix2x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
15174         assert(_ProgramUniformMatrix2x4dvEXT !is null, "OpenGL command glProgramUniformMatrix2x4dvEXT was not loaded");
15175         return _ProgramUniformMatrix2x4dvEXT (program, location, count, transpose, value);
15176     }
15177     /// ditto
15178     public void ProgramUniformMatrix3x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
15179         assert(_ProgramUniformMatrix3x2dvEXT !is null, "OpenGL command glProgramUniformMatrix3x2dvEXT was not loaded");
15180         return _ProgramUniformMatrix3x2dvEXT (program, location, count, transpose, value);
15181     }
15182     /// ditto
15183     public void ProgramUniformMatrix3x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
15184         assert(_ProgramUniformMatrix3x4dvEXT !is null, "OpenGL command glProgramUniformMatrix3x4dvEXT was not loaded");
15185         return _ProgramUniformMatrix3x4dvEXT (program, location, count, transpose, value);
15186     }
15187     /// ditto
15188     public void ProgramUniformMatrix4x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
15189         assert(_ProgramUniformMatrix4x2dvEXT !is null, "OpenGL command glProgramUniformMatrix4x2dvEXT was not loaded");
15190         return _ProgramUniformMatrix4x2dvEXT (program, location, count, transpose, value);
15191     }
15192     /// ditto
15193     public void ProgramUniformMatrix4x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const(GLdouble)* value) const {
15194         assert(_ProgramUniformMatrix4x3dvEXT !is null, "OpenGL command glProgramUniformMatrix4x3dvEXT was not loaded");
15195         return _ProgramUniformMatrix4x3dvEXT (program, location, count, transpose, value);
15196     }
15197     /// ditto
15198     public void TextureBufferRangeEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) const {
15199         assert(_TextureBufferRangeEXT !is null, "OpenGL command glTextureBufferRangeEXT was not loaded");
15200         return _TextureBufferRangeEXT (texture, target, internalformat, buffer, offset, size);
15201     }
15202     /// ditto
15203     public void TextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) const {
15204         assert(_TextureStorage1DEXT !is null, "OpenGL command glTextureStorage1DEXT was not loaded");
15205         return _TextureStorage1DEXT (texture, target, levels, internalformat, width);
15206     }
15207     /// ditto
15208     public void TextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) const {
15209         assert(_TextureStorage2DEXT !is null, "OpenGL command glTextureStorage2DEXT was not loaded");
15210         return _TextureStorage2DEXT (texture, target, levels, internalformat, width, height);
15211     }
15212     /// ditto
15213     public void TextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) const {
15214         assert(_TextureStorage3DEXT !is null, "OpenGL command glTextureStorage3DEXT was not loaded");
15215         return _TextureStorage3DEXT (texture, target, levels, internalformat, width, height, depth);
15216     }
15217     /// ditto
15218     public void TextureStorage2DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) const {
15219         assert(_TextureStorage2DMultisampleEXT !is null, "OpenGL command glTextureStorage2DMultisampleEXT was not loaded");
15220         return _TextureStorage2DMultisampleEXT (texture, target, samples, internalformat, width, height, fixedsamplelocations);
15221     }
15222     /// ditto
15223     public void TextureStorage3DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) const {
15224         assert(_TextureStorage3DMultisampleEXT !is null, "OpenGL command glTextureStorage3DMultisampleEXT was not loaded");
15225         return _TextureStorage3DMultisampleEXT (texture, target, samples, internalformat, width, height, depth, fixedsamplelocations);
15226     }
15227     /// ditto
15228     public void VertexArrayBindVertexBufferEXT (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) const {
15229         assert(_VertexArrayBindVertexBufferEXT !is null, "OpenGL command glVertexArrayBindVertexBufferEXT was not loaded");
15230         return _VertexArrayBindVertexBufferEXT (vaobj, bindingindex, buffer, offset, stride);
15231     }
15232     /// ditto
15233     public void VertexArrayVertexAttribFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) const {
15234         assert(_VertexArrayVertexAttribFormatEXT !is null, "OpenGL command glVertexArrayVertexAttribFormatEXT was not loaded");
15235         return _VertexArrayVertexAttribFormatEXT (vaobj, attribindex, size, type, normalized, relativeoffset);
15236     }
15237     /// ditto
15238     public void VertexArrayVertexAttribIFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) const {
15239         assert(_VertexArrayVertexAttribIFormatEXT !is null, "OpenGL command glVertexArrayVertexAttribIFormatEXT was not loaded");
15240         return _VertexArrayVertexAttribIFormatEXT (vaobj, attribindex, size, type, relativeoffset);
15241     }
15242     /// ditto
15243     public void VertexArrayVertexAttribLFormatEXT (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) const {
15244         assert(_VertexArrayVertexAttribLFormatEXT !is null, "OpenGL command glVertexArrayVertexAttribLFormatEXT was not loaded");
15245         return _VertexArrayVertexAttribLFormatEXT (vaobj, attribindex, size, type, relativeoffset);
15246     }
15247     /// ditto
15248     public void VertexArrayVertexAttribBindingEXT (GLuint vaobj, GLuint attribindex, GLuint bindingindex) const {
15249         assert(_VertexArrayVertexAttribBindingEXT !is null, "OpenGL command glVertexArrayVertexAttribBindingEXT was not loaded");
15250         return _VertexArrayVertexAttribBindingEXT (vaobj, attribindex, bindingindex);
15251     }
15252     /// ditto
15253     public void VertexArrayVertexBindingDivisorEXT (GLuint vaobj, GLuint bindingindex, GLuint divisor) const {
15254         assert(_VertexArrayVertexBindingDivisorEXT !is null, "OpenGL command glVertexArrayVertexBindingDivisorEXT was not loaded");
15255         return _VertexArrayVertexBindingDivisorEXT (vaobj, bindingindex, divisor);
15256     }
15257     /// ditto
15258     public void VertexArrayVertexAttribLOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset) const {
15259         assert(_VertexArrayVertexAttribLOffsetEXT !is null, "OpenGL command glVertexArrayVertexAttribLOffsetEXT was not loaded");
15260         return _VertexArrayVertexAttribLOffsetEXT (vaobj, buffer, index, size, type, stride, offset);
15261     }
15262     /// ditto
15263     public void TexturePageCommitmentEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit) const {
15264         assert(_TexturePageCommitmentEXT !is null, "OpenGL command glTexturePageCommitmentEXT was not loaded");
15265         return _TexturePageCommitmentEXT (texture, level, xoffset, yoffset, zoffset, width, height, depth, commit);
15266     }
15267     /// ditto
15268     public void VertexArrayVertexAttribDivisorEXT (GLuint vaobj, GLuint index, GLuint divisor) const {
15269         assert(_VertexArrayVertexAttribDivisorEXT !is null, "OpenGL command glVertexArrayVertexAttribDivisorEXT was not loaded");
15270         return _VertexArrayVertexAttribDivisorEXT (vaobj, index, divisor);
15271     }
15272 
15273     /// Commands for GL_EXT_raster_multisample
15274     public void RasterSamplesEXT (GLuint samples, GLboolean fixedsamplelocations) const {
15275         assert(_RasterSamplesEXT !is null, "OpenGL command glRasterSamplesEXT was not loaded");
15276         return _RasterSamplesEXT (samples, fixedsamplelocations);
15277     }
15278 
15279     /// Commands for GL_EXT_separate_shader_objects
15280     public void UseShaderProgramEXT (GLenum type, GLuint program) const {
15281         assert(_UseShaderProgramEXT !is null, "OpenGL command glUseShaderProgramEXT was not loaded");
15282         return _UseShaderProgramEXT (type, program);
15283     }
15284     /// ditto
15285     public void ActiveProgramEXT (GLuint program) const {
15286         assert(_ActiveProgramEXT !is null, "OpenGL command glActiveProgramEXT was not loaded");
15287         return _ActiveProgramEXT (program);
15288     }
15289     /// ditto
15290     public GLuint CreateShaderProgramEXT (GLenum type, const(GLchar)* string) const {
15291         assert(_CreateShaderProgramEXT !is null, "OpenGL command glCreateShaderProgramEXT was not loaded");
15292         return _CreateShaderProgramEXT (type, string);
15293     }
15294 
15295     /// Commands for GL_EXT_window_rectangles
15296     public void WindowRectanglesEXT (GLenum mode, GLsizei count, const(GLint)* box) const {
15297         assert(_WindowRectanglesEXT !is null, "OpenGL command glWindowRectanglesEXT was not loaded");
15298         return _WindowRectanglesEXT (mode, count, box);
15299     }
15300 
15301     /// Commands for GL_INTEL_framebuffer_CMAA
15302     public void ApplyFramebufferAttachmentCMAAINTEL () const {
15303         assert(_ApplyFramebufferAttachmentCMAAINTEL !is null, "OpenGL command glApplyFramebufferAttachmentCMAAINTEL was not loaded");
15304         return _ApplyFramebufferAttachmentCMAAINTEL ();
15305     }
15306 
15307     /// Commands for GL_INTEL_performance_query
15308     public void BeginPerfQueryINTEL (GLuint queryHandle) const {
15309         assert(_BeginPerfQueryINTEL !is null, "OpenGL command glBeginPerfQueryINTEL was not loaded");
15310         return _BeginPerfQueryINTEL (queryHandle);
15311     }
15312     /// ditto
15313     public void CreatePerfQueryINTEL (GLuint queryId, GLuint* queryHandle) const {
15314         assert(_CreatePerfQueryINTEL !is null, "OpenGL command glCreatePerfQueryINTEL was not loaded");
15315         return _CreatePerfQueryINTEL (queryId, queryHandle);
15316     }
15317     /// ditto
15318     public void DeletePerfQueryINTEL (GLuint queryHandle) const {
15319         assert(_DeletePerfQueryINTEL !is null, "OpenGL command glDeletePerfQueryINTEL was not loaded");
15320         return _DeletePerfQueryINTEL (queryHandle);
15321     }
15322     /// ditto
15323     public void EndPerfQueryINTEL (GLuint queryHandle) const {
15324         assert(_EndPerfQueryINTEL !is null, "OpenGL command glEndPerfQueryINTEL was not loaded");
15325         return _EndPerfQueryINTEL (queryHandle);
15326     }
15327     /// ditto
15328     public void GetFirstPerfQueryIdINTEL (GLuint* queryId) const {
15329         assert(_GetFirstPerfQueryIdINTEL !is null, "OpenGL command glGetFirstPerfQueryIdINTEL was not loaded");
15330         return _GetFirstPerfQueryIdINTEL (queryId);
15331     }
15332     /// ditto
15333     public void GetNextPerfQueryIdINTEL (GLuint queryId, GLuint* nextQueryId) const {
15334         assert(_GetNextPerfQueryIdINTEL !is null, "OpenGL command glGetNextPerfQueryIdINTEL was not loaded");
15335         return _GetNextPerfQueryIdINTEL (queryId, nextQueryId);
15336     }
15337     /// ditto
15338     public void GetPerfCounterInfoINTEL (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar* counterName, GLuint counterDescLength, GLchar* counterDesc, GLuint* counterOffset, GLuint* counterDataSize, GLuint* counterTypeEnum, GLuint* counterDataTypeEnum, GLuint64* rawCounterMaxValue) const {
15339         assert(_GetPerfCounterInfoINTEL !is null, "OpenGL command glGetPerfCounterInfoINTEL was not loaded");
15340         return _GetPerfCounterInfoINTEL (queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue);
15341     }
15342     /// ditto
15343     public void GetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, void* data, GLuint* bytesWritten) const {
15344         assert(_GetPerfQueryDataINTEL !is null, "OpenGL command glGetPerfQueryDataINTEL was not loaded");
15345         return _GetPerfQueryDataINTEL (queryHandle, flags, dataSize, data, bytesWritten);
15346     }
15347     /// ditto
15348     public void GetPerfQueryIdByNameINTEL (GLchar* queryName, GLuint* queryId) const {
15349         assert(_GetPerfQueryIdByNameINTEL !is null, "OpenGL command glGetPerfQueryIdByNameINTEL was not loaded");
15350         return _GetPerfQueryIdByNameINTEL (queryName, queryId);
15351     }
15352     /// ditto
15353     public void GetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar* queryName, GLuint* dataSize, GLuint* noCounters, GLuint* noInstances, GLuint* capsMask) const {
15354         assert(_GetPerfQueryInfoINTEL !is null, "OpenGL command glGetPerfQueryInfoINTEL was not loaded");
15355         return _GetPerfQueryInfoINTEL (queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask);
15356     }
15357 
15358     /// Commands for GL_NV_bindless_multi_draw_indirect
15359     public void MultiDrawArraysIndirectBindlessNV (GLenum mode, const(void)* indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount) const {
15360         assert(_MultiDrawArraysIndirectBindlessNV !is null, "OpenGL command glMultiDrawArraysIndirectBindlessNV was not loaded");
15361         return _MultiDrawArraysIndirectBindlessNV (mode, indirect, drawCount, stride, vertexBufferCount);
15362     }
15363     /// ditto
15364     public void MultiDrawElementsIndirectBindlessNV (GLenum mode, GLenum type, const(void)* indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount) const {
15365         assert(_MultiDrawElementsIndirectBindlessNV !is null, "OpenGL command glMultiDrawElementsIndirectBindlessNV was not loaded");
15366         return _MultiDrawElementsIndirectBindlessNV (mode, type, indirect, drawCount, stride, vertexBufferCount);
15367     }
15368 
15369     /// Commands for GL_NV_bindless_multi_draw_indirect_count
15370     public void MultiDrawArraysIndirectBindlessCountNV (GLenum mode, const(void)* indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount) const {
15371         assert(_MultiDrawArraysIndirectBindlessCountNV !is null, "OpenGL command glMultiDrawArraysIndirectBindlessCountNV was not loaded");
15372         return _MultiDrawArraysIndirectBindlessCountNV (mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount);
15373     }
15374     /// ditto
15375     public void MultiDrawElementsIndirectBindlessCountNV (GLenum mode, GLenum type, const(void)* indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount) const {
15376         assert(_MultiDrawElementsIndirectBindlessCountNV !is null, "OpenGL command glMultiDrawElementsIndirectBindlessCountNV was not loaded");
15377         return _MultiDrawElementsIndirectBindlessCountNV (mode, type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount);
15378     }
15379 
15380     /// Commands for GL_NV_bindless_texture
15381     public GLuint64 GetTextureHandleNV (GLuint texture) const {
15382         assert(_GetTextureHandleNV !is null, "OpenGL command glGetTextureHandleNV was not loaded");
15383         return _GetTextureHandleNV (texture);
15384     }
15385     /// ditto
15386     public GLuint64 GetTextureSamplerHandleNV (GLuint texture, GLuint sampler) const {
15387         assert(_GetTextureSamplerHandleNV !is null, "OpenGL command glGetTextureSamplerHandleNV was not loaded");
15388         return _GetTextureSamplerHandleNV (texture, sampler);
15389     }
15390     /// ditto
15391     public void MakeTextureHandleResidentNV (GLuint64 handle) const {
15392         assert(_MakeTextureHandleResidentNV !is null, "OpenGL command glMakeTextureHandleResidentNV was not loaded");
15393         return _MakeTextureHandleResidentNV (handle);
15394     }
15395     /// ditto
15396     public void MakeTextureHandleNonResidentNV (GLuint64 handle) const {
15397         assert(_MakeTextureHandleNonResidentNV !is null, "OpenGL command glMakeTextureHandleNonResidentNV was not loaded");
15398         return _MakeTextureHandleNonResidentNV (handle);
15399     }
15400     /// ditto
15401     public GLuint64 GetImageHandleNV (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format) const {
15402         assert(_GetImageHandleNV !is null, "OpenGL command glGetImageHandleNV was not loaded");
15403         return _GetImageHandleNV (texture, level, layered, layer, format);
15404     }
15405     /// ditto
15406     public void MakeImageHandleResidentNV (GLuint64 handle, GLenum access) const {
15407         assert(_MakeImageHandleResidentNV !is null, "OpenGL command glMakeImageHandleResidentNV was not loaded");
15408         return _MakeImageHandleResidentNV (handle, access);
15409     }
15410     /// ditto
15411     public void MakeImageHandleNonResidentNV (GLuint64 handle) const {
15412         assert(_MakeImageHandleNonResidentNV !is null, "OpenGL command glMakeImageHandleNonResidentNV was not loaded");
15413         return _MakeImageHandleNonResidentNV (handle);
15414     }
15415     /// ditto
15416     public void UniformHandleui64NV (GLint location, GLuint64 value) const {
15417         assert(_UniformHandleui64NV !is null, "OpenGL command glUniformHandleui64NV was not loaded");
15418         return _UniformHandleui64NV (location, value);
15419     }
15420     /// ditto
15421     public void UniformHandleui64vNV (GLint location, GLsizei count, const(GLuint64)* value) const {
15422         assert(_UniformHandleui64vNV !is null, "OpenGL command glUniformHandleui64vNV was not loaded");
15423         return _UniformHandleui64vNV (location, count, value);
15424     }
15425     /// ditto
15426     public void ProgramUniformHandleui64NV (GLuint program, GLint location, GLuint64 value) const {
15427         assert(_ProgramUniformHandleui64NV !is null, "OpenGL command glProgramUniformHandleui64NV was not loaded");
15428         return _ProgramUniformHandleui64NV (program, location, value);
15429     }
15430     /// ditto
15431     public void ProgramUniformHandleui64vNV (GLuint program, GLint location, GLsizei count, const(GLuint64)* values) const {
15432         assert(_ProgramUniformHandleui64vNV !is null, "OpenGL command glProgramUniformHandleui64vNV was not loaded");
15433         return _ProgramUniformHandleui64vNV (program, location, count, values);
15434     }
15435     /// ditto
15436     public GLboolean IsTextureHandleResidentNV (GLuint64 handle) const {
15437         assert(_IsTextureHandleResidentNV !is null, "OpenGL command glIsTextureHandleResidentNV was not loaded");
15438         return _IsTextureHandleResidentNV (handle);
15439     }
15440     /// ditto
15441     public GLboolean IsImageHandleResidentNV (GLuint64 handle) const {
15442         assert(_IsImageHandleResidentNV !is null, "OpenGL command glIsImageHandleResidentNV was not loaded");
15443         return _IsImageHandleResidentNV (handle);
15444     }
15445 
15446     /// Commands for GL_NV_blend_equation_advanced
15447     public void BlendParameteriNV (GLenum pname, GLint value) const {
15448         assert(_BlendParameteriNV !is null, "OpenGL command glBlendParameteriNV was not loaded");
15449         return _BlendParameteriNV (pname, value);
15450     }
15451     /// ditto
15452     public void BlendBarrierNV () const {
15453         assert(_BlendBarrierNV !is null, "OpenGL command glBlendBarrierNV was not loaded");
15454         return _BlendBarrierNV ();
15455     }
15456 
15457     /// Commands for GL_NV_clip_space_w_scaling
15458     public void ViewportPositionWScaleNV (GLuint index, GLfloat xcoeff, GLfloat ycoeff) const {
15459         assert(_ViewportPositionWScaleNV !is null, "OpenGL command glViewportPositionWScaleNV was not loaded");
15460         return _ViewportPositionWScaleNV (index, xcoeff, ycoeff);
15461     }
15462 
15463     /// Commands for GL_NV_command_list
15464     public void CreateStatesNV (GLsizei n, GLuint* states) const {
15465         assert(_CreateStatesNV !is null, "OpenGL command glCreateStatesNV was not loaded");
15466         return _CreateStatesNV (n, states);
15467     }
15468     /// ditto
15469     public void DeleteStatesNV (GLsizei n, const(GLuint)* states) const {
15470         assert(_DeleteStatesNV !is null, "OpenGL command glDeleteStatesNV was not loaded");
15471         return _DeleteStatesNV (n, states);
15472     }
15473     /// ditto
15474     public GLboolean IsStateNV (GLuint state) const {
15475         assert(_IsStateNV !is null, "OpenGL command glIsStateNV was not loaded");
15476         return _IsStateNV (state);
15477     }
15478     /// ditto
15479     public void StateCaptureNV (GLuint state, GLenum mode) const {
15480         assert(_StateCaptureNV !is null, "OpenGL command glStateCaptureNV was not loaded");
15481         return _StateCaptureNV (state, mode);
15482     }
15483     /// ditto
15484     public GLuint GetCommandHeaderNV (GLenum tokenID, GLuint size) const {
15485         assert(_GetCommandHeaderNV !is null, "OpenGL command glGetCommandHeaderNV was not loaded");
15486         return _GetCommandHeaderNV (tokenID, size);
15487     }
15488     /// ditto
15489     public GLushort GetStageIndexNV (GLenum shadertype) const {
15490         assert(_GetStageIndexNV !is null, "OpenGL command glGetStageIndexNV was not loaded");
15491         return _GetStageIndexNV (shadertype);
15492     }
15493     /// ditto
15494     public void DrawCommandsNV (GLenum primitiveMode, GLuint buffer, const(GLintptr)* indirects, const(GLsizei)* sizes, GLuint count) const {
15495         assert(_DrawCommandsNV !is null, "OpenGL command glDrawCommandsNV was not loaded");
15496         return _DrawCommandsNV (primitiveMode, buffer, indirects, sizes, count);
15497     }
15498     /// ditto
15499     public void DrawCommandsAddressNV (GLenum primitiveMode, const(GLuint64)* indirects, const(GLsizei)* sizes, GLuint count) const {
15500         assert(_DrawCommandsAddressNV !is null, "OpenGL command glDrawCommandsAddressNV was not loaded");
15501         return _DrawCommandsAddressNV (primitiveMode, indirects, sizes, count);
15502     }
15503     /// ditto
15504     public void DrawCommandsStatesNV (GLuint buffer, const(GLintptr)* indirects, const(GLsizei)* sizes, const(GLuint)* states, const(GLuint)* fbos, GLuint count) const {
15505         assert(_DrawCommandsStatesNV !is null, "OpenGL command glDrawCommandsStatesNV was not loaded");
15506         return _DrawCommandsStatesNV (buffer, indirects, sizes, states, fbos, count);
15507     }
15508     /// ditto
15509     public void DrawCommandsStatesAddressNV (const(GLuint64)* indirects, const(GLsizei)* sizes, const(GLuint)* states, const(GLuint)* fbos, GLuint count) const {
15510         assert(_DrawCommandsStatesAddressNV !is null, "OpenGL command glDrawCommandsStatesAddressNV was not loaded");
15511         return _DrawCommandsStatesAddressNV (indirects, sizes, states, fbos, count);
15512     }
15513     /// ditto
15514     public void CreateCommandListsNV (GLsizei n, GLuint* lists) const {
15515         assert(_CreateCommandListsNV !is null, "OpenGL command glCreateCommandListsNV was not loaded");
15516         return _CreateCommandListsNV (n, lists);
15517     }
15518     /// ditto
15519     public void DeleteCommandListsNV (GLsizei n, const(GLuint)* lists) const {
15520         assert(_DeleteCommandListsNV !is null, "OpenGL command glDeleteCommandListsNV was not loaded");
15521         return _DeleteCommandListsNV (n, lists);
15522     }
15523     /// ditto
15524     public GLboolean IsCommandListNV (GLuint list) const {
15525         assert(_IsCommandListNV !is null, "OpenGL command glIsCommandListNV was not loaded");
15526         return _IsCommandListNV (list);
15527     }
15528     /// ditto
15529     public void ListDrawCommandsStatesClientNV (GLuint list, GLuint segment, const(void*)* indirects, const(GLsizei)* sizes, const(GLuint)* states, const(GLuint)* fbos, GLuint count) const {
15530         assert(_ListDrawCommandsStatesClientNV !is null, "OpenGL command glListDrawCommandsStatesClientNV was not loaded");
15531         return _ListDrawCommandsStatesClientNV (list, segment, indirects, sizes, states, fbos, count);
15532     }
15533     /// ditto
15534     public void CommandListSegmentsNV (GLuint list, GLuint segments) const {
15535         assert(_CommandListSegmentsNV !is null, "OpenGL command glCommandListSegmentsNV was not loaded");
15536         return _CommandListSegmentsNV (list, segments);
15537     }
15538     /// ditto
15539     public void CompileCommandListNV (GLuint list) const {
15540         assert(_CompileCommandListNV !is null, "OpenGL command glCompileCommandListNV was not loaded");
15541         return _CompileCommandListNV (list);
15542     }
15543     /// ditto
15544     public void CallCommandListNV (GLuint list) const {
15545         assert(_CallCommandListNV !is null, "OpenGL command glCallCommandListNV was not loaded");
15546         return _CallCommandListNV (list);
15547     }
15548 
15549     /// Commands for GL_NV_conservative_raster
15550     public void SubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits) const {
15551         assert(_SubpixelPrecisionBiasNV !is null, "OpenGL command glSubpixelPrecisionBiasNV was not loaded");
15552         return _SubpixelPrecisionBiasNV (xbits, ybits);
15553     }
15554 
15555     /// Commands for GL_NV_conservative_raster_dilate
15556     public void ConservativeRasterParameterfNV (GLenum pname, GLfloat value) const {
15557         assert(_ConservativeRasterParameterfNV !is null, "OpenGL command glConservativeRasterParameterfNV was not loaded");
15558         return _ConservativeRasterParameterfNV (pname, value);
15559     }
15560 
15561     /// Commands for GL_NV_conservative_raster_pre_snap_triangles
15562     public void ConservativeRasterParameteriNV (GLenum pname, GLint param) const {
15563         assert(_ConservativeRasterParameteriNV !is null, "OpenGL command glConservativeRasterParameteriNV was not loaded");
15564         return _ConservativeRasterParameteriNV (pname, param);
15565     }
15566 
15567     /// Commands for GL_NV_draw_vulkan_image
15568     public void DrawVkImageNV (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1) const {
15569         assert(_DrawVkImageNV !is null, "OpenGL command glDrawVkImageNV was not loaded");
15570         return _DrawVkImageNV (vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1);
15571     }
15572     /// ditto
15573     public GLVULKANPROCNV GetVkProcAddrNV (const(GLchar)* name) const {
15574         assert(_GetVkProcAddrNV !is null, "OpenGL command glGetVkProcAddrNV was not loaded");
15575         return _GetVkProcAddrNV (name);
15576     }
15577     /// ditto
15578     public void WaitVkSemaphoreNV (GLuint64 vkSemaphore) const {
15579         assert(_WaitVkSemaphoreNV !is null, "OpenGL command glWaitVkSemaphoreNV was not loaded");
15580         return _WaitVkSemaphoreNV (vkSemaphore);
15581     }
15582     /// ditto
15583     public void SignalVkSemaphoreNV (GLuint64 vkSemaphore) const {
15584         assert(_SignalVkSemaphoreNV !is null, "OpenGL command glSignalVkSemaphoreNV was not loaded");
15585         return _SignalVkSemaphoreNV (vkSemaphore);
15586     }
15587     /// ditto
15588     public void SignalVkFenceNV (GLuint64 vkFence) const {
15589         assert(_SignalVkFenceNV !is null, "OpenGL command glSignalVkFenceNV was not loaded");
15590         return _SignalVkFenceNV (vkFence);
15591     }
15592 
15593     /// Commands for GL_NV_fragment_coverage_to_color
15594     public void FragmentCoverageColorNV (GLuint color) const {
15595         assert(_FragmentCoverageColorNV !is null, "OpenGL command glFragmentCoverageColorNV was not loaded");
15596         return _FragmentCoverageColorNV (color);
15597     }
15598 
15599     /// Commands for GL_NV_framebuffer_mixed_samples
15600     public void CoverageModulationTableNV (GLsizei n, const(GLfloat)* v) const {
15601         assert(_CoverageModulationTableNV !is null, "OpenGL command glCoverageModulationTableNV was not loaded");
15602         return _CoverageModulationTableNV (n, v);
15603     }
15604     /// ditto
15605     public void GetCoverageModulationTableNV (GLsizei bufsize, GLfloat* v) const {
15606         assert(_GetCoverageModulationTableNV !is null, "OpenGL command glGetCoverageModulationTableNV was not loaded");
15607         return _GetCoverageModulationTableNV (bufsize, v);
15608     }
15609     /// ditto
15610     public void CoverageModulationNV (GLenum components) const {
15611         assert(_CoverageModulationNV !is null, "OpenGL command glCoverageModulationNV was not loaded");
15612         return _CoverageModulationNV (components);
15613     }
15614 
15615     /// Commands for GL_NV_framebuffer_multisample_coverage
15616     public void RenderbufferStorageMultisampleCoverageNV (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) const {
15617         assert(_RenderbufferStorageMultisampleCoverageNV !is null, "OpenGL command glRenderbufferStorageMultisampleCoverageNV was not loaded");
15618         return _RenderbufferStorageMultisampleCoverageNV (target, coverageSamples, colorSamples, internalformat, width, height);
15619     }
15620 
15621     /// Commands for GL_NV_gpu_shader5
15622     public void Uniform1i64NV (GLint location, GLint64EXT x) const {
15623         assert(_Uniform1i64NV !is null, "OpenGL command glUniform1i64NV was not loaded");
15624         return _Uniform1i64NV (location, x);
15625     }
15626     /// ditto
15627     public void Uniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y) const {
15628         assert(_Uniform2i64NV !is null, "OpenGL command glUniform2i64NV was not loaded");
15629         return _Uniform2i64NV (location, x, y);
15630     }
15631     /// ditto
15632     public void Uniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z) const {
15633         assert(_Uniform3i64NV !is null, "OpenGL command glUniform3i64NV was not loaded");
15634         return _Uniform3i64NV (location, x, y, z);
15635     }
15636     /// ditto
15637     public void Uniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) const {
15638         assert(_Uniform4i64NV !is null, "OpenGL command glUniform4i64NV was not loaded");
15639         return _Uniform4i64NV (location, x, y, z, w);
15640     }
15641     /// ditto
15642     public void Uniform1i64vNV (GLint location, GLsizei count, const(GLint64EXT)* value) const {
15643         assert(_Uniform1i64vNV !is null, "OpenGL command glUniform1i64vNV was not loaded");
15644         return _Uniform1i64vNV (location, count, value);
15645     }
15646     /// ditto
15647     public void Uniform2i64vNV (GLint location, GLsizei count, const(GLint64EXT)* value) const {
15648         assert(_Uniform2i64vNV !is null, "OpenGL command glUniform2i64vNV was not loaded");
15649         return _Uniform2i64vNV (location, count, value);
15650     }
15651     /// ditto
15652     public void Uniform3i64vNV (GLint location, GLsizei count, const(GLint64EXT)* value) const {
15653         assert(_Uniform3i64vNV !is null, "OpenGL command glUniform3i64vNV was not loaded");
15654         return _Uniform3i64vNV (location, count, value);
15655     }
15656     /// ditto
15657     public void Uniform4i64vNV (GLint location, GLsizei count, const(GLint64EXT)* value) const {
15658         assert(_Uniform4i64vNV !is null, "OpenGL command glUniform4i64vNV was not loaded");
15659         return _Uniform4i64vNV (location, count, value);
15660     }
15661     /// ditto
15662     public void Uniform1ui64NV (GLint location, GLuint64EXT x) const {
15663         assert(_Uniform1ui64NV !is null, "OpenGL command glUniform1ui64NV was not loaded");
15664         return _Uniform1ui64NV (location, x);
15665     }
15666     /// ditto
15667     public void Uniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y) const {
15668         assert(_Uniform2ui64NV !is null, "OpenGL command glUniform2ui64NV was not loaded");
15669         return _Uniform2ui64NV (location, x, y);
15670     }
15671     /// ditto
15672     public void Uniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) const {
15673         assert(_Uniform3ui64NV !is null, "OpenGL command glUniform3ui64NV was not loaded");
15674         return _Uniform3ui64NV (location, x, y, z);
15675     }
15676     /// ditto
15677     public void Uniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) const {
15678         assert(_Uniform4ui64NV !is null, "OpenGL command glUniform4ui64NV was not loaded");
15679         return _Uniform4ui64NV (location, x, y, z, w);
15680     }
15681     /// ditto
15682     public void Uniform1ui64vNV (GLint location, GLsizei count, const(GLuint64EXT)* value) const {
15683         assert(_Uniform1ui64vNV !is null, "OpenGL command glUniform1ui64vNV was not loaded");
15684         return _Uniform1ui64vNV (location, count, value);
15685     }
15686     /// ditto
15687     public void Uniform2ui64vNV (GLint location, GLsizei count, const(GLuint64EXT)* value) const {
15688         assert(_Uniform2ui64vNV !is null, "OpenGL command glUniform2ui64vNV was not loaded");
15689         return _Uniform2ui64vNV (location, count, value);
15690     }
15691     /// ditto
15692     public void Uniform3ui64vNV (GLint location, GLsizei count, const(GLuint64EXT)* value) const {
15693         assert(_Uniform3ui64vNV !is null, "OpenGL command glUniform3ui64vNV was not loaded");
15694         return _Uniform3ui64vNV (location, count, value);
15695     }
15696     /// ditto
15697     public void Uniform4ui64vNV (GLint location, GLsizei count, const(GLuint64EXT)* value) const {
15698         assert(_Uniform4ui64vNV !is null, "OpenGL command glUniform4ui64vNV was not loaded");
15699         return _Uniform4ui64vNV (location, count, value);
15700     }
15701     /// ditto
15702     public void GetUniformi64vNV (GLuint program, GLint location, GLint64EXT* params) const {
15703         assert(_GetUniformi64vNV !is null, "OpenGL command glGetUniformi64vNV was not loaded");
15704         return _GetUniformi64vNV (program, location, params);
15705     }
15706     /// ditto
15707     public void ProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x) const {
15708         assert(_ProgramUniform1i64NV !is null, "OpenGL command glProgramUniform1i64NV was not loaded");
15709         return _ProgramUniform1i64NV (program, location, x);
15710     }
15711     /// ditto
15712     public void ProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y) const {
15713         assert(_ProgramUniform2i64NV !is null, "OpenGL command glProgramUniform2i64NV was not loaded");
15714         return _ProgramUniform2i64NV (program, location, x, y);
15715     }
15716     /// ditto
15717     public void ProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z) const {
15718         assert(_ProgramUniform3i64NV !is null, "OpenGL command glProgramUniform3i64NV was not loaded");
15719         return _ProgramUniform3i64NV (program, location, x, y, z);
15720     }
15721     /// ditto
15722     public void ProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) const {
15723         assert(_ProgramUniform4i64NV !is null, "OpenGL command glProgramUniform4i64NV was not loaded");
15724         return _ProgramUniform4i64NV (program, location, x, y, z, w);
15725     }
15726     /// ditto
15727     public void ProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const(GLint64EXT)* value) const {
15728         assert(_ProgramUniform1i64vNV !is null, "OpenGL command glProgramUniform1i64vNV was not loaded");
15729         return _ProgramUniform1i64vNV (program, location, count, value);
15730     }
15731     /// ditto
15732     public void ProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const(GLint64EXT)* value) const {
15733         assert(_ProgramUniform2i64vNV !is null, "OpenGL command glProgramUniform2i64vNV was not loaded");
15734         return _ProgramUniform2i64vNV (program, location, count, value);
15735     }
15736     /// ditto
15737     public void ProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const(GLint64EXT)* value) const {
15738         assert(_ProgramUniform3i64vNV !is null, "OpenGL command glProgramUniform3i64vNV was not loaded");
15739         return _ProgramUniform3i64vNV (program, location, count, value);
15740     }
15741     /// ditto
15742     public void ProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const(GLint64EXT)* value) const {
15743         assert(_ProgramUniform4i64vNV !is null, "OpenGL command glProgramUniform4i64vNV was not loaded");
15744         return _ProgramUniform4i64vNV (program, location, count, value);
15745     }
15746     /// ditto
15747     public void ProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x) const {
15748         assert(_ProgramUniform1ui64NV !is null, "OpenGL command glProgramUniform1ui64NV was not loaded");
15749         return _ProgramUniform1ui64NV (program, location, x);
15750     }
15751     /// ditto
15752     public void ProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y) const {
15753         assert(_ProgramUniform2ui64NV !is null, "OpenGL command glProgramUniform2ui64NV was not loaded");
15754         return _ProgramUniform2ui64NV (program, location, x, y);
15755     }
15756     /// ditto
15757     public void ProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) const {
15758         assert(_ProgramUniform3ui64NV !is null, "OpenGL command glProgramUniform3ui64NV was not loaded");
15759         return _ProgramUniform3ui64NV (program, location, x, y, z);
15760     }
15761     /// ditto
15762     public void ProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) const {
15763         assert(_ProgramUniform4ui64NV !is null, "OpenGL command glProgramUniform4ui64NV was not loaded");
15764         return _ProgramUniform4ui64NV (program, location, x, y, z, w);
15765     }
15766     /// ditto
15767     public void ProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const(GLuint64EXT)* value) const {
15768         assert(_ProgramUniform1ui64vNV !is null, "OpenGL command glProgramUniform1ui64vNV was not loaded");
15769         return _ProgramUniform1ui64vNV (program, location, count, value);
15770     }
15771     /// ditto
15772     public void ProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const(GLuint64EXT)* value) const {
15773         assert(_ProgramUniform2ui64vNV !is null, "OpenGL command glProgramUniform2ui64vNV was not loaded");
15774         return _ProgramUniform2ui64vNV (program, location, count, value);
15775     }
15776     /// ditto
15777     public void ProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const(GLuint64EXT)* value) const {
15778         assert(_ProgramUniform3ui64vNV !is null, "OpenGL command glProgramUniform3ui64vNV was not loaded");
15779         return _ProgramUniform3ui64vNV (program, location, count, value);
15780     }
15781     /// ditto
15782     public void ProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const(GLuint64EXT)* value) const {
15783         assert(_ProgramUniform4ui64vNV !is null, "OpenGL command glProgramUniform4ui64vNV was not loaded");
15784         return _ProgramUniform4ui64vNV (program, location, count, value);
15785     }
15786 
15787     /// Commands for GL_NV_internalformat_sample_query
15788     public void GetInternalformatSampleivNV (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint* params) const {
15789         assert(_GetInternalformatSampleivNV !is null, "OpenGL command glGetInternalformatSampleivNV was not loaded");
15790         return _GetInternalformatSampleivNV (target, internalformat, samples, pname, bufSize, params);
15791     }
15792 
15793     /// Commands for GL_NV_path_rendering
15794     public GLuint GenPathsNV (GLsizei range) const {
15795         assert(_GenPathsNV !is null, "OpenGL command glGenPathsNV was not loaded");
15796         return _GenPathsNV (range);
15797     }
15798     /// ditto
15799     public void DeletePathsNV (GLuint path, GLsizei range) const {
15800         assert(_DeletePathsNV !is null, "OpenGL command glDeletePathsNV was not loaded");
15801         return _DeletePathsNV (path, range);
15802     }
15803     /// ditto
15804     public GLboolean IsPathNV (GLuint path) const {
15805         assert(_IsPathNV !is null, "OpenGL command glIsPathNV was not loaded");
15806         return _IsPathNV (path);
15807     }
15808     /// ditto
15809     public void PathCommandsNV (GLuint path, GLsizei numCommands, const(GLubyte)* commands, GLsizei numCoords, GLenum coordType, const(void)* coords) const {
15810         assert(_PathCommandsNV !is null, "OpenGL command glPathCommandsNV was not loaded");
15811         return _PathCommandsNV (path, numCommands, commands, numCoords, coordType, coords);
15812     }
15813     /// ditto
15814     public void PathCoordsNV (GLuint path, GLsizei numCoords, GLenum coordType, const(void)* coords) const {
15815         assert(_PathCoordsNV !is null, "OpenGL command glPathCoordsNV was not loaded");
15816         return _PathCoordsNV (path, numCoords, coordType, coords);
15817     }
15818     /// ditto
15819     public void PathSubCommandsNV (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const(GLubyte)* commands, GLsizei numCoords, GLenum coordType, const(void)* coords) const {
15820         assert(_PathSubCommandsNV !is null, "OpenGL command glPathSubCommandsNV was not loaded");
15821         return _PathSubCommandsNV (path, commandStart, commandsToDelete, numCommands, commands, numCoords, coordType, coords);
15822     }
15823     /// ditto
15824     public void PathSubCoordsNV (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const(void)* coords) const {
15825         assert(_PathSubCoordsNV !is null, "OpenGL command glPathSubCoordsNV was not loaded");
15826         return _PathSubCoordsNV (path, coordStart, numCoords, coordType, coords);
15827     }
15828     /// ditto
15829     public void PathStringNV (GLuint path, GLenum format, GLsizei length, const(void)* pathString) const {
15830         assert(_PathStringNV !is null, "OpenGL command glPathStringNV was not loaded");
15831         return _PathStringNV (path, format, length, pathString);
15832     }
15833     /// ditto
15834     public void PathGlyphsNV (GLuint firstPathName, GLenum fontTarget, const(void)* fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const(void)* charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale) const {
15835         assert(_PathGlyphsNV !is null, "OpenGL command glPathGlyphsNV was not loaded");
15836         return _PathGlyphsNV (firstPathName, fontTarget, fontName, fontStyle, numGlyphs, type, charcodes, handleMissingGlyphs, pathParameterTemplate, emScale);
15837     }
15838     /// ditto
15839     public void PathGlyphRangeNV (GLuint firstPathName, GLenum fontTarget, const(void)* fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale) const {
15840         assert(_PathGlyphRangeNV !is null, "OpenGL command glPathGlyphRangeNV was not loaded");
15841         return _PathGlyphRangeNV (firstPathName, fontTarget, fontName, fontStyle, firstGlyph, numGlyphs, handleMissingGlyphs, pathParameterTemplate, emScale);
15842     }
15843     /// ditto
15844     public void WeightPathsNV (GLuint resultPath, GLsizei numPaths, const(GLuint)* paths, const(GLfloat)* weights) const {
15845         assert(_WeightPathsNV !is null, "OpenGL command glWeightPathsNV was not loaded");
15846         return _WeightPathsNV (resultPath, numPaths, paths, weights);
15847     }
15848     /// ditto
15849     public void CopyPathNV (GLuint resultPath, GLuint srcPath) const {
15850         assert(_CopyPathNV !is null, "OpenGL command glCopyPathNV was not loaded");
15851         return _CopyPathNV (resultPath, srcPath);
15852     }
15853     /// ditto
15854     public void InterpolatePathsNV (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight) const {
15855         assert(_InterpolatePathsNV !is null, "OpenGL command glInterpolatePathsNV was not loaded");
15856         return _InterpolatePathsNV (resultPath, pathA, pathB, weight);
15857     }
15858     /// ditto
15859     public void TransformPathNV (GLuint resultPath, GLuint srcPath, GLenum transformType, const(GLfloat)* transformValues) const {
15860         assert(_TransformPathNV !is null, "OpenGL command glTransformPathNV was not loaded");
15861         return _TransformPathNV (resultPath, srcPath, transformType, transformValues);
15862     }
15863     /// ditto
15864     public void PathParameterivNV (GLuint path, GLenum pname, const(GLint)* value) const {
15865         assert(_PathParameterivNV !is null, "OpenGL command glPathParameterivNV was not loaded");
15866         return _PathParameterivNV (path, pname, value);
15867     }
15868     /// ditto
15869     public void PathParameteriNV (GLuint path, GLenum pname, GLint value) const {
15870         assert(_PathParameteriNV !is null, "OpenGL command glPathParameteriNV was not loaded");
15871         return _PathParameteriNV (path, pname, value);
15872     }
15873     /// ditto
15874     public void PathParameterfvNV (GLuint path, GLenum pname, const(GLfloat)* value) const {
15875         assert(_PathParameterfvNV !is null, "OpenGL command glPathParameterfvNV was not loaded");
15876         return _PathParameterfvNV (path, pname, value);
15877     }
15878     /// ditto
15879     public void PathParameterfNV (GLuint path, GLenum pname, GLfloat value) const {
15880         assert(_PathParameterfNV !is null, "OpenGL command glPathParameterfNV was not loaded");
15881         return _PathParameterfNV (path, pname, value);
15882     }
15883     /// ditto
15884     public void PathDashArrayNV (GLuint path, GLsizei dashCount, const(GLfloat)* dashArray) const {
15885         assert(_PathDashArrayNV !is null, "OpenGL command glPathDashArrayNV was not loaded");
15886         return _PathDashArrayNV (path, dashCount, dashArray);
15887     }
15888     /// ditto
15889     public void PathStencilFuncNV (GLenum func, GLint ref_, GLuint mask) const {
15890         assert(_PathStencilFuncNV !is null, "OpenGL command glPathStencilFuncNV was not loaded");
15891         return _PathStencilFuncNV (func, ref_, mask);
15892     }
15893     /// ditto
15894     public void PathStencilDepthOffsetNV (GLfloat factor, GLfloat units) const {
15895         assert(_PathStencilDepthOffsetNV !is null, "OpenGL command glPathStencilDepthOffsetNV was not loaded");
15896         return _PathStencilDepthOffsetNV (factor, units);
15897     }
15898     /// ditto
15899     public void StencilFillPathNV (GLuint path, GLenum fillMode, GLuint mask) const {
15900         assert(_StencilFillPathNV !is null, "OpenGL command glStencilFillPathNV was not loaded");
15901         return _StencilFillPathNV (path, fillMode, mask);
15902     }
15903     /// ditto
15904     public void StencilStrokePathNV (GLuint path, GLint reference, GLuint mask) const {
15905         assert(_StencilStrokePathNV !is null, "OpenGL command glStencilStrokePathNV was not loaded");
15906         return _StencilStrokePathNV (path, reference, mask);
15907     }
15908     /// ditto
15909     public void StencilFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const(void)* paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const(GLfloat)* transformValues) const {
15910         assert(_StencilFillPathInstancedNV !is null, "OpenGL command glStencilFillPathInstancedNV was not loaded");
15911         return _StencilFillPathInstancedNV (numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues);
15912     }
15913     /// ditto
15914     public void StencilStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const(void)* paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const(GLfloat)* transformValues) const {
15915         assert(_StencilStrokePathInstancedNV !is null, "OpenGL command glStencilStrokePathInstancedNV was not loaded");
15916         return _StencilStrokePathInstancedNV (numPaths, pathNameType, paths, pathBase, reference, mask, transformType, transformValues);
15917     }
15918     /// ditto
15919     public void PathCoverDepthFuncNV (GLenum func) const {
15920         assert(_PathCoverDepthFuncNV !is null, "OpenGL command glPathCoverDepthFuncNV was not loaded");
15921         return _PathCoverDepthFuncNV (func);
15922     }
15923     /// ditto
15924     public void CoverFillPathNV (GLuint path, GLenum coverMode) const {
15925         assert(_CoverFillPathNV !is null, "OpenGL command glCoverFillPathNV was not loaded");
15926         return _CoverFillPathNV (path, coverMode);
15927     }
15928     /// ditto
15929     public void CoverStrokePathNV (GLuint path, GLenum coverMode) const {
15930         assert(_CoverStrokePathNV !is null, "OpenGL command glCoverStrokePathNV was not loaded");
15931         return _CoverStrokePathNV (path, coverMode);
15932     }
15933     /// ditto
15934     public void CoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const(void)* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const(GLfloat)* transformValues) const {
15935         assert(_CoverFillPathInstancedNV !is null, "OpenGL command glCoverFillPathInstancedNV was not loaded");
15936         return _CoverFillPathInstancedNV (numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues);
15937     }
15938     /// ditto
15939     public void CoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const(void)* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const(GLfloat)* transformValues) const {
15940         assert(_CoverStrokePathInstancedNV !is null, "OpenGL command glCoverStrokePathInstancedNV was not loaded");
15941         return _CoverStrokePathInstancedNV (numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues);
15942     }
15943     /// ditto
15944     public void GetPathParameterivNV (GLuint path, GLenum pname, GLint* value) const {
15945         assert(_GetPathParameterivNV !is null, "OpenGL command glGetPathParameterivNV was not loaded");
15946         return _GetPathParameterivNV (path, pname, value);
15947     }
15948     /// ditto
15949     public void GetPathParameterfvNV (GLuint path, GLenum pname, GLfloat* value) const {
15950         assert(_GetPathParameterfvNV !is null, "OpenGL command glGetPathParameterfvNV was not loaded");
15951         return _GetPathParameterfvNV (path, pname, value);
15952     }
15953     /// ditto
15954     public void GetPathCommandsNV (GLuint path, GLubyte* commands) const {
15955         assert(_GetPathCommandsNV !is null, "OpenGL command glGetPathCommandsNV was not loaded");
15956         return _GetPathCommandsNV (path, commands);
15957     }
15958     /// ditto
15959     public void GetPathCoordsNV (GLuint path, GLfloat* coords) const {
15960         assert(_GetPathCoordsNV !is null, "OpenGL command glGetPathCoordsNV was not loaded");
15961         return _GetPathCoordsNV (path, coords);
15962     }
15963     /// ditto
15964     public void GetPathDashArrayNV (GLuint path, GLfloat* dashArray) const {
15965         assert(_GetPathDashArrayNV !is null, "OpenGL command glGetPathDashArrayNV was not loaded");
15966         return _GetPathDashArrayNV (path, dashArray);
15967     }
15968     /// ditto
15969     public void GetPathMetricsNV (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const(void)* paths, GLuint pathBase, GLsizei stride, GLfloat* metrics) const {
15970         assert(_GetPathMetricsNV !is null, "OpenGL command glGetPathMetricsNV was not loaded");
15971         return _GetPathMetricsNV (metricQueryMask, numPaths, pathNameType, paths, pathBase, stride, metrics);
15972     }
15973     /// ditto
15974     public void GetPathMetricRangeNV (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat* metrics) const {
15975         assert(_GetPathMetricRangeNV !is null, "OpenGL command glGetPathMetricRangeNV was not loaded");
15976         return _GetPathMetricRangeNV (metricQueryMask, firstPathName, numPaths, stride, metrics);
15977     }
15978     /// ditto
15979     public void GetPathSpacingNV (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const(void)* paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat* returnedSpacing) const {
15980         assert(_GetPathSpacingNV !is null, "OpenGL command glGetPathSpacingNV was not loaded");
15981         return _GetPathSpacingNV (pathListMode, numPaths, pathNameType, paths, pathBase, advanceScale, kerningScale, transformType, returnedSpacing);
15982     }
15983     /// ditto
15984     public GLboolean IsPointInFillPathNV (GLuint path, GLuint mask, GLfloat x, GLfloat y) const {
15985         assert(_IsPointInFillPathNV !is null, "OpenGL command glIsPointInFillPathNV was not loaded");
15986         return _IsPointInFillPathNV (path, mask, x, y);
15987     }
15988     /// ditto
15989     public GLboolean IsPointInStrokePathNV (GLuint path, GLfloat x, GLfloat y) const {
15990         assert(_IsPointInStrokePathNV !is null, "OpenGL command glIsPointInStrokePathNV was not loaded");
15991         return _IsPointInStrokePathNV (path, x, y);
15992     }
15993     /// ditto
15994     public GLfloat GetPathLengthNV (GLuint path, GLsizei startSegment, GLsizei numSegments) const {
15995         assert(_GetPathLengthNV !is null, "OpenGL command glGetPathLengthNV was not loaded");
15996         return _GetPathLengthNV (path, startSegment, numSegments);
15997     }
15998     /// ditto
15999     public GLboolean PointAlongPathNV (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat* x, GLfloat* y, GLfloat* tangentX, GLfloat* tangentY) const {
16000         assert(_PointAlongPathNV !is null, "OpenGL command glPointAlongPathNV was not loaded");
16001         return _PointAlongPathNV (path, startSegment, numSegments, distance, x, y, tangentX, tangentY);
16002     }
16003     /// ditto
16004     public void MatrixLoad3x2fNV (GLenum matrixMode, const(GLfloat)* m) const {
16005         assert(_MatrixLoad3x2fNV !is null, "OpenGL command glMatrixLoad3x2fNV was not loaded");
16006         return _MatrixLoad3x2fNV (matrixMode, m);
16007     }
16008     /// ditto
16009     public void MatrixLoad3x3fNV (GLenum matrixMode, const(GLfloat)* m) const {
16010         assert(_MatrixLoad3x3fNV !is null, "OpenGL command glMatrixLoad3x3fNV was not loaded");
16011         return _MatrixLoad3x3fNV (matrixMode, m);
16012     }
16013     /// ditto
16014     public void MatrixLoadTranspose3x3fNV (GLenum matrixMode, const(GLfloat)* m) const {
16015         assert(_MatrixLoadTranspose3x3fNV !is null, "OpenGL command glMatrixLoadTranspose3x3fNV was not loaded");
16016         return _MatrixLoadTranspose3x3fNV (matrixMode, m);
16017     }
16018     /// ditto
16019     public void MatrixMult3x2fNV (GLenum matrixMode, const(GLfloat)* m) const {
16020         assert(_MatrixMult3x2fNV !is null, "OpenGL command glMatrixMult3x2fNV was not loaded");
16021         return _MatrixMult3x2fNV (matrixMode, m);
16022     }
16023     /// ditto
16024     public void MatrixMult3x3fNV (GLenum matrixMode, const(GLfloat)* m) const {
16025         assert(_MatrixMult3x3fNV !is null, "OpenGL command glMatrixMult3x3fNV was not loaded");
16026         return _MatrixMult3x3fNV (matrixMode, m);
16027     }
16028     /// ditto
16029     public void MatrixMultTranspose3x3fNV (GLenum matrixMode, const(GLfloat)* m) const {
16030         assert(_MatrixMultTranspose3x3fNV !is null, "OpenGL command glMatrixMultTranspose3x3fNV was not loaded");
16031         return _MatrixMultTranspose3x3fNV (matrixMode, m);
16032     }
16033     /// ditto
16034     public void StencilThenCoverFillPathNV (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode) const {
16035         assert(_StencilThenCoverFillPathNV !is null, "OpenGL command glStencilThenCoverFillPathNV was not loaded");
16036         return _StencilThenCoverFillPathNV (path, fillMode, mask, coverMode);
16037     }
16038     /// ditto
16039     public void StencilThenCoverStrokePathNV (GLuint path, GLint reference, GLuint mask, GLenum coverMode) const {
16040         assert(_StencilThenCoverStrokePathNV !is null, "OpenGL command glStencilThenCoverStrokePathNV was not loaded");
16041         return _StencilThenCoverStrokePathNV (path, reference, mask, coverMode);
16042     }
16043     /// ditto
16044     public void StencilThenCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const(void)* paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const(GLfloat)* transformValues) const {
16045         assert(_StencilThenCoverFillPathInstancedNV !is null, "OpenGL command glStencilThenCoverFillPathInstancedNV was not loaded");
16046         return _StencilThenCoverFillPathInstancedNV (numPaths, pathNameType, paths, pathBase, fillMode, mask, coverMode, transformType, transformValues);
16047     }
16048     /// ditto
16049     public void StencilThenCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const(void)* paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const(GLfloat)* transformValues) const {
16050         assert(_StencilThenCoverStrokePathInstancedNV !is null, "OpenGL command glStencilThenCoverStrokePathInstancedNV was not loaded");
16051         return _StencilThenCoverStrokePathInstancedNV (numPaths, pathNameType, paths, pathBase, reference, mask, coverMode, transformType, transformValues);
16052     }
16053     /// ditto
16054     public GLenum PathGlyphIndexRangeNV (GLenum fontTarget, const(void)* fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint [2] baseAndCount) const {
16055         assert(_PathGlyphIndexRangeNV !is null, "OpenGL command glPathGlyphIndexRangeNV was not loaded");
16056         return _PathGlyphIndexRangeNV (fontTarget, fontName, fontStyle, pathParameterTemplate, emScale, baseAndCount);
16057     }
16058     /// ditto
16059     public GLenum PathGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, const(void)* fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale) const {
16060         assert(_PathGlyphIndexArrayNV !is null, "OpenGL command glPathGlyphIndexArrayNV was not loaded");
16061         return _PathGlyphIndexArrayNV (firstPathName, fontTarget, fontName, fontStyle, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale);
16062     }
16063     /// ditto
16064     public GLenum PathMemoryGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const(void)* fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale) const {
16065         assert(_PathMemoryGlyphIndexArrayNV !is null, "OpenGL command glPathMemoryGlyphIndexArrayNV was not loaded");
16066         return _PathMemoryGlyphIndexArrayNV (firstPathName, fontTarget, fontSize, fontData, faceIndex, firstGlyphIndex, numGlyphs, pathParameterTemplate, emScale);
16067     }
16068     /// ditto
16069     public void ProgramPathFragmentInputGenNV (GLuint program, GLint location, GLenum genMode, GLint components, const(GLfloat)* coeffs) const {
16070         assert(_ProgramPathFragmentInputGenNV !is null, "OpenGL command glProgramPathFragmentInputGenNV was not loaded");
16071         return _ProgramPathFragmentInputGenNV (program, location, genMode, components, coeffs);
16072     }
16073     /// ditto
16074     public void GetProgramResourcefvNV (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const(GLenum)* props, GLsizei bufSize, GLsizei* length, GLfloat* params) const {
16075         assert(_GetProgramResourcefvNV !is null, "OpenGL command glGetProgramResourcefvNV was not loaded");
16076         return _GetProgramResourcefvNV (program, programInterface, index, propCount, props, bufSize, length, params);
16077     }
16078 
16079     /// Commands for GL_NV_sample_locations
16080     public void FramebufferSampleLocationsfvNV (GLenum target, GLuint start, GLsizei count, const(GLfloat)* v) const {
16081         assert(_FramebufferSampleLocationsfvNV !is null, "OpenGL command glFramebufferSampleLocationsfvNV was not loaded");
16082         return _FramebufferSampleLocationsfvNV (target, start, count, v);
16083     }
16084     /// ditto
16085     public void NamedFramebufferSampleLocationsfvNV (GLuint framebuffer, GLuint start, GLsizei count, const(GLfloat)* v) const {
16086         assert(_NamedFramebufferSampleLocationsfvNV !is null, "OpenGL command glNamedFramebufferSampleLocationsfvNV was not loaded");
16087         return _NamedFramebufferSampleLocationsfvNV (framebuffer, start, count, v);
16088     }
16089     /// ditto
16090     public void ResolveDepthValuesNV () const {
16091         assert(_ResolveDepthValuesNV !is null, "OpenGL command glResolveDepthValuesNV was not loaded");
16092         return _ResolveDepthValuesNV ();
16093     }
16094 
16095     /// Commands for GL_NV_shader_buffer_load
16096     public void MakeBufferResidentNV (GLenum target, GLenum access) const {
16097         assert(_MakeBufferResidentNV !is null, "OpenGL command glMakeBufferResidentNV was not loaded");
16098         return _MakeBufferResidentNV (target, access);
16099     }
16100     /// ditto
16101     public void MakeBufferNonResidentNV (GLenum target) const {
16102         assert(_MakeBufferNonResidentNV !is null, "OpenGL command glMakeBufferNonResidentNV was not loaded");
16103         return _MakeBufferNonResidentNV (target);
16104     }
16105     /// ditto
16106     public GLboolean IsBufferResidentNV (GLenum target) const {
16107         assert(_IsBufferResidentNV !is null, "OpenGL command glIsBufferResidentNV was not loaded");
16108         return _IsBufferResidentNV (target);
16109     }
16110     /// ditto
16111     public void MakeNamedBufferResidentNV (GLuint buffer, GLenum access) const {
16112         assert(_MakeNamedBufferResidentNV !is null, "OpenGL command glMakeNamedBufferResidentNV was not loaded");
16113         return _MakeNamedBufferResidentNV (buffer, access);
16114     }
16115     /// ditto
16116     public void MakeNamedBufferNonResidentNV (GLuint buffer) const {
16117         assert(_MakeNamedBufferNonResidentNV !is null, "OpenGL command glMakeNamedBufferNonResidentNV was not loaded");
16118         return _MakeNamedBufferNonResidentNV (buffer);
16119     }
16120     /// ditto
16121     public GLboolean IsNamedBufferResidentNV (GLuint buffer) const {
16122         assert(_IsNamedBufferResidentNV !is null, "OpenGL command glIsNamedBufferResidentNV was not loaded");
16123         return _IsNamedBufferResidentNV (buffer);
16124     }
16125     /// ditto
16126     public void GetBufferParameterui64vNV (GLenum target, GLenum pname, GLuint64EXT* params) const {
16127         assert(_GetBufferParameterui64vNV !is null, "OpenGL command glGetBufferParameterui64vNV was not loaded");
16128         return _GetBufferParameterui64vNV (target, pname, params);
16129     }
16130     /// ditto
16131     public void GetNamedBufferParameterui64vNV (GLuint buffer, GLenum pname, GLuint64EXT* params) const {
16132         assert(_GetNamedBufferParameterui64vNV !is null, "OpenGL command glGetNamedBufferParameterui64vNV was not loaded");
16133         return _GetNamedBufferParameterui64vNV (buffer, pname, params);
16134     }
16135     /// ditto
16136     public void GetIntegerui64vNV (GLenum value, GLuint64EXT* result) const {
16137         assert(_GetIntegerui64vNV !is null, "OpenGL command glGetIntegerui64vNV was not loaded");
16138         return _GetIntegerui64vNV (value, result);
16139     }
16140     /// ditto
16141     public void Uniformui64NV (GLint location, GLuint64EXT value) const {
16142         assert(_Uniformui64NV !is null, "OpenGL command glUniformui64NV was not loaded");
16143         return _Uniformui64NV (location, value);
16144     }
16145     /// ditto
16146     public void Uniformui64vNV (GLint location, GLsizei count, const(GLuint64EXT)* value) const {
16147         assert(_Uniformui64vNV !is null, "OpenGL command glUniformui64vNV was not loaded");
16148         return _Uniformui64vNV (location, count, value);
16149     }
16150     /// ditto
16151     public void GetUniformui64vNV (GLuint program, GLint location, GLuint64EXT* params) const {
16152         assert(_GetUniformui64vNV !is null, "OpenGL command glGetUniformui64vNV was not loaded");
16153         return _GetUniformui64vNV (program, location, params);
16154     }
16155     /// ditto
16156     public void ProgramUniformui64NV (GLuint program, GLint location, GLuint64EXT value) const {
16157         assert(_ProgramUniformui64NV !is null, "OpenGL command glProgramUniformui64NV was not loaded");
16158         return _ProgramUniformui64NV (program, location, value);
16159     }
16160     /// ditto
16161     public void ProgramUniformui64vNV (GLuint program, GLint location, GLsizei count, const(GLuint64EXT)* value) const {
16162         assert(_ProgramUniformui64vNV !is null, "OpenGL command glProgramUniformui64vNV was not loaded");
16163         return _ProgramUniformui64vNV (program, location, count, value);
16164     }
16165 
16166     /// Commands for GL_NV_texture_barrier
16167     public void TextureBarrierNV () const {
16168         assert(_TextureBarrierNV !is null, "OpenGL command glTextureBarrierNV was not loaded");
16169         return _TextureBarrierNV ();
16170     }
16171 
16172     /// Commands for GL_NV_vertex_attrib_integer_64bit
16173     public void VertexAttribL1i64NV (GLuint index, GLint64EXT x) const {
16174         assert(_VertexAttribL1i64NV !is null, "OpenGL command glVertexAttribL1i64NV was not loaded");
16175         return _VertexAttribL1i64NV (index, x);
16176     }
16177     /// ditto
16178     public void VertexAttribL2i64NV (GLuint index, GLint64EXT x, GLint64EXT y) const {
16179         assert(_VertexAttribL2i64NV !is null, "OpenGL command glVertexAttribL2i64NV was not loaded");
16180         return _VertexAttribL2i64NV (index, x, y);
16181     }
16182     /// ditto
16183     public void VertexAttribL3i64NV (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z) const {
16184         assert(_VertexAttribL3i64NV !is null, "OpenGL command glVertexAttribL3i64NV was not loaded");
16185         return _VertexAttribL3i64NV (index, x, y, z);
16186     }
16187     /// ditto
16188     public void VertexAttribL4i64NV (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) const {
16189         assert(_VertexAttribL4i64NV !is null, "OpenGL command glVertexAttribL4i64NV was not loaded");
16190         return _VertexAttribL4i64NV (index, x, y, z, w);
16191     }
16192     /// ditto
16193     public void VertexAttribL1i64vNV (GLuint index, const(GLint64EXT)* v) const {
16194         assert(_VertexAttribL1i64vNV !is null, "OpenGL command glVertexAttribL1i64vNV was not loaded");
16195         return _VertexAttribL1i64vNV (index, v);
16196     }
16197     /// ditto
16198     public void VertexAttribL2i64vNV (GLuint index, const(GLint64EXT)* v) const {
16199         assert(_VertexAttribL2i64vNV !is null, "OpenGL command glVertexAttribL2i64vNV was not loaded");
16200         return _VertexAttribL2i64vNV (index, v);
16201     }
16202     /// ditto
16203     public void VertexAttribL3i64vNV (GLuint index, const(GLint64EXT)* v) const {
16204         assert(_VertexAttribL3i64vNV !is null, "OpenGL command glVertexAttribL3i64vNV was not loaded");
16205         return _VertexAttribL3i64vNV (index, v);
16206     }
16207     /// ditto
16208     public void VertexAttribL4i64vNV (GLuint index, const(GLint64EXT)* v) const {
16209         assert(_VertexAttribL4i64vNV !is null, "OpenGL command glVertexAttribL4i64vNV was not loaded");
16210         return _VertexAttribL4i64vNV (index, v);
16211     }
16212     /// ditto
16213     public void VertexAttribL1ui64NV (GLuint index, GLuint64EXT x) const {
16214         assert(_VertexAttribL1ui64NV !is null, "OpenGL command glVertexAttribL1ui64NV was not loaded");
16215         return _VertexAttribL1ui64NV (index, x);
16216     }
16217     /// ditto
16218     public void VertexAttribL2ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y) const {
16219         assert(_VertexAttribL2ui64NV !is null, "OpenGL command glVertexAttribL2ui64NV was not loaded");
16220         return _VertexAttribL2ui64NV (index, x, y);
16221     }
16222     /// ditto
16223     public void VertexAttribL3ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) const {
16224         assert(_VertexAttribL3ui64NV !is null, "OpenGL command glVertexAttribL3ui64NV was not loaded");
16225         return _VertexAttribL3ui64NV (index, x, y, z);
16226     }
16227     /// ditto
16228     public void VertexAttribL4ui64NV (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) const {
16229         assert(_VertexAttribL4ui64NV !is null, "OpenGL command glVertexAttribL4ui64NV was not loaded");
16230         return _VertexAttribL4ui64NV (index, x, y, z, w);
16231     }
16232     /// ditto
16233     public void VertexAttribL1ui64vNV (GLuint index, const(GLuint64EXT)* v) const {
16234         assert(_VertexAttribL1ui64vNV !is null, "OpenGL command glVertexAttribL1ui64vNV was not loaded");
16235         return _VertexAttribL1ui64vNV (index, v);
16236     }
16237     /// ditto
16238     public void VertexAttribL2ui64vNV (GLuint index, const(GLuint64EXT)* v) const {
16239         assert(_VertexAttribL2ui64vNV !is null, "OpenGL command glVertexAttribL2ui64vNV was not loaded");
16240         return _VertexAttribL2ui64vNV (index, v);
16241     }
16242     /// ditto
16243     public void VertexAttribL3ui64vNV (GLuint index, const(GLuint64EXT)* v) const {
16244         assert(_VertexAttribL3ui64vNV !is null, "OpenGL command glVertexAttribL3ui64vNV was not loaded");
16245         return _VertexAttribL3ui64vNV (index, v);
16246     }
16247     /// ditto
16248     public void VertexAttribL4ui64vNV (GLuint index, const(GLuint64EXT)* v) const {
16249         assert(_VertexAttribL4ui64vNV !is null, "OpenGL command glVertexAttribL4ui64vNV was not loaded");
16250         return _VertexAttribL4ui64vNV (index, v);
16251     }
16252     /// ditto
16253     public void GetVertexAttribLi64vNV (GLuint index, GLenum pname, GLint64EXT* params) const {
16254         assert(_GetVertexAttribLi64vNV !is null, "OpenGL command glGetVertexAttribLi64vNV was not loaded");
16255         return _GetVertexAttribLi64vNV (index, pname, params);
16256     }
16257     /// ditto
16258     public void GetVertexAttribLui64vNV (GLuint index, GLenum pname, GLuint64EXT* params) const {
16259         assert(_GetVertexAttribLui64vNV !is null, "OpenGL command glGetVertexAttribLui64vNV was not loaded");
16260         return _GetVertexAttribLui64vNV (index, pname, params);
16261     }
16262     /// ditto
16263     public void VertexAttribLFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride) const {
16264         assert(_VertexAttribLFormatNV !is null, "OpenGL command glVertexAttribLFormatNV was not loaded");
16265         return _VertexAttribLFormatNV (index, size, type, stride);
16266     }
16267 
16268     /// Commands for GL_NV_vertex_buffer_unified_memory
16269     public void BufferAddressRangeNV (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length) const {
16270         assert(_BufferAddressRangeNV !is null, "OpenGL command glBufferAddressRangeNV was not loaded");
16271         return _BufferAddressRangeNV (pname, index, address, length);
16272     }
16273     /// ditto
16274     public void VertexFormatNV (GLint size, GLenum type, GLsizei stride) const {
16275         assert(_VertexFormatNV !is null, "OpenGL command glVertexFormatNV was not loaded");
16276         return _VertexFormatNV (size, type, stride);
16277     }
16278     /// ditto
16279     public void NormalFormatNV (GLenum type, GLsizei stride) const {
16280         assert(_NormalFormatNV !is null, "OpenGL command glNormalFormatNV was not loaded");
16281         return _NormalFormatNV (type, stride);
16282     }
16283     /// ditto
16284     public void ColorFormatNV (GLint size, GLenum type, GLsizei stride) const {
16285         assert(_ColorFormatNV !is null, "OpenGL command glColorFormatNV was not loaded");
16286         return _ColorFormatNV (size, type, stride);
16287     }
16288     /// ditto
16289     public void IndexFormatNV (GLenum type, GLsizei stride) const {
16290         assert(_IndexFormatNV !is null, "OpenGL command glIndexFormatNV was not loaded");
16291         return _IndexFormatNV (type, stride);
16292     }
16293     /// ditto
16294     public void TexCoordFormatNV (GLint size, GLenum type, GLsizei stride) const {
16295         assert(_TexCoordFormatNV !is null, "OpenGL command glTexCoordFormatNV was not loaded");
16296         return _TexCoordFormatNV (size, type, stride);
16297     }
16298     /// ditto
16299     public void EdgeFlagFormatNV (GLsizei stride) const {
16300         assert(_EdgeFlagFormatNV !is null, "OpenGL command glEdgeFlagFormatNV was not loaded");
16301         return _EdgeFlagFormatNV (stride);
16302     }
16303     /// ditto
16304     public void SecondaryColorFormatNV (GLint size, GLenum type, GLsizei stride) const {
16305         assert(_SecondaryColorFormatNV !is null, "OpenGL command glSecondaryColorFormatNV was not loaded");
16306         return _SecondaryColorFormatNV (size, type, stride);
16307     }
16308     /// ditto
16309     public void FogCoordFormatNV (GLenum type, GLsizei stride) const {
16310         assert(_FogCoordFormatNV !is null, "OpenGL command glFogCoordFormatNV was not loaded");
16311         return _FogCoordFormatNV (type, stride);
16312     }
16313     /// ditto
16314     public void VertexAttribFormatNV (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride) const {
16315         assert(_VertexAttribFormatNV !is null, "OpenGL command glVertexAttribFormatNV was not loaded");
16316         return _VertexAttribFormatNV (index, size, type, normalized, stride);
16317     }
16318     /// ditto
16319     public void VertexAttribIFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride) const {
16320         assert(_VertexAttribIFormatNV !is null, "OpenGL command glVertexAttribIFormatNV was not loaded");
16321         return _VertexAttribIFormatNV (index, size, type, stride);
16322     }
16323     /// ditto
16324     public void GetIntegerui64i_vNV (GLenum value, GLuint index, GLuint64EXT* result) const {
16325         assert(_GetIntegerui64i_vNV !is null, "OpenGL command glGetIntegerui64i_vNV was not loaded");
16326         return _GetIntegerui64i_vNV (value, index, result);
16327     }
16328 
16329     /// Commands for GL_NV_viewport_swizzle
16330     public void ViewportSwizzleNV (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew) const {
16331         assert(_ViewportSwizzleNV !is null, "OpenGL command glViewportSwizzleNV was not loaded");
16332         return _ViewportSwizzleNV (index, swizzlex, swizzley, swizzlez, swizzlew);
16333     }
16334 
16335     /// Commands for GL_OVR_multiview
16336     public void FramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews) const {
16337         assert(_FramebufferTextureMultiviewOVR !is null, "OpenGL command glFramebufferTextureMultiviewOVR was not loaded");
16338         return _FramebufferTextureMultiviewOVR (target, attachment, texture, level, baseViewIndex, numViews);
16339     }
16340 
16341     // GL_VERSION_1_0
16342     private PFN_glCullFace _CullFace;
16343     private PFN_glFrontFace _FrontFace;
16344     private PFN_glHint _Hint;
16345     private PFN_glLineWidth _LineWidth;
16346     private PFN_glPointSize _PointSize;
16347     private PFN_glPolygonMode _PolygonMode;
16348     private PFN_glScissor _Scissor;
16349     private PFN_glTexParameterf _TexParameterf;
16350     private PFN_glTexParameterfv _TexParameterfv;
16351     private PFN_glTexParameteri _TexParameteri;
16352     private PFN_glTexParameteriv _TexParameteriv;
16353     private PFN_glTexImage1D _TexImage1D;
16354     private PFN_glTexImage2D _TexImage2D;
16355     private PFN_glDrawBuffer _DrawBuffer;
16356     private PFN_glClear _Clear;
16357     private PFN_glClearColor _ClearColor;
16358     private PFN_glClearStencil _ClearStencil;
16359     private PFN_glClearDepth _ClearDepth;
16360     private PFN_glStencilMask _StencilMask;
16361     private PFN_glColorMask _ColorMask;
16362     private PFN_glDepthMask _DepthMask;
16363     private PFN_glDisable _Disable;
16364     private PFN_glEnable _Enable;
16365     private PFN_glFinish _Finish;
16366     private PFN_glFlush _Flush;
16367     private PFN_glBlendFunc _BlendFunc;
16368     private PFN_glLogicOp _LogicOp;
16369     private PFN_glStencilFunc _StencilFunc;
16370     private PFN_glStencilOp _StencilOp;
16371     private PFN_glDepthFunc _DepthFunc;
16372     private PFN_glPixelStoref _PixelStoref;
16373     private PFN_glPixelStorei _PixelStorei;
16374     private PFN_glReadBuffer _ReadBuffer;
16375     private PFN_glReadPixels _ReadPixels;
16376     private PFN_glGetBooleanv _GetBooleanv;
16377     private PFN_glGetDoublev _GetDoublev;
16378     private PFN_glGetError _GetError;
16379     private PFN_glGetFloatv _GetFloatv;
16380     private PFN_glGetIntegerv _GetIntegerv;
16381     private PFN_glGetString _GetString;
16382     private PFN_glGetTexImage _GetTexImage;
16383     private PFN_glGetTexParameterfv _GetTexParameterfv;
16384     private PFN_glGetTexParameteriv _GetTexParameteriv;
16385     private PFN_glGetTexLevelParameterfv _GetTexLevelParameterfv;
16386     private PFN_glGetTexLevelParameteriv _GetTexLevelParameteriv;
16387     private PFN_glIsEnabled _IsEnabled;
16388     private PFN_glDepthRange _DepthRange;
16389     private PFN_glViewport _Viewport;
16390 
16391     // GL_VERSION_1_1
16392     private PFN_glDrawArrays _DrawArrays;
16393     private PFN_glDrawElements _DrawElements;
16394     private PFN_glGetPointerv _GetPointerv;
16395     private PFN_glPolygonOffset _PolygonOffset;
16396     private PFN_glCopyTexImage1D _CopyTexImage1D;
16397     private PFN_glCopyTexImage2D _CopyTexImage2D;
16398     private PFN_glCopyTexSubImage1D _CopyTexSubImage1D;
16399     private PFN_glCopyTexSubImage2D _CopyTexSubImage2D;
16400     private PFN_glTexSubImage1D _TexSubImage1D;
16401     private PFN_glTexSubImage2D _TexSubImage2D;
16402     private PFN_glBindTexture _BindTexture;
16403     private PFN_glDeleteTextures _DeleteTextures;
16404     private PFN_glGenTextures _GenTextures;
16405     private PFN_glIsTexture _IsTexture;
16406 
16407     // GL_VERSION_1_2
16408     private PFN_glDrawRangeElements _DrawRangeElements;
16409     private PFN_glTexImage3D _TexImage3D;
16410     private PFN_glTexSubImage3D _TexSubImage3D;
16411     private PFN_glCopyTexSubImage3D _CopyTexSubImage3D;
16412 
16413     // GL_VERSION_1_3
16414     private PFN_glActiveTexture _ActiveTexture;
16415     private PFN_glSampleCoverage _SampleCoverage;
16416     private PFN_glCompressedTexImage3D _CompressedTexImage3D;
16417     private PFN_glCompressedTexImage2D _CompressedTexImage2D;
16418     private PFN_glCompressedTexImage1D _CompressedTexImage1D;
16419     private PFN_glCompressedTexSubImage3D _CompressedTexSubImage3D;
16420     private PFN_glCompressedTexSubImage2D _CompressedTexSubImage2D;
16421     private PFN_glCompressedTexSubImage1D _CompressedTexSubImage1D;
16422     private PFN_glGetCompressedTexImage _GetCompressedTexImage;
16423 
16424     // GL_VERSION_1_4
16425     private PFN_glBlendFuncSeparate _BlendFuncSeparate;
16426     private PFN_glMultiDrawArrays _MultiDrawArrays;
16427     private PFN_glMultiDrawElements _MultiDrawElements;
16428     private PFN_glPointParameterf _PointParameterf;
16429     private PFN_glPointParameterfv _PointParameterfv;
16430     private PFN_glPointParameteri _PointParameteri;
16431     private PFN_glPointParameteriv _PointParameteriv;
16432     private PFN_glBlendColor _BlendColor;
16433     private PFN_glBlendEquation _BlendEquation;
16434 
16435     // GL_VERSION_1_5
16436     private PFN_glGenQueries _GenQueries;
16437     private PFN_glDeleteQueries _DeleteQueries;
16438     private PFN_glIsQuery _IsQuery;
16439     private PFN_glBeginQuery _BeginQuery;
16440     private PFN_glEndQuery _EndQuery;
16441     private PFN_glGetQueryiv _GetQueryiv;
16442     private PFN_glGetQueryObjectiv _GetQueryObjectiv;
16443     private PFN_glGetQueryObjectuiv _GetQueryObjectuiv;
16444     private PFN_glBindBuffer _BindBuffer;
16445     private PFN_glDeleteBuffers _DeleteBuffers;
16446     private PFN_glGenBuffers _GenBuffers;
16447     private PFN_glIsBuffer _IsBuffer;
16448     private PFN_glBufferData _BufferData;
16449     private PFN_glBufferSubData _BufferSubData;
16450     private PFN_glGetBufferSubData _GetBufferSubData;
16451     private PFN_glMapBuffer _MapBuffer;
16452     private PFN_glUnmapBuffer _UnmapBuffer;
16453     private PFN_glGetBufferParameteriv _GetBufferParameteriv;
16454     private PFN_glGetBufferPointerv _GetBufferPointerv;
16455 
16456     // GL_VERSION_2_0
16457     private PFN_glBlendEquationSeparate _BlendEquationSeparate;
16458     private PFN_glDrawBuffers _DrawBuffers;
16459     private PFN_glStencilOpSeparate _StencilOpSeparate;
16460     private PFN_glStencilFuncSeparate _StencilFuncSeparate;
16461     private PFN_glStencilMaskSeparate _StencilMaskSeparate;
16462     private PFN_glAttachShader _AttachShader;
16463     private PFN_glBindAttribLocation _BindAttribLocation;
16464     private PFN_glCompileShader _CompileShader;
16465     private PFN_glCreateProgram _CreateProgram;
16466     private PFN_glCreateShader _CreateShader;
16467     private PFN_glDeleteProgram _DeleteProgram;
16468     private PFN_glDeleteShader _DeleteShader;
16469     private PFN_glDetachShader _DetachShader;
16470     private PFN_glDisableVertexAttribArray _DisableVertexAttribArray;
16471     private PFN_glEnableVertexAttribArray _EnableVertexAttribArray;
16472     private PFN_glGetActiveAttrib _GetActiveAttrib;
16473     private PFN_glGetActiveUniform _GetActiveUniform;
16474     private PFN_glGetAttachedShaders _GetAttachedShaders;
16475     private PFN_glGetAttribLocation _GetAttribLocation;
16476     private PFN_glGetProgramiv _GetProgramiv;
16477     private PFN_glGetProgramInfoLog _GetProgramInfoLog;
16478     private PFN_glGetShaderiv _GetShaderiv;
16479     private PFN_glGetShaderInfoLog _GetShaderInfoLog;
16480     private PFN_glGetShaderSource _GetShaderSource;
16481     private PFN_glGetUniformLocation _GetUniformLocation;
16482     private PFN_glGetUniformfv _GetUniformfv;
16483     private PFN_glGetUniformiv _GetUniformiv;
16484     private PFN_glGetVertexAttribdv _GetVertexAttribdv;
16485     private PFN_glGetVertexAttribfv _GetVertexAttribfv;
16486     private PFN_glGetVertexAttribiv _GetVertexAttribiv;
16487     private PFN_glGetVertexAttribPointerv _GetVertexAttribPointerv;
16488     private PFN_glIsProgram _IsProgram;
16489     private PFN_glIsShader _IsShader;
16490     private PFN_glLinkProgram _LinkProgram;
16491     private PFN_glShaderSource _ShaderSource;
16492     private PFN_glUseProgram _UseProgram;
16493     private PFN_glUniform1f _Uniform1f;
16494     private PFN_glUniform2f _Uniform2f;
16495     private PFN_glUniform3f _Uniform3f;
16496     private PFN_glUniform4f _Uniform4f;
16497     private PFN_glUniform1i _Uniform1i;
16498     private PFN_glUniform2i _Uniform2i;
16499     private PFN_glUniform3i _Uniform3i;
16500     private PFN_glUniform4i _Uniform4i;
16501     private PFN_glUniform1fv _Uniform1fv;
16502     private PFN_glUniform2fv _Uniform2fv;
16503     private PFN_glUniform3fv _Uniform3fv;
16504     private PFN_glUniform4fv _Uniform4fv;
16505     private PFN_glUniform1iv _Uniform1iv;
16506     private PFN_glUniform2iv _Uniform2iv;
16507     private PFN_glUniform3iv _Uniform3iv;
16508     private PFN_glUniform4iv _Uniform4iv;
16509     private PFN_glUniformMatrix2fv _UniformMatrix2fv;
16510     private PFN_glUniformMatrix3fv _UniformMatrix3fv;
16511     private PFN_glUniformMatrix4fv _UniformMatrix4fv;
16512     private PFN_glValidateProgram _ValidateProgram;
16513     private PFN_glVertexAttrib1d _VertexAttrib1d;
16514     private PFN_glVertexAttrib1dv _VertexAttrib1dv;
16515     private PFN_glVertexAttrib1f _VertexAttrib1f;
16516     private PFN_glVertexAttrib1fv _VertexAttrib1fv;
16517     private PFN_glVertexAttrib1s _VertexAttrib1s;
16518     private PFN_glVertexAttrib1sv _VertexAttrib1sv;
16519     private PFN_glVertexAttrib2d _VertexAttrib2d;
16520     private PFN_glVertexAttrib2dv _VertexAttrib2dv;
16521     private PFN_glVertexAttrib2f _VertexAttrib2f;
16522     private PFN_glVertexAttrib2fv _VertexAttrib2fv;
16523     private PFN_glVertexAttrib2s _VertexAttrib2s;
16524     private PFN_glVertexAttrib2sv _VertexAttrib2sv;
16525     private PFN_glVertexAttrib3d _VertexAttrib3d;
16526     private PFN_glVertexAttrib3dv _VertexAttrib3dv;
16527     private PFN_glVertexAttrib3f _VertexAttrib3f;
16528     private PFN_glVertexAttrib3fv _VertexAttrib3fv;
16529     private PFN_glVertexAttrib3s _VertexAttrib3s;
16530     private PFN_glVertexAttrib3sv _VertexAttrib3sv;
16531     private PFN_glVertexAttrib4Nbv _VertexAttrib4Nbv;
16532     private PFN_glVertexAttrib4Niv _VertexAttrib4Niv;
16533     private PFN_glVertexAttrib4Nsv _VertexAttrib4Nsv;
16534     private PFN_glVertexAttrib4Nub _VertexAttrib4Nub;
16535     private PFN_glVertexAttrib4Nubv _VertexAttrib4Nubv;
16536     private PFN_glVertexAttrib4Nuiv _VertexAttrib4Nuiv;
16537     private PFN_glVertexAttrib4Nusv _VertexAttrib4Nusv;
16538     private PFN_glVertexAttrib4bv _VertexAttrib4bv;
16539     private PFN_glVertexAttrib4d _VertexAttrib4d;
16540     private PFN_glVertexAttrib4dv _VertexAttrib4dv;
16541     private PFN_glVertexAttrib4f _VertexAttrib4f;
16542     private PFN_glVertexAttrib4fv _VertexAttrib4fv;
16543     private PFN_glVertexAttrib4iv _VertexAttrib4iv;
16544     private PFN_glVertexAttrib4s _VertexAttrib4s;
16545     private PFN_glVertexAttrib4sv _VertexAttrib4sv;
16546     private PFN_glVertexAttrib4ubv _VertexAttrib4ubv;
16547     private PFN_glVertexAttrib4uiv _VertexAttrib4uiv;
16548     private PFN_glVertexAttrib4usv _VertexAttrib4usv;
16549     private PFN_glVertexAttribPointer _VertexAttribPointer;
16550 
16551     // GL_VERSION_2_1
16552     private PFN_glUniformMatrix2x3fv _UniformMatrix2x3fv;
16553     private PFN_glUniformMatrix3x2fv _UniformMatrix3x2fv;
16554     private PFN_glUniformMatrix2x4fv _UniformMatrix2x4fv;
16555     private PFN_glUniformMatrix4x2fv _UniformMatrix4x2fv;
16556     private PFN_glUniformMatrix3x4fv _UniformMatrix3x4fv;
16557     private PFN_glUniformMatrix4x3fv _UniformMatrix4x3fv;
16558 
16559     // GL_VERSION_3_0
16560     private PFN_glColorMaski _ColorMaski;
16561     private PFN_glGetBooleani_v _GetBooleani_v;
16562     private PFN_glGetIntegeri_v _GetIntegeri_v;
16563     private PFN_glEnablei _Enablei;
16564     private PFN_glDisablei _Disablei;
16565     private PFN_glIsEnabledi _IsEnabledi;
16566     private PFN_glBeginTransformFeedback _BeginTransformFeedback;
16567     private PFN_glEndTransformFeedback _EndTransformFeedback;
16568     private PFN_glBindBufferRange _BindBufferRange;
16569     private PFN_glBindBufferBase _BindBufferBase;
16570     private PFN_glTransformFeedbackVaryings _TransformFeedbackVaryings;
16571     private PFN_glGetTransformFeedbackVarying _GetTransformFeedbackVarying;
16572     private PFN_glClampColor _ClampColor;
16573     private PFN_glBeginConditionalRender _BeginConditionalRender;
16574     private PFN_glEndConditionalRender _EndConditionalRender;
16575     private PFN_glVertexAttribIPointer _VertexAttribIPointer;
16576     private PFN_glGetVertexAttribIiv _GetVertexAttribIiv;
16577     private PFN_glGetVertexAttribIuiv _GetVertexAttribIuiv;
16578     private PFN_glVertexAttribI1i _VertexAttribI1i;
16579     private PFN_glVertexAttribI2i _VertexAttribI2i;
16580     private PFN_glVertexAttribI3i _VertexAttribI3i;
16581     private PFN_glVertexAttribI4i _VertexAttribI4i;
16582     private PFN_glVertexAttribI1ui _VertexAttribI1ui;
16583     private PFN_glVertexAttribI2ui _VertexAttribI2ui;
16584     private PFN_glVertexAttribI3ui _VertexAttribI3ui;
16585     private PFN_glVertexAttribI4ui _VertexAttribI4ui;
16586     private PFN_glVertexAttribI1iv _VertexAttribI1iv;
16587     private PFN_glVertexAttribI2iv _VertexAttribI2iv;
16588     private PFN_glVertexAttribI3iv _VertexAttribI3iv;
16589     private PFN_glVertexAttribI4iv _VertexAttribI4iv;
16590     private PFN_glVertexAttribI1uiv _VertexAttribI1uiv;
16591     private PFN_glVertexAttribI2uiv _VertexAttribI2uiv;
16592     private PFN_glVertexAttribI3uiv _VertexAttribI3uiv;
16593     private PFN_glVertexAttribI4uiv _VertexAttribI4uiv;
16594     private PFN_glVertexAttribI4bv _VertexAttribI4bv;
16595     private PFN_glVertexAttribI4sv _VertexAttribI4sv;
16596     private PFN_glVertexAttribI4ubv _VertexAttribI4ubv;
16597     private PFN_glVertexAttribI4usv _VertexAttribI4usv;
16598     private PFN_glGetUniformuiv _GetUniformuiv;
16599     private PFN_glBindFragDataLocation _BindFragDataLocation;
16600     private PFN_glGetFragDataLocation _GetFragDataLocation;
16601     private PFN_glUniform1ui _Uniform1ui;
16602     private PFN_glUniform2ui _Uniform2ui;
16603     private PFN_glUniform3ui _Uniform3ui;
16604     private PFN_glUniform4ui _Uniform4ui;
16605     private PFN_glUniform1uiv _Uniform1uiv;
16606     private PFN_glUniform2uiv _Uniform2uiv;
16607     private PFN_glUniform3uiv _Uniform3uiv;
16608     private PFN_glUniform4uiv _Uniform4uiv;
16609     private PFN_glTexParameterIiv _TexParameterIiv;
16610     private PFN_glTexParameterIuiv _TexParameterIuiv;
16611     private PFN_glGetTexParameterIiv _GetTexParameterIiv;
16612     private PFN_glGetTexParameterIuiv _GetTexParameterIuiv;
16613     private PFN_glClearBufferiv _ClearBufferiv;
16614     private PFN_glClearBufferuiv _ClearBufferuiv;
16615     private PFN_glClearBufferfv _ClearBufferfv;
16616     private PFN_glClearBufferfi _ClearBufferfi;
16617     private PFN_glGetStringi _GetStringi;
16618     private PFN_glIsRenderbuffer _IsRenderbuffer;
16619     private PFN_glBindRenderbuffer _BindRenderbuffer;
16620     private PFN_glDeleteRenderbuffers _DeleteRenderbuffers;
16621     private PFN_glGenRenderbuffers _GenRenderbuffers;
16622     private PFN_glRenderbufferStorage _RenderbufferStorage;
16623     private PFN_glGetRenderbufferParameteriv _GetRenderbufferParameteriv;
16624     private PFN_glIsFramebuffer _IsFramebuffer;
16625     private PFN_glBindFramebuffer _BindFramebuffer;
16626     private PFN_glDeleteFramebuffers _DeleteFramebuffers;
16627     private PFN_glGenFramebuffers _GenFramebuffers;
16628     private PFN_glCheckFramebufferStatus _CheckFramebufferStatus;
16629     private PFN_glFramebufferTexture1D _FramebufferTexture1D;
16630     private PFN_glFramebufferTexture2D _FramebufferTexture2D;
16631     private PFN_glFramebufferTexture3D _FramebufferTexture3D;
16632     private PFN_glFramebufferRenderbuffer _FramebufferRenderbuffer;
16633     private PFN_glGetFramebufferAttachmentParameteriv _GetFramebufferAttachmentParameteriv;
16634     private PFN_glGenerateMipmap _GenerateMipmap;
16635     private PFN_glBlitFramebuffer _BlitFramebuffer;
16636     private PFN_glRenderbufferStorageMultisample _RenderbufferStorageMultisample;
16637     private PFN_glFramebufferTextureLayer _FramebufferTextureLayer;
16638     private PFN_glMapBufferRange _MapBufferRange;
16639     private PFN_glFlushMappedBufferRange _FlushMappedBufferRange;
16640     private PFN_glBindVertexArray _BindVertexArray;
16641     private PFN_glDeleteVertexArrays _DeleteVertexArrays;
16642     private PFN_glGenVertexArrays _GenVertexArrays;
16643     private PFN_glIsVertexArray _IsVertexArray;
16644 
16645     // GL_VERSION_3_1
16646     private PFN_glDrawArraysInstanced _DrawArraysInstanced;
16647     private PFN_glDrawElementsInstanced _DrawElementsInstanced;
16648     private PFN_glTexBuffer _TexBuffer;
16649     private PFN_glPrimitiveRestartIndex _PrimitiveRestartIndex;
16650     private PFN_glCopyBufferSubData _CopyBufferSubData;
16651     private PFN_glGetUniformIndices _GetUniformIndices;
16652     private PFN_glGetActiveUniformsiv _GetActiveUniformsiv;
16653     private PFN_glGetActiveUniformName _GetActiveUniformName;
16654     private PFN_glGetUniformBlockIndex _GetUniformBlockIndex;
16655     private PFN_glGetActiveUniformBlockiv _GetActiveUniformBlockiv;
16656     private PFN_glGetActiveUniformBlockName _GetActiveUniformBlockName;
16657     private PFN_glUniformBlockBinding _UniformBlockBinding;
16658 
16659     // GL_VERSION_3_2
16660     private PFN_glDrawElementsBaseVertex _DrawElementsBaseVertex;
16661     private PFN_glDrawRangeElementsBaseVertex _DrawRangeElementsBaseVertex;
16662     private PFN_glDrawElementsInstancedBaseVertex _DrawElementsInstancedBaseVertex;
16663     private PFN_glMultiDrawElementsBaseVertex _MultiDrawElementsBaseVertex;
16664     private PFN_glProvokingVertex _ProvokingVertex;
16665     private PFN_glFenceSync _FenceSync;
16666     private PFN_glIsSync _IsSync;
16667     private PFN_glDeleteSync _DeleteSync;
16668     private PFN_glClientWaitSync _ClientWaitSync;
16669     private PFN_glWaitSync _WaitSync;
16670     private PFN_glGetInteger64v _GetInteger64v;
16671     private PFN_glGetSynciv _GetSynciv;
16672     private PFN_glGetInteger64i_v _GetInteger64i_v;
16673     private PFN_glGetBufferParameteri64v _GetBufferParameteri64v;
16674     private PFN_glFramebufferTexture _FramebufferTexture;
16675     private PFN_glTexImage2DMultisample _TexImage2DMultisample;
16676     private PFN_glTexImage3DMultisample _TexImage3DMultisample;
16677     private PFN_glGetMultisamplefv _GetMultisamplefv;
16678     private PFN_glSampleMaski _SampleMaski;
16679 
16680     // GL_VERSION_3_3
16681     private PFN_glBindFragDataLocationIndexed _BindFragDataLocationIndexed;
16682     private PFN_glGetFragDataIndex _GetFragDataIndex;
16683     private PFN_glGenSamplers _GenSamplers;
16684     private PFN_glDeleteSamplers _DeleteSamplers;
16685     private PFN_glIsSampler _IsSampler;
16686     private PFN_glBindSampler _BindSampler;
16687     private PFN_glSamplerParameteri _SamplerParameteri;
16688     private PFN_glSamplerParameteriv _SamplerParameteriv;
16689     private PFN_glSamplerParameterf _SamplerParameterf;
16690     private PFN_glSamplerParameterfv _SamplerParameterfv;
16691     private PFN_glSamplerParameterIiv _SamplerParameterIiv;
16692     private PFN_glSamplerParameterIuiv _SamplerParameterIuiv;
16693     private PFN_glGetSamplerParameteriv _GetSamplerParameteriv;
16694     private PFN_glGetSamplerParameterIiv _GetSamplerParameterIiv;
16695     private PFN_glGetSamplerParameterfv _GetSamplerParameterfv;
16696     private PFN_glGetSamplerParameterIuiv _GetSamplerParameterIuiv;
16697     private PFN_glQueryCounter _QueryCounter;
16698     private PFN_glGetQueryObjecti64v _GetQueryObjecti64v;
16699     private PFN_glGetQueryObjectui64v _GetQueryObjectui64v;
16700     private PFN_glVertexAttribDivisor _VertexAttribDivisor;
16701     private PFN_glVertexAttribP1ui _VertexAttribP1ui;
16702     private PFN_glVertexAttribP1uiv _VertexAttribP1uiv;
16703     private PFN_glVertexAttribP2ui _VertexAttribP2ui;
16704     private PFN_glVertexAttribP2uiv _VertexAttribP2uiv;
16705     private PFN_glVertexAttribP3ui _VertexAttribP3ui;
16706     private PFN_glVertexAttribP3uiv _VertexAttribP3uiv;
16707     private PFN_glVertexAttribP4ui _VertexAttribP4ui;
16708     private PFN_glVertexAttribP4uiv _VertexAttribP4uiv;
16709 
16710     // GL_VERSION_4_0
16711     private PFN_glMinSampleShading _MinSampleShading;
16712     private PFN_glBlendEquationi _BlendEquationi;
16713     private PFN_glBlendEquationSeparatei _BlendEquationSeparatei;
16714     private PFN_glBlendFunci _BlendFunci;
16715     private PFN_glBlendFuncSeparatei _BlendFuncSeparatei;
16716     private PFN_glDrawArraysIndirect _DrawArraysIndirect;
16717     private PFN_glDrawElementsIndirect _DrawElementsIndirect;
16718     private PFN_glUniform1d _Uniform1d;
16719     private PFN_glUniform2d _Uniform2d;
16720     private PFN_glUniform3d _Uniform3d;
16721     private PFN_glUniform4d _Uniform4d;
16722     private PFN_glUniform1dv _Uniform1dv;
16723     private PFN_glUniform2dv _Uniform2dv;
16724     private PFN_glUniform3dv _Uniform3dv;
16725     private PFN_glUniform4dv _Uniform4dv;
16726     private PFN_glUniformMatrix2dv _UniformMatrix2dv;
16727     private PFN_glUniformMatrix3dv _UniformMatrix3dv;
16728     private PFN_glUniformMatrix4dv _UniformMatrix4dv;
16729     private PFN_glUniformMatrix2x3dv _UniformMatrix2x3dv;
16730     private PFN_glUniformMatrix2x4dv _UniformMatrix2x4dv;
16731     private PFN_glUniformMatrix3x2dv _UniformMatrix3x2dv;
16732     private PFN_glUniformMatrix3x4dv _UniformMatrix3x4dv;
16733     private PFN_glUniformMatrix4x2dv _UniformMatrix4x2dv;
16734     private PFN_glUniformMatrix4x3dv _UniformMatrix4x3dv;
16735     private PFN_glGetUniformdv _GetUniformdv;
16736     private PFN_glGetSubroutineUniformLocation _GetSubroutineUniformLocation;
16737     private PFN_glGetSubroutineIndex _GetSubroutineIndex;
16738     private PFN_glGetActiveSubroutineUniformiv _GetActiveSubroutineUniformiv;
16739     private PFN_glGetActiveSubroutineUniformName _GetActiveSubroutineUniformName;
16740     private PFN_glGetActiveSubroutineName _GetActiveSubroutineName;
16741     private PFN_glUniformSubroutinesuiv _UniformSubroutinesuiv;
16742     private PFN_glGetUniformSubroutineuiv _GetUniformSubroutineuiv;
16743     private PFN_glGetProgramStageiv _GetProgramStageiv;
16744     private PFN_glPatchParameteri _PatchParameteri;
16745     private PFN_glPatchParameterfv _PatchParameterfv;
16746     private PFN_glBindTransformFeedback _BindTransformFeedback;
16747     private PFN_glDeleteTransformFeedbacks _DeleteTransformFeedbacks;
16748     private PFN_glGenTransformFeedbacks _GenTransformFeedbacks;
16749     private PFN_glIsTransformFeedback _IsTransformFeedback;
16750     private PFN_glPauseTransformFeedback _PauseTransformFeedback;
16751     private PFN_glResumeTransformFeedback _ResumeTransformFeedback;
16752     private PFN_glDrawTransformFeedback _DrawTransformFeedback;
16753     private PFN_glDrawTransformFeedbackStream _DrawTransformFeedbackStream;
16754     private PFN_glBeginQueryIndexed _BeginQueryIndexed;
16755     private PFN_glEndQueryIndexed _EndQueryIndexed;
16756     private PFN_glGetQueryIndexediv _GetQueryIndexediv;
16757 
16758     // GL_VERSION_4_1
16759     private PFN_glReleaseShaderCompiler _ReleaseShaderCompiler;
16760     private PFN_glShaderBinary _ShaderBinary;
16761     private PFN_glGetShaderPrecisionFormat _GetShaderPrecisionFormat;
16762     private PFN_glDepthRangef _DepthRangef;
16763     private PFN_glClearDepthf _ClearDepthf;
16764     private PFN_glGetProgramBinary _GetProgramBinary;
16765     private PFN_glProgramBinary _ProgramBinary;
16766     private PFN_glProgramParameteri _ProgramParameteri;
16767     private PFN_glUseProgramStages _UseProgramStages;
16768     private PFN_glActiveShaderProgram _ActiveShaderProgram;
16769     private PFN_glCreateShaderProgramv _CreateShaderProgramv;
16770     private PFN_glBindProgramPipeline _BindProgramPipeline;
16771     private PFN_glDeleteProgramPipelines _DeleteProgramPipelines;
16772     private PFN_glGenProgramPipelines _GenProgramPipelines;
16773     private PFN_glIsProgramPipeline _IsProgramPipeline;
16774     private PFN_glGetProgramPipelineiv _GetProgramPipelineiv;
16775     private PFN_glProgramUniform1i _ProgramUniform1i;
16776     private PFN_glProgramUniform1iv _ProgramUniform1iv;
16777     private PFN_glProgramUniform1f _ProgramUniform1f;
16778     private PFN_glProgramUniform1fv _ProgramUniform1fv;
16779     private PFN_glProgramUniform1d _ProgramUniform1d;
16780     private PFN_glProgramUniform1dv _ProgramUniform1dv;
16781     private PFN_glProgramUniform1ui _ProgramUniform1ui;
16782     private PFN_glProgramUniform1uiv _ProgramUniform1uiv;
16783     private PFN_glProgramUniform2i _ProgramUniform2i;
16784     private PFN_glProgramUniform2iv _ProgramUniform2iv;
16785     private PFN_glProgramUniform2f _ProgramUniform2f;
16786     private PFN_glProgramUniform2fv _ProgramUniform2fv;
16787     private PFN_glProgramUniform2d _ProgramUniform2d;
16788     private PFN_glProgramUniform2dv _ProgramUniform2dv;
16789     private PFN_glProgramUniform2ui _ProgramUniform2ui;
16790     private PFN_glProgramUniform2uiv _ProgramUniform2uiv;
16791     private PFN_glProgramUniform3i _ProgramUniform3i;
16792     private PFN_glProgramUniform3iv _ProgramUniform3iv;
16793     private PFN_glProgramUniform3f _ProgramUniform3f;
16794     private PFN_glProgramUniform3fv _ProgramUniform3fv;
16795     private PFN_glProgramUniform3d _ProgramUniform3d;
16796     private PFN_glProgramUniform3dv _ProgramUniform3dv;
16797     private PFN_glProgramUniform3ui _ProgramUniform3ui;
16798     private PFN_glProgramUniform3uiv _ProgramUniform3uiv;
16799     private PFN_glProgramUniform4i _ProgramUniform4i;
16800     private PFN_glProgramUniform4iv _ProgramUniform4iv;
16801     private PFN_glProgramUniform4f _ProgramUniform4f;
16802     private PFN_glProgramUniform4fv _ProgramUniform4fv;
16803     private PFN_glProgramUniform4d _ProgramUniform4d;
16804     private PFN_glProgramUniform4dv _ProgramUniform4dv;
16805     private PFN_glProgramUniform4ui _ProgramUniform4ui;
16806     private PFN_glProgramUniform4uiv _ProgramUniform4uiv;
16807     private PFN_glProgramUniformMatrix2fv _ProgramUniformMatrix2fv;
16808     private PFN_glProgramUniformMatrix3fv _ProgramUniformMatrix3fv;
16809     private PFN_glProgramUniformMatrix4fv _ProgramUniformMatrix4fv;
16810     private PFN_glProgramUniformMatrix2dv _ProgramUniformMatrix2dv;
16811     private PFN_glProgramUniformMatrix3dv _ProgramUniformMatrix3dv;
16812     private PFN_glProgramUniformMatrix4dv _ProgramUniformMatrix4dv;
16813     private PFN_glProgramUniformMatrix2x3fv _ProgramUniformMatrix2x3fv;
16814     private PFN_glProgramUniformMatrix3x2fv _ProgramUniformMatrix3x2fv;
16815     private PFN_glProgramUniformMatrix2x4fv _ProgramUniformMatrix2x4fv;
16816     private PFN_glProgramUniformMatrix4x2fv _ProgramUniformMatrix4x2fv;
16817     private PFN_glProgramUniformMatrix3x4fv _ProgramUniformMatrix3x4fv;
16818     private PFN_glProgramUniformMatrix4x3fv _ProgramUniformMatrix4x3fv;
16819     private PFN_glProgramUniformMatrix2x3dv _ProgramUniformMatrix2x3dv;
16820     private PFN_glProgramUniformMatrix3x2dv _ProgramUniformMatrix3x2dv;
16821     private PFN_glProgramUniformMatrix2x4dv _ProgramUniformMatrix2x4dv;
16822     private PFN_glProgramUniformMatrix4x2dv _ProgramUniformMatrix4x2dv;
16823     private PFN_glProgramUniformMatrix3x4dv _ProgramUniformMatrix3x4dv;
16824     private PFN_glProgramUniformMatrix4x3dv _ProgramUniformMatrix4x3dv;
16825     private PFN_glValidateProgramPipeline _ValidateProgramPipeline;
16826     private PFN_glGetProgramPipelineInfoLog _GetProgramPipelineInfoLog;
16827     private PFN_glVertexAttribL1d _VertexAttribL1d;
16828     private PFN_glVertexAttribL2d _VertexAttribL2d;
16829     private PFN_glVertexAttribL3d _VertexAttribL3d;
16830     private PFN_glVertexAttribL4d _VertexAttribL4d;
16831     private PFN_glVertexAttribL1dv _VertexAttribL1dv;
16832     private PFN_glVertexAttribL2dv _VertexAttribL2dv;
16833     private PFN_glVertexAttribL3dv _VertexAttribL3dv;
16834     private PFN_glVertexAttribL4dv _VertexAttribL4dv;
16835     private PFN_glVertexAttribLPointer _VertexAttribLPointer;
16836     private PFN_glGetVertexAttribLdv _GetVertexAttribLdv;
16837     private PFN_glViewportArrayv _ViewportArrayv;
16838     private PFN_glViewportIndexedf _ViewportIndexedf;
16839     private PFN_glViewportIndexedfv _ViewportIndexedfv;
16840     private PFN_glScissorArrayv _ScissorArrayv;
16841     private PFN_glScissorIndexed _ScissorIndexed;
16842     private PFN_glScissorIndexedv _ScissorIndexedv;
16843     private PFN_glDepthRangeArrayv _DepthRangeArrayv;
16844     private PFN_glDepthRangeIndexed _DepthRangeIndexed;
16845     private PFN_glGetFloati_v _GetFloati_v;
16846     private PFN_glGetDoublei_v _GetDoublei_v;
16847 
16848     // GL_VERSION_4_2
16849     private PFN_glDrawArraysInstancedBaseInstance _DrawArraysInstancedBaseInstance;
16850     private PFN_glDrawElementsInstancedBaseInstance _DrawElementsInstancedBaseInstance;
16851     private PFN_glDrawElementsInstancedBaseVertexBaseInstance _DrawElementsInstancedBaseVertexBaseInstance;
16852     private PFN_glGetInternalformativ _GetInternalformativ;
16853     private PFN_glGetActiveAtomicCounterBufferiv _GetActiveAtomicCounterBufferiv;
16854     private PFN_glBindImageTexture _BindImageTexture;
16855     private PFN_glMemoryBarrier _MemoryBarrier;
16856     private PFN_glTexStorage1D _TexStorage1D;
16857     private PFN_glTexStorage2D _TexStorage2D;
16858     private PFN_glTexStorage3D _TexStorage3D;
16859     private PFN_glDrawTransformFeedbackInstanced _DrawTransformFeedbackInstanced;
16860     private PFN_glDrawTransformFeedbackStreamInstanced _DrawTransformFeedbackStreamInstanced;
16861 
16862     // GL_VERSION_4_3
16863     private PFN_glClearBufferData _ClearBufferData;
16864     private PFN_glClearBufferSubData _ClearBufferSubData;
16865     private PFN_glDispatchCompute _DispatchCompute;
16866     private PFN_glDispatchComputeIndirect _DispatchComputeIndirect;
16867     private PFN_glCopyImageSubData _CopyImageSubData;
16868     private PFN_glFramebufferParameteri _FramebufferParameteri;
16869     private PFN_glGetFramebufferParameteriv _GetFramebufferParameteriv;
16870     private PFN_glGetInternalformati64v _GetInternalformati64v;
16871     private PFN_glInvalidateTexSubImage _InvalidateTexSubImage;
16872     private PFN_glInvalidateTexImage _InvalidateTexImage;
16873     private PFN_glInvalidateBufferSubData _InvalidateBufferSubData;
16874     private PFN_glInvalidateBufferData _InvalidateBufferData;
16875     private PFN_glInvalidateFramebuffer _InvalidateFramebuffer;
16876     private PFN_glInvalidateSubFramebuffer _InvalidateSubFramebuffer;
16877     private PFN_glMultiDrawArraysIndirect _MultiDrawArraysIndirect;
16878     private PFN_glMultiDrawElementsIndirect _MultiDrawElementsIndirect;
16879     private PFN_glGetProgramInterfaceiv _GetProgramInterfaceiv;
16880     private PFN_glGetProgramResourceIndex _GetProgramResourceIndex;
16881     private PFN_glGetProgramResourceName _GetProgramResourceName;
16882     private PFN_glGetProgramResourceiv _GetProgramResourceiv;
16883     private PFN_glGetProgramResourceLocation _GetProgramResourceLocation;
16884     private PFN_glGetProgramResourceLocationIndex _GetProgramResourceLocationIndex;
16885     private PFN_glShaderStorageBlockBinding _ShaderStorageBlockBinding;
16886     private PFN_glTexBufferRange _TexBufferRange;
16887     private PFN_glTexStorage2DMultisample _TexStorage2DMultisample;
16888     private PFN_glTexStorage3DMultisample _TexStorage3DMultisample;
16889     private PFN_glTextureView _TextureView;
16890     private PFN_glBindVertexBuffer _BindVertexBuffer;
16891     private PFN_glVertexAttribFormat _VertexAttribFormat;
16892     private PFN_glVertexAttribIFormat _VertexAttribIFormat;
16893     private PFN_glVertexAttribLFormat _VertexAttribLFormat;
16894     private PFN_glVertexAttribBinding _VertexAttribBinding;
16895     private PFN_glVertexBindingDivisor _VertexBindingDivisor;
16896     private PFN_glDebugMessageControl _DebugMessageControl;
16897     private PFN_glDebugMessageInsert _DebugMessageInsert;
16898     private PFN_glDebugMessageCallback _DebugMessageCallback;
16899     private PFN_glGetDebugMessageLog _GetDebugMessageLog;
16900     private PFN_glPushDebugGroup _PushDebugGroup;
16901     private PFN_glPopDebugGroup _PopDebugGroup;
16902     private PFN_glObjectLabel _ObjectLabel;
16903     private PFN_glGetObjectLabel _GetObjectLabel;
16904     private PFN_glObjectPtrLabel _ObjectPtrLabel;
16905     private PFN_glGetObjectPtrLabel _GetObjectPtrLabel;
16906 
16907     // GL_VERSION_4_4
16908     private PFN_glBufferStorage _BufferStorage;
16909     private PFN_glClearTexImage _ClearTexImage;
16910     private PFN_glClearTexSubImage _ClearTexSubImage;
16911     private PFN_glBindBuffersBase _BindBuffersBase;
16912     private PFN_glBindBuffersRange _BindBuffersRange;
16913     private PFN_glBindTextures _BindTextures;
16914     private PFN_glBindSamplers _BindSamplers;
16915     private PFN_glBindImageTextures _BindImageTextures;
16916     private PFN_glBindVertexBuffers _BindVertexBuffers;
16917 
16918     // GL_VERSION_4_5
16919     private PFN_glClipControl _ClipControl;
16920     private PFN_glCreateTransformFeedbacks _CreateTransformFeedbacks;
16921     private PFN_glTransformFeedbackBufferBase _TransformFeedbackBufferBase;
16922     private PFN_glTransformFeedbackBufferRange _TransformFeedbackBufferRange;
16923     private PFN_glGetTransformFeedbackiv _GetTransformFeedbackiv;
16924     private PFN_glGetTransformFeedbacki_v _GetTransformFeedbacki_v;
16925     private PFN_glGetTransformFeedbacki64_v _GetTransformFeedbacki64_v;
16926     private PFN_glCreateBuffers _CreateBuffers;
16927     private PFN_glNamedBufferStorage _NamedBufferStorage;
16928     private PFN_glNamedBufferData _NamedBufferData;
16929     private PFN_glNamedBufferSubData _NamedBufferSubData;
16930     private PFN_glCopyNamedBufferSubData _CopyNamedBufferSubData;
16931     private PFN_glClearNamedBufferData _ClearNamedBufferData;
16932     private PFN_glClearNamedBufferSubData _ClearNamedBufferSubData;
16933     private PFN_glMapNamedBuffer _MapNamedBuffer;
16934     private PFN_glMapNamedBufferRange _MapNamedBufferRange;
16935     private PFN_glUnmapNamedBuffer _UnmapNamedBuffer;
16936     private PFN_glFlushMappedNamedBufferRange _FlushMappedNamedBufferRange;
16937     private PFN_glGetNamedBufferParameteriv _GetNamedBufferParameteriv;
16938     private PFN_glGetNamedBufferParameteri64v _GetNamedBufferParameteri64v;
16939     private PFN_glGetNamedBufferPointerv _GetNamedBufferPointerv;
16940     private PFN_glGetNamedBufferSubData _GetNamedBufferSubData;
16941     private PFN_glCreateFramebuffers _CreateFramebuffers;
16942     private PFN_glNamedFramebufferRenderbuffer _NamedFramebufferRenderbuffer;
16943     private PFN_glNamedFramebufferParameteri _NamedFramebufferParameteri;
16944     private PFN_glNamedFramebufferTexture _NamedFramebufferTexture;
16945     private PFN_glNamedFramebufferTextureLayer _NamedFramebufferTextureLayer;
16946     private PFN_glNamedFramebufferDrawBuffer _NamedFramebufferDrawBuffer;
16947     private PFN_glNamedFramebufferDrawBuffers _NamedFramebufferDrawBuffers;
16948     private PFN_glNamedFramebufferReadBuffer _NamedFramebufferReadBuffer;
16949     private PFN_glInvalidateNamedFramebufferData _InvalidateNamedFramebufferData;
16950     private PFN_glInvalidateNamedFramebufferSubData _InvalidateNamedFramebufferSubData;
16951     private PFN_glClearNamedFramebufferiv _ClearNamedFramebufferiv;
16952     private PFN_glClearNamedFramebufferuiv _ClearNamedFramebufferuiv;
16953     private PFN_glClearNamedFramebufferfv _ClearNamedFramebufferfv;
16954     private PFN_glClearNamedFramebufferfi _ClearNamedFramebufferfi;
16955     private PFN_glBlitNamedFramebuffer _BlitNamedFramebuffer;
16956     private PFN_glCheckNamedFramebufferStatus _CheckNamedFramebufferStatus;
16957     private PFN_glGetNamedFramebufferParameteriv _GetNamedFramebufferParameteriv;
16958     private PFN_glGetNamedFramebufferAttachmentParameteriv _GetNamedFramebufferAttachmentParameteriv;
16959     private PFN_glCreateRenderbuffers _CreateRenderbuffers;
16960     private PFN_glNamedRenderbufferStorage _NamedRenderbufferStorage;
16961     private PFN_glNamedRenderbufferStorageMultisample _NamedRenderbufferStorageMultisample;
16962     private PFN_glGetNamedRenderbufferParameteriv _GetNamedRenderbufferParameteriv;
16963     private PFN_glCreateTextures _CreateTextures;
16964     private PFN_glTextureBuffer _TextureBuffer;
16965     private PFN_glTextureBufferRange _TextureBufferRange;
16966     private PFN_glTextureStorage1D _TextureStorage1D;
16967     private PFN_glTextureStorage2D _TextureStorage2D;
16968     private PFN_glTextureStorage3D _TextureStorage3D;
16969     private PFN_glTextureStorage2DMultisample _TextureStorage2DMultisample;
16970     private PFN_glTextureStorage3DMultisample _TextureStorage3DMultisample;
16971     private PFN_glTextureSubImage1D _TextureSubImage1D;
16972     private PFN_glTextureSubImage2D _TextureSubImage2D;
16973     private PFN_glTextureSubImage3D _TextureSubImage3D;
16974     private PFN_glCompressedTextureSubImage1D _CompressedTextureSubImage1D;
16975     private PFN_glCompressedTextureSubImage2D _CompressedTextureSubImage2D;
16976     private PFN_glCompressedTextureSubImage3D _CompressedTextureSubImage3D;
16977     private PFN_glCopyTextureSubImage1D _CopyTextureSubImage1D;
16978     private PFN_glCopyTextureSubImage2D _CopyTextureSubImage2D;
16979     private PFN_glCopyTextureSubImage3D _CopyTextureSubImage3D;
16980     private PFN_glTextureParameterf _TextureParameterf;
16981     private PFN_glTextureParameterfv _TextureParameterfv;
16982     private PFN_glTextureParameteri _TextureParameteri;
16983     private PFN_glTextureParameterIiv _TextureParameterIiv;
16984     private PFN_glTextureParameterIuiv _TextureParameterIuiv;
16985     private PFN_glTextureParameteriv _TextureParameteriv;
16986     private PFN_glGenerateTextureMipmap _GenerateTextureMipmap;
16987     private PFN_glBindTextureUnit _BindTextureUnit;
16988     private PFN_glGetTextureImage _GetTextureImage;
16989     private PFN_glGetCompressedTextureImage _GetCompressedTextureImage;
16990     private PFN_glGetTextureLevelParameterfv _GetTextureLevelParameterfv;
16991     private PFN_glGetTextureLevelParameteriv _GetTextureLevelParameteriv;
16992     private PFN_glGetTextureParameterfv _GetTextureParameterfv;
16993     private PFN_glGetTextureParameterIiv _GetTextureParameterIiv;
16994     private PFN_glGetTextureParameterIuiv _GetTextureParameterIuiv;
16995     private PFN_glGetTextureParameteriv _GetTextureParameteriv;
16996     private PFN_glCreateVertexArrays _CreateVertexArrays;
16997     private PFN_glDisableVertexArrayAttrib _DisableVertexArrayAttrib;
16998     private PFN_glEnableVertexArrayAttrib _EnableVertexArrayAttrib;
16999     private PFN_glVertexArrayElementBuffer _VertexArrayElementBuffer;
17000     private PFN_glVertexArrayVertexBuffer _VertexArrayVertexBuffer;
17001     private PFN_glVertexArrayVertexBuffers _VertexArrayVertexBuffers;
17002     private PFN_glVertexArrayAttribBinding _VertexArrayAttribBinding;
17003     private PFN_glVertexArrayAttribFormat _VertexArrayAttribFormat;
17004     private PFN_glVertexArrayAttribIFormat _VertexArrayAttribIFormat;
17005     private PFN_glVertexArrayAttribLFormat _VertexArrayAttribLFormat;
17006     private PFN_glVertexArrayBindingDivisor _VertexArrayBindingDivisor;
17007     private PFN_glGetVertexArrayiv _GetVertexArrayiv;
17008     private PFN_glGetVertexArrayIndexediv _GetVertexArrayIndexediv;
17009     private PFN_glGetVertexArrayIndexed64iv _GetVertexArrayIndexed64iv;
17010     private PFN_glCreateSamplers _CreateSamplers;
17011     private PFN_glCreateProgramPipelines _CreateProgramPipelines;
17012     private PFN_glCreateQueries _CreateQueries;
17013     private PFN_glGetQueryBufferObjecti64v _GetQueryBufferObjecti64v;
17014     private PFN_glGetQueryBufferObjectiv _GetQueryBufferObjectiv;
17015     private PFN_glGetQueryBufferObjectui64v _GetQueryBufferObjectui64v;
17016     private PFN_glGetQueryBufferObjectuiv _GetQueryBufferObjectuiv;
17017     private PFN_glMemoryBarrierByRegion _MemoryBarrierByRegion;
17018     private PFN_glGetTextureSubImage _GetTextureSubImage;
17019     private PFN_glGetCompressedTextureSubImage _GetCompressedTextureSubImage;
17020     private PFN_glGetGraphicsResetStatus _GetGraphicsResetStatus;
17021     private PFN_glGetnCompressedTexImage _GetnCompressedTexImage;
17022     private PFN_glGetnTexImage _GetnTexImage;
17023     private PFN_glGetnUniformdv _GetnUniformdv;
17024     private PFN_glGetnUniformfv _GetnUniformfv;
17025     private PFN_glGetnUniformiv _GetnUniformiv;
17026     private PFN_glGetnUniformuiv _GetnUniformuiv;
17027     private PFN_glReadnPixels _ReadnPixels;
17028     private PFN_glTextureBarrier _TextureBarrier;
17029 
17030     // GL_VERSION_4_6
17031     private PFN_glSpecializeShader _SpecializeShader;
17032     private PFN_glMultiDrawArraysIndirectCount _MultiDrawArraysIndirectCount;
17033     private PFN_glMultiDrawElementsIndirectCount _MultiDrawElementsIndirectCount;
17034     private PFN_glPolygonOffsetClamp _PolygonOffsetClamp;
17035 
17036     // GL_ARB_ES3_2_compatibility,
17037     private PFN_glPrimitiveBoundingBoxARB _PrimitiveBoundingBoxARB;
17038 
17039     // GL_ARB_bindless_texture,
17040     private PFN_glGetTextureHandleARB _GetTextureHandleARB;
17041     private PFN_glGetTextureSamplerHandleARB _GetTextureSamplerHandleARB;
17042     private PFN_glMakeTextureHandleResidentARB _MakeTextureHandleResidentARB;
17043     private PFN_glMakeTextureHandleNonResidentARB _MakeTextureHandleNonResidentARB;
17044     private PFN_glGetImageHandleARB _GetImageHandleARB;
17045     private PFN_glMakeImageHandleResidentARB _MakeImageHandleResidentARB;
17046     private PFN_glMakeImageHandleNonResidentARB _MakeImageHandleNonResidentARB;
17047     private PFN_glUniformHandleui64ARB _UniformHandleui64ARB;
17048     private PFN_glUniformHandleui64vARB _UniformHandleui64vARB;
17049     private PFN_glProgramUniformHandleui64ARB _ProgramUniformHandleui64ARB;
17050     private PFN_glProgramUniformHandleui64vARB _ProgramUniformHandleui64vARB;
17051     private PFN_glIsTextureHandleResidentARB _IsTextureHandleResidentARB;
17052     private PFN_glIsImageHandleResidentARB _IsImageHandleResidentARB;
17053     private PFN_glVertexAttribL1ui64ARB _VertexAttribL1ui64ARB;
17054     private PFN_glVertexAttribL1ui64vARB _VertexAttribL1ui64vARB;
17055     private PFN_glGetVertexAttribLui64vARB _GetVertexAttribLui64vARB;
17056 
17057     // GL_ARB_cl_event,
17058     private PFN_glCreateSyncFromCLeventARB _CreateSyncFromCLeventARB;
17059 
17060     // GL_ARB_compute_variable_group_size,
17061     private PFN_glDispatchComputeGroupSizeARB _DispatchComputeGroupSizeARB;
17062 
17063     // GL_ARB_geometry_shader4,
17064     private PFN_glFramebufferTextureFaceARB _FramebufferTextureFaceARB;
17065 
17066     // GL_ARB_gpu_shader_int64,
17067     private PFN_glUniform1i64ARB _Uniform1i64ARB;
17068     private PFN_glUniform2i64ARB _Uniform2i64ARB;
17069     private PFN_glUniform3i64ARB _Uniform3i64ARB;
17070     private PFN_glUniform4i64ARB _Uniform4i64ARB;
17071     private PFN_glUniform1i64vARB _Uniform1i64vARB;
17072     private PFN_glUniform2i64vARB _Uniform2i64vARB;
17073     private PFN_glUniform3i64vARB _Uniform3i64vARB;
17074     private PFN_glUniform4i64vARB _Uniform4i64vARB;
17075     private PFN_glUniform1ui64ARB _Uniform1ui64ARB;
17076     private PFN_glUniform2ui64ARB _Uniform2ui64ARB;
17077     private PFN_glUniform3ui64ARB _Uniform3ui64ARB;
17078     private PFN_glUniform4ui64ARB _Uniform4ui64ARB;
17079     private PFN_glUniform1ui64vARB _Uniform1ui64vARB;
17080     private PFN_glUniform2ui64vARB _Uniform2ui64vARB;
17081     private PFN_glUniform3ui64vARB _Uniform3ui64vARB;
17082     private PFN_glUniform4ui64vARB _Uniform4ui64vARB;
17083     private PFN_glGetUniformi64vARB _GetUniformi64vARB;
17084     private PFN_glGetUniformui64vARB _GetUniformui64vARB;
17085     private PFN_glGetnUniformi64vARB _GetnUniformi64vARB;
17086     private PFN_glGetnUniformui64vARB _GetnUniformui64vARB;
17087     private PFN_glProgramUniform1i64ARB _ProgramUniform1i64ARB;
17088     private PFN_glProgramUniform2i64ARB _ProgramUniform2i64ARB;
17089     private PFN_glProgramUniform3i64ARB _ProgramUniform3i64ARB;
17090     private PFN_glProgramUniform4i64ARB _ProgramUniform4i64ARB;
17091     private PFN_glProgramUniform1i64vARB _ProgramUniform1i64vARB;
17092     private PFN_glProgramUniform2i64vARB _ProgramUniform2i64vARB;
17093     private PFN_glProgramUniform3i64vARB _ProgramUniform3i64vARB;
17094     private PFN_glProgramUniform4i64vARB _ProgramUniform4i64vARB;
17095     private PFN_glProgramUniform1ui64ARB _ProgramUniform1ui64ARB;
17096     private PFN_glProgramUniform2ui64ARB _ProgramUniform2ui64ARB;
17097     private PFN_glProgramUniform3ui64ARB _ProgramUniform3ui64ARB;
17098     private PFN_glProgramUniform4ui64ARB _ProgramUniform4ui64ARB;
17099     private PFN_glProgramUniform1ui64vARB _ProgramUniform1ui64vARB;
17100     private PFN_glProgramUniform2ui64vARB _ProgramUniform2ui64vARB;
17101     private PFN_glProgramUniform3ui64vARB _ProgramUniform3ui64vARB;
17102     private PFN_glProgramUniform4ui64vARB _ProgramUniform4ui64vARB;
17103 
17104     // GL_ARB_parallel_shader_compile,
17105     private PFN_glMaxShaderCompilerThreadsARB _MaxShaderCompilerThreadsARB;
17106 
17107     // GL_ARB_robustness,
17108     private PFN_glGetGraphicsResetStatusARB _GetGraphicsResetStatusARB;
17109     private PFN_glGetnTexImageARB _GetnTexImageARB;
17110     private PFN_glGetnCompressedTexImageARB _GetnCompressedTexImageARB;
17111     private PFN_glGetnUniformfvARB _GetnUniformfvARB;
17112     private PFN_glGetnUniformivARB _GetnUniformivARB;
17113     private PFN_glGetnUniformuivARB _GetnUniformuivARB;
17114     private PFN_glGetnUniformdvARB _GetnUniformdvARB;
17115 
17116     // GL_ARB_sample_locations,
17117     private PFN_glFramebufferSampleLocationsfvARB _FramebufferSampleLocationsfvARB;
17118     private PFN_glNamedFramebufferSampleLocationsfvARB _NamedFramebufferSampleLocationsfvARB;
17119     private PFN_glEvaluateDepthValuesARB _EvaluateDepthValuesARB;
17120 
17121     // GL_ARB_shading_language_include,
17122     private PFN_glNamedStringARB _NamedStringARB;
17123     private PFN_glDeleteNamedStringARB _DeleteNamedStringARB;
17124     private PFN_glCompileShaderIncludeARB _CompileShaderIncludeARB;
17125     private PFN_glIsNamedStringARB _IsNamedStringARB;
17126     private PFN_glGetNamedStringARB _GetNamedStringARB;
17127     private PFN_glGetNamedStringivARB _GetNamedStringivARB;
17128 
17129     // GL_ARB_sparse_buffer,
17130     private PFN_glBufferPageCommitmentARB _BufferPageCommitmentARB;
17131     private PFN_glNamedBufferPageCommitmentEXT _NamedBufferPageCommitmentEXT;
17132     private PFN_glNamedBufferPageCommitmentARB _NamedBufferPageCommitmentARB;
17133 
17134     // GL_ARB_sparse_texture,
17135     private PFN_glTexPageCommitmentARB _TexPageCommitmentARB;
17136 
17137     // GL_KHR_blend_equation_advanced,
17138     private PFN_glBlendBarrierKHR _BlendBarrierKHR;
17139 
17140     // GL_KHR_parallel_shader_compile,
17141     private PFN_glMaxShaderCompilerThreadsKHR _MaxShaderCompilerThreadsKHR;
17142 
17143     // GL_AMD_performance_monitor,
17144     private PFN_glGetPerfMonitorGroupsAMD _GetPerfMonitorGroupsAMD;
17145     private PFN_glGetPerfMonitorCountersAMD _GetPerfMonitorCountersAMD;
17146     private PFN_glGetPerfMonitorGroupStringAMD _GetPerfMonitorGroupStringAMD;
17147     private PFN_glGetPerfMonitorCounterStringAMD _GetPerfMonitorCounterStringAMD;
17148     private PFN_glGetPerfMonitorCounterInfoAMD _GetPerfMonitorCounterInfoAMD;
17149     private PFN_glGenPerfMonitorsAMD _GenPerfMonitorsAMD;
17150     private PFN_glDeletePerfMonitorsAMD _DeletePerfMonitorsAMD;
17151     private PFN_glSelectPerfMonitorCountersAMD _SelectPerfMonitorCountersAMD;
17152     private PFN_glBeginPerfMonitorAMD _BeginPerfMonitorAMD;
17153     private PFN_glEndPerfMonitorAMD _EndPerfMonitorAMD;
17154     private PFN_glGetPerfMonitorCounterDataAMD _GetPerfMonitorCounterDataAMD;
17155 
17156     // GL_EXT_debug_label,
17157     private PFN_glLabelObjectEXT _LabelObjectEXT;
17158     private PFN_glGetObjectLabelEXT _GetObjectLabelEXT;
17159 
17160     // GL_EXT_debug_marker,
17161     private PFN_glInsertEventMarkerEXT _InsertEventMarkerEXT;
17162     private PFN_glPushGroupMarkerEXT _PushGroupMarkerEXT;
17163     private PFN_glPopGroupMarkerEXT _PopGroupMarkerEXT;
17164 
17165     // GL_EXT_direct_state_access,
17166     private PFN_glMatrixLoadfEXT _MatrixLoadfEXT;
17167     private PFN_glMatrixLoaddEXT _MatrixLoaddEXT;
17168     private PFN_glMatrixMultfEXT _MatrixMultfEXT;
17169     private PFN_glMatrixMultdEXT _MatrixMultdEXT;
17170     private PFN_glMatrixLoadIdentityEXT _MatrixLoadIdentityEXT;
17171     private PFN_glMatrixRotatefEXT _MatrixRotatefEXT;
17172     private PFN_glMatrixRotatedEXT _MatrixRotatedEXT;
17173     private PFN_glMatrixScalefEXT _MatrixScalefEXT;
17174     private PFN_glMatrixScaledEXT _MatrixScaledEXT;
17175     private PFN_glMatrixTranslatefEXT _MatrixTranslatefEXT;
17176     private PFN_glMatrixTranslatedEXT _MatrixTranslatedEXT;
17177     private PFN_glMatrixFrustumEXT _MatrixFrustumEXT;
17178     private PFN_glMatrixOrthoEXT _MatrixOrthoEXT;
17179     private PFN_glMatrixPopEXT _MatrixPopEXT;
17180     private PFN_glMatrixPushEXT _MatrixPushEXT;
17181     private PFN_glClientAttribDefaultEXT _ClientAttribDefaultEXT;
17182     private PFN_glPushClientAttribDefaultEXT _PushClientAttribDefaultEXT;
17183     private PFN_glTextureParameterfEXT _TextureParameterfEXT;
17184     private PFN_glTextureParameterfvEXT _TextureParameterfvEXT;
17185     private PFN_glTextureParameteriEXT _TextureParameteriEXT;
17186     private PFN_glTextureParameterivEXT _TextureParameterivEXT;
17187     private PFN_glTextureImage1DEXT _TextureImage1DEXT;
17188     private PFN_glTextureImage2DEXT _TextureImage2DEXT;
17189     private PFN_glTextureSubImage1DEXT _TextureSubImage1DEXT;
17190     private PFN_glTextureSubImage2DEXT _TextureSubImage2DEXT;
17191     private PFN_glCopyTextureImage1DEXT _CopyTextureImage1DEXT;
17192     private PFN_glCopyTextureImage2DEXT _CopyTextureImage2DEXT;
17193     private PFN_glCopyTextureSubImage1DEXT _CopyTextureSubImage1DEXT;
17194     private PFN_glCopyTextureSubImage2DEXT _CopyTextureSubImage2DEXT;
17195     private PFN_glGetTextureImageEXT _GetTextureImageEXT;
17196     private PFN_glGetTextureParameterfvEXT _GetTextureParameterfvEXT;
17197     private PFN_glGetTextureParameterivEXT _GetTextureParameterivEXT;
17198     private PFN_glGetTextureLevelParameterfvEXT _GetTextureLevelParameterfvEXT;
17199     private PFN_glGetTextureLevelParameterivEXT _GetTextureLevelParameterivEXT;
17200     private PFN_glTextureImage3DEXT _TextureImage3DEXT;
17201     private PFN_glTextureSubImage3DEXT _TextureSubImage3DEXT;
17202     private PFN_glCopyTextureSubImage3DEXT _CopyTextureSubImage3DEXT;
17203     private PFN_glBindMultiTextureEXT _BindMultiTextureEXT;
17204     private PFN_glMultiTexCoordPointerEXT _MultiTexCoordPointerEXT;
17205     private PFN_glMultiTexEnvfEXT _MultiTexEnvfEXT;
17206     private PFN_glMultiTexEnvfvEXT _MultiTexEnvfvEXT;
17207     private PFN_glMultiTexEnviEXT _MultiTexEnviEXT;
17208     private PFN_glMultiTexEnvivEXT _MultiTexEnvivEXT;
17209     private PFN_glMultiTexGendEXT _MultiTexGendEXT;
17210     private PFN_glMultiTexGendvEXT _MultiTexGendvEXT;
17211     private PFN_glMultiTexGenfEXT _MultiTexGenfEXT;
17212     private PFN_glMultiTexGenfvEXT _MultiTexGenfvEXT;
17213     private PFN_glMultiTexGeniEXT _MultiTexGeniEXT;
17214     private PFN_glMultiTexGenivEXT _MultiTexGenivEXT;
17215     private PFN_glGetMultiTexEnvfvEXT _GetMultiTexEnvfvEXT;
17216     private PFN_glGetMultiTexEnvivEXT _GetMultiTexEnvivEXT;
17217     private PFN_glGetMultiTexGendvEXT _GetMultiTexGendvEXT;
17218     private PFN_glGetMultiTexGenfvEXT _GetMultiTexGenfvEXT;
17219     private PFN_glGetMultiTexGenivEXT _GetMultiTexGenivEXT;
17220     private PFN_glMultiTexParameteriEXT _MultiTexParameteriEXT;
17221     private PFN_glMultiTexParameterivEXT _MultiTexParameterivEXT;
17222     private PFN_glMultiTexParameterfEXT _MultiTexParameterfEXT;
17223     private PFN_glMultiTexParameterfvEXT _MultiTexParameterfvEXT;
17224     private PFN_glMultiTexImage1DEXT _MultiTexImage1DEXT;
17225     private PFN_glMultiTexImage2DEXT _MultiTexImage2DEXT;
17226     private PFN_glMultiTexSubImage1DEXT _MultiTexSubImage1DEXT;
17227     private PFN_glMultiTexSubImage2DEXT _MultiTexSubImage2DEXT;
17228     private PFN_glCopyMultiTexImage1DEXT _CopyMultiTexImage1DEXT;
17229     private PFN_glCopyMultiTexImage2DEXT _CopyMultiTexImage2DEXT;
17230     private PFN_glCopyMultiTexSubImage1DEXT _CopyMultiTexSubImage1DEXT;
17231     private PFN_glCopyMultiTexSubImage2DEXT _CopyMultiTexSubImage2DEXT;
17232     private PFN_glGetMultiTexImageEXT _GetMultiTexImageEXT;
17233     private PFN_glGetMultiTexParameterfvEXT _GetMultiTexParameterfvEXT;
17234     private PFN_glGetMultiTexParameterivEXT _GetMultiTexParameterivEXT;
17235     private PFN_glGetMultiTexLevelParameterfvEXT _GetMultiTexLevelParameterfvEXT;
17236     private PFN_glGetMultiTexLevelParameterivEXT _GetMultiTexLevelParameterivEXT;
17237     private PFN_glMultiTexImage3DEXT _MultiTexImage3DEXT;
17238     private PFN_glMultiTexSubImage3DEXT _MultiTexSubImage3DEXT;
17239     private PFN_glCopyMultiTexSubImage3DEXT _CopyMultiTexSubImage3DEXT;
17240     private PFN_glEnableClientStateIndexedEXT _EnableClientStateIndexedEXT;
17241     private PFN_glDisableClientStateIndexedEXT _DisableClientStateIndexedEXT;
17242     private PFN_glGetPointerIndexedvEXT _GetPointerIndexedvEXT;
17243     private PFN_glCompressedTextureImage3DEXT _CompressedTextureImage3DEXT;
17244     private PFN_glCompressedTextureImage2DEXT _CompressedTextureImage2DEXT;
17245     private PFN_glCompressedTextureImage1DEXT _CompressedTextureImage1DEXT;
17246     private PFN_glCompressedTextureSubImage3DEXT _CompressedTextureSubImage3DEXT;
17247     private PFN_glCompressedTextureSubImage2DEXT _CompressedTextureSubImage2DEXT;
17248     private PFN_glCompressedTextureSubImage1DEXT _CompressedTextureSubImage1DEXT;
17249     private PFN_glGetCompressedTextureImageEXT _GetCompressedTextureImageEXT;
17250     private PFN_glCompressedMultiTexImage3DEXT _CompressedMultiTexImage3DEXT;
17251     private PFN_glCompressedMultiTexImage2DEXT _CompressedMultiTexImage2DEXT;
17252     private PFN_glCompressedMultiTexImage1DEXT _CompressedMultiTexImage1DEXT;
17253     private PFN_glCompressedMultiTexSubImage3DEXT _CompressedMultiTexSubImage3DEXT;
17254     private PFN_glCompressedMultiTexSubImage2DEXT _CompressedMultiTexSubImage2DEXT;
17255     private PFN_glCompressedMultiTexSubImage1DEXT _CompressedMultiTexSubImage1DEXT;
17256     private PFN_glGetCompressedMultiTexImageEXT _GetCompressedMultiTexImageEXT;
17257     private PFN_glMatrixLoadTransposefEXT _MatrixLoadTransposefEXT;
17258     private PFN_glMatrixLoadTransposedEXT _MatrixLoadTransposedEXT;
17259     private PFN_glMatrixMultTransposefEXT _MatrixMultTransposefEXT;
17260     private PFN_glMatrixMultTransposedEXT _MatrixMultTransposedEXT;
17261     private PFN_glNamedBufferDataEXT _NamedBufferDataEXT;
17262     private PFN_glMapNamedBufferEXT _MapNamedBufferEXT;
17263     private PFN_glUnmapNamedBufferEXT _UnmapNamedBufferEXT;
17264     private PFN_glGetNamedBufferParameterivEXT _GetNamedBufferParameterivEXT;
17265     private PFN_glGetNamedBufferPointervEXT _GetNamedBufferPointervEXT;
17266     private PFN_glGetNamedBufferSubDataEXT _GetNamedBufferSubDataEXT;
17267     private PFN_glTextureBufferEXT _TextureBufferEXT;
17268     private PFN_glMultiTexBufferEXT _MultiTexBufferEXT;
17269     private PFN_glTextureParameterIivEXT _TextureParameterIivEXT;
17270     private PFN_glTextureParameterIuivEXT _TextureParameterIuivEXT;
17271     private PFN_glGetTextureParameterIivEXT _GetTextureParameterIivEXT;
17272     private PFN_glGetTextureParameterIuivEXT _GetTextureParameterIuivEXT;
17273     private PFN_glMultiTexParameterIivEXT _MultiTexParameterIivEXT;
17274     private PFN_glMultiTexParameterIuivEXT _MultiTexParameterIuivEXT;
17275     private PFN_glGetMultiTexParameterIivEXT _GetMultiTexParameterIivEXT;
17276     private PFN_glGetMultiTexParameterIuivEXT _GetMultiTexParameterIuivEXT;
17277     private PFN_glNamedProgramLocalParameters4fvEXT _NamedProgramLocalParameters4fvEXT;
17278     private PFN_glNamedProgramLocalParameterI4iEXT _NamedProgramLocalParameterI4iEXT;
17279     private PFN_glNamedProgramLocalParameterI4ivEXT _NamedProgramLocalParameterI4ivEXT;
17280     private PFN_glNamedProgramLocalParametersI4ivEXT _NamedProgramLocalParametersI4ivEXT;
17281     private PFN_glNamedProgramLocalParameterI4uiEXT _NamedProgramLocalParameterI4uiEXT;
17282     private PFN_glNamedProgramLocalParameterI4uivEXT _NamedProgramLocalParameterI4uivEXT;
17283     private PFN_glNamedProgramLocalParametersI4uivEXT _NamedProgramLocalParametersI4uivEXT;
17284     private PFN_glGetNamedProgramLocalParameterIivEXT _GetNamedProgramLocalParameterIivEXT;
17285     private PFN_glGetNamedProgramLocalParameterIuivEXT _GetNamedProgramLocalParameterIuivEXT;
17286     private PFN_glEnableClientStateiEXT _EnableClientStateiEXT;
17287     private PFN_glDisableClientStateiEXT _DisableClientStateiEXT;
17288     private PFN_glGetPointeri_vEXT _GetPointeri_vEXT;
17289     private PFN_glNamedProgramStringEXT _NamedProgramStringEXT;
17290     private PFN_glNamedProgramLocalParameter4dEXT _NamedProgramLocalParameter4dEXT;
17291     private PFN_glNamedProgramLocalParameter4dvEXT _NamedProgramLocalParameter4dvEXT;
17292     private PFN_glNamedProgramLocalParameter4fEXT _NamedProgramLocalParameter4fEXT;
17293     private PFN_glNamedProgramLocalParameter4fvEXT _NamedProgramLocalParameter4fvEXT;
17294     private PFN_glGetNamedProgramLocalParameterdvEXT _GetNamedProgramLocalParameterdvEXT;
17295     private PFN_glGetNamedProgramLocalParameterfvEXT _GetNamedProgramLocalParameterfvEXT;
17296     private PFN_glGetNamedProgramivEXT _GetNamedProgramivEXT;
17297     private PFN_glGetNamedProgramStringEXT _GetNamedProgramStringEXT;
17298     private PFN_glNamedRenderbufferStorageEXT _NamedRenderbufferStorageEXT;
17299     private PFN_glGetNamedRenderbufferParameterivEXT _GetNamedRenderbufferParameterivEXT;
17300     private PFN_glNamedRenderbufferStorageMultisampleEXT _NamedRenderbufferStorageMultisampleEXT;
17301     private PFN_glNamedRenderbufferStorageMultisampleCoverageEXT _NamedRenderbufferStorageMultisampleCoverageEXT;
17302     private PFN_glCheckNamedFramebufferStatusEXT _CheckNamedFramebufferStatusEXT;
17303     private PFN_glNamedFramebufferTexture1DEXT _NamedFramebufferTexture1DEXT;
17304     private PFN_glNamedFramebufferTexture2DEXT _NamedFramebufferTexture2DEXT;
17305     private PFN_glNamedFramebufferTexture3DEXT _NamedFramebufferTexture3DEXT;
17306     private PFN_glNamedFramebufferRenderbufferEXT _NamedFramebufferRenderbufferEXT;
17307     private PFN_glGetNamedFramebufferAttachmentParameterivEXT _GetNamedFramebufferAttachmentParameterivEXT;
17308     private PFN_glGenerateTextureMipmapEXT _GenerateTextureMipmapEXT;
17309     private PFN_glGenerateMultiTexMipmapEXT _GenerateMultiTexMipmapEXT;
17310     private PFN_glFramebufferDrawBufferEXT _FramebufferDrawBufferEXT;
17311     private PFN_glFramebufferDrawBuffersEXT _FramebufferDrawBuffersEXT;
17312     private PFN_glFramebufferReadBufferEXT _FramebufferReadBufferEXT;
17313     private PFN_glGetFramebufferParameterivEXT _GetFramebufferParameterivEXT;
17314     private PFN_glNamedCopyBufferSubDataEXT _NamedCopyBufferSubDataEXT;
17315     private PFN_glNamedFramebufferTextureEXT _NamedFramebufferTextureEXT;
17316     private PFN_glNamedFramebufferTextureLayerEXT _NamedFramebufferTextureLayerEXT;
17317     private PFN_glNamedFramebufferTextureFaceEXT _NamedFramebufferTextureFaceEXT;
17318     private PFN_glTextureRenderbufferEXT _TextureRenderbufferEXT;
17319     private PFN_glMultiTexRenderbufferEXT _MultiTexRenderbufferEXT;
17320     private PFN_glVertexArrayVertexOffsetEXT _VertexArrayVertexOffsetEXT;
17321     private PFN_glVertexArrayColorOffsetEXT _VertexArrayColorOffsetEXT;
17322     private PFN_glVertexArrayEdgeFlagOffsetEXT _VertexArrayEdgeFlagOffsetEXT;
17323     private PFN_glVertexArrayIndexOffsetEXT _VertexArrayIndexOffsetEXT;
17324     private PFN_glVertexArrayNormalOffsetEXT _VertexArrayNormalOffsetEXT;
17325     private PFN_glVertexArrayTexCoordOffsetEXT _VertexArrayTexCoordOffsetEXT;
17326     private PFN_glVertexArrayMultiTexCoordOffsetEXT _VertexArrayMultiTexCoordOffsetEXT;
17327     private PFN_glVertexArrayFogCoordOffsetEXT _VertexArrayFogCoordOffsetEXT;
17328     private PFN_glVertexArraySecondaryColorOffsetEXT _VertexArraySecondaryColorOffsetEXT;
17329     private PFN_glVertexArrayVertexAttribOffsetEXT _VertexArrayVertexAttribOffsetEXT;
17330     private PFN_glVertexArrayVertexAttribIOffsetEXT _VertexArrayVertexAttribIOffsetEXT;
17331     private PFN_glEnableVertexArrayEXT _EnableVertexArrayEXT;
17332     private PFN_glDisableVertexArrayEXT _DisableVertexArrayEXT;
17333     private PFN_glEnableVertexArrayAttribEXT _EnableVertexArrayAttribEXT;
17334     private PFN_glDisableVertexArrayAttribEXT _DisableVertexArrayAttribEXT;
17335     private PFN_glGetVertexArrayIntegervEXT _GetVertexArrayIntegervEXT;
17336     private PFN_glGetVertexArrayPointervEXT _GetVertexArrayPointervEXT;
17337     private PFN_glGetVertexArrayIntegeri_vEXT _GetVertexArrayIntegeri_vEXT;
17338     private PFN_glGetVertexArrayPointeri_vEXT _GetVertexArrayPointeri_vEXT;
17339     private PFN_glMapNamedBufferRangeEXT _MapNamedBufferRangeEXT;
17340     private PFN_glFlushMappedNamedBufferRangeEXT _FlushMappedNamedBufferRangeEXT;
17341     private PFN_glClearNamedBufferDataEXT _ClearNamedBufferDataEXT;
17342     private PFN_glClearNamedBufferSubDataEXT _ClearNamedBufferSubDataEXT;
17343     private PFN_glNamedFramebufferParameteriEXT _NamedFramebufferParameteriEXT;
17344     private PFN_glGetNamedFramebufferParameterivEXT _GetNamedFramebufferParameterivEXT;
17345     private PFN_glProgramUniform1dEXT _ProgramUniform1dEXT;
17346     private PFN_glProgramUniform2dEXT _ProgramUniform2dEXT;
17347     private PFN_glProgramUniform3dEXT _ProgramUniform3dEXT;
17348     private PFN_glProgramUniform4dEXT _ProgramUniform4dEXT;
17349     private PFN_glProgramUniform1dvEXT _ProgramUniform1dvEXT;
17350     private PFN_glProgramUniform2dvEXT _ProgramUniform2dvEXT;
17351     private PFN_glProgramUniform3dvEXT _ProgramUniform3dvEXT;
17352     private PFN_glProgramUniform4dvEXT _ProgramUniform4dvEXT;
17353     private PFN_glProgramUniformMatrix2dvEXT _ProgramUniformMatrix2dvEXT;
17354     private PFN_glProgramUniformMatrix3dvEXT _ProgramUniformMatrix3dvEXT;
17355     private PFN_glProgramUniformMatrix4dvEXT _ProgramUniformMatrix4dvEXT;
17356     private PFN_glProgramUniformMatrix2x3dvEXT _ProgramUniformMatrix2x3dvEXT;
17357     private PFN_glProgramUniformMatrix2x4dvEXT _ProgramUniformMatrix2x4dvEXT;
17358     private PFN_glProgramUniformMatrix3x2dvEXT _ProgramUniformMatrix3x2dvEXT;
17359     private PFN_glProgramUniformMatrix3x4dvEXT _ProgramUniformMatrix3x4dvEXT;
17360     private PFN_glProgramUniformMatrix4x2dvEXT _ProgramUniformMatrix4x2dvEXT;
17361     private PFN_glProgramUniformMatrix4x3dvEXT _ProgramUniformMatrix4x3dvEXT;
17362     private PFN_glTextureBufferRangeEXT _TextureBufferRangeEXT;
17363     private PFN_glTextureStorage1DEXT _TextureStorage1DEXT;
17364     private PFN_glTextureStorage2DEXT _TextureStorage2DEXT;
17365     private PFN_glTextureStorage3DEXT _TextureStorage3DEXT;
17366     private PFN_glTextureStorage2DMultisampleEXT _TextureStorage2DMultisampleEXT;
17367     private PFN_glTextureStorage3DMultisampleEXT _TextureStorage3DMultisampleEXT;
17368     private PFN_glVertexArrayBindVertexBufferEXT _VertexArrayBindVertexBufferEXT;
17369     private PFN_glVertexArrayVertexAttribFormatEXT _VertexArrayVertexAttribFormatEXT;
17370     private PFN_glVertexArrayVertexAttribIFormatEXT _VertexArrayVertexAttribIFormatEXT;
17371     private PFN_glVertexArrayVertexAttribLFormatEXT _VertexArrayVertexAttribLFormatEXT;
17372     private PFN_glVertexArrayVertexAttribBindingEXT _VertexArrayVertexAttribBindingEXT;
17373     private PFN_glVertexArrayVertexBindingDivisorEXT _VertexArrayVertexBindingDivisorEXT;
17374     private PFN_glVertexArrayVertexAttribLOffsetEXT _VertexArrayVertexAttribLOffsetEXT;
17375     private PFN_glTexturePageCommitmentEXT _TexturePageCommitmentEXT;
17376     private PFN_glVertexArrayVertexAttribDivisorEXT _VertexArrayVertexAttribDivisorEXT;
17377 
17378     // GL_EXT_raster_multisample,
17379     private PFN_glRasterSamplesEXT _RasterSamplesEXT;
17380 
17381     // GL_EXT_separate_shader_objects,
17382     private PFN_glUseShaderProgramEXT _UseShaderProgramEXT;
17383     private PFN_glActiveProgramEXT _ActiveProgramEXT;
17384     private PFN_glCreateShaderProgramEXT _CreateShaderProgramEXT;
17385 
17386     // GL_EXT_window_rectangles,
17387     private PFN_glWindowRectanglesEXT _WindowRectanglesEXT;
17388 
17389     // GL_INTEL_framebuffer_CMAA,
17390     private PFN_glApplyFramebufferAttachmentCMAAINTEL _ApplyFramebufferAttachmentCMAAINTEL;
17391 
17392     // GL_INTEL_performance_query,
17393     private PFN_glBeginPerfQueryINTEL _BeginPerfQueryINTEL;
17394     private PFN_glCreatePerfQueryINTEL _CreatePerfQueryINTEL;
17395     private PFN_glDeletePerfQueryINTEL _DeletePerfQueryINTEL;
17396     private PFN_glEndPerfQueryINTEL _EndPerfQueryINTEL;
17397     private PFN_glGetFirstPerfQueryIdINTEL _GetFirstPerfQueryIdINTEL;
17398     private PFN_glGetNextPerfQueryIdINTEL _GetNextPerfQueryIdINTEL;
17399     private PFN_glGetPerfCounterInfoINTEL _GetPerfCounterInfoINTEL;
17400     private PFN_glGetPerfQueryDataINTEL _GetPerfQueryDataINTEL;
17401     private PFN_glGetPerfQueryIdByNameINTEL _GetPerfQueryIdByNameINTEL;
17402     private PFN_glGetPerfQueryInfoINTEL _GetPerfQueryInfoINTEL;
17403 
17404     // GL_NV_bindless_multi_draw_indirect,
17405     private PFN_glMultiDrawArraysIndirectBindlessNV _MultiDrawArraysIndirectBindlessNV;
17406     private PFN_glMultiDrawElementsIndirectBindlessNV _MultiDrawElementsIndirectBindlessNV;
17407 
17408     // GL_NV_bindless_multi_draw_indirect_count,
17409     private PFN_glMultiDrawArraysIndirectBindlessCountNV _MultiDrawArraysIndirectBindlessCountNV;
17410     private PFN_glMultiDrawElementsIndirectBindlessCountNV _MultiDrawElementsIndirectBindlessCountNV;
17411 
17412     // GL_NV_bindless_texture,
17413     private PFN_glGetTextureHandleNV _GetTextureHandleNV;
17414     private PFN_glGetTextureSamplerHandleNV _GetTextureSamplerHandleNV;
17415     private PFN_glMakeTextureHandleResidentNV _MakeTextureHandleResidentNV;
17416     private PFN_glMakeTextureHandleNonResidentNV _MakeTextureHandleNonResidentNV;
17417     private PFN_glGetImageHandleNV _GetImageHandleNV;
17418     private PFN_glMakeImageHandleResidentNV _MakeImageHandleResidentNV;
17419     private PFN_glMakeImageHandleNonResidentNV _MakeImageHandleNonResidentNV;
17420     private PFN_glUniformHandleui64NV _UniformHandleui64NV;
17421     private PFN_glUniformHandleui64vNV _UniformHandleui64vNV;
17422     private PFN_glProgramUniformHandleui64NV _ProgramUniformHandleui64NV;
17423     private PFN_glProgramUniformHandleui64vNV _ProgramUniformHandleui64vNV;
17424     private PFN_glIsTextureHandleResidentNV _IsTextureHandleResidentNV;
17425     private PFN_glIsImageHandleResidentNV _IsImageHandleResidentNV;
17426 
17427     // GL_NV_blend_equation_advanced,
17428     private PFN_glBlendParameteriNV _BlendParameteriNV;
17429     private PFN_glBlendBarrierNV _BlendBarrierNV;
17430 
17431     // GL_NV_clip_space_w_scaling,
17432     private PFN_glViewportPositionWScaleNV _ViewportPositionWScaleNV;
17433 
17434     // GL_NV_command_list,
17435     private PFN_glCreateStatesNV _CreateStatesNV;
17436     private PFN_glDeleteStatesNV _DeleteStatesNV;
17437     private PFN_glIsStateNV _IsStateNV;
17438     private PFN_glStateCaptureNV _StateCaptureNV;
17439     private PFN_glGetCommandHeaderNV _GetCommandHeaderNV;
17440     private PFN_glGetStageIndexNV _GetStageIndexNV;
17441     private PFN_glDrawCommandsNV _DrawCommandsNV;
17442     private PFN_glDrawCommandsAddressNV _DrawCommandsAddressNV;
17443     private PFN_glDrawCommandsStatesNV _DrawCommandsStatesNV;
17444     private PFN_glDrawCommandsStatesAddressNV _DrawCommandsStatesAddressNV;
17445     private PFN_glCreateCommandListsNV _CreateCommandListsNV;
17446     private PFN_glDeleteCommandListsNV _DeleteCommandListsNV;
17447     private PFN_glIsCommandListNV _IsCommandListNV;
17448     private PFN_glListDrawCommandsStatesClientNV _ListDrawCommandsStatesClientNV;
17449     private PFN_glCommandListSegmentsNV _CommandListSegmentsNV;
17450     private PFN_glCompileCommandListNV _CompileCommandListNV;
17451     private PFN_glCallCommandListNV _CallCommandListNV;
17452 
17453     // GL_NV_conservative_raster,
17454     private PFN_glSubpixelPrecisionBiasNV _SubpixelPrecisionBiasNV;
17455 
17456     // GL_NV_conservative_raster_dilate,
17457     private PFN_glConservativeRasterParameterfNV _ConservativeRasterParameterfNV;
17458 
17459     // GL_NV_conservative_raster_pre_snap_triangles,
17460     private PFN_glConservativeRasterParameteriNV _ConservativeRasterParameteriNV;
17461 
17462     // GL_NV_draw_vulkan_image,
17463     private PFN_glDrawVkImageNV _DrawVkImageNV;
17464     private PFN_glGetVkProcAddrNV _GetVkProcAddrNV;
17465     private PFN_glWaitVkSemaphoreNV _WaitVkSemaphoreNV;
17466     private PFN_glSignalVkSemaphoreNV _SignalVkSemaphoreNV;
17467     private PFN_glSignalVkFenceNV _SignalVkFenceNV;
17468 
17469     // GL_NV_fragment_coverage_to_color,
17470     private PFN_glFragmentCoverageColorNV _FragmentCoverageColorNV;
17471 
17472     // GL_NV_framebuffer_mixed_samples,
17473     private PFN_glCoverageModulationTableNV _CoverageModulationTableNV;
17474     private PFN_glGetCoverageModulationTableNV _GetCoverageModulationTableNV;
17475     private PFN_glCoverageModulationNV _CoverageModulationNV;
17476 
17477     // GL_NV_framebuffer_multisample_coverage,
17478     private PFN_glRenderbufferStorageMultisampleCoverageNV _RenderbufferStorageMultisampleCoverageNV;
17479 
17480     // GL_NV_gpu_shader5,
17481     private PFN_glUniform1i64NV _Uniform1i64NV;
17482     private PFN_glUniform2i64NV _Uniform2i64NV;
17483     private PFN_glUniform3i64NV _Uniform3i64NV;
17484     private PFN_glUniform4i64NV _Uniform4i64NV;
17485     private PFN_glUniform1i64vNV _Uniform1i64vNV;
17486     private PFN_glUniform2i64vNV _Uniform2i64vNV;
17487     private PFN_glUniform3i64vNV _Uniform3i64vNV;
17488     private PFN_glUniform4i64vNV _Uniform4i64vNV;
17489     private PFN_glUniform1ui64NV _Uniform1ui64NV;
17490     private PFN_glUniform2ui64NV _Uniform2ui64NV;
17491     private PFN_glUniform3ui64NV _Uniform3ui64NV;
17492     private PFN_glUniform4ui64NV _Uniform4ui64NV;
17493     private PFN_glUniform1ui64vNV _Uniform1ui64vNV;
17494     private PFN_glUniform2ui64vNV _Uniform2ui64vNV;
17495     private PFN_glUniform3ui64vNV _Uniform3ui64vNV;
17496     private PFN_glUniform4ui64vNV _Uniform4ui64vNV;
17497     private PFN_glGetUniformi64vNV _GetUniformi64vNV;
17498     private PFN_glProgramUniform1i64NV _ProgramUniform1i64NV;
17499     private PFN_glProgramUniform2i64NV _ProgramUniform2i64NV;
17500     private PFN_glProgramUniform3i64NV _ProgramUniform3i64NV;
17501     private PFN_glProgramUniform4i64NV _ProgramUniform4i64NV;
17502     private PFN_glProgramUniform1i64vNV _ProgramUniform1i64vNV;
17503     private PFN_glProgramUniform2i64vNV _ProgramUniform2i64vNV;
17504     private PFN_glProgramUniform3i64vNV _ProgramUniform3i64vNV;
17505     private PFN_glProgramUniform4i64vNV _ProgramUniform4i64vNV;
17506     private PFN_glProgramUniform1ui64NV _ProgramUniform1ui64NV;
17507     private PFN_glProgramUniform2ui64NV _ProgramUniform2ui64NV;
17508     private PFN_glProgramUniform3ui64NV _ProgramUniform3ui64NV;
17509     private PFN_glProgramUniform4ui64NV _ProgramUniform4ui64NV;
17510     private PFN_glProgramUniform1ui64vNV _ProgramUniform1ui64vNV;
17511     private PFN_glProgramUniform2ui64vNV _ProgramUniform2ui64vNV;
17512     private PFN_glProgramUniform3ui64vNV _ProgramUniform3ui64vNV;
17513     private PFN_glProgramUniform4ui64vNV _ProgramUniform4ui64vNV;
17514 
17515     // GL_NV_internalformat_sample_query,
17516     private PFN_glGetInternalformatSampleivNV _GetInternalformatSampleivNV;
17517 
17518     // GL_NV_path_rendering,
17519     private PFN_glGenPathsNV _GenPathsNV;
17520     private PFN_glDeletePathsNV _DeletePathsNV;
17521     private PFN_glIsPathNV _IsPathNV;
17522     private PFN_glPathCommandsNV _PathCommandsNV;
17523     private PFN_glPathCoordsNV _PathCoordsNV;
17524     private PFN_glPathSubCommandsNV _PathSubCommandsNV;
17525     private PFN_glPathSubCoordsNV _PathSubCoordsNV;
17526     private PFN_glPathStringNV _PathStringNV;
17527     private PFN_glPathGlyphsNV _PathGlyphsNV;
17528     private PFN_glPathGlyphRangeNV _PathGlyphRangeNV;
17529     private PFN_glWeightPathsNV _WeightPathsNV;
17530     private PFN_glCopyPathNV _CopyPathNV;
17531     private PFN_glInterpolatePathsNV _InterpolatePathsNV;
17532     private PFN_glTransformPathNV _TransformPathNV;
17533     private PFN_glPathParameterivNV _PathParameterivNV;
17534     private PFN_glPathParameteriNV _PathParameteriNV;
17535     private PFN_glPathParameterfvNV _PathParameterfvNV;
17536     private PFN_glPathParameterfNV _PathParameterfNV;
17537     private PFN_glPathDashArrayNV _PathDashArrayNV;
17538     private PFN_glPathStencilFuncNV _PathStencilFuncNV;
17539     private PFN_glPathStencilDepthOffsetNV _PathStencilDepthOffsetNV;
17540     private PFN_glStencilFillPathNV _StencilFillPathNV;
17541     private PFN_glStencilStrokePathNV _StencilStrokePathNV;
17542     private PFN_glStencilFillPathInstancedNV _StencilFillPathInstancedNV;
17543     private PFN_glStencilStrokePathInstancedNV _StencilStrokePathInstancedNV;
17544     private PFN_glPathCoverDepthFuncNV _PathCoverDepthFuncNV;
17545     private PFN_glCoverFillPathNV _CoverFillPathNV;
17546     private PFN_glCoverStrokePathNV _CoverStrokePathNV;
17547     private PFN_glCoverFillPathInstancedNV _CoverFillPathInstancedNV;
17548     private PFN_glCoverStrokePathInstancedNV _CoverStrokePathInstancedNV;
17549     private PFN_glGetPathParameterivNV _GetPathParameterivNV;
17550     private PFN_glGetPathParameterfvNV _GetPathParameterfvNV;
17551     private PFN_glGetPathCommandsNV _GetPathCommandsNV;
17552     private PFN_glGetPathCoordsNV _GetPathCoordsNV;
17553     private PFN_glGetPathDashArrayNV _GetPathDashArrayNV;
17554     private PFN_glGetPathMetricsNV _GetPathMetricsNV;
17555     private PFN_glGetPathMetricRangeNV _GetPathMetricRangeNV;
17556     private PFN_glGetPathSpacingNV _GetPathSpacingNV;
17557     private PFN_glIsPointInFillPathNV _IsPointInFillPathNV;
17558     private PFN_glIsPointInStrokePathNV _IsPointInStrokePathNV;
17559     private PFN_glGetPathLengthNV _GetPathLengthNV;
17560     private PFN_glPointAlongPathNV _PointAlongPathNV;
17561     private PFN_glMatrixLoad3x2fNV _MatrixLoad3x2fNV;
17562     private PFN_glMatrixLoad3x3fNV _MatrixLoad3x3fNV;
17563     private PFN_glMatrixLoadTranspose3x3fNV _MatrixLoadTranspose3x3fNV;
17564     private PFN_glMatrixMult3x2fNV _MatrixMult3x2fNV;
17565     private PFN_glMatrixMult3x3fNV _MatrixMult3x3fNV;
17566     private PFN_glMatrixMultTranspose3x3fNV _MatrixMultTranspose3x3fNV;
17567     private PFN_glStencilThenCoverFillPathNV _StencilThenCoverFillPathNV;
17568     private PFN_glStencilThenCoverStrokePathNV _StencilThenCoverStrokePathNV;
17569     private PFN_glStencilThenCoverFillPathInstancedNV _StencilThenCoverFillPathInstancedNV;
17570     private PFN_glStencilThenCoverStrokePathInstancedNV _StencilThenCoverStrokePathInstancedNV;
17571     private PFN_glPathGlyphIndexRangeNV _PathGlyphIndexRangeNV;
17572     private PFN_glPathGlyphIndexArrayNV _PathGlyphIndexArrayNV;
17573     private PFN_glPathMemoryGlyphIndexArrayNV _PathMemoryGlyphIndexArrayNV;
17574     private PFN_glProgramPathFragmentInputGenNV _ProgramPathFragmentInputGenNV;
17575     private PFN_glGetProgramResourcefvNV _GetProgramResourcefvNV;
17576 
17577     // GL_NV_sample_locations,
17578     private PFN_glFramebufferSampleLocationsfvNV _FramebufferSampleLocationsfvNV;
17579     private PFN_glNamedFramebufferSampleLocationsfvNV _NamedFramebufferSampleLocationsfvNV;
17580     private PFN_glResolveDepthValuesNV _ResolveDepthValuesNV;
17581 
17582     // GL_NV_shader_buffer_load,
17583     private PFN_glMakeBufferResidentNV _MakeBufferResidentNV;
17584     private PFN_glMakeBufferNonResidentNV _MakeBufferNonResidentNV;
17585     private PFN_glIsBufferResidentNV _IsBufferResidentNV;
17586     private PFN_glMakeNamedBufferResidentNV _MakeNamedBufferResidentNV;
17587     private PFN_glMakeNamedBufferNonResidentNV _MakeNamedBufferNonResidentNV;
17588     private PFN_glIsNamedBufferResidentNV _IsNamedBufferResidentNV;
17589     private PFN_glGetBufferParameterui64vNV _GetBufferParameterui64vNV;
17590     private PFN_glGetNamedBufferParameterui64vNV _GetNamedBufferParameterui64vNV;
17591     private PFN_glGetIntegerui64vNV _GetIntegerui64vNV;
17592     private PFN_glUniformui64NV _Uniformui64NV;
17593     private PFN_glUniformui64vNV _Uniformui64vNV;
17594     private PFN_glGetUniformui64vNV _GetUniformui64vNV;
17595     private PFN_glProgramUniformui64NV _ProgramUniformui64NV;
17596     private PFN_glProgramUniformui64vNV _ProgramUniformui64vNV;
17597 
17598     // GL_NV_texture_barrier,
17599     private PFN_glTextureBarrierNV _TextureBarrierNV;
17600 
17601     // GL_NV_vertex_attrib_integer_64bit,
17602     private PFN_glVertexAttribL1i64NV _VertexAttribL1i64NV;
17603     private PFN_glVertexAttribL2i64NV _VertexAttribL2i64NV;
17604     private PFN_glVertexAttribL3i64NV _VertexAttribL3i64NV;
17605     private PFN_glVertexAttribL4i64NV _VertexAttribL4i64NV;
17606     private PFN_glVertexAttribL1i64vNV _VertexAttribL1i64vNV;
17607     private PFN_glVertexAttribL2i64vNV _VertexAttribL2i64vNV;
17608     private PFN_glVertexAttribL3i64vNV _VertexAttribL3i64vNV;
17609     private PFN_glVertexAttribL4i64vNV _VertexAttribL4i64vNV;
17610     private PFN_glVertexAttribL1ui64NV _VertexAttribL1ui64NV;
17611     private PFN_glVertexAttribL2ui64NV _VertexAttribL2ui64NV;
17612     private PFN_glVertexAttribL3ui64NV _VertexAttribL3ui64NV;
17613     private PFN_glVertexAttribL4ui64NV _VertexAttribL4ui64NV;
17614     private PFN_glVertexAttribL1ui64vNV _VertexAttribL1ui64vNV;
17615     private PFN_glVertexAttribL2ui64vNV _VertexAttribL2ui64vNV;
17616     private PFN_glVertexAttribL3ui64vNV _VertexAttribL3ui64vNV;
17617     private PFN_glVertexAttribL4ui64vNV _VertexAttribL4ui64vNV;
17618     private PFN_glGetVertexAttribLi64vNV _GetVertexAttribLi64vNV;
17619     private PFN_glGetVertexAttribLui64vNV _GetVertexAttribLui64vNV;
17620     private PFN_glVertexAttribLFormatNV _VertexAttribLFormatNV;
17621 
17622     // GL_NV_vertex_buffer_unified_memory,
17623     private PFN_glBufferAddressRangeNV _BufferAddressRangeNV;
17624     private PFN_glVertexFormatNV _VertexFormatNV;
17625     private PFN_glNormalFormatNV _NormalFormatNV;
17626     private PFN_glColorFormatNV _ColorFormatNV;
17627     private PFN_glIndexFormatNV _IndexFormatNV;
17628     private PFN_glTexCoordFormatNV _TexCoordFormatNV;
17629     private PFN_glEdgeFlagFormatNV _EdgeFlagFormatNV;
17630     private PFN_glSecondaryColorFormatNV _SecondaryColorFormatNV;
17631     private PFN_glFogCoordFormatNV _FogCoordFormatNV;
17632     private PFN_glVertexAttribFormatNV _VertexAttribFormatNV;
17633     private PFN_glVertexAttribIFormatNV _VertexAttribIFormatNV;
17634     private PFN_glGetIntegerui64i_vNV _GetIntegerui64i_vNV;
17635 
17636     // GL_NV_viewport_swizzle,
17637     private PFN_glViewportSwizzleNV _ViewportSwizzleNV;
17638 
17639     // GL_OVR_multiview,
17640     private PFN_glFramebufferTextureMultiviewOVR _FramebufferTextureMultiviewOVR;
17641 }