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; const aWindowType: PEGLNativeWindowType; const aAttributes: PEGLint): TdglRenderContext;
1842 procedure DestroyRenderingContext(const aContext: TdglRenderContext);
1843 function ActivateRenderingContext(const aContext: TdglRenderContext): Boolean;
1844 function DeactivateRenderingContext(const aContext: TdglRenderContext): Boolean;
1845 procedure SwapBuffers(const aContext: TdglRenderContext);
1847 procedure ReadExtensions;
1852 LibHandleOpenGLES: Pointer = nil;
1853 LibHandleEGL: Pointer = nil;
1855 function dglLoadLibrary(const aName: PChar): Pointer;
1858 result := dlopen(aName, RTLD_LAZY);
1862 function dglGetProcAddress(const aProcName: PAnsiChar): Pointer;
1866 if Assigned(LibHandleOpenGLES) then
1867 result := dlsym(LibHandleOpenGLES, aProcName);
1869 if not Assigned(result) and Assigned(eglGetProcAddress) then
1870 result := eglGetProcAddress(aProcName);
1872 if not Assigned(result) and Assigned(LibHandleEGL) then
1873 result := dlsym(LibHandleEGL, aProcName);
1876 function dglFreeAndNilLibrary(var aLibHandle: Pointer): Boolean;
1878 if Assigned(aLibHandle) then begin
1880 result := (dlclose(aLibHandle) = 0);
1887 procedure ReadOpenGLCore;
1892 function InitOpenGLES(const aOpenGLESLibName: String; aEGLLibName: String): Boolean;
1896 if Assigned(LibHandleOpenGLES) then
1897 dglFreeAndNilLibrary(LibHandleOpenGLES);
1899 if Assigned(LibHandleEGL) then
1900 dglFreeAndNilLibrary(LibHandleEGL);
1902 LibHandleOpenGLES := dglLoadLibrary(PChar(aOpenGLESLibName));
1903 LibHandleEGL := dglLoadLibrary(PChar(aEGLLibName));
1905 // load EGL procedures
1906 if Assigned(LibHandleEGL) then begin
1907 eglGetProcAddress := dglGetProcAddress('eglGetProcAddress');
1908 eglGetError := dglGetProcAddress('eglGetError');
1909 eglGetDisplay := dglGetProcAddress('eglGetDisplay');
1910 eglInitialize := dglGetProcAddress('eglInitialize');
1911 eglTerminate := dglGetProcAddress('eglTerminate');
1912 eglQueryString := dglGetProcAddress('eglQueryString');
1913 eglGetConfigs := dglGetProcAddress('eglGetConfigs');
1914 eglChooseConfig := dglGetProcAddress('eglChooseConfig');
1915 eglGetConfigAttrib := dglGetProcAddress('eglGetConfigAttrib');
1916 eglCreateWindowSurface := dglGetProcAddress('eglCreateWindowSurface');
1917 eglCreatePbufferSurface := dglGetProcAddress('eglCreatePbufferSurface');
1918 eglCreatePixmapSurface := dglGetProcAddress('eglCreatePixmapSurface');
1919 eglDestroySurface := dglGetProcAddress('eglDestroySurface');
1920 eglQuerySurface := dglGetProcAddress('eglQuerySurface');
1921 eglBindAPI := dglGetProcAddress('eglBindAPI');
1922 eglQueryAPI := dglGetProcAddress('eglQueryAPI');
1923 eglWaitClient := dglGetProcAddress('eglWaitClient');
1924 eglReleaseThread := dglGetProcAddress('eglReleaseThread');
1925 eglCreatePbufferFromClientBuffer := dglGetProcAddress('eglCreatePbufferFromClientBuffer');
1926 eglSurfaceAttrib := dglGetProcAddress('eglSurfaceAttrib');
1927 eglBindTexImage := dglGetProcAddress('eglBindTexImage');
1928 eglReleaseTexImage := dglGetProcAddress('eglReleaseTexImage');
1929 eglSwapInterval := dglGetProcAddress('eglSwapInterval');
1930 eglCreateContext := dglGetProcAddress('eglCreateContext');
1931 eglDestroyContext := dglGetProcAddress('eglDestroyContext');
1932 eglMakeCurrent := dglGetProcAddress('eglMakeCurrent');
1933 eglGetCurrentContext := dglGetProcAddress('eglGetCurrentContext');
1934 eglGetCurrentSurface := dglGetProcAddress('eglGetCurrentSurface');
1935 eglGetCurrentDisplay := dglGetProcAddress('eglGetCurrentDisplay');
1936 eglQueryContext := dglGetProcAddress('eglQueryContext');
1937 eglWaitGL := dglGetProcAddress('eglWaitGL');
1938 eglWaitNative := dglGetProcAddress('eglWaitNative');
1939 eglSwapBuffers := dglGetProcAddress('eglSwapBuffers');
1940 eglCopyBuffers := dglGetProcAddress('eglCopyBuffers');
1945 procedure RaiseEglError(const aMsg: String);
1948 err := eglGetError();
1949 raise EeglError.Create(aMsg + ' ErrorCode: 0x' + IntToHex(err, 8), err);
1952 function CreateRenderingContext(const aDisplayType: EGLNativeDisplayType; const aWindowType: PEGLNativeWindowType; const aAttributes: PEGLint): TdglRenderContext;
1954 ConfigCount: EGLint;
1957 if (not Assigned(LibHandleOpenGLES) or not Assigned(LibHandleEGL)) and
1958 not InitOpenGLES then
1959 raise EdglOpenGLES.Create('unable to initialize OpenGL library');
1961 result.Display := eglGetDisplay(aDisplayType);
1962 if (result.Display = EGL_NO_DISPLAY) then
1963 RaiseEglError('unable to get display.');
1965 if (eglInitialize(result.Display, nil, nil) <> EGL_TRUE) then
1966 RaiseEglError('unable to initialize egl.');
1968 if (eglChooseConfig(result.Display, aAttributes, @Config, 1, @ConfigCount) <> EGL_TRUE) or
1969 (ConfigCount <> 1) then
1970 RaiseEglError('unable to get suitable config.');
1972 result.Surface := eglCreateWindowSurface(result.Display, Config, aWindowType, nil);
1973 if (result.Surface = EGL_NO_SURFACE) then
1974 RaiseEglError('unable to create window surface.');
1976 result.Context := eglCreateContext(result.Display, Config, EGL_NO_CONTEXT, nil);
1977 if (result.Context = EGL_NO_CONTEXT) then begin
1978 eglDestroySurface(result.Display, result.Surface);
1979 RaiseEglError('unable to create context.');
1983 procedure DestroyRenderingContext(const aContext: TdglRenderContext);
1985 if (eglGetCurrentContext = aContext.Context) and
1986 not DeactivateRenderingContext(aContext) then
1987 RaiseEglError('unable to unbind context.');
1989 if (eglDestroyContext(aContext.Display, aContext.Context) <> EGL_TRUE) then
1990 RaiseEglError('unable to destory context.');
1992 if (eglDestroySurface(aContext.Display, aContext.Surface) <> EGL_TRUE) then
1993 RaiseEglError('unable to destroy surface.');
1996 function ActivateRenderingContext(const aContext: TdglRenderContext): Boolean;
1998 result := (eglMakeCurrent(aContext.Display, aContext.Surface, aContext.Surface, aContext.Context) = GL_TRUE);
2001 function DeactivateRenderingContext(const aContext: TdglRenderContext): Boolean;
2003 result := (eglMakeCurrent(aContext.Display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT) = EGL_TRUE);
2006 procedure SwapBuffers(const aContext: TdglRenderContext);
2008 eglSwapBuffers(aContext.Display, aContext.Surface);
2011 procedure ReadExtensions;
2013 glActiveTexture := dglGetProcAddress('glActiveTexture');
2014 glAttachShader := dglGetProcAddress('glAttachShader');
2015 glBindAttribLocation := dglGetProcAddress('glBindAttribLocation');
2016 glBindBuffer := dglGetProcAddress('glBindBuffer');
2017 glBindFramebuffer := dglGetProcAddress('glBindFramebuffer');
2018 glBindRenderbuffer := dglGetProcAddress('glBindRenderbuffer');
2019 glBindTexture := dglGetProcAddress('glBindTexture');
2020 glBlendColor := dglGetProcAddress('glBlendColor');
2021 glBlendEquation := dglGetProcAddress('glBlendEquation');
2022 glBlendEquationSeparate := dglGetProcAddress('glBlendEquationSeparate');
2023 glBlendFunc := dglGetProcAddress('glBlendFunc');
2024 glBlendFuncSeparate := dglGetProcAddress('glBlendFuncSeparate');
2025 glBufferData := dglGetProcAddress('glBufferData');
2026 glBufferSubData := dglGetProcAddress('glBufferSubData');
2027 glCheckFramebufferStatus := dglGetProcAddress('glCheckFramebufferStatus');
2028 glClear := dglGetProcAddress('glClear');
2029 glClearColor := dglGetProcAddress('glClearColor');
2030 glClearDepthf := dglGetProcAddress('glClearDepthf');
2031 glClearStencil := dglGetProcAddress('glClearStencil');
2032 glColorMask := dglGetProcAddress('glColorMask');
2033 glCompileShader := dglGetProcAddress('glCompileShader');
2034 glCompressedTexImage2D := dglGetProcAddress('glCompressedTexImage2D');
2035 glCompressedTexSubImage2D := dglGetProcAddress('glCompressedTexSubImage2D');
2036 glCopyTexImage2D := dglGetProcAddress('glCopyTexImage2D');
2037 glCopyTexSubImage2D := dglGetProcAddress('glCopyTexSubImage2D');
2038 glCreateProgram := dglGetProcAddress('glCreateProgram');
2039 glCreateShader := dglGetProcAddress('glCreateShader');
2040 glCullFace := dglGetProcAddress('glCullFace');
2041 glDeleteBuffers := dglGetProcAddress('glDeleteBuffers');
2042 glDeleteFramebuffers := dglGetProcAddress('glDeleteFramebuffers');
2043 glDeleteProgram := dglGetProcAddress('glDeleteProgram');
2044 glDeleteRenderbuffers := dglGetProcAddress('glDeleteRenderbuffers');
2045 glDeleteShader := dglGetProcAddress('glDeleteShader');
2046 glDeleteTextures := dglGetProcAddress('glDeleteTextures');
2047 glDepthFunc := dglGetProcAddress('glDepthFunc');
2048 glDepthMask := dglGetProcAddress('glDepthMask');
2049 glDepthRangef := dglGetProcAddress('glDepthRangef');
2050 glDetachShader := dglGetProcAddress('glDetachShader');
2051 glDisable := dglGetProcAddress('glDisable');
2052 glDisableVertexAttribArray := dglGetProcAddress('glDisableVertexAttribArray');
2053 glDrawArrays := dglGetProcAddress('glDrawArrays');
2054 glDrawElements := dglGetProcAddress('glDrawElements');
2055 glEnable := dglGetProcAddress('glEnable');
2056 glEnableVertexAttribArray := dglGetProcAddress('glEnableVertexAttribArray');
2057 glFinish := dglGetProcAddress('glFinish');
2058 glFlush := dglGetProcAddress('glFlush');
2059 glFramebufferRenderbuffer := dglGetProcAddress('glFramebufferRenderbuffer');
2060 glFramebufferTexture2D := dglGetProcAddress('glFramebufferTexture2D');
2061 glFrontFace := dglGetProcAddress('glFrontFace');
2062 glGenBuffers := dglGetProcAddress('glGenBuffers');
2063 glGenerateMipmap := dglGetProcAddress('glGenerateMipmap');
2064 glGenFramebuffers := dglGetProcAddress('glGenFramebuffers');
2065 glGenRenderbuffers := dglGetProcAddress('glGenRenderbuffers');
2066 glGenTextures := dglGetProcAddress('glGenTextures');
2067 glGetActiveAttrib := dglGetProcAddress('glGetActiveAttrib');
2068 glGetActiveUniform := dglGetProcAddress('glGetActiveUniform');
2069 glGetAttachedShaders := dglGetProcAddress('glGetAttachedShaders');
2070 glGetAttribLocation := dglGetProcAddress('glGetAttribLocation');
2071 glGetBooleanv := dglGetProcAddress('glGetBooleanv');
2072 glGetBufferParameteriv := dglGetProcAddress('glGetBufferParameteriv');
2073 glGetError := dglGetProcAddress('glGetError');
2074 glGetFloatv := dglGetProcAddress('glGetFloatv');
2075 glGetFramebufferAttachmentParameteriv := dglGetProcAddress('glGetFramebufferAttachmentParameteriv');
2076 glGetIntegerv := dglGetProcAddress('glGetIntegerv');
2077 glGetProgramiv := dglGetProcAddress('glGetProgramiv');
2078 glGetProgramInfoLog := dglGetProcAddress('glGetProgramInfoLog');
2079 glGetRenderbufferParameteriv := dglGetProcAddress('glGetRenderbufferParameteriv');
2080 glGetShaderiv := dglGetProcAddress('glGetShaderiv');
2081 glGetShaderInfoLog := dglGetProcAddress('glGetShaderInfoLog');
2082 glGetShaderPrecisionFormat := dglGetProcAddress('glGetShaderPrecisionFormat');
2083 glGetShaderSource := dglGetProcAddress('glGetShaderSource');
2084 glGetString := dglGetProcAddress('glGetString');
2085 glGetTexParameterfv := dglGetProcAddress('glGetTexParameterfv');
2086 glGetTexParameteriv := dglGetProcAddress('glGetTexParameteriv');
2087 glGetUniformfv := dglGetProcAddress('glGetUniformfv');
2088 glGetUniformiv := dglGetProcAddress('glGetUniformiv');
2089 glGetUniformLocation := dglGetProcAddress('glGetUniformLocation');
2090 glGetVertexAttribfv := dglGetProcAddress('glGetVertexAttribfv');
2091 glGetVertexAttribiv := dglGetProcAddress('glGetVertexAttribiv');
2092 glGetVertexAttribPointerv := dglGetProcAddress('glGetVertexAttribPointerv');
2093 glHint := dglGetProcAddress('glHint');
2094 glIsBuffer := dglGetProcAddress('glIsBuffer');
2095 glIsEnabled := dglGetProcAddress('glIsEnabled');
2096 glIsFramebuffer := dglGetProcAddress('glIsFramebuffer');
2097 glIsProgram := dglGetProcAddress('glIsProgram');
2098 glIsRenderbuffer := dglGetProcAddress('glIsRenderbuffer');
2099 glIsShader := dglGetProcAddress('glIsShader');
2100 glIsTexture := dglGetProcAddress('glIsTexture');
2101 glLineWidth := dglGetProcAddress('glLineWidth');
2102 glLinkProgram := dglGetProcAddress('glLinkProgram');
2103 glPixelStorei := dglGetProcAddress('glPixelStorei');
2104 glPolygonOffset := dglGetProcAddress('glPolygonOffset');
2105 glReadPixels := dglGetProcAddress('glReadPixels');
2106 glReleaseShaderCompiler := dglGetProcAddress('glReleaseShaderCompiler');
2107 glRenderbufferStorage := dglGetProcAddress('glRenderbufferStorage');
2108 glSampleCoverage := dglGetProcAddress('glSampleCoverage');
2109 glScissor := dglGetProcAddress('glScissor');
2110 glShaderBinary := dglGetProcAddress('glShaderBinary');
2111 glShaderSource := dglGetProcAddress('glShaderSource');
2112 glStencilFunc := dglGetProcAddress('glStencilFunc');
2113 glStencilFuncSeparate := dglGetProcAddress('glStencilFuncSeparate');
2114 glStencilMask := dglGetProcAddress('glStencilMask');
2115 glStencilMaskSeparate := dglGetProcAddress('glStencilMaskSeparate');
2116 glStencilOp := dglGetProcAddress('glStencilOp');
2117 glStencilOpSeparate := dglGetProcAddress('glStencilOpSeparate');
2118 glTexImage2D := dglGetProcAddress('glTexImage2D');
2119 glTexParameterf := dglGetProcAddress('glTexParameterf');
2120 glTexParameterfv := dglGetProcAddress('glTexParameterfv');
2121 glTexParameteri := dglGetProcAddress('glTexParameteri');
2122 glTexParameteriv := dglGetProcAddress('glTexParameteriv');
2123 glTexSubImage2D := dglGetProcAddress('glTexSubImage2D');
2124 glUniform1f := dglGetProcAddress('glUniform1f');
2125 glUniform1fv := dglGetProcAddress('glUniform1fv');
2126 glUniform1i := dglGetProcAddress('glUniform1i');
2127 glUniform1iv := dglGetProcAddress('glUniform1iv');
2128 glUniform2f := dglGetProcAddress('glUniform2f');
2129 glUniform2fv := dglGetProcAddress('glUniform2fv');
2130 glUniform2i := dglGetProcAddress('glUniform2i');
2131 glUniform2iv := dglGetProcAddress('glUniform2iv');
2132 glUniform3f := dglGetProcAddress('glUniform3f');
2133 glUniform3fv := dglGetProcAddress('glUniform3fv');
2134 glUniform3i := dglGetProcAddress('glUniform3i');
2135 glUniform3iv := dglGetProcAddress('glUniform3iv');
2136 glUniform4f := dglGetProcAddress('glUniform4f');
2137 glUniform4fv := dglGetProcAddress('glUniform4fv');
2138 glUniform4i := dglGetProcAddress('glUniform4i');
2139 glUniform4iv := dglGetProcAddress('glUniform4iv');
2140 glUniformMatrix2fv := dglGetProcAddress('glUniformMatrix2fv');
2141 glUniformMatrix3fv := dglGetProcAddress('glUniformMatrix3fv');
2142 glUniformMatrix4fv := dglGetProcAddress('glUniformMatrix4fv');
2143 glUseProgram := dglGetProcAddress('glUseProgram');
2144 glValidateProgram := dglGetProcAddress('glValidateProgram');
2145 glVertexAttrib1f := dglGetProcAddress('glVertexAttrib1f');
2146 glVertexAttrib1fv := dglGetProcAddress('glVertexAttrib1fv');
2147 glVertexAttrib2f := dglGetProcAddress('glVertexAttrib2f');
2148 glVertexAttrib2fv := dglGetProcAddress('glVertexAttrib2fv');
2149 glVertexAttrib3f := dglGetProcAddress('glVertexAttrib3f');
2150 glVertexAttrib3fv := dglGetProcAddress('glVertexAttrib3fv');
2151 glVertexAttrib4f := dglGetProcAddress('glVertexAttrib4f');
2152 glVertexAttrib4fv := dglGetProcAddress('glVertexAttrib4fv');
2153 glVertexAttribPointer := dglGetProcAddress('glVertexAttribPointer');
2154 glViewport := dglGetProcAddress('glViewport');
2157 glReadBuffer := dglGetProcAddress('glReadBuffer');
2158 glDrawRangeElements := dglGetProcAddress('glDrawRangeElements');
2159 glTexImage3D := dglGetProcAddress('glTexImage3D');
2160 glTexSubImage3D := dglGetProcAddress('glTexSubImage3D');
2161 glCopyTexSubImage3D := dglGetProcAddress('glCopyTexSubImage3D');
2162 glCompressedTexImage3D := dglGetProcAddress('glCompressedTexImage3D');
2163 glCompressedTexSubImage3D := dglGetProcAddress('glCompressedTexSubImage3D');
2164 glGenQueries := dglGetProcAddress('glGenQueries');
2165 glDeleteQueries := dglGetProcAddress('glDeleteQueries');
2166 glIsQuery := dglGetProcAddress('glIsQuery');
2167 glBeginQuery := dglGetProcAddress('glBeginQuery');
2168 glEndQuery := dglGetProcAddress('glEndQuery');
2169 glGetQueryiv := dglGetProcAddress('glGetQueryiv');
2170 glGetQueryObjectuiv := dglGetProcAddress('glGetQueryObjectuiv');
2171 glUnmapBuffer := dglGetProcAddress('glUnmapBuffer');
2172 glGetBufferPointerv := dglGetProcAddress('glGetBufferPointerv');
2173 glDrawBuffers := dglGetProcAddress('glDrawBuffers');
2174 glUniformMatrix2x3fv := dglGetProcAddress('glUniformMatrix2x3fv');
2175 glUniformMatrix3x2fv := dglGetProcAddress('glUniformMatrix3x2fv');
2176 glUniformMatrix2x4fv := dglGetProcAddress('glUniformMatrix2x4fv');
2177 glUniformMatrix4x2fv := dglGetProcAddress('glUniformMatrix4x2fv');
2178 glUniformMatrix3x4fv := dglGetProcAddress('glUniformMatrix3x4fv');
2179 glUniformMatrix4x3fv := dglGetProcAddress('glUniformMatrix4x3fv');
2180 glBlitFramebuffer := dglGetProcAddress('glBlitFramebuffer');
2181 glRenderbufferStorageMultisample := dglGetProcAddress('glRenderbufferStorageMultisample');
2182 glFramebufferTextureLayer := dglGetProcAddress('glFramebufferTextureLayer');
2183 glMapBufferRange := dglGetProcAddress('glMapBufferRange');
2184 glFlushMappedBufferRange := dglGetProcAddress('glFlushMappedBufferRange');
2185 glBindVertexArray := dglGetProcAddress('glBindVertexArray');
2186 glDeleteVertexArrays := dglGetProcAddress('glDeleteVertexArrays');
2187 glGenVertexArrays := dglGetProcAddress('glGenVertexArrays');
2188 glIsVertexArray := dglGetProcAddress('glIsVertexArray');
2189 glGetIntegeri_v := dglGetProcAddress('glGetIntegeri_v');
2190 glBeginTransformFeedback := dglGetProcAddress('glBeginTransformFeedback');
2191 glEndTransformFeedback := dglGetProcAddress('glEndTransformFeedback');
2192 glBindBufferRange := dglGetProcAddress('glBindBufferRange');
2193 glBindBufferBase := dglGetProcAddress('glBindBufferBase');
2194 glTransformFeedbackVaryings := dglGetProcAddress('glTransformFeedbackVaryings');
2195 glGetTransformFeedbackVarying := dglGetProcAddress('glGetTransformFeedbackVarying');
2196 glVertexAttribIPointer := dglGetProcAddress('glVertexAttribIPointer');
2197 glGetVertexAttribIiv := dglGetProcAddress('glGetVertexAttribIiv');
2198 glGetVertexAttribIuiv := dglGetProcAddress('glGetVertexAttribIuiv');
2199 glVertexAttribI4i := dglGetProcAddress('glVertexAttribI4i');
2200 glVertexAttribI4ui := dglGetProcAddress('glVertexAttribI4ui');
2201 glVertexAttribI4iv := dglGetProcAddress('glVertexAttribI4iv');
2202 glVertexAttribI4uiv := dglGetProcAddress('glVertexAttribI4uiv');
2203 glGetUniformuiv := dglGetProcAddress('glGetUniformuiv');
2204 glGetFragDataLocation := dglGetProcAddress('glGetFragDataLocation');
2205 glUniform1ui := dglGetProcAddress('glUniform1ui');
2206 glUniform2ui := dglGetProcAddress('glUniform2ui');
2207 glUniform3ui := dglGetProcAddress('glUniform3ui');
2208 glUniform4ui := dglGetProcAddress('glUniform4ui');
2209 glUniform1uiv := dglGetProcAddress('glUniform1uiv');
2210 glUniform2uiv := dglGetProcAddress('glUniform2uiv');
2211 glUniform3uiv := dglGetProcAddress('glUniform3uiv');
2212 glUniform4uiv := dglGetProcAddress('glUniform4uiv');
2213 glClearBufferiv := dglGetProcAddress('glClearBufferiv');
2214 glClearBufferuiv := dglGetProcAddress('glClearBufferuiv');
2215 glClearBufferfv := dglGetProcAddress('glClearBufferfv');
2216 glClearBufferfi := dglGetProcAddress('glClearBufferfi');
2217 glGetStringi := dglGetProcAddress('glGetStringi');
2218 glCopyBufferSubData := dglGetProcAddress('glCopyBufferSubData');
2219 glGetUniformIndices := dglGetProcAddress('glGetUniformIndices');
2220 glGetActiveUniformsiv := dglGetProcAddress('glGetActiveUniformsiv');
2221 glGetUniformBlockIndex := dglGetProcAddress('glGetUniformBlockIndex');
2222 glGetActiveUniformBlockiv := dglGetProcAddress('glGetActiveUniformBlockiv');
2223 glGetActiveUniformBlockName := dglGetProcAddress('glGetActiveUniformBlockName');
2224 glUniformBlockBinding := dglGetProcAddress('glUniformBlockBinding');
2225 glDrawArraysInstanced := dglGetProcAddress('glDrawArraysInstanced');
2226 glDrawElementsInstanced := dglGetProcAddress('glDrawElementsInstanced');
2227 glFenceSync := dglGetProcAddress('glFenceSync');
2228 glIsSync := dglGetProcAddress('glIsSync');
2229 glDeleteSync := dglGetProcAddress('glDeleteSync');
2230 glClientWaitSync := dglGetProcAddress('glClientWaitSync');
2231 glWaitSync := dglGetProcAddress('glWaitSync');
2232 glGetInteger64v := dglGetProcAddress('glGetInteger64v');
2233 glGetSynciv := dglGetProcAddress('glGetSynciv');
2234 glGetInteger64i_v := dglGetProcAddress('glGetInteger64i_v');
2235 glGetBufferParameteri64v := dglGetProcAddress('glGetBufferParameteri64v');
2236 glGenSamplers := dglGetProcAddress('glGenSamplers');
2237 glDeleteSamplers := dglGetProcAddress('glDeleteSamplers');
2238 glIsSampler := dglGetProcAddress('glIsSampler');
2239 glBindSampler := dglGetProcAddress('glBindSampler');
2240 glSamplerParameteri := dglGetProcAddress('glSamplerParameteri');
2241 glSamplerParameteriv := dglGetProcAddress('glSamplerParameteriv');
2242 glSamplerParameterf := dglGetProcAddress('glSamplerParameterf');
2243 glSamplerParameterfv := dglGetProcAddress('glSamplerParameterfv');
2244 glGetSamplerParameteriv := dglGetProcAddress('glGetSamplerParameteriv');
2245 glGetSamplerParameterfv := dglGetProcAddress('glGetSamplerParameterfv');
2246 glVertexAttribDivisor := dglGetProcAddress('glVertexAttribDivisor');
2247 glBindTransformFeedback := dglGetProcAddress('glBindTransformFeedback');
2248 glDeleteTransformFeedbacks := dglGetProcAddress('glDeleteTransformFeedbacks');
2249 glGenTransformFeedbacks := dglGetProcAddress('glGenTransformFeedbacks');
2250 glIsTransformFeedback := dglGetProcAddress('glIsTransformFeedback');
2251 glPauseTransformFeedback := dglGetProcAddress('glPauseTransformFeedback');
2252 glResumeTransformFeedback := dglGetProcAddress('glResumeTransformFeedback');
2253 glGetProgramBinary := dglGetProcAddress('glGetProgramBinary');
2254 glProgramBinary := dglGetProcAddress('glProgramBinary');
2255 glProgramParameteri := dglGetProcAddress('glProgramParameteri');
2256 glInvalidateFramebuffer := dglGetProcAddress('glInvalidateFramebuffer');
2257 glInvalidateSubFramebuffer := dglGetProcAddress('glInvalidateSubFramebuffer');
2258 glTexStorage2D := dglGetProcAddress('glTexStorage2D');
2259 glTexStorage3D := dglGetProcAddress('glTexStorage3D');
2260 glGetInternalformativ := dglGetProcAddress('glGetInternalformativ');
2263 glDispatchCompute := dglGetProcAddress('glDispatchCompute');
2264 glDispatchComputeIndirect := dglGetProcAddress('glDispatchComputeIndirect');
2265 glDrawArraysIndirect := dglGetProcAddress('glDrawArraysIndirect');
2266 glDrawElementsIndirect := dglGetProcAddress('glDrawElementsIndirect');
2267 glFramebufferParameteri := dglGetProcAddress('glFramebufferParameteri');
2268 glGetFramebufferParameteriv := dglGetProcAddress('glGetFramebufferParameteriv');
2269 glGetProgramInterfaceiv := dglGetProcAddress('glGetProgramInterfaceiv');
2270 glGetProgramResourceIndex := dglGetProcAddress('glGetProgramResourceIndex');
2271 glGetProgramResourceName := dglGetProcAddress('glGetProgramResourceName');
2272 glGetProgramResourceiv := dglGetProcAddress('glGetProgramResourceiv');
2273 glGetProgramResourceLocation := dglGetProcAddress('glGetProgramResourceLocation');
2274 glUseProgramStages := dglGetProcAddress('glUseProgramStages');
2275 glActiveShaderProgram := dglGetProcAddress('glActiveShaderProgram');
2276 glCreateShaderProgramv := dglGetProcAddress('glCreateShaderProgramv');
2277 glBindProgramPipeline := dglGetProcAddress('glBindProgramPipeline');
2278 glDeleteProgramPipelines := dglGetProcAddress('glDeleteProgramPipelines');
2279 glGenProgramPipelines := dglGetProcAddress('glGenProgramPipelines');
2280 glIsProgramPipeline := dglGetProcAddress('glIsProgramPipeline');
2281 glGetProgramPipelineiv := dglGetProcAddress('glGetProgramPipelineiv');
2282 glProgramUniform1i := dglGetProcAddress('glProgramUniform1i');
2283 glProgramUniform2i := dglGetProcAddress('glProgramUniform2i');
2284 glProgramUniform3i := dglGetProcAddress('glProgramUniform3i');
2285 glProgramUniform4i := dglGetProcAddress('glProgramUniform4i');
2286 glProgramUniform1ui := dglGetProcAddress('glProgramUniform1ui');
2287 glProgramUniform2ui := dglGetProcAddress('glProgramUniform2ui');
2288 glProgramUniform3ui := dglGetProcAddress('glProgramUniform3ui');
2289 glProgramUniform4ui := dglGetProcAddress('glProgramUniform4ui');
2290 glProgramUniform1f := dglGetProcAddress('glProgramUniform1f');
2291 glProgramUniform2f := dglGetProcAddress('glProgramUniform2f');
2292 glProgramUniform3f := dglGetProcAddress('glProgramUniform3f');
2293 glProgramUniform4f := dglGetProcAddress('glProgramUniform4f');
2294 glProgramUniform1iv := dglGetProcAddress('glProgramUniform1iv');
2295 glProgramUniform2iv := dglGetProcAddress('glProgramUniform2iv');
2296 glProgramUniform3iv := dglGetProcAddress('glProgramUniform3iv');
2297 glProgramUniform4iv := dglGetProcAddress('glProgramUniform4iv');
2298 glProgramUniform1uiv := dglGetProcAddress('glProgramUniform1uiv');
2299 glProgramUniform2uiv := dglGetProcAddress('glProgramUniform2uiv');
2300 glProgramUniform3uiv := dglGetProcAddress('glProgramUniform3uiv');
2301 glProgramUniform4uiv := dglGetProcAddress('glProgramUniform4uiv');
2302 glProgramUniform1fv := dglGetProcAddress('glProgramUniform1fv');
2303 glProgramUniform2fv := dglGetProcAddress('glProgramUniform2fv');
2304 glProgramUniform3fv := dglGetProcAddress('glProgramUniform3fv');
2305 glProgramUniform4fv := dglGetProcAddress('glProgramUniform4fv');
2306 glProgramUniformMatrix2fv := dglGetProcAddress('glProgramUniformMatrix2fv');
2307 glProgramUniformMatrix3fv := dglGetProcAddress('glProgramUniformMatrix3fv');
2308 glProgramUniformMatrix4fv := dglGetProcAddress('glProgramUniformMatrix4fv');
2309 glProgramUniformMatrix2x3fv := dglGetProcAddress('glProgramUniformMatrix2x3fv');
2310 glProgramUniformMatrix3x2fv := dglGetProcAddress('glProgramUniformMatrix3x2fv');
2311 glProgramUniformMatrix2x4fv := dglGetProcAddress('glProgramUniformMatrix2x4fv');
2312 glProgramUniformMatrix4x2fv := dglGetProcAddress('glProgramUniformMatrix4x2fv');
2313 glProgramUniformMatrix3x4fv := dglGetProcAddress('glProgramUniformMatrix3x4fv');
2314 glProgramUniformMatrix4x3fv := dglGetProcAddress('glProgramUniformMatrix4x3fv');
2315 glValidateProgramPipeline := dglGetProcAddress('glValidateProgramPipeline');
2316 glGetProgramPipelineInfoLog := dglGetProcAddress('glGetProgramPipelineInfoLog');
2317 glBindImageTexture := dglGetProcAddress('glBindImageTexture');
2318 glGetBooleaniV := dglGetProcAddress('glGetBooleaniV');
2319 glMemoryBarrier := dglGetProcAddress('glMemoryBarrier');
2320 glMemoryBarrierByRegion := dglGetProcAddress('glMemoryBarrierByRegion');
2321 glTexStorage2DMultisample := dglGetProcAddress('glTexStorage2DMultisample');
2322 glGetMultisamplefv := dglGetProcAddress('glGetMultisamplefv');
2323 glSampleMaski := dglGetProcAddress('glSampleMaski');
2324 glGetTexLevelParameteriv := dglGetProcAddress('glGetTexLevelParameteriv');
2325 glGetTexLevelParameterfv := dglGetProcAddress('glGetTexLevelParameterfv');
2326 glBindVertexBuffer := dglGetProcAddress('glBindVertexBuffer');
2327 glVertexAttribFormat := dglGetProcAddress('glVertexAttribFormat');
2328 glVertexAttribIFormat := dglGetProcAddress('glVertexAttribIFormat');
2329 glVertexAttribBinding := dglGetProcAddress('glVertexAttribBinding');
2330 glVertexBindingDivisor := dglGetProcAddress('glVertexBindingDivisor');
2333 constructor EeglError.Create(const msg: string; const aErrorCode: EGLint);
2335 inherited Create(msg);
2336 ErrorCode := aErrorCode;