1 { ============================================================================
3 OpenGL 4.5 - Headertranslation
6 Supported environments and targets :
7 - (Linux) FreePascal (1.9.3 and up)
9 ==============================================================================
11 Copyright (C) DGL-OpenGL-Portteam
15 - Delphi OpenGL Community(DGL) - www.delphigl.com
17 Converted and maintained by DGL's OpenGL-Portteam :
18 - Bergmann89 - http://www.bergmann89.de
20 ==============================================================================
22 You may retrieve the latest version of this file at the Delphi OpenGL
23 Community home page, located at http://www.delphigl.com/
25 The contents of this file are used with permission, subject to
26 the Mozilla Public License Version 1.1 (the "License"); you may
27 not use this file except in compliance with the License. You may
28 obtain a copy of the License at
29 http://www.mozilla.org/MPL/MPL-1.1.html
31 Software distributed under the License is distributed on an
32 "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
33 implied. See the License for the specific language governing
34 rights and limitations under the License.
36 ============================================================================== }
47 {$IFDEF linux} // Linux
51 //check if system is supported and set system dependent constants
57 LIBNAME_OPENGLES = 'libGLESv2.so';
58 LIBNAME_EGL = 'libEGL.so';
61 {$ERROR 'unknown/unsupported system'}
65 { ================================================== OpenGL Es ======================================================= }
79 GLbitfield = Cardinal;
86 PGLclampf = ^GLclampf;
89 PGLushort = ^GLushort;
93 PGLuint64 = ^GLuint64;
98 PGLbitfield = ^GLbitfield;
100 PGLboolean = ^GLboolean;
110 GL_DEPTH_BUFFER_BIT = $00000100;
111 GL_STENCIL_BUFFER_BIT = $00000400;
112 GL_COLOR_BUFFER_BIT = $00004000;
117 GL_LINE_LOOP = $0002;
118 GL_LINE_STRIP = $0003;
119 GL_TRIANGLES = $0004;
120 GL_TRIANGLE_STRIP = $0005;
121 GL_TRIANGLE_FAN = $0006;
124 GL_SRC_COLOR = $0300;
125 GL_ONE_MINUS_SRC_COLOR = $0301;
126 GL_SRC_ALPHA = $0302;
127 GL_ONE_MINUS_SRC_ALPHA = $0303;
128 GL_DST_ALPHA = $0304;
129 GL_ONE_MINUS_DST_ALPHA = $0305;
130 GL_DST_COLOR = $0306;
131 GL_ONE_MINUS_DST_COLOR = $0307;
132 GL_SRC_ALPHA_SATURATE = $0308;
134 GL_BLEND_EQUATION = $8009;
135 GL_BLEND_EQUATION_RGB = $8009;
136 GL_BLEND_EQUATION_ALPHA = $883D;
137 GL_FUNC_SUBTRACT = $800A;
138 GL_FUNC_REVERSE_SUBTRACT = $800B;
139 GL_BLEND_DST_RGB = $80C8;
140 GL_BLEND_SRC_RGB = $80C9;
141 GL_BLEND_DST_ALPHA = $80CA;
142 GL_BLEND_SRC_ALPHA = $80CB;
143 GL_CONSTANT_COLOR = $8001;
144 GL_ONE_MINUS_CONSTANT_COLOR = $8002;
145 GL_CONSTANT_ALPHA = $8003;
146 GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
147 GL_BLEND_COLOR = $8005;
148 GL_ARRAY_BUFFER = $8892;
149 GL_ELEMENT_ARRAY_BUFFER = $8893;
150 GL_ARRAY_BUFFER_BINDING = $8894;
151 GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
152 GL_STREAM_DRAW = $88E0;
153 GL_STATIC_DRAW = $88E4;
154 GL_DYNAMIC_DRAW = $88E8;
155 GL_BUFFER_SIZE = $8764;
156 GL_BUFFER_USAGE = $8765;
157 GL_CURRENT_VERTEX_ATTRIB = $8626;
160 GL_FRONT_AND_BACK = $0408;
161 GL_TEXTURE_2D = $0DE1;
162 GL_CULL_FACE = $0B44;
165 GL_STENCIL_TEST = $0B90;
166 GL_DEPTH_TEST = $0B71;
167 GL_SCISSOR_TEST = $0C11;
168 GL_POLYGON_OFFSET_FILL = $8037;
169 GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
170 GL_SAMPLE_COVERAGE = $80A0;
172 GL_INVALID_ENUM = $0500;
173 GL_INVALID_VALUE = $0501;
174 GL_INVALID_OPERATION = $0502;
175 GL_OUT_OF_MEMORY = $0505;
178 GL_LINE_WIDTH = $0B21;
179 GL_ALIASED_POINT_SIZE_RANGE = $846D;
180 GL_ALIASED_LINE_WIDTH_RANGE = $846E;
181 GL_CULL_FACE_MODE = $0B45;
182 GL_FRONT_FACE = $0B46;
183 GL_DEPTH_RANGE = $0B70;
184 GL_DEPTH_WRITEMASK = $0B72;
185 GL_DEPTH_CLEAR_VALUE = $0B73;
186 GL_DEPTH_FUNC = $0B74;
187 GL_STENCIL_CLEAR_VALUE = $0B91;
188 GL_STENCIL_FUNC = $0B92;
189 GL_STENCIL_FAIL = $0B94;
190 GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
191 GL_STENCIL_PASS_DEPTH_PASS = $0B96;
192 GL_STENCIL_REF = $0B97;
193 GL_STENCIL_VALUE_MASK = $0B93;
194 GL_STENCIL_WRITEMASK = $0B98;
195 GL_STENCIL_BACK_FUNC = $8800;
196 GL_STENCIL_BACK_FAIL = $8801;
197 GL_STENCIL_BACK_PASS_DEPTH_FAIL = $8802;
198 GL_STENCIL_BACK_PASS_DEPTH_PASS = $8803;
199 GL_STENCIL_BACK_REF = $8CA3;
200 GL_STENCIL_BACK_VALUE_MASK = $8CA4;
201 GL_STENCIL_BACK_WRITEMASK = $8CA5;
203 GL_SCISSOR_BOX = $0C10;
204 GL_COLOR_CLEAR_VALUE = $0C22;
205 GL_COLOR_WRITEMASK = $0C23;
206 GL_UNPACK_ALIGNMENT = $0CF5;
207 GL_PACK_ALIGNMENT = $0D05;
208 GL_MAX_TEXTURE_SIZE = $0D33;
209 GL_MAX_VIEWPORT_DIMS = $0D3A;
210 GL_SUBPIXEL_BITS = $0D50;
212 GL_GREEN_BITS = $0D53;
213 GL_BLUE_BITS = $0D54;
214 GL_ALPHA_BITS = $0D55;
215 GL_DEPTH_BITS = $0D56;
216 GL_STENCIL_BITS = $0D57;
217 GL_POLYGON_OFFSET_UNITS = $2A00;
218 GL_POLYGON_OFFSET_FACTOR = $8038;
219 GL_TEXTURE_BINDING_2D = $8069;
220 GL_SAMPLE_BUFFERS = $80A8;
222 GL_SAMPLE_COVERAGE_VALUE = $80AA;
223 GL_SAMPLE_COVERAGE_INVERT = $80AB;
224 GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
225 GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
226 GL_DONT_CARE = $1100;
229 GL_GENERATE_MIPMAP_HINT = $8192;
231 GL_UNSIGNED_BYTE = $1401;
233 GL_UNSIGNED_SHORT = $1403;
235 GL_UNSIGNED_INT = $1405;
238 GL_DEPTH_COMPONENT = $1902;
242 GL_LUMINANCE = $1909;
243 GL_LUMINANCE_ALPHA = $190A;
244 GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
245 GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
246 GL_UNSIGNED_SHORT_5_6_5 = $8363;
247 GL_FRAGMENT_SHADER = $8B30;
248 GL_VERTEX_SHADER = $8B31;
249 GL_MAX_VERTEX_ATTRIBS = $8869;
250 GL_MAX_VERTEX_UNIFORM_VECTORS = $8DFB;
251 GL_MAX_VARYING_VECTORS = $8DFC;
252 GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = $8B4D;
253 GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = $8B4C;
254 GL_MAX_TEXTURE_IMAGE_UNITS = $8872;
255 GL_MAX_FRAGMENT_UNIFORM_VECTORS = $8DFD;
256 GL_SHADER_TYPE = $8B4F;
257 GL_DELETE_STATUS = $8B80;
258 GL_LINK_STATUS = $8B82;
259 GL_VALIDATE_STATUS = $8B83;
260 GL_ATTACHED_SHADERS = $8B85;
261 GL_ACTIVE_UNIFORMS = $8B86;
262 GL_ACTIVE_UNIFORM_MAX_LENGTH = $8B87;
263 GL_ACTIVE_ATTRIBUTES = $8B89;
264 GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = $8B8A;
265 GL_SHADING_LANGUAGE_VERSION = $8B8C;
266 GL_CURRENT_PROGRAM = $8B8D;
280 GL_INCR_WRAP = $8507;
281 GL_DECR_WRAP = $8508;
285 GL_EXTENSIONS = $1F03;
288 GL_NEAREST_MIPMAP_NEAREST = $2700;
289 GL_LINEAR_MIPMAP_NEAREST = $2701;
290 GL_NEAREST_MIPMAP_LINEAR = $2702;
291 GL_LINEAR_MIPMAP_LINEAR = $2703;
292 GL_TEXTURE_MAG_FILTER = $2800;
293 GL_TEXTURE_MIN_FILTER = $2801;
294 GL_TEXTURE_WRAP_S = $2802;
295 GL_TEXTURE_WRAP_T = $2803;
297 GL_TEXTURE_CUBE_MAP = $8513;
298 GL_TEXTURE_BINDING_CUBE_MAP = $8514;
299 GL_TEXTURE_CUBE_MAP_POSITIVE_X = $8515;
300 GL_TEXTURE_CUBE_MAP_NEGATIVE_X = $8516;
301 GL_TEXTURE_CUBE_MAP_POSITIVE_Y = $8517;
302 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518;
303 GL_TEXTURE_CUBE_MAP_POSITIVE_Z = $8519;
304 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A;
305 GL_MAX_CUBE_MAP_TEXTURE_SIZE = $851C;
316 GL_TEXTURE10 = $84CA;
317 GL_TEXTURE11 = $84CB;
318 GL_TEXTURE12 = $84CC;
319 GL_TEXTURE13 = $84CD;
320 GL_TEXTURE14 = $84CE;
321 GL_TEXTURE15 = $84CF;
322 GL_TEXTURE16 = $84D0;
323 GL_TEXTURE17 = $84D1;
324 GL_TEXTURE18 = $84D2;
325 GL_TEXTURE19 = $84D3;
326 GL_TEXTURE20 = $84D4;
327 GL_TEXTURE21 = $84D5;
328 GL_TEXTURE22 = $84D6;
329 GL_TEXTURE23 = $84D7;
330 GL_TEXTURE24 = $84D8;
331 GL_TEXTURE25 = $84D9;
332 GL_TEXTURE26 = $84DA;
333 GL_TEXTURE27 = $84DB;
334 GL_TEXTURE28 = $84DC;
335 GL_TEXTURE29 = $84DD;
336 GL_TEXTURE30 = $84DE;
337 GL_TEXTURE31 = $84DF;
338 GL_ACTIVE_TEXTURE = $84E0;
340 GL_CLAMP_TO_EDGE = $812F;
341 GL_MIRRORED_REPEAT = $8370;
342 GL_FLOAT_VEC2 = $8B50;
343 GL_FLOAT_VEC3 = $8B51;
344 GL_FLOAT_VEC4 = $8B52;
349 GL_BOOL_VEC2 = $8B57;
350 GL_BOOL_VEC3 = $8B58;
351 GL_BOOL_VEC4 = $8B59;
352 GL_FLOAT_MAT2 = $8B5A;
353 GL_FLOAT_MAT3 = $8B5B;
354 GL_FLOAT_MAT4 = $8B5C;
355 GL_SAMPLER_2D = $8B5E;
356 GL_SAMPLER_CUBE = $8B60;
357 GL_VERTEX_ATTRIB_ARRAY_ENABLED = $8622;
358 GL_VERTEX_ATTRIB_ARRAY_SIZE = $8623;
359 GL_VERTEX_ATTRIB_ARRAY_STRIDE = $8624;
360 GL_VERTEX_ATTRIB_ARRAY_TYPE = $8625;
361 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = $886A;
362 GL_VERTEX_ATTRIB_ARRAY_POINTER = $8645;
363 GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = $889F;
364 GL_IMPLEMENTATION_COLOR_READ_TYPE = $8B9A;
365 GL_IMPLEMENTATION_COLOR_READ_FORMAT = $8B9B;
366 GL_COMPILE_STATUS = $8B81;
367 GL_INFO_LOG_LENGTH = $8B84;
368 GL_SHADER_SOURCE_LENGTH = $8B88;
369 GL_SHADER_COMPILER = $8DFA;
370 GL_SHADER_BINARY_FORMATS = $8DF8;
371 GL_NUM_SHADER_BINARY_FORMATS = $8DF9;
372 GL_LOW_FLOAT = $8DF0;
373 GL_MEDIUM_FLOAT = $8DF1;
374 GL_HIGH_FLOAT = $8DF2;
376 GL_MEDIUM_INT = $8DF4;
378 GL_FRAMEBUFFER = $8D40;
379 GL_RENDERBUFFER = $8D41;
383 GL_DEPTH_COMPONENT16 = $81A5;
384 GL_STENCIL_INDEX8 = $8D48;
385 GL_RENDERBUFFER_WIDTH = $8D42;
386 GL_RENDERBUFFER_HEIGHT = $8D43;
387 GL_RENDERBUFFER_INTERNAL_FORMAT = $8D44;
388 GL_RENDERBUFFER_RED_SIZE = $8D50;
389 GL_RENDERBUFFER_GREEN_SIZE = $8D51;
390 GL_RENDERBUFFER_BLUE_SIZE = $8D52;
391 GL_RENDERBUFFER_ALPHA_SIZE = $8D53;
392 GL_RENDERBUFFER_DEPTH_SIZE = $8D54;
393 GL_RENDERBUFFER_STENCIL_SIZE = $8D55;
394 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = $8CD0;
395 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = $8CD1;
396 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = $8CD2;
397 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = $8CD3;
398 GL_COLOR_ATTACHMENT0 = $8CE0;
399 GL_DEPTH_ATTACHMENT = $8D00;
400 GL_STENCIL_ATTACHMENT = $8D20;
402 GL_FRAMEBUFFER_COMPLETE = $8CD5;
403 GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = $8CD6;
404 GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = $8CD7;
405 GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = $8CD9;
406 GL_FRAMEBUFFER_UNSUPPORTED = $8CDD;
407 GL_FRAMEBUFFER_BINDING = $8CA6;
408 GL_RENDERBUFFER_BINDING = $8CA7;
409 GL_MAX_RENDERBUFFER_SIZE = $84E8;
410 GL_INVALID_FRAMEBUFFER_OPERATION = $0506;
413 GL_READ_BUFFER = $0C02;
414 GL_UNPACK_ROW_LENGTH = $0CF2;
415 GL_UNPACK_SKIP_ROWS = $0CF3;
416 GL_UNPACK_SKIP_PIXELS = $0CF4;
417 GL_PACK_ROW_LENGTH = $0D02;
418 GL_PACK_SKIP_ROWS = $0D03;
419 GL_PACK_SKIP_PIXELS = $0D04;
427 GL_TEXTURE_BINDING_3D = $806A;
428 GL_UNPACK_SKIP_IMAGES = $806D;
429 GL_UNPACK_IMAGE_HEIGHT = $806E;
430 GL_TEXTURE_3D = $806F;
431 GL_TEXTURE_WRAP_R = $8072;
432 GL_MAX_3D_TEXTURE_SIZE = $8073;
433 GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
434 GL_MAX_ELEMENTS_VERTICES = $80E8;
435 GL_MAX_ELEMENTS_INDICES = $80E9;
436 GL_TEXTURE_MIN_LOD = $813A;
437 GL_TEXTURE_MAX_LOD = $813B;
438 GL_TEXTURE_BASE_LEVEL = $813C;
439 GL_TEXTURE_MAX_LEVEL = $813D;
442 GL_DEPTH_COMPONENT24 = $81A6;
443 GL_MAX_TEXTURE_LOD_BIAS = $84FD;
444 GL_TEXTURE_COMPARE_MODE = $884C;
445 GL_TEXTURE_COMPARE_FUNC = $884D;
446 GL_CURRENT_QUERY = $8865;
447 GL_QUERY_RESULT = $8866;
448 GL_QUERY_RESULT_AVAILABLE = $8867;
449 GL_BUFFER_MAPPED = $88BC;
450 GL_BUFFER_MAP_POINTER = $88BD;
451 GL_STREAM_READ = $88E1;
452 GL_STREAM_COPY = $88E2;
453 GL_STATIC_READ = $88E5;
454 GL_STATIC_COPY = $88E6;
455 GL_DYNAMIC_READ = $88E9;
456 GL_DYNAMIC_COPY = $88EA;
457 GL_MAX_DRAW_BUFFERS = $8824;
458 GL_DRAW_BUFFER0 = $8825;
459 GL_DRAW_BUFFER1 = $8826;
460 GL_DRAW_BUFFER2 = $8827;
461 GL_DRAW_BUFFER3 = $8828;
462 GL_DRAW_BUFFER4 = $8829;
463 GL_DRAW_BUFFER5 = $882A;
464 GL_DRAW_BUFFER6 = $882B;
465 GL_DRAW_BUFFER7 = $882C;
466 GL_DRAW_BUFFER8 = $882D;
467 GL_DRAW_BUFFER9 = $882E;
468 GL_DRAW_BUFFER10 = $882F;
469 GL_DRAW_BUFFER11 = $8830;
470 GL_DRAW_BUFFER12 = $8831;
471 GL_DRAW_BUFFER13 = $8832;
472 GL_DRAW_BUFFER14 = $8833;
473 GL_DRAW_BUFFER15 = $8834;
474 GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = $8B49;
475 GL_MAX_VERTEX_UNIFORM_COMPONENTS = $8B4A;
476 GL_SAMPLER_3D = $8B5F;
477 GL_SAMPLER_2D_SHADOW = $8B62;
478 GL_FRAGMENT_SHADER_DERIVATIVE_HINT = $8B8B;
479 GL_PIXEL_PACK_BUFFER = $88EB;
480 GL_PIXEL_UNPACK_BUFFER = $88EC;
481 GL_PIXEL_PACK_BUFFER_BINDING = $88ED;
482 GL_PIXEL_UNPACK_BUFFER_BINDING = $88EF;
483 GL_FLOAT_MAT2x3 = $8B65;
484 GL_FLOAT_MAT2x4 = $8B66;
485 GL_FLOAT_MAT3x2 = $8B67;
486 GL_FLOAT_MAT3x4 = $8B68;
487 GL_FLOAT_MAT4x2 = $8B69;
488 GL_FLOAT_MAT4x3 = $8B6A;
491 GL_SRGB8_ALPHA8 = $8C43;
492 GL_COMPARE_REF_TO_TEXTURE = $884E;
493 GL_MAJOR_VERSION = $821B;
494 GL_MINOR_VERSION = $821C;
495 GL_NUM_EXTENSIONS = $821D;
500 GL_VERTEX_ATTRIB_ARRAY_INTEGER = $88FD;
501 GL_MAX_ARRAY_TEXTURE_LAYERS = $88FF;
502 GL_MIN_PROGRAM_TEXEL_OFFSET = $8904;
503 GL_MAX_PROGRAM_TEXEL_OFFSET = $8905;
504 GL_MAX_VARYING_COMPONENTS = $8B4B;
505 GL_TEXTURE_2D_ARRAY = $8C1A;
506 GL_TEXTURE_BINDING_2D_ARRAY = $8C1D;
507 GL_R11F_G11F_B10F = $8C3A;
508 GL_UNSIGNED_INT_10F_11F_11F_REV = $8C3B;
510 GL_UNSIGNED_INT_5_9_9_9_REV = $8C3E;
511 GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = $8C76;
512 GL_TRANSFORM_FEEDBACK_BUFFER_MODE = $8C7F;
513 GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = $8C80;
514 GL_TRANSFORM_FEEDBACK_VARYINGS = $8C83;
515 GL_TRANSFORM_FEEDBACK_BUFFER_START = $8C84;
516 GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = $8C85;
517 GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = $8C88;
518 GL_RASTERIZER_DISCARD = $8C89;
519 GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = $8C8A;
520 GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = $8C8B;
521 GL_INTERLEAVED_ATTRIBS = $8C8C;
522 GL_SEPARATE_ATTRIBS = $8C8D;
523 GL_TRANSFORM_FEEDBACK_BUFFER = $8C8E;
524 GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = $8C8F;
537 GL_RED_INTEGER = $8D94;
538 GL_RGB_INTEGER = $8D98;
539 GL_RGBA_INTEGER = $8D99;
540 GL_SAMPLER_2D_ARRAY = $8DC1;
541 GL_SAMPLER_2D_ARRAY_SHADOW = $8DC4;
542 GL_SAMPLER_CUBE_SHADOW = $8DC5;
543 GL_UNSIGNED_INT_VEC2 = $8DC6;
544 GL_UNSIGNED_INT_VEC3 = $8DC7;
545 GL_UNSIGNED_INT_VEC4 = $8DC8;
546 GL_INT_SAMPLER_2D = $8DCA;
547 GL_INT_SAMPLER_3D = $8DCB;
548 GL_INT_SAMPLER_CUBE = $8DCC;
549 GL_INT_SAMPLER_2D_ARRAY = $8DCF;
550 GL_UNSIGNED_INT_SAMPLER_2D = $8DD2;
551 GL_UNSIGNED_INT_SAMPLER_3D = $8DD3;
552 GL_UNSIGNED_INT_SAMPLER_CUBE = $8DD4;
553 GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = $8DD7;
554 GL_BUFFER_ACCESS_FLAGS = $911F;
555 GL_BUFFER_MAP_LENGTH = $9120;
556 GL_BUFFER_MAP_OFFSET = $9121;
557 GL_DEPTH_COMPONENT32F = $8CAC;
558 GL_DEPTH32F_STENCIL8 = $8CAD;
559 GL_FLOAT_32_UNSIGNED_INT_24_8_REV = $8DAD;
560 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = $8210;
561 GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = $8211;
562 GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = $8212;
563 GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = $8213;
564 GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = $8214;
565 GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = $8215;
566 GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = $8216;
567 GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = $8217;
568 GL_FRAMEBUFFER_DEFAULT = $8218;
569 GL_FRAMEBUFFER_UNDEFINED = $8219;
570 GL_DEPTH_STENCIL_ATTACHMENT = $821A;
571 GL_DEPTH_STENCIL = $84F9;
572 GL_UNSIGNED_INT_24_8 = $84FA;
573 GL_DEPTH24_STENCIL8 = $88F0;
574 GL_UNSIGNED_NORMALIZED = $8C17;
575 GL_DRAW_FRAMEBUFFER_BINDING = $8CA6;
576 GL_READ_FRAMEBUFFER = $8CA8;
577 GL_DRAW_FRAMEBUFFER = $8CA9;
578 GL_READ_FRAMEBUFFER_BINDING = $8CAA;
579 GL_RENDERBUFFER_SAMPLES = $8CAB;
580 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = $8CD4;
581 GL_MAX_COLOR_ATTACHMENTS = $8CDF;
582 GL_COLOR_ATTACHMENT1 = $8CE1;
583 GL_COLOR_ATTACHMENT2 = $8CE2;
584 GL_COLOR_ATTACHMENT3 = $8CE3;
585 GL_COLOR_ATTACHMENT4 = $8CE4;
586 GL_COLOR_ATTACHMENT5 = $8CE5;
587 GL_COLOR_ATTACHMENT6 = $8CE6;
588 GL_COLOR_ATTACHMENT7 = $8CE7;
589 GL_COLOR_ATTACHMENT8 = $8CE8;
590 GL_COLOR_ATTACHMENT9 = $8CE9;
591 GL_COLOR_ATTACHMENT10 = $8CEA;
592 GL_COLOR_ATTACHMENT11 = $8CEB;
593 GL_COLOR_ATTACHMENT12 = $8CEC;
594 GL_COLOR_ATTACHMENT13 = $8CED;
595 GL_COLOR_ATTACHMENT14 = $8CEE;
596 GL_COLOR_ATTACHMENT15 = $8CEF;
597 GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = $8D56;
598 GL_MAX_SAMPLES = $8D57;
599 GL_HALF_FLOAT = $140B;
600 GL_MAP_READ_BIT = $0001;
601 GL_MAP_WRITE_BIT = $0002;
602 GL_MAP_INVALIDATE_RANGE_BIT = $0004;
603 GL_MAP_INVALIDATE_BUFFER_BIT = $0008;
604 GL_MAP_FLUSH_EXPLICIT_BIT = $0010;
605 GL_MAP_UNSYNCHRONIZED_BIT = $0020;
607 GL_RG_INTEGER = $8228;
626 GL_VERTEX_ARRAY_BINDING = $85B5;
628 GL_RG8_SNORM = $8F95;
629 GL_RGB8_SNORM = $8F96;
630 GL_RGBA8_SNORM = $8F97;
631 GL_SIGNED_NORMALIZED = $8F9C;
632 GL_PRIMITIVE_RESTART_FIXED_INDEX = $8D69;
633 GL_COPY_READ_BUFFER = $8F36;
634 GL_COPY_WRITE_BUFFER = $8F37;
635 GL_COPY_READ_BUFFER_BINDING = $8F36;
636 GL_COPY_WRITE_BUFFER_BINDING = $8F37;
637 GL_UNIFORM_BUFFER = $8A11;
638 GL_UNIFORM_BUFFER_BINDING = $8A28;
639 GL_UNIFORM_BUFFER_START = $8A29;
640 GL_UNIFORM_BUFFER_SIZE = $8A2A;
641 GL_MAX_VERTEX_UNIFORM_BLOCKS = $8A2B;
642 GL_MAX_FRAGMENT_UNIFORM_BLOCKS = $8A2D;
643 GL_MAX_COMBINED_UNIFORM_BLOCKS = $8A2E;
644 GL_MAX_UNIFORM_BUFFER_BINDINGS = $8A2F;
645 GL_MAX_UNIFORM_BLOCK_SIZE = $8A30;
646 GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = $8A31;
647 GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = $8A33;
648 GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = $8A34;
649 GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = $8A35;
650 GL_ACTIVE_UNIFORM_BLOCKS = $8A36;
651 GL_UNIFORM_TYPE = $8A37;
652 GL_UNIFORM_SIZE = $8A38;
653 GL_UNIFORM_NAME_LENGTH = $8A39;
654 GL_UNIFORM_BLOCK_INDEX = $8A3A;
655 GL_UNIFORM_OFFSET = $8A3B;
656 GL_UNIFORM_ARRAY_STRIDE = $8A3C;
657 GL_UNIFORM_MATRIX_STRIDE = $8A3D;
658 GL_UNIFORM_IS_ROW_MAJOR = $8A3E;
659 GL_UNIFORM_BLOCK_BINDING = $8A3F;
660 GL_UNIFORM_BLOCK_DATA_SIZE = $8A40;
661 GL_UNIFORM_BLOCK_NAME_LENGTH = $8A41;
662 GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = $8A42;
663 GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = $8A43;
664 GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = $8A44;
665 GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = $8A46;
666 GL_INVALID_INDEX = $FFFFFFFF;
667 GL_MAX_VERTEX_OUTPUT_COMPONENTS = $9122;
668 GL_MAX_FRAGMENT_INPUT_COMPONENTS = $9125;
669 GL_MAX_SERVER_WAIT_TIMEOUT = $9111;
670 GL_OBJECT_TYPE = $9112;
671 GL_SYNC_CONDITION = $9113;
672 GL_SYNC_STATUS = $9114;
673 GL_SYNC_FLAGS = $9115;
674 GL_SYNC_FENCE = $9116;
675 GL_SYNC_GPU_COMMANDS_COMPLETE = $9117;
676 GL_UNSIGNALED = $9118;
678 GL_ALREADY_SIGNALED = $911A;
679 GL_TIMEOUT_EXPIRED = $911B;
680 GL_CONDITION_SATISFIED = $911C;
681 GL_WAIT_FAILED = $911D;
682 GL_SYNC_FLUSH_COMMANDS_BIT = $00000001;
683 GL_TIMEOUT_IGNORED = $FFFFFFFFFFFFFFFF;
684 GL_VERTEX_ATTRIB_ARRAY_DIVISOR = $88FE;
685 GL_ANY_SAMPLES_PASSED = $8C2F;
686 GL_ANY_SAMPLES_PASSED_CONSERVATIVE = $8D6A;
687 GL_SAMPLER_BINDING = $8919;
688 GL_RGB10_A2UI = $906F;
689 GL_TEXTURE_SWIZZLE_R = $8E42;
690 GL_TEXTURE_SWIZZLE_G = $8E43;
691 GL_TEXTURE_SWIZZLE_B = $8E44;
692 GL_TEXTURE_SWIZZLE_A = $8E45;
695 GL_INT_2_10_10_10_REV = $8D9F;
696 GL_TRANSFORM_FEEDBACK = $8E22;
697 GL_TRANSFORM_FEEDBACK_PAUSED = $8E23;
698 GL_TRANSFORM_FEEDBACK_ACTIVE = $8E24;
699 GL_TRANSFORM_FEEDBACK_BINDING = $8E25;
700 GL_PROGRAM_BINARY_RETRIEVABLE_HINT = $8257;
701 GL_PROGRAM_BINARY_LENGTH = $8741;
702 GL_NUM_PROGRAM_BINARY_FORMATS = $87FE;
703 GL_PROGRAM_BINARY_FORMATS = $87FF;
704 GL_COMPRESSED_R11_EAC = $9270;
705 GL_COMPRESSED_SIGNED_R11_EAC = $9271;
706 GL_COMPRESSED_RG11_EAC = $9272;
707 GL_COMPRESSED_SIGNED_RG11_EAC = $9273;
708 GL_COMPRESSED_RGB8_ETC2 = $9274;
709 GL_COMPRESSED_SRGB8_ETC2 = $9275;
710 GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9276;
711 GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = $9277;
712 GL_COMPRESSED_RGBA8_ETC2_EAC = $9278;
713 GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = $9279;
714 GL_TEXTURE_IMMUTABLE_FORMAT = $912F;
715 GL_MAX_ELEMENT_INDEX = $8D6B;
716 GL_NUM_SAMPLE_COUNTS = $9380;
717 GL_TEXTURE_IMMUTABLE_LEVELS = $82DF;
720 GL_COMPUTE_SHADER = $91B9;
721 GL_MAX_COMPUTE_UNIFORM_BLOCKS = $91BB;
722 GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = $91BC;
723 GL_MAX_COMPUTE_IMAGE_UNIFORMS = $91BD;
724 GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = $8262;
725 GL_MAX_COMPUTE_UNIFORM_COMPONENTS = $8263;
726 GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = $8264;
727 GL_MAX_COMPUTE_ATOMIC_COUNTERS = $8265;
728 GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = $8266;
729 GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = $90EB;
730 GL_MAX_COMPUTE_WORK_GROUP_COUNT = $91BE;
731 GL_MAX_COMPUTE_WORK_GROUP_SIZE = $91BF;
732 GL_COMPUTE_WORK_GROUP_SIZE = $8267;
733 GL_DISPATCH_INDIRECT_BUFFER = $90EE;
734 GL_DISPATCH_INDIRECT_BUFFER_BINDING = $90EF;
735 GL_COMPUTE_SHADER_BIT = $00000020;
736 GL_DRAW_INDIRECT_BUFFER = $8F3F;
737 GL_DRAW_INDIRECT_BUFFER_BINDING = $8F43;
738 GL_MAX_UNIFORM_LOCATIONS = $826E;
739 GL_FRAMEBUFFER_DEFAULT_WIDTH = $9310;
740 GL_FRAMEBUFFER_DEFAULT_HEIGHT = $9311;
741 GL_FRAMEBUFFER_DEFAULT_SAMPLES = $9313;
742 GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = $9314;
743 GL_MAX_FRAMEBUFFER_WIDTH = $9315;
744 GL_MAX_FRAMEBUFFER_HEIGHT = $9316;
745 GL_MAX_FRAMEBUFFER_SAMPLES = $9318;
747 GL_UNIFORM_BLOCK = $92E2;
748 GL_PROGRAM_INPUT = $92E3;
749 GL_PROGRAM_OUTPUT = $92E4;
750 GL_BUFFER_VARIABLE = $92E5;
751 GL_SHADER_STORAGE_BLOCK = $92E6;
752 GL_ATOMIC_COUNTER_BUFFER = $92C0;
753 GL_TRANSFORM_FEEDBACK_VARYING = $92F4;
754 GL_ACTIVE_RESOURCES = $92F5;
755 GL_MAX_NAME_LENGTH = $92F6;
756 GL_MAX_NUM_ACTIVE_VARIABLES = $92F7;
757 GL_NAME_LENGTH = $92F9;
759 GL_ARRAY_SIZE = $92FB;
761 GL_BLOCK_INDEX = $92FD;
762 GL_ARRAY_STRIDE = $92FE;
763 GL_MATRIX_STRIDE = $92FF;
764 GL_IS_ROW_MAJOR = $9300;
765 GL_ATOMIC_COUNTER_BUFFER_INDEX = $9301;
766 GL_BUFFER_BINDING = $9302;
767 GL_BUFFER_DATA_SIZE = $9303;
768 GL_NUM_ACTIVE_VARIABLES = $9304;
769 GL_ACTIVE_VARIABLES = $9305;
770 GL_REFERENCED_BY_VERTEX_SHADER = $9306;
771 GL_REFERENCED_BY_FRAGMENT_SHADER = $930A;
772 GL_REFERENCED_BY_COMPUTE_SHADER = $930B;
773 GL_TOP_LEVEL_ARRAY_SIZE = $930C;
774 GL_TOP_LEVEL_ARRAY_STRIDE = $930D;
776 GL_VERTEX_SHADER_BIT = $00000001;
777 GL_FRAGMENT_SHADER_BIT = $00000002;
778 GL_ALL_SHADER_BITS = $FFFFFFFF;
779 GL_PROGRAM_SEPARABLE = $8258;
780 GL_ACTIVE_PROGRAM = $8259;
781 GL_PROGRAM_PIPELINE_BINDING = $825A;
782 GL_ATOMIC_COUNTER_BUFFER_BINDING = $92C1;
783 GL_ATOMIC_COUNTER_BUFFER_START = $92C2;
784 GL_ATOMIC_COUNTER_BUFFER_SIZE = $92C3;
785 GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = $92CC;
786 GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = $92D0;
787 GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = $92D1;
788 GL_MAX_VERTEX_ATOMIC_COUNTERS = $92D2;
789 GL_MAX_FRAGMENT_ATOMIC_COUNTERS = $92D6;
790 GL_MAX_COMBINED_ATOMIC_COUNTERS = $92D7;
791 GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = $92D8;
792 GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = $92DC;
793 GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = $92D9;
794 GL_UNSIGNED_INT_ATOMIC_COUNTER = $92DB;
795 GL_MAX_IMAGE_UNITS = $8F38;
796 GL_MAX_VERTEX_IMAGE_UNIFORMS = $90CA;
797 GL_MAX_FRAGMENT_IMAGE_UNIFORMS = $90CE;
798 GL_MAX_COMBINED_IMAGE_UNIFORMS = $90CF;
799 GL_IMAGE_BINDING_NAME = $8F3A;
800 GL_IMAGE_BINDING_LEVEL = $8F3B;
801 GL_IMAGE_BINDING_LAYERED = $8F3C;
802 GL_IMAGE_BINDING_LAYER = $8F3D;
803 GL_IMAGE_BINDING_ACCESS = $8F3E;
804 GL_IMAGE_BINDING_FORMAT = $906E;
805 GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = $00000001;
806 GL_ELEMENT_ARRAY_BARRIER_BIT = $00000002;
807 GL_UNIFORM_BARRIER_BIT = $00000004;
808 GL_TEXTURE_FETCH_BARRIER_BIT = $00000008;
809 GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = $00000020;
810 GL_COMMAND_BARRIER_BIT = $00000040;
811 GL_PIXEL_BUFFER_BARRIER_BIT = $00000080;
812 GL_TEXTURE_UPDATE_BARRIER_BIT = $00000100;
813 GL_BUFFER_UPDATE_BARRIER_BIT = $00000200;
814 GL_FRAMEBUFFER_BARRIER_BIT = $00000400;
815 GL_TRANSFORM_FEEDBACK_BARRIER_BIT = $00000800;
816 GL_ATOMIC_COUNTER_BARRIER_BIT = $00001000;
817 GL_ALL_BARRIER_BITS = $FFFFFFFF;
820 GL_IMAGE_CUBE = $9050;
821 GL_IMAGE_2D_ARRAY = $9053;
822 GL_INT_IMAGE_2D = $9058;
823 GL_INT_IMAGE_3D = $9059;
824 GL_INT_IMAGE_CUBE = $905B;
825 GL_INT_IMAGE_2D_ARRAY = $905E;
826 GL_UNSIGNED_INT_IMAGE_2D = $9063;
827 GL_UNSIGNED_INT_IMAGE_3D = $9064;
828 GL_UNSIGNED_INT_IMAGE_CUBE = $9066;
829 GL_UNSIGNED_INT_IMAGE_2D_ARRAY = $9069;
830 GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = $90C7;
831 GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = $90C8;
832 GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = $90C9;
833 GL_READ_ONLY = $88B8;
834 GL_WRITE_ONLY = $88B9;
835 GL_READ_WRITE = $88BA;
836 GL_SHADER_STORAGE_BUFFER = $90D2;
837 GL_SHADER_STORAGE_BUFFER_BINDING = $90D3;
838 GL_SHADER_STORAGE_BUFFER_START = $90D4;
839 GL_SHADER_STORAGE_BUFFER_SIZE = $90D5;
840 GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = $90D6;
841 GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = $90DA;
842 GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = $90DB;
843 GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = $90DC;
844 GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = $90DD;
845 GL_MAX_SHADER_STORAGE_BLOCK_SIZE = $90DE;
846 GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = $90DF;
847 GL_SHADER_STORAGE_BARRIER_BIT = $00002000;
848 GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = $8F39;
849 GL_DEPTH_STENCIL_TEXTURE_MODE = $90EA;
850 GL_STENCIL_INDEX = $1901;
851 GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5E;
852 GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = $8E5F;
853 GL_SAMPLE_POSITION = $8E50;
854 GL_SAMPLE_MASK = $8E51;
855 GL_SAMPLE_MASK_VALUE = $8E52;
856 GL_TEXTURE_2D_MULTISAMPLE = $9100;
857 GL_MAX_SAMPLE_MASK_WORDS = $8E59;
858 GL_MAX_COLOR_TEXTURE_SAMPLES = $910E;
859 GL_MAX_DEPTH_TEXTURE_SAMPLES = $910F;
860 GL_MAX_INTEGER_SAMPLES = $9110;
861 GL_TEXTURE_BINDING_2D_MULTISAMPLE = $9104;
862 GL_TEXTURE_SAMPLES = $9106;
863 GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = $9107;
864 GL_TEXTURE_WIDTH = $1000;
865 GL_TEXTURE_HEIGHT = $1001;
866 GL_TEXTURE_DEPTH = $8071;
867 GL_TEXTURE_INTERNAL_FORMAT = $1003;
868 GL_TEXTURE_RED_SIZE = $805C;
869 GL_TEXTURE_GREEN_SIZE = $805D;
870 GL_TEXTURE_BLUE_SIZE = $805E;
871 GL_TEXTURE_ALPHA_SIZE = $805F;
872 GL_TEXTURE_DEPTH_SIZE = $884A;
873 GL_TEXTURE_STENCIL_SIZE = $88F1;
874 GL_TEXTURE_SHARED_SIZE = $8C3F;
875 GL_TEXTURE_RED_TYPE = $8C10;
876 GL_TEXTURE_GREEN_TYPE = $8C11;
877 GL_TEXTURE_BLUE_TYPE = $8C12;
878 GL_TEXTURE_ALPHA_TYPE = $8C13;
879 GL_TEXTURE_DEPTH_TYPE = $8C16;
880 GL_TEXTURE_COMPRESSED = $86A1;
881 GL_SAMPLER_2D_MULTISAMPLE = $9108;
882 GL_INT_SAMPLER_2D_MULTISAMPLE = $9109;
883 GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = $910A;
884 GL_VERTEX_ATTRIB_BINDING = $82D4;
885 GL_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D5;
886 GL_VERTEX_BINDING_DIVISOR = $82D6;
887 GL_VERTEX_BINDING_OFFSET = $82D7;
888 GL_VERTEX_BINDING_STRIDE = $82D8;
889 GL_VERTEX_BINDING_BUFFER = $8F4F;
890 GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = $82D9;
891 GL_MAX_VERTEX_ATTRIB_BINDINGS = $82DA;
892 GL_MAX_VERTEX_ATTRIB_STRIDE = $82E5;
897 TglActiveTexture = procedure(aTexture: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
898 TglAttachShader = procedure(aProgram: GLuint; aShader: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
899 TglBindAttribLocation = procedure(aProgram: GLuint; aIndex: GLuint; const aName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
900 TglBindBuffer = procedure(aTarget: GLenum; aBuffer: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
901 TglBindFramebuffer = procedure(aTarget: GLenum; aFramebuffer: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
902 TglBindRenderbuffer = procedure(aTarget: GLenum; aRenderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
903 TglBindTexture = procedure(aTarget: GLenum; aTexture: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
904 TglBlendColor = procedure(aRed: GLfloat; aGreen: GLfloat; aBlue: GLfloat; aAlpha: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
905 TglBlendEquation = procedure(aMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
906 TglBlendEquationSeparate = procedure(aModeRGB: GLenum; aModeAlpha: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
907 TglBlendFunc = procedure(aSFactor: GLenum; aDFactor: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
908 TglBlendFuncSeparate = procedure(aSFactorRGB: GLenum; aDFactorRGB: GLenum; aSFactorAlpha: GLenum; aDFactorAlpha: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
909 TglBufferData = procedure(aTarget: GLenum; aSize: PGLsizei; const aData: PGLvoid; aUsage: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
910 TglBufferSubData = procedure(aTarget: GLenum; aOffset: PGLint; aSize: PGLsizei; const aData: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
911 TglCheckFramebufferStatus = function(aTarget: GLenum): GLenum; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
912 TglClear = procedure(aMask: GLbitfield); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
913 TglClearColor = procedure(aRed: GLfloat; aGreen: GLfloat; aBlue: GLfloat; aAlpha: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
914 TglClearDepthf = procedure(d: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
915 TglClearStencil = procedure(s: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
916 TglColorMask = procedure(aRed: GLboolean; aGreen: GLboolean; aBlue: GLboolean; aAlpha: GLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
917 TglCompileShader = procedure(aShader: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
918 TglCompressedTexImage2D = procedure(aTarget: GLenum; aLevel: GLint; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei; aBorder: GLint; aImageSize: GLsizei; const aData: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
919 TglCompressedTexSubImage2D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aWidth: GLsizei; aHeight: GLsizei; aFormat: GLenum; aImageSize: GLsizei; const aData: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
920 TglCopyTexImage2D = procedure(aTarget: GLenum; aLevel: GLint; aInternalformat: GLenum; aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei; aBorder: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
921 TglCopyTexSubImage2D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
922 TglCreateProgram = function: GLuint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
923 TglCreateShader = function(aType: GLenum): GLuint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
924 TglCullFace = procedure(aMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
925 TglDeleteBuffers = procedure(n: GLsizei; const aBuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
926 TglDeleteFramebuffers = procedure(n: GLsizei; const aFrameBuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
927 TglDeleteProgram = procedure(aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
928 TglDeleteRenderbuffers = procedure(n: GLsizei; const aRenderBuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
929 TglDeleteShader = procedure(aShader: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
930 TglDeleteTextures = procedure(n: GLsizei; const aTextures: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
931 TglDepthFunc = procedure(aFunc: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
932 TglDepthMask = procedure(aFlag: GLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
933 TglDepthRangef = procedure(n: GLfloat; aF: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
934 TglDetachShader = procedure(aProgram: GLuint; aShader: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
935 TglDisable = procedure(aCap: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
936 TglDisableVertexAttribArray = procedure(aIndex: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
937 TglDrawArrays = procedure(aMode: GLenum; aFirst: GLint; aCount: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
938 TglDrawElements = procedure(aMode: GLenum; aCount: GLsizei; aType: GLenum; const aIndices: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
939 TglEnable = procedure(aCap: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
940 TglEnableVertexAttribArray = procedure(aIndex: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
941 TglFinish = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
942 TglFlush = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
943 TglFramebufferRenderbuffer = procedure(aTarget: GLenum; aAttachment: GLenum; aRenderbuffertarget: GLenum; aRenderbuffer: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
944 TglFramebufferTexture2D = procedure(aTarget: GLenum; aAttachment: GLenum; aTextarget: GLenum; aTexture: GLuint; aLevel: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
945 TglFrontFace = procedure(aMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
946 TglGenBuffers = procedure(n: GLsizei; aBuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
947 TglGenerateMipmap = procedure(aTarget: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
948 TglGenFramebuffers = procedure(n: GLsizei; aFramebuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
949 TglGenRenderbuffers = procedure(n: GLsizei; aRenderbuffers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
950 TglGenTextures = procedure(n: GLsizei; aTextures: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
951 TglGetActiveAttrib = procedure(aProgram: GLuint; aIndex: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aSize: PGLint; aType: PGLenum; aName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
952 TglGetActiveUniform = procedure(aProgram: GLuint; aIndex: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aSize: PGLint; aType: PGLenum; aName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
953 TglGetAttachedShaders = procedure(aProgram: GLuint; aMaxCount: GLsizei; aCount: PGLsizei; aShaders: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
954 TglGetAttribLocation = function(aProgram: GLuint; const aName: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
955 TglGetBooleanv = procedure(aPname: GLenum; aData: PGLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
956 TglGetBufferParameteriv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
957 TglGetError = function: GLenum; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
958 TglGetFloatv = procedure(aPname: GLenum; aData: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
959 TglGetFramebufferAttachmentParameteriv = procedure(aTarget: GLenum; aAttachment: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
960 TglGetIntegerv = procedure(aPname: GLenum; aData: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
961 TglGetProgramiv = procedure(aProgram: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
962 TglGetProgramInfoLog = procedure(aProgram: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aInfoLog: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
963 TglGetRenderbufferParameteriv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
964 TglGetShaderiv = procedure(aShader: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
965 TglGetShaderInfoLog = procedure(aShader: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aInfoLog: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
966 TglGetShaderPrecisionFormat = procedure(aShadertype: GLenum; aPrecisiontype: GLenum; aRange: PGLint; aPrecision: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
967 TglGetShaderSource = procedure(aShader: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aSource: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
968 TglGetString = function(aName: GLenum): PAnsiChar; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
969 TglGetTexParameterfv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
970 TglGetTexParameteriv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
971 TglGetUniformfv = procedure(aProgram: GLuint; aLocation: GLint; aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
972 TglGetUniformiv = procedure(aProgram: GLuint; aLocation: GLint; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
973 TglGetUniformLocation = function(aProgram: GLuint; const aName: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
974 TglGetVertexAttribfv = procedure(aIndex: GLuint; aPname: GLenum; aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
975 TglGetVertexAttribiv = procedure(aIndex: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
976 TglGetVertexAttribPointerv = procedure(aIndex: GLuint; aPname: GLenum; aPointer: PPGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
977 TglHint = procedure(aTarget: GLenum; aMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
978 TglIsBuffer = function(aBuffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
979 TglIsEnabled = function(aCap: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
980 TglIsFramebuffer = function(aFramebuffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
981 TglIsProgram = function(aProgram: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
982 TglIsRenderbuffer = function(aRenderbuffer: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
983 TglIsShader = function(aShader: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
984 TglIsTexture = function(aTexture: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
985 TglLineWidth = procedure(aWidth: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
986 TglLinkProgram = procedure(aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
987 TglPixelStorei = procedure(aPname: GLenum; aParam: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
988 TglPolygonOffset = procedure(aFactor: GLfloat; aUnits: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
989 TglReadPixels = procedure(aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei; aFormat: GLenum; aType: GLenum; aPixels: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
990 TglReleaseShaderCompiler = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
991 TglRenderbufferStorage = procedure(aTarget: GLenum; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
992 TglSampleCoverage = procedure(aValue: GLfloat; aInvert: GLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
993 TglScissor = procedure(aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
994 TglShaderBinary = procedure(aCount: GLsizei; const aShaders: PGLuint; aBinaryformat: GLenum; const aBinary: PGLvoid; aLength: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
995 TglShaderSource = procedure(aShader: GLuint; aCount: GLsizei; const aString: PPGLchar; const aLength: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
996 TglStencilFunc = procedure(aFunc: GLenum; aRef: GLint; aMask: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
997 TglStencilFuncSeparate = procedure(aFace: GLenum; aFunc: GLenum; aRef: GLint; aMask: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
998 TglStencilMask = procedure(aMask: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
999 TglStencilMaskSeparate = procedure(aFace: GLenum; aMask: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1000 TglStencilOp = procedure(aFail: GLenum; aZfail: GLenum; aZpass: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1001 TglStencilOpSeparate = procedure(aFace: GLenum; aSfail: GLenum; aDpfail: GLenum; aDppass: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1002 TglTexImage2D = procedure(aTarget: GLenum; aLevel: GLint; aInternalformat: GLint; aWidth: GLsizei; aHeight: GLsizei; aBorder: GLint; aFormat: GLenum; aType: GLenum; const aPixels: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1003 TglTexParameterf = procedure(aTarget: GLenum; aPname: GLenum; aParam: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1004 TglTexParameterfv = procedure(aTarget: GLenum; aPname: GLenum; const aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1005 TglTexParameteri = procedure(aTarget: GLenum; aPname: GLenum; aParam: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1006 TglTexParameteriv = procedure(aTarget: GLenum; aPname: GLenum; const aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1007 TglTexSubImage2D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aWidth: GLsizei; aHeight: GLsizei; aFormat: GLenum; aType: GLenum; const aPixels: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1008 TglUniform1f = procedure(aLocation: GLint; aV0: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1009 TglUniform1fv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1010 TglUniform1i = procedure(aLocation: GLint; aV0: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1011 TglUniform1iv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1012 TglUniform2f = procedure(aLocation: GLint; aV0: GLfloat; aV1: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1013 TglUniform2fv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1014 TglUniform2i = procedure(aLocation: GLint; aV0: GLint; aV1: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1015 TglUniform2iv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1016 TglUniform3f = procedure(aLocation: GLint; aV0: GLfloat; aV1: GLfloat; aV2: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1017 TglUniform3fv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1018 TglUniform3i = procedure(aLocation: GLint; aV0: GLint; aV1: GLint; aV2: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1019 TglUniform3iv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1020 TglUniform4f = procedure(aLocation: GLint; aV0: GLfloat; aV1: GLfloat; aV2: GLfloat; aV3: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1021 TglUniform4fv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1022 TglUniform4i = procedure(aLocation: GLint; aV0: GLint; aV1: GLint; aV2: GLint; aV3: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1023 TglUniform4iv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1024 TglUniformMatrix2fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1025 TglUniformMatrix3fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1026 TglUniformMatrix4fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1027 TglUseProgram = procedure(aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1028 TglValidateProgram = procedure(aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1029 TglVertexAttrib1f = procedure(aIndex: GLuint; aX: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1030 TglVertexAttrib1fv = procedure(aIndex: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1031 TglVertexAttrib2f = procedure(aIndex: GLuint; aX: GLfloat; aY: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1032 TglVertexAttrib2fv = procedure(aIndex: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1033 TglVertexAttrib3f = procedure(aIndex: GLuint; aX: GLfloat; aY: GLfloat; aZ: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1034 TglVertexAttrib3fv = procedure(aIndex: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1035 TglVertexAttrib4f = procedure(aIndex: GLuint; aX: GLfloat; aY: GLfloat; aZ: GLfloat; aW: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1036 TglVertexAttrib4fv = procedure(aIndex: GLuint; const v: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1037 TglVertexAttribPointer = procedure(aIndex: GLuint; aSize: GLint; aType: GLenum; aNormalized: GLboolean; aStride: GLsizei; const aPointer: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1038 TglViewport = procedure(aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1041 TglReadBuffer = procedure(aSrc: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1042 TglDrawRangeElements = procedure(aMode: GLenum; aStart: GLuint; aEnd: GLuint; aCount: GLsizei; aType: GLenum; const aIndices: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1043 TglTexImage3D = procedure(aTarget: GLenum; aLevel: GLint; aInternalformat: GLint; aWidth: GLsizei; aHeight: GLsizei; aDepth: GLsizei; aBorder: GLint; aFormat: GLenum; aType: GLenum; const aPixels: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1044 TglTexSubImage3D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aZoffset: GLint; aWidth: GLsizei; aHeight: GLsizei; aDepth: GLsizei; aFormat: GLenum; aType: GLenum; const aPixels: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1045 TglCopyTexSubImage3D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aZoffset: GLint; aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1046 TglCompressedTexImage3D = procedure(aTarget: GLenum; aLevel: GLint; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei; aDepth: GLsizei; aBorder: GLint; aImageSize: GLsizei; const aData: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1047 TglCompressedTexSubImage3D = procedure(aTarget: GLenum; aLevel: GLint; aXoffset: GLint; aYoffset: GLint; aZoffset: GLint; aWidth: GLsizei; aHeight: GLsizei; aDepth: GLsizei; aFormat: GLenum; aImageSize: GLsizei; const aData: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1048 TglGenQueries = procedure(n: GLsizei; aIDs: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1049 TglDeleteQueries = procedure(n: GLsizei; const aIDs: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1050 TglIsQuery = function(aId: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1051 TglBeginQuery = procedure(aTarget: GLenum; aId: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1052 TglEndQuery = procedure(aTarget: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1053 TglGetQueryiv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1054 TglGetQueryObjectuiv = procedure(aId: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1055 TglUnmapBuffer = function(aTarget: GLenum): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1056 TglGetBufferPointerv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PPGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1057 TglDrawBuffers = procedure(n: GLsizei; const aBufs: PGLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1058 TglUniformMatrix2x3fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1059 TglUniformMatrix3x2fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1060 TglUniformMatrix2x4fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1061 TglUniformMatrix4x2fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1062 TglUniformMatrix3x4fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1063 TglUniformMatrix4x3fv = procedure(aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1064 TglBlitFramebuffer = procedure(aSrcX0: GLint; aSrcY0: GLint; aSrcX1: GLint; aSrcY1: GLint; aDstX0: GLint; aDstY0: GLint; aDstX1: GLint; aDstY1: GLint; aMask: GLbitfield; aFilter: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1065 TglRenderbufferStorageMultisample = procedure(aTarget: GLenum; aSamples: GLsizei; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1066 TglFramebufferTextureLayer = procedure(aTarget: GLenum; aAttachment: GLenum; aTexture: GLuint; aLevel: GLint; aLayer: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1067 TglMapBufferRange = function(aTarget: GLenum; aOffset: PGLint; aLength: PGLsizei; aAccess: GLbitfield): PGLvoid; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1068 TglFlushMappedBufferRange = procedure(aTarget: GLenum; aOffset: PGLint; aLength: PGLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1069 TglBindVertexArray = procedure(aArray: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1070 TglDeleteVertexArrays = procedure(n: GLsizei; const aArrays: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1071 TglGenVertexArrays = procedure(n: GLsizei; aArrays: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1072 TglIsVertexArray = function(aArray: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1073 TglGetIntegeri_v = procedure(aTarget: GLenum; aIndex: GLuint; aData: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1074 TglBeginTransformFeedback = procedure(aPrimitiveMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1075 TglEndTransformFeedback = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1076 TglBindBufferRange = procedure(aTarget: GLenum; aIndex: GLuint; aBuffer: GLuint; aOffset: PGLint; aSize: PGLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1077 TglBindBufferBase = procedure(aTarget: GLenum; aIndex: GLuint; aBuffer: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1078 TglTransformFeedbackVaryings = procedure(aProgram: GLuint; aCount: GLsizei; const aVaryings: PPGLchar; aBufferMode: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1079 TglGetTransformFeedbackVarying = procedure(aProgram: GLuint; aIndex: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aSize: PGLsizei; aType: PGLenum; aName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1080 TglVertexAttribIPointer = procedure(aIndex: GLuint; aSize: GLint; aType: GLenum; aStride: GLsizei; const aPointer: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1081 TglGetVertexAttribIiv = procedure(aIndex: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1082 TglGetVertexAttribIuiv = procedure(aIndex: GLuint; aPname: GLenum; aParams: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1083 TglVertexAttribI4i = procedure(aIndex: GLuint; aX: GLint; aY: GLint; aZ: GLint; aW: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1084 TglVertexAttribI4ui = procedure(aIndex: GLuint; aX: GLuint; aY: GLuint; aZ: GLuint; aW: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1085 TglVertexAttribI4iv = procedure(aIndex: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1086 TglVertexAttribI4uiv = procedure(aIndex: GLuint; const v: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1087 TglGetUniformuiv = procedure(aProgram: GLuint; aLocation: GLint; aParams: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1088 TglGetFragDataLocation = function(aProgram: GLuint; const aName: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1089 TglUniform1ui = procedure(aLocation: GLint; aV0: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1090 TglUniform2ui = procedure(aLocation: GLint; aV0: GLuint; aV1: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1091 TglUniform3ui = procedure(aLocation: GLint; aV0: GLuint; aV1: GLuint; aV2: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1092 TglUniform4ui = procedure(aLocation: GLint; aV0: GLuint; aV1: GLuint; aV2: GLuint; aV3: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1093 TglUniform1uiv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1094 TglUniform2uiv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1095 TglUniform3uiv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1096 TglUniform4uiv = procedure(aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1097 TglClearBufferiv = procedure(aBuffer: GLenum; aDrawbuffer: GLint; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1098 TglClearBufferuiv = procedure(aBuffer: GLenum; aDrawbuffer: GLint; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1099 TglClearBufferfv = procedure(aBuffer: GLenum; aDrawbuffer: GLint; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1100 TglClearBufferfi = procedure(aBuffer: GLenum; aDrawbuffer: GLint; aDepth: GLfloat; aStencil: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1101 TglGetStringi = function(aName: GLenum; aIndex: GLuint): PGLchar; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1102 TglCopyBufferSubData = procedure(aReadTarget: GLenum; aWriteTarget: GLenum; aReadOffset: PGLint; aWriteOffset: PGLint; aSize: PGLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1103 TglGetUniformIndices = procedure(aProgram: GLuint; aUniformCount: GLsizei; const aUniformNames: PPGLchar; aUniformIndices: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1104 TglGetActiveUniformsiv = procedure(aProgram: GLuint; aUniformCount: GLsizei; const aUniformIndices: PGLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1105 TglGetUniformBlockIndex = function(aProgram: GLuint; const aUniformBlockName: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1106 TglGetActiveUniformBlockiv = procedure(aProgram: GLuint; aUniformBlockIndex: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1107 TglGetActiveUniformBlockName = procedure(aProgram: GLuint; aUniformBlockIndex: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aUniformBlockName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1108 TglUniformBlockBinding = procedure(aProgram: GLuint; aUniformBlockIndex: GLuint; aUniformBlockBinding: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1109 TglDrawArraysInstanced = procedure(aMode: GLenum; aFirst: GLint; aCount: GLsizei; aInstancecount: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1110 TglDrawElementsInstanced = procedure(aMode: GLenum; aCount: GLsizei; aType: GLenum; const aIndices: PGLvoid; aInstanceCount: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1111 TglFenceSync = function(aCondition: GLenum; aFlags: GLbitfield): GLsync; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1112 TglIsSync = function(aSync: GLsync): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1113 TglDeleteSync = procedure(aSync: GLsync); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1114 TglClientWaitSync = function(aSync: GLsync; aFlags: GLbitfield; aTimeout: GLuint64): GLenum; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1115 TglWaitSync = procedure(aSync: GLsync; aFlags: GLbitfield; aTimeout: GLuint64); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1116 TglGetInteger64v = procedure(aPname: GLenum; aData: PGLint64); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1117 TglGetSynciv = procedure(aSync: GLsync; aPname: GLenum; aBufSize: GLsizei; aLength: PGLsizei; aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1118 TglGetInteger64i_v = procedure(aTarget: GLenum; aIndex: GLuint; aData: PGLint64); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1119 TglGetBufferParameteri64v = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint64); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1120 TglGenSamplers = procedure(aCount: GLsizei; aSamplers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1121 TglDeleteSamplers = procedure(aCount: GLsizei; const aSamplers: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1122 TglIsSampler = function(aSampler: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1123 TglBindSampler = procedure(aUnit: GLuint; aSampler: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1124 TglSamplerParameteri = procedure(aSampler: GLuint; aPname: GLenum; aParam: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1125 TglSamplerParameteriv = procedure(aSampler: GLuint; aPname: GLenum; const aParam: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1126 TglSamplerParameterf = procedure(aSampler: GLuint; aPname: GLenum; aParam: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1127 TglSamplerParameterfv = procedure(aSampler: GLuint; aPname: GLenum; const aParam: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1128 TglGetSamplerParameteriv = procedure(aSampler: GLuint; aPname: GLenum; const aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1129 TglGetSamplerParameterfv = procedure(aSampler: GLuint; aPname: GLenum; const aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1130 TglVertexAttribDivisor = procedure(aIndex: GLuint; aDivisor: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1131 TglBindTransformFeedback = procedure(aTarget: GLenum; aId: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1132 TglDeleteTransformFeedbacks = procedure(n: GLsizei; const aIDs: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1133 TglGenTransformFeedbacks = procedure(n: GLsizei; const aIDs: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1134 TglIsTransformFeedback = function(aId: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1135 TglPauseTransformFeedback = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1136 TglResumeTransformFeedback = procedure; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1137 TglGetProgramBinary = procedure(aProgram: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aBinaryFormat: PGLenum; aBinary: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1138 TglProgramBinary = procedure(aProgram: GLuint; aBinaryFormat: GLenum; const aBinary: PGLvoid; aLength: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1139 TglProgramParameteri = procedure(aProgram: GLuint; aPname: GLenum; aValue: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1140 TglInvalidateFramebuffer = procedure(aTarget: GLenum; aNumAttachments: GLsizei; const aAttachments: PGLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1141 TglInvalidateSubFramebuffer = procedure(aTarget: GLenum; aNumAttachments: GLsizei; const aAttachments: PGLenum; aX: GLint; aY: GLint; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1142 TglTexStorage2D = procedure(aTarget: GLenum; aLevels: GLsizei; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1143 TglTexStorage3D = procedure(aTarget: GLenum; aLevels: GLsizei; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei; aDepth: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1144 TglGetInternalformativ = procedure(aTarget: GLenum; aInternalformat: GLenum; aPname: GLenum; aBufSize: GLsizei; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1147 TglDispatchCompute = procedure(aNumGroupsX: GLuint; aNumGroupsY: GLuint; aNumGroupsZ: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1148 TglDispatchComputeIndirect = procedure(aIndirect: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1149 TglDrawArraysIndirect = procedure(aMode: GLenum; const aIndirect: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1150 TglDrawElementsIndirect = procedure(aMode: GLenum; aType: GLenum; const aIndirect: PGLvoid); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1151 TglFramebufferParameteri = procedure(aTarget: GLenum; aPname: GLenum; aParam: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1152 TglGetFramebufferParameteriv = procedure(aTarget: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1153 TglGetProgramInterfaceiv = procedure(aProgram: GLuint; aProgramInterface: GLenum; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1154 TglGetProgramResourceIndex = function (aProgram: GLuint; aProgramInterface: GLenum; const aName: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1155 TglGetProgramResourceName = procedure(aProgram: GLuint; aProgramInterface: GLenum; aIndex: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aName: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1156 TglGetProgramResourceiv = procedure(aProgram: GLuint; aProgramInterface: GLenum; aIndex: GLuint; aPropCount: GLsizei; const aProps: PGLenum; aBufSize: GLsizei; aLength: PGLsizei; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1157 TglGetProgramResourceLocation = function (aProgram: GLuint; aProgramInterface: GLenum; const aName: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1158 TglUseProgramStages = procedure(aPipeline: GLuint; aStages: GLbitfield; aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1159 TglActiveShaderProgram = procedure(aPipeline: GLuint; aProgram: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1160 TglCreateShaderProgramv = function (aType: GLenum; aCount: GLsizei; const aStrings: PPGLchar): GLuint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1161 TglBindProgramPipeline = procedure(aPipeline: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1162 TglDeleteProgramPipelines = procedure(aN: GLsizei; const aPipelines: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1163 TglGenProgramPipelines = procedure(aN: GLsizei; aPipelines: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1164 TglIsProgramPipeline = function (aPipeline: GLuint): GLboolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1165 TglGetProgramPipelineiv = procedure(aPipeline: GLuint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1166 TglProgramUniform1i = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1167 TglProgramUniform2i = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLint; aV1: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1168 TglProgramUniform3i = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLint; aV1: GLint; aV2: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1169 TglProgramUniform4i = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLint; aV1: GLint; aV2: GLint; aV3: GLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1170 TglProgramUniform1ui = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1171 TglProgramUniform2ui = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLuint; aV1: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1172 TglProgramUniform3ui = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLuint; aV1: GLuint; aV2: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1173 TglProgramUniform4ui = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLuint; aV1: GLuint; aV2: GLuint; aV3: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1174 TglProgramUniform1f = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1175 TglProgramUniform2f = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLfloat; aV1: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1176 TglProgramUniform3f = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLfloat; aV1: GLfloat; aV2: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1177 TglProgramUniform4f = procedure(aProgram: GLuint; aLocation: GLint; aV0: GLfloat; aV1: GLfloat; aV2: GLfloat; aV3: GLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1178 TglProgramUniform1iv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1179 TglProgramUniform2iv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1180 TglProgramUniform3iv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1181 TglProgramUniform4iv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1182 TglProgramUniform1uiv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1183 TglProgramUniform2uiv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1184 TglProgramUniform3uiv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1185 TglProgramUniform4uiv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1186 TglProgramUniform1fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1187 TglProgramUniform2fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1188 TglProgramUniform3fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1189 TglProgramUniform4fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1190 TglProgramUniformMatrix2fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1191 TglProgramUniformMatrix3fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1192 TglProgramUniformMatrix4fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1193 TglProgramUniformMatrix2x3fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1194 TglProgramUniformMatrix3x2fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1195 TglProgramUniformMatrix2x4fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1196 TglProgramUniformMatrix4x2fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1197 TglProgramUniformMatrix3x4fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1198 TglProgramUniformMatrix4x3fv = procedure(aProgram: GLuint; aLocation: GLint; aCount: GLsizei; aTranspose: GLboolean; const aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1199 TglValidateProgramPipeline = procedure(aPipeline: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1200 TglGetProgramPipelineInfoLog = procedure(aPipeline: GLuint; aBufSize: GLsizei; aLength: PGLsizei; aInfoLog: PGLchar); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1201 TglBindImageTexture = procedure(aUnit: GLuint; aTexture: GLuint; aLevel: GLint; aLayered: GLboolean; aLayer: GLint; aAccess: GLenum; aFormat: GLenum); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1202 TglGetBooleaniV = procedure(aTarget: GLenum; aIndex: GLuint; aData: PGLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1203 TglMemoryBarrier = procedure(aBarriers: GLbitfield); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1204 TglMemoryBarrierByRegion = procedure(aBarriers: GLbitfield); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1205 TglTexStorage2DMultisample = procedure(aTarget: GLenum; aSamples: GLsizei; aInternalformat: GLenum; aWidth: GLsizei; aHeight: GLsizei; aFixedsamplelocations: GLboolean); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1206 TglGetMultisamplefv = procedure(aPname: GLenum; aIndex: GLuint; aValue: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1207 TglSampleMaski = procedure(aMaskNumber: GLuint; aMask: GLbitfield); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1208 TglGetTexLevelParameteriv = procedure(aTarget: GLenum; aLevel: GLint; aPname: GLenum; aParams: PGLint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1209 TglGetTexLevelParameterfv = procedure(aTarget: GLenum; aLevel: GLint; aPname: GLenum; aParams: PGLfloat); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1210 TglBindVertexBuffer = procedure(aBindingindex: GLuint; aBuffer: GLuint; aOffset: PGLint; aStride: GLsizei); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1211 TglVertexAttribFormat = procedure(aAttribindex: GLuint; aSize: GLint; aType: GLenum; aNormalized: GLboolean; aRelativeoffset: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1212 TglVertexAttribIFormat = procedure(aAttribindex: GLuint; aSize: GLint; aType: GLenum; aRelativeoffset: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1213 TglVertexAttribBinding = procedure(aAttribindex: GLuint; aBindingindex: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1214 TglVertexBindingDivisor = procedure(aBindingindex: GLuint; aDivisor: GLuint); {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1218 { *** PROCEDURES *** }
1220 glActiveTexture: TglActiveTexture;
1221 glAttachShader: TglAttachShader;
1222 glBindAttribLocation: TglBindAttribLocation;
1223 glBindBuffer: TglBindBuffer;
1224 glBindFramebuffer: TglBindFramebuffer;
1225 glBindRenderbuffer: TglBindRenderbuffer;
1226 glBindTexture: TglBindTexture;
1227 glBlendColor: TglBlendColor;
1228 glBlendEquation: TglBlendEquation;
1229 glBlendEquationSeparate: TglBlendEquationSeparate;
1230 glBlendFunc: TglBlendFunc;
1231 glBlendFuncSeparate: TglBlendFuncSeparate;
1232 glBufferData: TglBufferData;
1233 glBufferSubData: TglBufferSubData;
1234 glCheckFramebufferStatus: TglCheckFramebufferStatus;
1236 glClearColor: TglClearColor;
1237 glClearDepthf: TglClearDepthf;
1238 glClearStencil: TglClearStencil;
1239 glColorMask: TglColorMask;
1240 glCompileShader: TglCompileShader;
1241 glCompressedTexImage2D: TglCompressedTexImage2D;
1242 glCompressedTexSubImage2D: TglCompressedTexSubImage2D;
1243 glCopyTexImage2D: TglCopyTexImage2D;
1244 glCopyTexSubImage2D: TglCopyTexSubImage2D;
1245 glCreateProgram: TglCreateProgram;
1246 glCreateShader: TglCreateShader;
1247 glCullFace: TglCullFace;
1248 glDeleteBuffers: TglDeleteBuffers;
1249 glDeleteFramebuffers: TglDeleteFramebuffers;
1250 glDeleteProgram: TglDeleteProgram;
1251 glDeleteRenderbuffers: TglDeleteRenderbuffers;
1252 glDeleteShader: TglDeleteShader;
1253 glDeleteTextures: TglDeleteTextures;
1254 glDepthFunc: TglDepthFunc;
1255 glDepthMask: TglDepthMask;
1256 glDepthRangef: TglDepthRangef;
1257 glDetachShader: TglDetachShader;
1258 glDisable: TglDisable;
1259 glDisableVertexAttribArray: TglDisableVertexAttribArray;
1260 glDrawArrays: TglDrawArrays;
1261 glDrawElements: TglDrawElements;
1262 glEnable: TglEnable;
1263 glEnableVertexAttribArray: TglEnableVertexAttribArray;
1264 glFinish: TglFinish;
1266 glFramebufferRenderbuffer: TglFramebufferRenderbuffer;
1267 glFramebufferTexture2D: TglFramebufferTexture2D;
1268 glFrontFace: TglFrontFace;
1269 glGenBuffers: TglGenBuffers;
1270 glGenerateMipmap: TglGenerateMipmap;
1271 glGenFramebuffers: TglGenFramebuffers;
1272 glGenRenderbuffers: TglGenRenderbuffers;
1273 glGenTextures: TglGenTextures;
1274 glGetActiveAttrib: TglGetActiveAttrib;
1275 glGetActiveUniform: TglGetActiveUniform;
1276 glGetAttachedShaders: TglGetAttachedShaders;
1277 glGetAttribLocation: TglGetAttribLocation;
1278 glGetBooleanv: TglGetBooleanv;
1279 glGetBufferParameteriv: TglGetBufferParameteriv;
1280 glGetError: TglGetError;
1281 glGetFloatv: TglGetFloatv;
1282 glGetFramebufferAttachmentParameteriv: TglGetFramebufferAttachmentParameteriv;
1283 glGetIntegerv: TglGetIntegerv;
1284 glGetProgramiv: TglGetProgramiv;
1285 glGetProgramInfoLog: TglGetProgramInfoLog;
1286 glGetRenderbufferParameteriv: TglGetRenderbufferParameteriv;
1287 glGetShaderiv: TglGetShaderiv;
1288 glGetShaderInfoLog: TglGetShaderInfoLog;
1289 glGetShaderPrecisionFormat: TglGetShaderPrecisionFormat;
1290 glGetShaderSource: TglGetShaderSource;
1291 glGetString: TglGetString;
1292 glGetTexParameterfv: TglGetTexParameterfv;
1293 glGetTexParameteriv: TglGetTexParameteriv;
1294 glGetUniformfv: TglGetUniformfv;
1295 glGetUniformiv: TglGetUniformiv;
1296 glGetUniformLocation: TglGetUniformLocation;
1297 glGetVertexAttribfv: TglGetVertexAttribfv;
1298 glGetVertexAttribiv: TglGetVertexAttribiv;
1299 glGetVertexAttribPointerv: TglGetVertexAttribPointerv;
1301 glIsBuffer: TglIsBuffer;
1302 glIsEnabled: TglIsEnabled;
1303 glIsFramebuffer: TglIsFramebuffer;
1304 glIsProgram: TglIsProgram;
1305 glIsRenderbuffer: TglIsRenderbuffer;
1306 glIsShader: TglIsShader;
1307 glIsTexture: TglIsTexture;
1308 glLineWidth: TglLineWidth;
1309 glLinkProgram: TglLinkProgram;
1310 glPixelStorei: TglPixelStorei;
1311 glPolygonOffset: TglPolygonOffset;
1312 glReadPixels: TglReadPixels;
1313 glReleaseShaderCompiler: TglReleaseShaderCompiler;
1314 glRenderbufferStorage: TglRenderbufferStorage;
1315 glSampleCoverage: TglSampleCoverage;
1316 glScissor: TglScissor;
1317 glShaderBinary: TglShaderBinary;
1318 glShaderSource: TglShaderSource;
1319 glStencilFunc: TglStencilFunc;
1320 glStencilFuncSeparate: TglStencilFuncSeparate;
1321 glStencilMask: TglStencilMask;
1322 glStencilMaskSeparate: TglStencilMaskSeparate;
1323 glStencilOp: TglStencilOp;
1324 glStencilOpSeparate: TglStencilOpSeparate;
1325 glTexImage2D: TglTexImage2D;
1326 glTexParameterf: TglTexParameterf;
1327 glTexParameterfv: TglTexParameterfv;
1328 glTexParameteri: TglTexParameteri;
1329 glTexParameteriv: TglTexParameteriv;
1330 glTexSubImage2D: TglTexSubImage2D;
1331 glUniform1f: TglUniform1f;
1332 glUniform1fv: TglUniform1fv;
1333 glUniform1i: TglUniform1i;
1334 glUniform1iv: TglUniform1iv;
1335 glUniform2f: TglUniform2f;
1336 glUniform2fv: TglUniform2fv;
1337 glUniform2i: TglUniform2i;
1338 glUniform2iv: TglUniform2iv;
1339 glUniform3f: TglUniform3f;
1340 glUniform3fv: TglUniform3fv;
1341 glUniform3i: TglUniform3i;
1342 glUniform3iv: TglUniform3iv;
1343 glUniform4f: TglUniform4f;
1344 glUniform4fv: TglUniform4fv;
1345 glUniform4i: TglUniform4i;
1346 glUniform4iv: TglUniform4iv;
1347 glUniformMatrix2fv: TglUniformMatrix2fv;
1348 glUniformMatrix3fv: TglUniformMatrix3fv;
1349 glUniformMatrix4fv: TglUniformMatrix4fv;
1350 glUseProgram: TglUseProgram;
1351 glValidateProgram: TglValidateProgram;
1352 glVertexAttrib1f: TglVertexAttrib1f;
1353 glVertexAttrib1fv: TglVertexAttrib1fv;
1354 glVertexAttrib2f: TglVertexAttrib2f;
1355 glVertexAttrib2fv: TglVertexAttrib2fv;
1356 glVertexAttrib3f: TglVertexAttrib3f;
1357 glVertexAttrib3fv: TglVertexAttrib3fv;
1358 glVertexAttrib4f: TglVertexAttrib4f;
1359 glVertexAttrib4fv: TglVertexAttrib4fv;
1360 glVertexAttribPointer: TglVertexAttribPointer;
1361 glViewport: TglViewport;
1364 glReadBuffer: TglReadBuffer;
1365 glDrawRangeElements: TglDrawRangeElements;
1366 glTexImage3D: TglTexImage3D;
1367 glTexSubImage3D: TglTexSubImage3D;
1368 glCopyTexSubImage3D: TglCopyTexSubImage3D;
1369 glCompressedTexImage3D: TglCompressedTexImage3D;
1370 glCompressedTexSubImage3D: TglCompressedTexSubImage3D;
1371 glGenQueries: TglGenQueries;
1372 glDeleteQueries: TglDeleteQueries;
1373 glIsQuery: TglIsQuery;
1374 glBeginQuery: TglBeginQuery;
1375 glEndQuery: TglEndQuery;
1376 glGetQueryiv: TglGetQueryiv;
1377 glGetQueryObjectuiv: TglGetQueryObjectuiv;
1378 glUnmapBuffer: TglUnmapBuffer;
1379 glGetBufferPointerv: TglGetBufferPointerv;
1380 glDrawBuffers: TglDrawBuffers;
1381 glUniformMatrix2x3fv: TglUniformMatrix2x3fv;
1382 glUniformMatrix3x2fv: TglUniformMatrix3x2fv;
1383 glUniformMatrix2x4fv: TglUniformMatrix2x4fv;
1384 glUniformMatrix4x2fv: TglUniformMatrix4x2fv;
1385 glUniformMatrix3x4fv: TglUniformMatrix3x4fv;
1386 glUniformMatrix4x3fv: TglUniformMatrix4x3fv;
1387 glBlitFramebuffer: TglBlitFramebuffer;
1388 glRenderbufferStorageMultisample: TglRenderbufferStorageMultisample;
1389 glFramebufferTextureLayer: TglFramebufferTextureLayer;
1390 glMapBufferRange: TglMapBufferRange;
1391 glFlushMappedBufferRange: TglFlushMappedBufferRange;
1392 glBindVertexArray: TglBindVertexArray;
1393 glDeleteVertexArrays: TglDeleteVertexArrays;
1394 glGenVertexArrays: TglGenVertexArrays;
1395 glIsVertexArray: TglIsVertexArray;
1396 glGetIntegeri_v: TglGetIntegeri_v;
1397 glBeginTransformFeedback: TglBeginTransformFeedback;
1398 glEndTransformFeedback: TglEndTransformFeedback;
1399 glBindBufferRange: TglBindBufferRange;
1400 glBindBufferBase: TglBindBufferBase;
1401 glTransformFeedbackVaryings: TglTransformFeedbackVaryings;
1402 glGetTransformFeedbackVarying: TglGetTransformFeedbackVarying;
1403 glVertexAttribIPointer: TglVertexAttribIPointer;
1404 glGetVertexAttribIiv: TglGetVertexAttribIiv;
1405 glGetVertexAttribIuiv: TglGetVertexAttribIuiv;
1406 glVertexAttribI4i: TglVertexAttribI4i;
1407 glVertexAttribI4ui: TglVertexAttribI4ui;
1408 glVertexAttribI4iv: TglVertexAttribI4iv;
1409 glVertexAttribI4uiv: TglVertexAttribI4uiv;
1410 glGetUniformuiv: TglGetUniformuiv;
1411 glGetFragDataLocation: TglGetFragDataLocation;
1412 glUniform1ui: TglUniform1ui;
1413 glUniform2ui: TglUniform2ui;
1414 glUniform3ui: TglUniform3ui;
1415 glUniform4ui: TglUniform4ui;
1416 glUniform1uiv: TglUniform1uiv;
1417 glUniform2uiv: TglUniform2uiv;
1418 glUniform3uiv: TglUniform3uiv;
1419 glUniform4uiv: TglUniform4uiv;
1420 glClearBufferiv: TglClearBufferiv;
1421 glClearBufferuiv: TglClearBufferuiv;
1422 glClearBufferfv: TglClearBufferfv;
1423 glClearBufferfi: TglClearBufferfi;
1424 glGetStringi: TglGetStringi;
1425 glCopyBufferSubData: TglCopyBufferSubData;
1426 glGetUniformIndices: TglGetUniformIndices;
1427 glGetActiveUniformsiv: TglGetActiveUniformsiv;
1428 glGetUniformBlockIndex: TglGetUniformBlockIndex;
1429 glGetActiveUniformBlockiv: TglGetActiveUniformBlockiv;
1430 glGetActiveUniformBlockName: TglGetActiveUniformBlockName;
1431 glUniformBlockBinding: TglUniformBlockBinding;
1432 glDrawArraysInstanced: TglDrawArraysInstanced;
1433 glDrawElementsInstanced: TglDrawElementsInstanced;
1434 glFenceSync: TglFenceSync;
1435 glIsSync: TglIsSync;
1436 glDeleteSync: TglDeleteSync;
1437 glClientWaitSync: TglClientWaitSync;
1438 glWaitSync: TglWaitSync;
1439 glGetInteger64v: TglGetInteger64v;
1440 glGetSynciv: TglGetSynciv;
1441 glGetInteger64i_v: TglGetInteger64i_v;
1442 glGetBufferParameteri64v: TglGetBufferParameteri64v;
1443 glGenSamplers: TglGenSamplers;
1444 glDeleteSamplers: TglDeleteSamplers;
1445 glIsSampler: TglIsSampler;
1446 glBindSampler: TglBindSampler;
1447 glSamplerParameteri: TglSamplerParameteri;
1448 glSamplerParameteriv: TglSamplerParameteriv;
1449 glSamplerParameterf: TglSamplerParameterf;
1450 glSamplerParameterfv: TglSamplerParameterfv;
1451 glGetSamplerParameteriv: TglGetSamplerParameteriv;
1452 glGetSamplerParameterfv: TglGetSamplerParameterfv;
1453 glVertexAttribDivisor: TglVertexAttribDivisor;
1454 glBindTransformFeedback: TglBindTransformFeedback;
1455 glDeleteTransformFeedbacks: TglDeleteTransformFeedbacks;
1456 glGenTransformFeedbacks: TglGenTransformFeedbacks;
1457 glIsTransformFeedback: TglIsTransformFeedback;
1458 glPauseTransformFeedback: TglPauseTransformFeedback;
1459 glResumeTransformFeedback: TglResumeTransformFeedback;
1460 glGetProgramBinary: TglGetProgramBinary;
1461 glProgramBinary: TglProgramBinary;
1462 glProgramParameteri: TglProgramParameteri;
1463 glInvalidateFramebuffer: TglInvalidateFramebuffer;
1464 glInvalidateSubFramebuffer: TglInvalidateSubFramebuffer;
1465 glTexStorage2D: TglTexStorage2D;
1466 glTexStorage3D: TglTexStorage3D;
1467 glGetInternalformativ: TglGetInternalformativ;
1470 glDispatchCompute: TglDispatchCompute;
1471 glDispatchComputeIndirect: TglDispatchComputeIndirect;
1472 glDrawArraysIndirect: TglDrawArraysIndirect;
1473 glDrawElementsIndirect: TglDrawElementsIndirect;
1474 glFramebufferParameteri: TglFramebufferParameteri;
1475 glGetFramebufferParameteriv: TglGetFramebufferParameteriv;
1476 glGetProgramInterfaceiv: TglGetProgramInterfaceiv;
1477 glGetProgramResourceIndex: TglGetProgramResourceIndex;
1478 glGetProgramResourceName: TglGetProgramResourceName;
1479 glGetProgramResourceiv: TglGetProgramResourceiv;
1480 glGetProgramResourceLocation: TglGetProgramResourceLocation;
1481 glUseProgramStages: TglUseProgramStages;
1482 glActiveShaderProgram: TglActiveShaderProgram;
1483 glCreateShaderProgramv: TglCreateShaderProgramv;
1484 glBindProgramPipeline: TglBindProgramPipeline;
1485 glDeleteProgramPipelines: TglDeleteProgramPipelines;
1486 glGenProgramPipelines: TglGenProgramPipelines;
1487 glIsProgramPipeline: TglIsProgramPipeline;
1488 glGetProgramPipelineiv: TglGetProgramPipelineiv;
1489 glProgramUniform1i: TglProgramUniform1i;
1490 glProgramUniform2i: TglProgramUniform2i;
1491 glProgramUniform3i: TglProgramUniform3i;
1492 glProgramUniform4i: TglProgramUniform4i;
1493 glProgramUniform1ui: TglProgramUniform1ui;
1494 glProgramUniform2ui: TglProgramUniform2ui;
1495 glProgramUniform3ui: TglProgramUniform3ui;
1496 glProgramUniform4ui: TglProgramUniform4ui;
1497 glProgramUniform1f: TglProgramUniform1f;
1498 glProgramUniform2f: TglProgramUniform2f;
1499 glProgramUniform3f: TglProgramUniform3f;
1500 glProgramUniform4f: TglProgramUniform4f;
1501 glProgramUniform1iv: TglProgramUniform1iv;
1502 glProgramUniform2iv: TglProgramUniform2iv;
1503 glProgramUniform3iv: TglProgramUniform3iv;
1504 glProgramUniform4iv: TglProgramUniform4iv;
1505 glProgramUniform1uiv: TglProgramUniform1uiv;
1506 glProgramUniform2uiv: TglProgramUniform2uiv;
1507 glProgramUniform3uiv: TglProgramUniform3uiv;
1508 glProgramUniform4uiv: TglProgramUniform4uiv;
1509 glProgramUniform1fv: TglProgramUniform1fv;
1510 glProgramUniform2fv: TglProgramUniform2fv;
1511 glProgramUniform3fv: TglProgramUniform3fv;
1512 glProgramUniform4fv: TglProgramUniform4fv;
1513 glProgramUniformMatrix2fv: TglProgramUniformMatrix2fv;
1514 glProgramUniformMatrix3fv: TglProgramUniformMatrix3fv;
1515 glProgramUniformMatrix4fv: TglProgramUniformMatrix4fv;
1516 glProgramUniformMatrix2x3fv: TglProgramUniformMatrix2x3fv;
1517 glProgramUniformMatrix3x2fv: TglProgramUniformMatrix3x2fv;
1518 glProgramUniformMatrix2x4fv: TglProgramUniformMatrix2x4fv;
1519 glProgramUniformMatrix4x2fv: TglProgramUniformMatrix4x2fv;
1520 glProgramUniformMatrix3x4fv: TglProgramUniformMatrix3x4fv;
1521 glProgramUniformMatrix4x3fv: TglProgramUniformMatrix4x3fv;
1522 glValidateProgramPipeline: TglValidateProgramPipeline;
1523 glGetProgramPipelineInfoLog: TglGetProgramPipelineInfoLog;
1524 glBindImageTexture: TglBindImageTexture;
1525 glGetBooleaniV: TglGetBooleaniV;
1526 glMemoryBarrier: TglMemoryBarrier;
1527 glMemoryBarrierByRegion: TglMemoryBarrierByRegion;
1528 glTexStorage2DMultisample: TglTexStorage2DMultisample;
1529 glGetMultisamplefv: TglGetMultisamplefv;
1530 glSampleMaski: TglSampleMaski;
1531 glGetTexLevelParameteriv: TglGetTexLevelParameteriv;
1532 glGetTexLevelParameterfv: TglGetTexLevelParameterfv;
1533 glBindVertexBuffer: TglBindVertexBuffer;
1534 glVertexAttribFormat: TglVertexAttribFormat;
1535 glVertexAttribIFormat: TglVertexAttribIFormat;
1536 glVertexAttribBinding: TglVertexAttribBinding;
1537 glVertexBindingDivisor: TglVertexBindingDivisor;
1540 { ===================================================== EGL ========================================================== }
1543 EGLboolean = Cardinal;
1545 EGLConfig = Pointer;
1546 EGLContext = Pointer;
1547 EGLDisplay = Pointer;
1548 EGLSurface = Pointer;
1549 EGLClientBuffer = Pointer;
1550 EGLNativeDisplayType = Pointer;
1551 EGLNativePixmapType = Pointer;
1552 EGLNativeWindowType = packed record
1553 element: Cardinal { DispManXElementHandle };
1559 PEGLboolean = ^EGLboolean;
1560 PEGLenum = ^EGLenum;
1561 PEGLConfig = ^EGLConfig;
1562 PEGLContext = ^EGLContext;
1563 PEGLDisplay = ^EGLDisplay;
1564 PEGLSurface = ^EGLSurface;
1565 PEGLClientBuffer = ^EGLClientBuffer;
1566 PEGLNativeDisplayType = ^EGLNativeDisplayType;
1567 PEGLNativePixmapType = ^EGLNativePixmapType;
1568 PEGLNativeWindowType = ^EGLNativeWindowType;
1571 EGL_FALSE: EGLboolean = 0;
1572 EGL_TRUE: EGLboolean = 1;
1574 EGL_DEFAULT_DISPLAY: EGLNativeDisplayType = nil;
1575 EGL_NO_CONTEXT: EGLContext = nil;
1576 EGL_NO_DISPLAY: EGLDisplay = nil;
1577 EGL_NO_SURFACE: EGLSurface = nil;
1579 EGL_DONT_CARE: EGLint = -1;
1581 EGL_SUCCESS = $3000;
1582 EGL_NOT_INITIALIZED = $3001;
1583 EGL_BAD_ACCESS = $3002;
1584 EGL_BAD_ALLOC = $3003;
1585 EGL_BAD_ATTRIBUTE = $3004;
1586 EGL_BAD_CONFIG = $3005;
1587 EGL_BAD_CONTEXT = $3006;
1588 EGL_BAD_CURRENT_SURFACE = $3007;
1589 EGL_BAD_DISPLAY = $3008;
1590 EGL_BAD_MATCH = $3009;
1591 EGL_BAD_NATIVE_PIXMAP = $300A;
1592 EGL_BAD_NATIVE_WINDOW = $300B;
1593 EGL_BAD_PARAMETER = $300C;
1594 EGL_BAD_SURFACE = $300D;
1595 EGL_CONTEXT_LOST = $300E;
1597 EGL_BUFFER_SIZE = $3020;
1598 EGL_ALPHA_SIZE = $3021;
1599 EGL_BLUE_SIZE = $3022;
1600 EGL_GREEN_SIZE = $3023;
1601 EGL_RED_SIZE = $3024;
1602 EGL_DEPTH_SIZE = $3025;
1603 EGL_STENCIL_SIZE = $3026;
1604 EGL_CONFIG_CAVEAT = $3027;
1605 EGL_CONFIG_ID = $3028;
1607 EGL_MAX_PBUFFER_HEIGHT = $302A;
1608 EGL_MAX_PBUFFER_PIXELS = $302B;
1609 EGL_MAX_PBUFFER_WIDTH = $302C;
1610 EGL_NATIVE_RENDERABLE = $302D;
1611 EGL_NATIVE_VISUAL_ID = $302E;
1612 EGL_NATIVE_VISUAL_TYPE = $302F;
1613 EGL_SAMPLES = $3031;
1614 EGL_SAMPLE_BUFFERS = $3032;
1615 EGL_SURFACE_TYPE = $3033;
1616 EGL_TRANSPARENT_TYPE = $3034;
1617 EGL_TRANSPARENT_BLUE_VALUE = $3035;
1618 EGL_TRANSPARENT_GREEN_VALUE = $3036;
1619 EGL_TRANSPARENT_RED_VALUE = $3037;
1621 EGL_BIND_TO_TEXTURE_RGB = $3039;
1622 EGL_BIND_TO_TEXTURE_RGBA = $303A;
1623 EGL_MIN_SWAP_INTERVAL = $303B;
1624 EGL_MAX_SWAP_INTERVAL = $303C;
1625 EGL_LUMINANCE_SIZE = $303D;
1626 EGL_ALPHA_MASK_SIZE = $303E;
1627 EGL_COLOR_BUFFER_TYPE = $303F;
1628 EGL_RENDERABLE_TYPE = $3040;
1629 EGL_MATCH_NATIVE_PIXMAP = $3041;
1630 EGL_CONFORMANT = $3042;
1632 EGL_SLOW_CONFIG = $3050;
1633 EGL_NON_CONFORMANT_CONFIG = $3051;
1634 EGL_TRANSPARENT_RGB = $3052;
1635 EGL_RGB_BUFFER = $308E;
1636 EGL_LUMINANCE_BUFFER = $308F;
1638 EGL_NO_TEXTURE = $305C;
1639 EGL_TEXTURE_RGB = $305D;
1640 EGL_TEXTURE_RGBA = $305E;
1641 EGL_TEXTURE_2D = $305F;
1643 EGL_PBUFFER_BIT = $0001;
1644 EGL_PIXMAP_BIT = $0002;
1645 EGL_WINDOW_BIT = $0004;
1646 EGL_VG_COLORSPACE_LINEAR_BIT = $0020;
1647 EGL_VG_ALPHA_FORMAT_PRE_BIT = $0040;
1648 EGL_MULTISAMPLE_RESOLVE_BOX_BIT = $0200;
1649 EGL_SWAP_BEHAVIOR_PRESERVED_BIT = $0400;
1651 EGL_OPENGL_ES_BIT = $0001;
1652 EGL_OPENVG_BIT = $0002;
1653 EGL_OPENGL_ES2_BIT = $0004;
1654 EGL_OPENGL_BIT = $0008;
1657 EGL_VERSION = $3054;
1658 EGL_EXTENSIONS = $3055;
1659 EGL_CLIENT_APIS = $308D;
1663 EGL_LARGEST_PBUFFER = $3058;
1664 EGL_TEXTURE_FORMAT = $3080;
1665 EGL_TEXTURE_TARGET = $3081;
1666 EGL_MIPMAP_TEXTURE = $3082;
1667 EGL_MIPMAP_LEVEL = $3083;
1668 EGL_RENDER_BUFFER = $3086;
1669 EGL_VG_COLORSPACE = $3087;
1670 EGL_VG_ALPHA_FORMAT = $3088;
1671 EGL_HORIZONTAL_RESOLUTION = $3090;
1672 EGL_VERTICAL_RESOLUTION = $3091;
1673 EGL_PIXEL_ASPECT_RATIO = $3092;
1674 EGL_SWAP_BEHAVIOR = $3093;
1675 EGL_MULTISAMPLE_RESOLVE = $3099;
1677 EGL_BACK_BUFFER = $3084;
1678 EGL_SINGLE_BUFFER = $3085;
1680 EGL_VG_COLORSPACE_sRGB = $3089;
1681 EGL_VG_COLORSPACE_LINEAR = $308A;
1683 EGL_VG_ALPHA_FORMAT_NONPRE = $308B;
1684 EGL_VG_ALPHA_FORMAT_PRE = $308C;
1686 EGL_DISPLAY_SCALING = 10000;
1688 EGL_UNKNOWN: EGLint = -1;
1690 EGL_BUFFER_PRESERVED = $3094;
1691 EGL_BUFFER_DESTROYED = $3095;
1693 EGL_OPENVG_IMAGE = $3096;
1695 EGL_CONTEXT_CLIENT_TYPE = $3097;
1697 EGL_CONTEXT_CLIENT_VERSION = $3098;
1699 EGL_MULTISAMPLE_RESOLVE_DEFAULT = $309A;
1700 EGL_MULTISAMPLE_RESOLVE_BOX = $309B;
1702 EGL_OPENGL_ES_API = $30A0;
1703 EGL_OPENVG_API = $30A1;
1704 EGL_OPENGL_API = $30A2;
1709 EGL_CORE_NATIVE_ENGINE = $305B;
1711 EGL_COLORSPACE = EGL_VG_COLORSPACE;
1712 EGL_ALPHA_FORMAT = EGL_VG_ALPHA_FORMAT;
1713 EGL_COLORSPACE_sRGB = EGL_VG_COLORSPACE_sRGB;
1714 EGL_COLORSPACE_LINEAR = EGL_VG_COLORSPACE_LINEAR;
1715 EGL_ALPHA_FORMAT_NONPRE = EGL_VG_ALPHA_FORMAT_NONPRE;
1716 EGL_ALPHA_FORMAT_PRE = EGL_VG_ALPHA_FORMAT_PRE;
1719 TeglGetError = function: EGLint; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1721 TeglGetDisplay = function(aDisplayID: EGLNativeDisplayType): EGLDisplay; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1722 TeglInitialize = function(aDisplay: EGLDisplay; aMajor, aMinor: PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1723 TeglTerminate = function(aDisplay: EGLDisplay): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1725 TeglQueryString = function(aDisplay: EGLDisplay; aName: EGLint): PAnsiChar; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1727 TeglGetConfigs = function(aDisplay: EGLDisplay; aConfigs: PEGLConfig; aConfigSize: EGLint; aNumConfig: PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1728 TeglChooseConfig = function(aDisplay: EGLDisplay; const aAttribList: PEGLint; aConfigs: PEGLConfig; aConfigSize: EGLint; aNumConfig: PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1729 TeglGetConfigAttrib = function(aDisplay: EGLDisplay; aConfig: EGLConfig; aAttribute: EGLint; aValue : PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1731 TeglCreateWindowSurface = function(aDisplay: EGLDisplay; aConfig: EGLConfig; aWinType: PEGLNativeWindowType; const aAttribList: PEGLint): EGLSurface; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1732 TeglCreatePbufferSurface = function(aDisplay: EGLDisplay; aConfig: EGLConfig; const aAttribList: PEGLint): EGLSurface; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1733 TeglCreatePixmapSurface = function(aDisplay: EGLDisplay; aConfig: EGLConfig; aPixmap: EGLNativePixmapType; const aAttribList: PEGLint): EGLSurface; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1734 TeglDestroySurface = function(aDisplay: EGLDisplay; aSurface: EGLSurface): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1735 TeglQuerySurface = function(aDisplay: EGLDisplay; aSurface: EGLSurface; aAttribute: EGLint; aValue: PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1737 TeglBindAPI = function(aApi: EGLenum): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1738 TeglQueryAPI = function: EGLenum; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1740 TeglWaitClient = function: EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1742 TeglReleaseThread = function: EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1744 TeglCreatePbufferFromClientBuffer = function(aDisplay: EGLDisplay; aBufType: EGLenum; aBuffer: EGLClientBuffer; aConfig: EGLConfig; const aAttribList: PEGLint): EGLSurface; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1746 TeglSurfaceAttrib = function(aDisplay: EGLDisplay; aSurface: EGLSurface; aAttribute: EGLint; aValue: EGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1747 TeglBindTexImage = function(aDisplay: EGLDisplay; aSurface: EGLSurface; aBuffer: EGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1748 TeglReleaseTexImage = function(aDisplay: EGLDisplay; aSurface: EGLSurface; aBuffer: EGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1750 TeglSwapInterval = function(aDisplay: EGLDisplay; aInterval: EGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1752 TeglCreateContext = function(aDisplay: EGLDisplay; aConfig: EGLConfig; aShareContext: EGLContext; const aAttribList: PEGLint): EGLContext; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1753 TeglDestroyContext = function(aDisplay: EGLDisplay; aContext: EGLContext): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1754 TeglMakeCurrent = function(aDisplay: EGLDisplay; aDraw: EGLSurface; aRead: EGLSurface; aContext: EGLContext): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1756 TeglGetCurrentContext = function: EGLContext; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1757 TeglGetCurrentSurface = function(aReadDraw: EGLint): EGLSurface; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1758 TeglGetCurrentDisplay = function: EGLDisplay; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1759 TeglQueryContext = function(aDisplay: EGLDisplay; aContext: EGLContext; aAttribute: EGLint; aValue: PEGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1761 TeglWaitGL = function: EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1762 TeglWaitNative = function(aEngine: EGLint): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1763 TeglSwapBuffers = function(aDisplay: EGLDisplay; aSurface: EGLSurface): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1764 TeglCopyBuffers = function(aDisplay: EGLDisplay; aSurface: EGLSurface; aTarget: EGLNativePixmapType): EGLBoolean; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1766 TeglGetProcAddress = function(const aProcName: PAnsiChar): Pointer; {$IFDEF DGL_WIN}stdcall;{$ELSE}cdecl;{$ENDIF}
1770 eglGetError: TeglGetError;
1772 eglGetDisplay: TeglGetDisplay;
1773 eglInitialize: TeglInitialize;
1774 eglTerminate: TeglTerminate;
1776 eglQueryString: TeglQueryString;
1778 eglGetConfigs: TeglGetConfigs;
1779 eglChooseConfig: TeglChooseConfig;
1780 eglGetConfigAttrib: TeglGetConfigAttrib;
1782 eglCreateWindowSurface: TeglCreateWindowSurface;
1783 eglCreatePbufferSurface: TeglCreatePbufferSurface;
1784 eglCreatePixmapSurface: TeglCreatePixmapSurface;
1785 eglDestroySurface: TeglDestroySurface;
1786 eglQuerySurface: TeglQuerySurface;
1788 eglBindAPI: TeglBindAPI;
1789 eglQueryAPI: TeglQueryAPI;
1791 eglWaitClient: TeglWaitClient;
1793 eglReleaseThread: TeglReleaseThread;
1795 eglCreatePbufferFromClientBuffer: TeglCreatePbufferFromClientBuffer;
1797 eglSurfaceAttrib: TeglSurfaceAttrib;
1798 eglBindTexImage: TeglBindTexImage;
1799 eglReleaseTexImage: TeglReleaseTexImage;
1801 eglSwapInterval: TeglSwapInterval;
1803 eglCreateContext: TeglCreateContext;
1804 eglDestroyContext: TeglDestroyContext;
1805 eglMakeCurrent: TeglMakeCurrent;
1807 eglGetCurrentContext: TeglGetCurrentContext;
1808 eglGetCurrentSurface: TeglGetCurrentSurface;
1809 eglGetCurrentDisplay: TeglGetCurrentDisplay;
1810 eglQueryContext: TeglQueryContext;
1812 eglWaitGL: TeglWaitGL;
1813 eglWaitNative: TeglWaitNative;
1814 eglSwapBuffers: TeglSwapBuffers;
1815 eglCopyBuffers: TeglCopyBuffers;
1817 eglGetProcAddress: TeglGetProcAddress;
1819 function InitOpenGLES(const aOpenGLESLibName: String = LIBNAME_OPENGLES; aEGLLibName: String = LIBNAME_EGL): Boolean;
1820 procedure ReadExtensions;
1825 LibHandleOpenGLES: Pointer = nil;
1826 LibHandleEGL: Pointer = nil;
1828 function dglLoadLibrary(const aName: PChar): Pointer;
1831 result := dlopen(aName, RTLD_LAZY);
1835 function dglGetProcAddress(const aProcName: PAnsiChar): Pointer;
1839 if Assigned(LibHandleOpenGLES) then
1840 result := dlsym(LibHandleOpenGLES, aProcName);
1842 if not Assigned(result) and Assigned(eglGetProcAddress) then
1843 result := eglGetProcAddress(aProcName);
1845 if not Assigned(result) and Assigned(LibHandleEGL) then
1846 result := dlsym(LibHandleEGL, aProcName);
1849 function dglFreeAndNilLibrary(var aLibHandle: Pointer): Boolean;
1851 if Assigned(aLibHandle) then begin
1853 result := (dlclose(aLibHandle) = 0);
1860 procedure ReadOpenGLCore;
1865 function InitOpenGLES(const aOpenGLESLibName: String; aEGLLibName: String): Boolean;
1869 if Assigned(LibHandleOpenGLES) then
1870 dglFreeAndNilLibrary(LibHandleOpenGLES);
1872 if Assigned(LibHandleEGL) then
1873 dglFreeAndNilLibrary(LibHandleEGL);
1875 LibHandleOpenGLES := dglLoadLibrary(PChar(aOpenGLESLibName));
1876 LibHandleEGL := dglLoadLibrary(PChar(aEGLLibName));
1878 // load EGL procedures
1879 if Assigned(LibHandleEGL) then begin
1880 eglGetProcAddress := dglGetProcAddress('eglGetProcAddress');
1881 eglGetError := dglGetProcAddress('eglGetError');
1882 eglGetDisplay := dglGetProcAddress('eglGetDisplay');
1883 eglInitialize := dglGetProcAddress('eglInitialize');
1884 eglTerminate := dglGetProcAddress('eglTerminate');
1885 eglQueryString := dglGetProcAddress('eglQueryString');
1886 eglGetConfigs := dglGetProcAddress('eglGetConfigs');
1887 eglChooseConfig := dglGetProcAddress('eglChooseConfig');
1888 eglGetConfigAttrib := dglGetProcAddress('eglGetConfigAttrib');
1889 eglCreateWindowSurface := dglGetProcAddress('eglCreateWindowSurface');
1890 eglCreatePbufferSurface := dglGetProcAddress('eglCreatePbufferSurface');
1891 eglCreatePixmapSurface := dglGetProcAddress('eglCreatePixmapSurface');
1892 eglDestroySurface := dglGetProcAddress('eglDestroySurface');
1893 eglQuerySurface := dglGetProcAddress('eglQuerySurface');
1894 eglBindAPI := dglGetProcAddress('eglBindAPI');
1895 eglQueryAPI := dglGetProcAddress('eglQueryAPI');
1896 eglWaitClient := dglGetProcAddress('eglWaitClient');
1897 eglReleaseThread := dglGetProcAddress('eglReleaseThread');
1898 eglCreatePbufferFromClientBuffer := dglGetProcAddress('eglCreatePbufferFromClientBuffer');
1899 eglSurfaceAttrib := dglGetProcAddress('eglSurfaceAttrib');
1900 eglBindTexImage := dglGetProcAddress('eglBindTexImage');
1901 eglReleaseTexImage := dglGetProcAddress('eglReleaseTexImage');
1902 eglSwapInterval := dglGetProcAddress('eglSwapInterval');
1903 eglCreateContext := dglGetProcAddress('eglCreateContext');
1904 eglDestroyContext := dglGetProcAddress('eglDestroyContext');
1905 eglMakeCurrent := dglGetProcAddress('eglMakeCurrent');
1906 eglGetCurrentContext := dglGetProcAddress('eglGetCurrentContext');
1907 eglGetCurrentSurface := dglGetProcAddress('eglGetCurrentSurface');
1908 eglGetCurrentDisplay := dglGetProcAddress('eglGetCurrentDisplay');
1909 eglQueryContext := dglGetProcAddress('eglQueryContext');
1910 eglWaitGL := dglGetProcAddress('eglWaitGL');
1911 eglWaitNative := dglGetProcAddress('eglWaitNative');
1912 eglSwapBuffers := dglGetProcAddress('eglSwapBuffers');
1913 eglCopyBuffers := dglGetProcAddress('eglCopyBuffers');
1918 procedure ReadExtensions;
1920 glActiveTexture := dglGetProcAddress('glActiveTexture');
1921 glAttachShader := dglGetProcAddress('glAttachShader');
1922 glBindAttribLocation := dglGetProcAddress('glBindAttribLocation');
1923 glBindBuffer := dglGetProcAddress('glBindBuffer');
1924 glBindFramebuffer := dglGetProcAddress('glBindFramebuffer');
1925 glBindRenderbuffer := dglGetProcAddress('glBindRenderbuffer');
1926 glBindTexture := dglGetProcAddress('glBindTexture');
1927 glBlendColor := dglGetProcAddress('glBlendColor');
1928 glBlendEquation := dglGetProcAddress('glBlendEquation');
1929 glBlendEquationSeparate := dglGetProcAddress('glBlendEquationSeparate');
1930 glBlendFunc := dglGetProcAddress('glBlendFunc');
1931 glBlendFuncSeparate := dglGetProcAddress('glBlendFuncSeparate');
1932 glBufferData := dglGetProcAddress('glBufferData');
1933 glBufferSubData := dglGetProcAddress('glBufferSubData');
1934 glCheckFramebufferStatus := dglGetProcAddress('glCheckFramebufferStatus');
1935 glClear := dglGetProcAddress('glClear');
1936 glClearColor := dglGetProcAddress('glClearColor');
1937 glClearDepthf := dglGetProcAddress('glClearDepthf');
1938 glClearStencil := dglGetProcAddress('glClearStencil');
1939 glColorMask := dglGetProcAddress('glColorMask');
1940 glCompileShader := dglGetProcAddress('glCompileShader');
1941 glCompressedTexImage2D := dglGetProcAddress('glCompressedTexImage2D');
1942 glCompressedTexSubImage2D := dglGetProcAddress('glCompressedTexSubImage2D');
1943 glCopyTexImage2D := dglGetProcAddress('glCopyTexImage2D');
1944 glCopyTexSubImage2D := dglGetProcAddress('glCopyTexSubImage2D');
1945 glCreateProgram := dglGetProcAddress('glCreateProgram');
1946 glCreateShader := dglGetProcAddress('glCreateShader');
1947 glCullFace := dglGetProcAddress('glCullFace');
1948 glDeleteBuffers := dglGetProcAddress('glDeleteBuffers');
1949 glDeleteFramebuffers := dglGetProcAddress('glDeleteFramebuffers');
1950 glDeleteProgram := dglGetProcAddress('glDeleteProgram');
1951 glDeleteRenderbuffers := dglGetProcAddress('glDeleteRenderbuffers');
1952 glDeleteShader := dglGetProcAddress('glDeleteShader');
1953 glDeleteTextures := dglGetProcAddress('glDeleteTextures');
1954 glDepthFunc := dglGetProcAddress('glDepthFunc');
1955 glDepthMask := dglGetProcAddress('glDepthMask');
1956 glDepthRangef := dglGetProcAddress('glDepthRangef');
1957 glDetachShader := dglGetProcAddress('glDetachShader');
1958 glDisable := dglGetProcAddress('glDisable');
1959 glDisableVertexAttribArray := dglGetProcAddress('glDisableVertexAttribArray');
1960 glDrawArrays := dglGetProcAddress('glDrawArrays');
1961 glDrawElements := dglGetProcAddress('glDrawElements');
1962 glEnable := dglGetProcAddress('glEnable');
1963 glEnableVertexAttribArray := dglGetProcAddress('glEnableVertexAttribArray');
1964 glFinish := dglGetProcAddress('glFinish');
1965 glFlush := dglGetProcAddress('glFlush');
1966 glFramebufferRenderbuffer := dglGetProcAddress('glFramebufferRenderbuffer');
1967 glFramebufferTexture2D := dglGetProcAddress('glFramebufferTexture2D');
1968 glFrontFace := dglGetProcAddress('glFrontFace');
1969 glGenBuffers := dglGetProcAddress('glGenBuffers');
1970 glGenerateMipmap := dglGetProcAddress('glGenerateMipmap');
1971 glGenFramebuffers := dglGetProcAddress('glGenFramebuffers');
1972 glGenRenderbuffers := dglGetProcAddress('glGenRenderbuffers');
1973 glGenTextures := dglGetProcAddress('glGenTextures');
1974 glGetActiveAttrib := dglGetProcAddress('glGetActiveAttrib');
1975 glGetActiveUniform := dglGetProcAddress('glGetActiveUniform');
1976 glGetAttachedShaders := dglGetProcAddress('glGetAttachedShaders');
1977 glGetAttribLocation := dglGetProcAddress('glGetAttribLocation');
1978 glGetBooleanv := dglGetProcAddress('glGetBooleanv');
1979 glGetBufferParameteriv := dglGetProcAddress('glGetBufferParameteriv');
1980 glGetError := dglGetProcAddress('glGetError');
1981 glGetFloatv := dglGetProcAddress('glGetFloatv');
1982 glGetFramebufferAttachmentParameteriv := dglGetProcAddress('glGetFramebufferAttachmentParameteriv');
1983 glGetIntegerv := dglGetProcAddress('glGetIntegerv');
1984 glGetProgramiv := dglGetProcAddress('glGetProgramiv');
1985 glGetProgramInfoLog := dglGetProcAddress('glGetProgramInfoLog');
1986 glGetRenderbufferParameteriv := dglGetProcAddress('glGetRenderbufferParameteriv');
1987 glGetShaderiv := dglGetProcAddress('glGetShaderiv');
1988 glGetShaderInfoLog := dglGetProcAddress('glGetShaderInfoLog');
1989 glGetShaderPrecisionFormat := dglGetProcAddress('glGetShaderPrecisionFormat');
1990 glGetShaderSource := dglGetProcAddress('glGetShaderSource');
1991 glGetString := dglGetProcAddress('glGetString');
1992 glGetTexParameterfv := dglGetProcAddress('glGetTexParameterfv');
1993 glGetTexParameteriv := dglGetProcAddress('glGetTexParameteriv');
1994 glGetUniformfv := dglGetProcAddress('glGetUniformfv');
1995 glGetUniformiv := dglGetProcAddress('glGetUniformiv');
1996 glGetUniformLocation := dglGetProcAddress('glGetUniformLocation');
1997 glGetVertexAttribfv := dglGetProcAddress('glGetVertexAttribfv');
1998 glGetVertexAttribiv := dglGetProcAddress('glGetVertexAttribiv');
1999 glGetVertexAttribPointerv := dglGetProcAddress('glGetVertexAttribPointerv');
2000 glHint := dglGetProcAddress('glHint');
2001 glIsBuffer := dglGetProcAddress('glIsBuffer');
2002 glIsEnabled := dglGetProcAddress('glIsEnabled');
2003 glIsFramebuffer := dglGetProcAddress('glIsFramebuffer');
2004 glIsProgram := dglGetProcAddress('glIsProgram');
2005 glIsRenderbuffer := dglGetProcAddress('glIsRenderbuffer');
2006 glIsShader := dglGetProcAddress('glIsShader');
2007 glIsTexture := dglGetProcAddress('glIsTexture');
2008 glLineWidth := dglGetProcAddress('glLineWidth');
2009 glLinkProgram := dglGetProcAddress('glLinkProgram');
2010 glPixelStorei := dglGetProcAddress('glPixelStorei');
2011 glPolygonOffset := dglGetProcAddress('glPolygonOffset');
2012 glReadPixels := dglGetProcAddress('glReadPixels');
2013 glReleaseShaderCompiler := dglGetProcAddress('glReleaseShaderCompiler');
2014 glRenderbufferStorage := dglGetProcAddress('glRenderbufferStorage');
2015 glSampleCoverage := dglGetProcAddress('glSampleCoverage');
2016 glScissor := dglGetProcAddress('glScissor');
2017 glShaderBinary := dglGetProcAddress('glShaderBinary');
2018 glShaderSource := dglGetProcAddress('glShaderSource');
2019 glStencilFunc := dglGetProcAddress('glStencilFunc');
2020 glStencilFuncSeparate := dglGetProcAddress('glStencilFuncSeparate');
2021 glStencilMask := dglGetProcAddress('glStencilMask');
2022 glStencilMaskSeparate := dglGetProcAddress('glStencilMaskSeparate');
2023 glStencilOp := dglGetProcAddress('glStencilOp');
2024 glStencilOpSeparate := dglGetProcAddress('glStencilOpSeparate');
2025 glTexImage2D := dglGetProcAddress('glTexImage2D');
2026 glTexParameterf := dglGetProcAddress('glTexParameterf');
2027 glTexParameterfv := dglGetProcAddress('glTexParameterfv');
2028 glTexParameteri := dglGetProcAddress('glTexParameteri');
2029 glTexParameteriv := dglGetProcAddress('glTexParameteriv');
2030 glTexSubImage2D := dglGetProcAddress('glTexSubImage2D');
2031 glUniform1f := dglGetProcAddress('glUniform1f');
2032 glUniform1fv := dglGetProcAddress('glUniform1fv');
2033 glUniform1i := dglGetProcAddress('glUniform1i');
2034 glUniform1iv := dglGetProcAddress('glUniform1iv');
2035 glUniform2f := dglGetProcAddress('glUniform2f');
2036 glUniform2fv := dglGetProcAddress('glUniform2fv');
2037 glUniform2i := dglGetProcAddress('glUniform2i');
2038 glUniform2iv := dglGetProcAddress('glUniform2iv');
2039 glUniform3f := dglGetProcAddress('glUniform3f');
2040 glUniform3fv := dglGetProcAddress('glUniform3fv');
2041 glUniform3i := dglGetProcAddress('glUniform3i');
2042 glUniform3iv := dglGetProcAddress('glUniform3iv');
2043 glUniform4f := dglGetProcAddress('glUniform4f');
2044 glUniform4fv := dglGetProcAddress('glUniform4fv');
2045 glUniform4i := dglGetProcAddress('glUniform4i');
2046 glUniform4iv := dglGetProcAddress('glUniform4iv');
2047 glUniformMatrix2fv := dglGetProcAddress('glUniformMatrix2fv');
2048 glUniformMatrix3fv := dglGetProcAddress('glUniformMatrix3fv');
2049 glUniformMatrix4fv := dglGetProcAddress('glUniformMatrix4fv');
2050 glUseProgram := dglGetProcAddress('glUseProgram');
2051 glValidateProgram := dglGetProcAddress('glValidateProgram');
2052 glVertexAttrib1f := dglGetProcAddress('glVertexAttrib1f');
2053 glVertexAttrib1fv := dglGetProcAddress('glVertexAttrib1fv');
2054 glVertexAttrib2f := dglGetProcAddress('glVertexAttrib2f');
2055 glVertexAttrib2fv := dglGetProcAddress('glVertexAttrib2fv');
2056 glVertexAttrib3f := dglGetProcAddress('glVertexAttrib3f');
2057 glVertexAttrib3fv := dglGetProcAddress('glVertexAttrib3fv');
2058 glVertexAttrib4f := dglGetProcAddress('glVertexAttrib4f');
2059 glVertexAttrib4fv := dglGetProcAddress('glVertexAttrib4fv');
2060 glVertexAttribPointer := dglGetProcAddress('glVertexAttribPointer');
2061 glViewport := dglGetProcAddress('glViewport');
2064 glReadBuffer := dglGetProcAddress('glReadBuffer');
2065 glDrawRangeElements := dglGetProcAddress('glDrawRangeElements');
2066 glTexImage3D := dglGetProcAddress('glTexImage3D');
2067 glTexSubImage3D := dglGetProcAddress('glTexSubImage3D');
2068 glCopyTexSubImage3D := dglGetProcAddress('glCopyTexSubImage3D');
2069 glCompressedTexImage3D := dglGetProcAddress('glCompressedTexImage3D');
2070 glCompressedTexSubImage3D := dglGetProcAddress('glCompressedTexSubImage3D');
2071 glGenQueries := dglGetProcAddress('glGenQueries');
2072 glDeleteQueries := dglGetProcAddress('glDeleteQueries');
2073 glIsQuery := dglGetProcAddress('glIsQuery');
2074 glBeginQuery := dglGetProcAddress('glBeginQuery');
2075 glEndQuery := dglGetProcAddress('glEndQuery');
2076 glGetQueryiv := dglGetProcAddress('glGetQueryiv');
2077 glGetQueryObjectuiv := dglGetProcAddress('glGetQueryObjectuiv');
2078 glUnmapBuffer := dglGetProcAddress('glUnmapBuffer');
2079 glGetBufferPointerv := dglGetProcAddress('glGetBufferPointerv');
2080 glDrawBuffers := dglGetProcAddress('glDrawBuffers');
2081 glUniformMatrix2x3fv := dglGetProcAddress('glUniformMatrix2x3fv');
2082 glUniformMatrix3x2fv := dglGetProcAddress('glUniformMatrix3x2fv');
2083 glUniformMatrix2x4fv := dglGetProcAddress('glUniformMatrix2x4fv');
2084 glUniformMatrix4x2fv := dglGetProcAddress('glUniformMatrix4x2fv');
2085 glUniformMatrix3x4fv := dglGetProcAddress('glUniformMatrix3x4fv');
2086 glUniformMatrix4x3fv := dglGetProcAddress('glUniformMatrix4x3fv');
2087 glBlitFramebuffer := dglGetProcAddress('glBlitFramebuffer');
2088 glRenderbufferStorageMultisample := dglGetProcAddress('glRenderbufferStorageMultisample');
2089 glFramebufferTextureLayer := dglGetProcAddress('glFramebufferTextureLayer');
2090 glMapBufferRange := dglGetProcAddress('glMapBufferRange');
2091 glFlushMappedBufferRange := dglGetProcAddress('glFlushMappedBufferRange');
2092 glBindVertexArray := dglGetProcAddress('glBindVertexArray');
2093 glDeleteVertexArrays := dglGetProcAddress('glDeleteVertexArrays');
2094 glGenVertexArrays := dglGetProcAddress('glGenVertexArrays');
2095 glIsVertexArray := dglGetProcAddress('glIsVertexArray');
2096 glGetIntegeri_v := dglGetProcAddress('glGetIntegeri_v');
2097 glBeginTransformFeedback := dglGetProcAddress('glBeginTransformFeedback');
2098 glEndTransformFeedback := dglGetProcAddress('glEndTransformFeedback');
2099 glBindBufferRange := dglGetProcAddress('glBindBufferRange');
2100 glBindBufferBase := dglGetProcAddress('glBindBufferBase');
2101 glTransformFeedbackVaryings := dglGetProcAddress('glTransformFeedbackVaryings');
2102 glGetTransformFeedbackVarying := dglGetProcAddress('glGetTransformFeedbackVarying');
2103 glVertexAttribIPointer := dglGetProcAddress('glVertexAttribIPointer');
2104 glGetVertexAttribIiv := dglGetProcAddress('glGetVertexAttribIiv');
2105 glGetVertexAttribIuiv := dglGetProcAddress('glGetVertexAttribIuiv');
2106 glVertexAttribI4i := dglGetProcAddress('glVertexAttribI4i');
2107 glVertexAttribI4ui := dglGetProcAddress('glVertexAttribI4ui');
2108 glVertexAttribI4iv := dglGetProcAddress('glVertexAttribI4iv');
2109 glVertexAttribI4uiv := dglGetProcAddress('glVertexAttribI4uiv');
2110 glGetUniformuiv := dglGetProcAddress('glGetUniformuiv');
2111 glGetFragDataLocation := dglGetProcAddress('glGetFragDataLocation');
2112 glUniform1ui := dglGetProcAddress('glUniform1ui');
2113 glUniform2ui := dglGetProcAddress('glUniform2ui');
2114 glUniform3ui := dglGetProcAddress('glUniform3ui');
2115 glUniform4ui := dglGetProcAddress('glUniform4ui');
2116 glUniform1uiv := dglGetProcAddress('glUniform1uiv');
2117 glUniform2uiv := dglGetProcAddress('glUniform2uiv');
2118 glUniform3uiv := dglGetProcAddress('glUniform3uiv');
2119 glUniform4uiv := dglGetProcAddress('glUniform4uiv');
2120 glClearBufferiv := dglGetProcAddress('glClearBufferiv');
2121 glClearBufferuiv := dglGetProcAddress('glClearBufferuiv');
2122 glClearBufferfv := dglGetProcAddress('glClearBufferfv');
2123 glClearBufferfi := dglGetProcAddress('glClearBufferfi');
2124 glGetStringi := dglGetProcAddress('glGetStringi');
2125 glCopyBufferSubData := dglGetProcAddress('glCopyBufferSubData');
2126 glGetUniformIndices := dglGetProcAddress('glGetUniformIndices');
2127 glGetActiveUniformsiv := dglGetProcAddress('glGetActiveUniformsiv');
2128 glGetUniformBlockIndex := dglGetProcAddress('glGetUniformBlockIndex');
2129 glGetActiveUniformBlockiv := dglGetProcAddress('glGetActiveUniformBlockiv');
2130 glGetActiveUniformBlockName := dglGetProcAddress('glGetActiveUniformBlockName');
2131 glUniformBlockBinding := dglGetProcAddress('glUniformBlockBinding');
2132 glDrawArraysInstanced := dglGetProcAddress('glDrawArraysInstanced');
2133 glDrawElementsInstanced := dglGetProcAddress('glDrawElementsInstanced');
2134 glFenceSync := dglGetProcAddress('glFenceSync');
2135 glIsSync := dglGetProcAddress('glIsSync');
2136 glDeleteSync := dglGetProcAddress('glDeleteSync');
2137 glClientWaitSync := dglGetProcAddress('glClientWaitSync');
2138 glWaitSync := dglGetProcAddress('glWaitSync');
2139 glGetInteger64v := dglGetProcAddress('glGetInteger64v');
2140 glGetSynciv := dglGetProcAddress('glGetSynciv');
2141 glGetInteger64i_v := dglGetProcAddress('glGetInteger64i_v');
2142 glGetBufferParameteri64v := dglGetProcAddress('glGetBufferParameteri64v');
2143 glGenSamplers := dglGetProcAddress('glGenSamplers');
2144 glDeleteSamplers := dglGetProcAddress('glDeleteSamplers');
2145 glIsSampler := dglGetProcAddress('glIsSampler');
2146 glBindSampler := dglGetProcAddress('glBindSampler');
2147 glSamplerParameteri := dglGetProcAddress('glSamplerParameteri');
2148 glSamplerParameteriv := dglGetProcAddress('glSamplerParameteriv');
2149 glSamplerParameterf := dglGetProcAddress('glSamplerParameterf');
2150 glSamplerParameterfv := dglGetProcAddress('glSamplerParameterfv');
2151 glGetSamplerParameteriv := dglGetProcAddress('glGetSamplerParameteriv');
2152 glGetSamplerParameterfv := dglGetProcAddress('glGetSamplerParameterfv');
2153 glVertexAttribDivisor := dglGetProcAddress('glVertexAttribDivisor');
2154 glBindTransformFeedback := dglGetProcAddress('glBindTransformFeedback');
2155 glDeleteTransformFeedbacks := dglGetProcAddress('glDeleteTransformFeedbacks');
2156 glGenTransformFeedbacks := dglGetProcAddress('glGenTransformFeedbacks');
2157 glIsTransformFeedback := dglGetProcAddress('glIsTransformFeedback');
2158 glPauseTransformFeedback := dglGetProcAddress('glPauseTransformFeedback');
2159 glResumeTransformFeedback := dglGetProcAddress('glResumeTransformFeedback');
2160 glGetProgramBinary := dglGetProcAddress('glGetProgramBinary');
2161 glProgramBinary := dglGetProcAddress('glProgramBinary');
2162 glProgramParameteri := dglGetProcAddress('glProgramParameteri');
2163 glInvalidateFramebuffer := dglGetProcAddress('glInvalidateFramebuffer');
2164 glInvalidateSubFramebuffer := dglGetProcAddress('glInvalidateSubFramebuffer');
2165 glTexStorage2D := dglGetProcAddress('glTexStorage2D');
2166 glTexStorage3D := dglGetProcAddress('glTexStorage3D');
2167 glGetInternalformativ := dglGetProcAddress('glGetInternalformativ');
2170 glDispatchCompute := dglGetProcAddress('glDispatchCompute');
2171 glDispatchComputeIndirect := dglGetProcAddress('glDispatchComputeIndirect');
2172 glDrawArraysIndirect := dglGetProcAddress('glDrawArraysIndirect');
2173 glDrawElementsIndirect := dglGetProcAddress('glDrawElementsIndirect');
2174 glFramebufferParameteri := dglGetProcAddress('glFramebufferParameteri');
2175 glGetFramebufferParameteriv := dglGetProcAddress('glGetFramebufferParameteriv');
2176 glGetProgramInterfaceiv := dglGetProcAddress('glGetProgramInterfaceiv');
2177 glGetProgramResourceIndex := dglGetProcAddress('glGetProgramResourceIndex');
2178 glGetProgramResourceName := dglGetProcAddress('glGetProgramResourceName');
2179 glGetProgramResourceiv := dglGetProcAddress('glGetProgramResourceiv');
2180 glGetProgramResourceLocation := dglGetProcAddress('glGetProgramResourceLocation');
2181 glUseProgramStages := dglGetProcAddress('glUseProgramStages');
2182 glActiveShaderProgram := dglGetProcAddress('glActiveShaderProgram');
2183 glCreateShaderProgramv := dglGetProcAddress('glCreateShaderProgramv');
2184 glBindProgramPipeline := dglGetProcAddress('glBindProgramPipeline');
2185 glDeleteProgramPipelines := dglGetProcAddress('glDeleteProgramPipelines');
2186 glGenProgramPipelines := dglGetProcAddress('glGenProgramPipelines');
2187 glIsProgramPipeline := dglGetProcAddress('glIsProgramPipeline');
2188 glGetProgramPipelineiv := dglGetProcAddress('glGetProgramPipelineiv');
2189 glProgramUniform1i := dglGetProcAddress('glProgramUniform1i');
2190 glProgramUniform2i := dglGetProcAddress('glProgramUniform2i');
2191 glProgramUniform3i := dglGetProcAddress('glProgramUniform3i');
2192 glProgramUniform4i := dglGetProcAddress('glProgramUniform4i');
2193 glProgramUniform1ui := dglGetProcAddress('glProgramUniform1ui');
2194 glProgramUniform2ui := dglGetProcAddress('glProgramUniform2ui');
2195 glProgramUniform3ui := dglGetProcAddress('glProgramUniform3ui');
2196 glProgramUniform4ui := dglGetProcAddress('glProgramUniform4ui');
2197 glProgramUniform1f := dglGetProcAddress('glProgramUniform1f');
2198 glProgramUniform2f := dglGetProcAddress('glProgramUniform2f');
2199 glProgramUniform3f := dglGetProcAddress('glProgramUniform3f');
2200 glProgramUniform4f := dglGetProcAddress('glProgramUniform4f');
2201 glProgramUniform1iv := dglGetProcAddress('glProgramUniform1iv');
2202 glProgramUniform2iv := dglGetProcAddress('glProgramUniform2iv');
2203 glProgramUniform3iv := dglGetProcAddress('glProgramUniform3iv');
2204 glProgramUniform4iv := dglGetProcAddress('glProgramUniform4iv');
2205 glProgramUniform1uiv := dglGetProcAddress('glProgramUniform1uiv');
2206 glProgramUniform2uiv := dglGetProcAddress('glProgramUniform2uiv');
2207 glProgramUniform3uiv := dglGetProcAddress('glProgramUniform3uiv');
2208 glProgramUniform4uiv := dglGetProcAddress('glProgramUniform4uiv');
2209 glProgramUniform1fv := dglGetProcAddress('glProgramUniform1fv');
2210 glProgramUniform2fv := dglGetProcAddress('glProgramUniform2fv');
2211 glProgramUniform3fv := dglGetProcAddress('glProgramUniform3fv');
2212 glProgramUniform4fv := dglGetProcAddress('glProgramUniform4fv');
2213 glProgramUniformMatrix2fv := dglGetProcAddress('glProgramUniformMatrix2fv');
2214 glProgramUniformMatrix3fv := dglGetProcAddress('glProgramUniformMatrix3fv');
2215 glProgramUniformMatrix4fv := dglGetProcAddress('glProgramUniformMatrix4fv');
2216 glProgramUniformMatrix2x3fv := dglGetProcAddress('glProgramUniformMatrix2x3fv');
2217 glProgramUniformMatrix3x2fv := dglGetProcAddress('glProgramUniformMatrix3x2fv');
2218 glProgramUniformMatrix2x4fv := dglGetProcAddress('glProgramUniformMatrix2x4fv');
2219 glProgramUniformMatrix4x2fv := dglGetProcAddress('glProgramUniformMatrix4x2fv');
2220 glProgramUniformMatrix3x4fv := dglGetProcAddress('glProgramUniformMatrix3x4fv');
2221 glProgramUniformMatrix4x3fv := dglGetProcAddress('glProgramUniformMatrix4x3fv');
2222 glValidateProgramPipeline := dglGetProcAddress('glValidateProgramPipeline');
2223 glGetProgramPipelineInfoLog := dglGetProcAddress('glGetProgramPipelineInfoLog');
2224 glBindImageTexture := dglGetProcAddress('glBindImageTexture');
2225 glGetBooleaniV := dglGetProcAddress('glGetBooleaniV');
2226 glMemoryBarrier := dglGetProcAddress('glMemoryBarrier');
2227 glMemoryBarrierByRegion := dglGetProcAddress('glMemoryBarrierByRegion');
2228 glTexStorage2DMultisample := dglGetProcAddress('glTexStorage2DMultisample');
2229 glGetMultisamplefv := dglGetProcAddress('glGetMultisamplefv');
2230 glSampleMaski := dglGetProcAddress('glSampleMaski');
2231 glGetTexLevelParameteriv := dglGetProcAddress('glGetTexLevelParameteriv');
2232 glGetTexLevelParameterfv := dglGetProcAddress('glGetTexLevelParameterfv');
2233 glBindVertexBuffer := dglGetProcAddress('glBindVertexBuffer');
2234 glVertexAttribFormat := dglGetProcAddress('glVertexAttribFormat');
2235 glVertexAttribIFormat := dglGetProcAddress('glVertexAttribIFormat');
2236 glVertexAttribBinding := dglGetProcAddress('glVertexAttribBinding');
2237 glVertexBindingDivisor := dglGetProcAddress('glVertexBindingDivisor');