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