Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-26 09:16:49

0001 // Copyright (c) 2020 OPEN CASCADE SAS
0002 //
0003 // This file is part of Open CASCADE Technology software library.
0004 //
0005 // This library is free software; you can redistribute it and/or modify it under
0006 // the terms of the GNU Lesser General Public License version 2.1 as published
0007 // by the Free Software Foundation, with special exception defined in the file
0008 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0009 // distribution for complete text of the license and disclaimer of any warranty.
0010 //
0011 // Alternatively, this file may be used under the terms of Open CASCADE
0012 // commercial license or contractual agreement.
0013 
0014 #ifndef _OpenGl_GLESExtensions_Header
0015 #define _OpenGl_GLESExtensions_Header
0016 
0017 // define items to unify code paths with desktop OpenGL
0018 typedef double GLdouble;
0019 typedef double GLclampd;
0020 
0021 // GL_EXT_sRGB_write_control extension for OpenGL ES
0022 // adds GL_FRAMEBUFFER_SRGB_EXT flag as on desktop OpenGL
0023 #define GL_FRAMEBUFFER_SRGB 0x8DB9
0024 
0025 // OpenGL ES 3.1+
0026 #define GL_TEXTURE_2D_MULTISAMPLE 0x9100
0027 
0028 // OpenGL ES 3.2+ or GL_EXT_texture_buffer for OpenGL ES 3.1+
0029 #define GL_TEXTURE_BUFFER 0x8C2A
0030 
0031 // in core since OpenGL ES 3.0, extension GL_OES_rgb8_rgba8
0032 #define GL_LUMINANCE8 0x8040
0033 // GL_EXT_texture_format_BGRA8888
0034 #define GL_BGRA_EXT 0x80E1 // same as GL_BGRA on desktop
0035 
0036 // GL_EXT_sRGB
0037 #define GL_SRGB_EXT 0x8C40       // GL_SRGB_EXT
0038 #define GL_SRGB_ALPHA_EXT 0x8C42 // GL_SRGB_ALPHA_EXT
0039 
0040 #define GL_R16 0x822A
0041 #define GL_RGB4 0x804F
0042 #define GL_RGB5 0x8050
0043 #define GL_RGB10 0x8052
0044 #define GL_RGB12 0x8053
0045 #define GL_RGB16 0x8054
0046 #define GL_RGB10_A2 0x8059
0047 #define GL_RGBA12 0x805A
0048 #define GL_RGBA16 0x805B
0049 #define GL_ALPHA8 0x803C
0050 #define GL_ALPHA16 0x803E
0051 #define GL_RG16 0x822C
0052 
0053 #define GL_R16_SNORM 0x8F98
0054 #define GL_RG16_SNORM 0x8F99
0055 #define GL_RGB16_SNORM 0x8F9A
0056 #define GL_RGBA16_SNORM 0x8F9B
0057 
0058 #define GL_RED_SNORM 0x8F90
0059 #define GL_RG_SNORM 0x8F91
0060 #define GL_RGB_SNORM 0x8F92
0061 #define GL_RGBA_SNORM 0x8F93
0062 
0063 // GL_EXT_texture_filter_anisotropic
0064 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
0065 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
0066 
0067 // debug ARB extension
0068 #define GL_DEBUG_OUTPUT 0x92E0
0069 #define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
0070 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
0071 #define GL_DEBUG_CALLBACK_FUNCTION 0x8244
0072 #define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
0073 #define GL_DEBUG_SOURCE_API 0x8246
0074 #define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
0075 #define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
0076 #define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
0077 #define GL_DEBUG_SOURCE_APPLICATION 0x824A
0078 #define GL_DEBUG_SOURCE_OTHER 0x824B
0079 #define GL_DEBUG_TYPE_ERROR 0x824C
0080 #define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
0081 #define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
0082 #define GL_DEBUG_TYPE_PORTABILITY 0x824F
0083 #define GL_DEBUG_TYPE_PERFORMANCE 0x8250
0084 #define GL_DEBUG_TYPE_OTHER 0x8251
0085 #define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
0086 #define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
0087 #define GL_DEBUG_LOGGED_MESSAGES 0x9145
0088 #define GL_DEBUG_SEVERITY_HIGH 0x9146
0089 #define GL_DEBUG_SEVERITY_MEDIUM 0x9147
0090 #define GL_DEBUG_SEVERITY_LOW 0x9148
0091 
0092 // OpenGL ES 3.0+ or OES_texture_half_float
0093 #define GL_HALF_FLOAT_OES 0x8D61
0094 
0095 // OpenGL ES 3.1+
0096 #define GL_COMPUTE_SHADER 0x91B9
0097 
0098 // OpenGL ES 3.2+
0099 #define GL_GEOMETRY_SHADER 0x8DD9
0100 #define GL_TESS_CONTROL_SHADER 0x8E88
0101 #define GL_TESS_EVALUATION_SHADER 0x8E87
0102 #define GL_LINES_ADJACENCY 0x000A
0103 #define GL_LINE_STRIP_ADJACENCY 0x000B
0104 #define GL_TRIANGLES_ADJACENCY 0x000C
0105 #define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
0106 #define GL_PATCHES 0x000E
0107 
0108 // GL_EXT_texture_compression_s3tc extension
0109 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
0110 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
0111 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
0112 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
0113 //
0114 #define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
0115 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
0116 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
0117 #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
0118 
0119 #ifndef GL_APIENTRYP
0120   #define GL_APIENTRYP GL_APIENTRY*
0121 #endif
0122 
0123 // put into namespace to avoid collisions with system headers
0124 namespace opencascade
0125 {
0126 
0127 // #ifndef GL_ES_VERSION_3_0
0128 typedef void(GL_APIENTRYP PFNGLREADBUFFERPROC)(GLenum src);
0129 typedef void(GL_APIENTRYP PFNGLDRAWRANGEELEMENTSPROC)(GLenum      mode,
0130                                                       GLuint      start,
0131                                                       GLuint      end,
0132                                                       GLsizei     count,
0133                                                       GLenum      type,
0134                                                       const void* indices);
0135 typedef void(GL_APIENTRYP PFNGLTEXIMAGE3DPROC)(GLenum      target,
0136                                                GLint       level,
0137                                                GLint       internalformat,
0138                                                GLsizei     width,
0139                                                GLsizei     height,
0140                                                GLsizei     depth,
0141                                                GLint       border,
0142                                                GLenum      format,
0143                                                GLenum      type,
0144                                                const void* pixels);
0145 typedef void(GL_APIENTRYP PFNGLTEXSUBIMAGE3DPROC)(GLenum      target,
0146                                                   GLint       level,
0147                                                   GLint       xoffset,
0148                                                   GLint       yoffset,
0149                                                   GLint       zoffset,
0150                                                   GLsizei     width,
0151                                                   GLsizei     height,
0152                                                   GLsizei     depth,
0153                                                   GLenum      format,
0154                                                   GLenum      type,
0155                                                   const void* pixels);
0156 typedef void(GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum  target,
0157                                                       GLint   level,
0158                                                       GLint   xoffset,
0159                                                       GLint   yoffset,
0160                                                       GLint   zoffset,
0161                                                       GLint   x,
0162                                                       GLint   y,
0163                                                       GLsizei width,
0164                                                       GLsizei height);
0165 typedef void(GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum      target,
0166                                                          GLint       level,
0167                                                          GLenum      internalformat,
0168                                                          GLsizei     width,
0169                                                          GLsizei     height,
0170                                                          GLsizei     depth,
0171                                                          GLint       border,
0172                                                          GLsizei     imageSize,
0173                                                          const void* data);
0174 typedef void(GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum      target,
0175                                                             GLint       level,
0176                                                             GLint       xoffset,
0177                                                             GLint       yoffset,
0178                                                             GLint       zoffset,
0179                                                             GLsizei     width,
0180                                                             GLsizei     height,
0181                                                             GLsizei     depth,
0182                                                             GLenum      format,
0183                                                             GLsizei     imageSize,
0184                                                             const void* data);
0185 typedef void(GL_APIENTRYP PFNGLGENQUERIESPROC)(GLsizei n, GLuint* ids);
0186 typedef void(GL_APIENTRYP PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint* ids);
0187 typedef GLboolean(GL_APIENTRYP PFNGLISQUERYPROC)(GLuint id);
0188 typedef void(GL_APIENTRYP PFNGLBEGINQUERYPROC)(GLenum target, GLuint id);
0189 typedef void(GL_APIENTRYP PFNGLENDQUERYPROC)(GLenum target);
0190 typedef void(GL_APIENTRYP PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint* params);
0191 typedef void(GL_APIENTRYP PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint* params);
0192 typedef GLboolean(GL_APIENTRYP PFNGLUNMAPBUFFERPROC)(GLenum target);
0193 typedef void(GL_APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, void** params);
0194 typedef void(GL_APIENTRYP PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum* bufs);
0195 typedef void(GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC)(GLint          location,
0196                                                        GLsizei        count,
0197                                                        GLboolean      transpose,
0198                                                        const GLfloat* value);
0199 typedef void(GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC)(GLint          location,
0200                                                        GLsizei        count,
0201                                                        GLboolean      transpose,
0202                                                        const GLfloat* value);
0203 typedef void(GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC)(GLint          location,
0204                                                        GLsizei        count,
0205                                                        GLboolean      transpose,
0206                                                        const GLfloat* value);
0207 typedef void(GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC)(GLint          location,
0208                                                        GLsizei        count,
0209                                                        GLboolean      transpose,
0210                                                        const GLfloat* value);
0211 typedef void(GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC)(GLint          location,
0212                                                        GLsizei        count,
0213                                                        GLboolean      transpose,
0214                                                        const GLfloat* value);
0215 typedef void(GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint          location,
0216                                                        GLsizei        count,
0217                                                        GLboolean      transpose,
0218                                                        const GLfloat* value);
0219 typedef void(GL_APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint      srcX0,
0220                                                     GLint      srcY0,
0221                                                     GLint      srcX1,
0222                                                     GLint      srcY1,
0223                                                     GLint      dstX0,
0224                                                     GLint      dstY0,
0225                                                     GLint      dstX1,
0226                                                     GLint      dstY1,
0227                                                     GLbitfield mask,
0228                                                     GLenum     filter);
0229 typedef void(GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum  target,
0230                                                                    GLsizei samples,
0231                                                                    GLenum  internalformat,
0232                                                                    GLsizei width,
0233                                                                    GLsizei height);
0234 typedef void(GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target,
0235                                                             GLenum attachment,
0236                                                             GLuint texture,
0237                                                             GLint  level,
0238                                                             GLint  layer);
0239 typedef void*(GL_APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum     target,
0240                                                     GLintptr   offset,
0241                                                     GLsizeiptr length,
0242                                                     GLbitfield access);
0243 typedef void(GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum     target,
0244                                                            GLintptr   offset,
0245                                                            GLsizeiptr length);
0246 typedef void(GL_APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint array);
0247 typedef void(GL_APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint* arrays);
0248 typedef void(GL_APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint* arrays);
0249 typedef GLboolean(GL_APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint array);
0250 typedef void(GL_APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint* data);
0251 typedef void(GL_APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode);
0252 typedef void(GL_APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)(void);
0253 typedef void(GL_APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum     target,
0254                                                     GLuint     index,
0255                                                     GLuint     buffer,
0256                                                     GLintptr   offset,
0257                                                     GLsizeiptr size);
0258 typedef void(GL_APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer);
0259 typedef void(GL_APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint               program,
0260                                                               GLsizei              count,
0261                                                               const GLchar* const* varyings,
0262                                                               GLenum               bufferMode);
0263 typedef void(GL_APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint   program,
0264                                                                 GLuint   index,
0265                                                                 GLsizei  bufSize,
0266                                                                 GLsizei* length,
0267                                                                 GLsizei* size,
0268                                                                 GLenum*  type,
0269                                                                 GLchar*  name);
0270 typedef void(GL_APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint      index,
0271                                                          GLint       size,
0272                                                          GLenum      type,
0273                                                          GLsizei     stride,
0274                                                          const void* pointer);
0275 typedef void(GL_APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint* params);
0276 typedef void(GL_APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint* params);
0277 typedef void(
0278   GL_APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w);
0279 typedef void(
0280   GL_APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
0281 typedef void(GL_APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint* v);
0282 typedef void(GL_APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint* v);
0283 typedef void(GL_APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint* params);
0284 typedef GLint(GL_APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar* name);
0285 typedef void(GL_APIENTRYP PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0);
0286 typedef void(GL_APIENTRYP PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1);
0287 typedef void(GL_APIENTRYP PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2);
0288 typedef void(
0289   GL_APIENTRYP PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
0290 typedef void(GL_APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint* value);
0291 typedef void(GL_APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint* value);
0292 typedef void(GL_APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint* value);
0293 typedef void(GL_APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint* value);
0294 typedef void(GL_APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum       buffer,
0295                                                   GLint        drawbuffer,
0296                                                   const GLint* value);
0297 typedef void(GL_APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum        buffer,
0298                                                    GLint         drawbuffer,
0299                                                    const GLuint* value);
0300 typedef void(GL_APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum         buffer,
0301                                                   GLint          drawbuffer,
0302                                                   const GLfloat* value);
0303 typedef void(GL_APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum  buffer,
0304                                                   GLint   drawbuffer,
0305                                                   GLfloat depth,
0306                                                   GLint   stencil);
0307 typedef const GLubyte*(GL_APIENTRYP PFNGLGETSTRINGIPROC)(GLenum name, GLuint index);
0308 typedef void(GL_APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum     readTarget,
0309                                                       GLenum     writeTarget,
0310                                                       GLintptr   readOffset,
0311                                                       GLintptr   writeOffset,
0312                                                       GLsizeiptr size);
0313 typedef void(GL_APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint               program,
0314                                                       GLsizei              uniformCount,
0315                                                       const GLchar* const* uniformNames,
0316                                                       GLuint*              uniformIndices);
0317 typedef void(GL_APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint        program,
0318                                                         GLsizei       uniformCount,
0319                                                         const GLuint* uniformIndices,
0320                                                         GLenum        pname,
0321                                                         GLint*        params);
0322 typedef GLuint(GL_APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint        program,
0323                                                            const GLchar* uniformBlockName);
0324 typedef void(GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program,
0325                                                             GLuint uniformBlockIndex,
0326                                                             GLenum pname,
0327                                                             GLint* params);
0328 typedef void(GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint   program,
0329                                                               GLuint   uniformBlockIndex,
0330                                                               GLsizei  bufSize,
0331                                                               GLsizei* length,
0332                                                               GLchar*  uniformBlockName);
0333 typedef void(GL_APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program,
0334                                                         GLuint uniformBlockIndex,
0335                                                         GLuint uniformBlockBinding);
0336 typedef void(GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum  mode,
0337                                                         GLint   first,
0338                                                         GLsizei count,
0339                                                         GLsizei instancecount);
0340 typedef void(GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum      mode,
0341                                                           GLsizei     count,
0342                                                           GLenum      type,
0343                                                           const void* indices,
0344                                                           GLsizei     instancecount);
0345 typedef GLsync(GL_APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags);
0346 typedef GLboolean(GL_APIENTRYP PFNGLISSYNCPROC)(GLsync sync);
0347 typedef void(GL_APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync);
0348 typedef GLenum(GL_APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync     sync,
0349                                                      GLbitfield flags,
0350                                                      GLuint64   timeout);
0351 typedef void(GL_APIENTRYP PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);
0352 typedef void(GL_APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64* data);
0353 typedef void(GL_APIENTRYP PFNGLGETSYNCIVPROC)(GLsync   sync,
0354                                               GLenum   pname,
0355                                               GLsizei  bufSize,
0356                                               GLsizei* length,
0357                                               GLint*   values);
0358 typedef void(GL_APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64* data);
0359 typedef void(GL_APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum   target,
0360                                                            GLenum   pname,
0361                                                            GLint64* params);
0362 typedef void(GL_APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint* samplers);
0363 typedef void(GL_APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint* samplers);
0364 typedef GLboolean(GL_APIENTRYP PFNGLISSAMPLERPROC)(GLuint sampler);
0365 typedef void(GL_APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler);
0366 typedef void(GL_APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param);
0367 typedef void(GL_APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint       sampler,
0368                                                        GLenum       pname,
0369                                                        const GLint* param);
0370 typedef void(GL_APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param);
0371 typedef void(GL_APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint         sampler,
0372                                                        GLenum         pname,
0373                                                        const GLfloat* param);
0374 typedef void(GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler,
0375                                                           GLenum pname,
0376                                                           GLint* params);
0377 typedef void(GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint   sampler,
0378                                                           GLenum   pname,
0379                                                           GLfloat* params);
0380 typedef void(GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor);
0381 typedef void(GL_APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC)(GLenum target, GLuint id);
0382 typedef void(GL_APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC)(GLsizei n, const GLuint* ids);
0383 typedef void(GL_APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC)(GLsizei n, GLuint* ids);
0384 typedef GLboolean(GL_APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC)(GLuint id);
0385 typedef void(GL_APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC)(void);
0386 typedef void(GL_APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC)(void);
0387 typedef void(GL_APIENTRYP PFNGLGETPROGRAMBINARYPROC)(GLuint   program,
0388                                                      GLsizei  bufSize,
0389                                                      GLsizei* length,
0390                                                      GLenum*  binaryFormat,
0391                                                      void*    binary);
0392 typedef void(GL_APIENTRYP PFNGLPROGRAMBINARYPROC)(GLuint      program,
0393                                                   GLenum      binaryFormat,
0394                                                   const void* binary,
0395                                                   GLsizei     length);
0396 typedef void(GL_APIENTRYP PFNGLPROGRAMPARAMETERIPROC)(GLuint program, GLenum pname, GLint value);
0397 typedef void(GL_APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC)(GLenum        target,
0398                                                           GLsizei       numAttachments,
0399                                                           const GLenum* attachments);
0400 typedef void(GL_APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC)(GLenum        target,
0401                                                              GLsizei       numAttachments,
0402                                                              const GLenum* attachments,
0403                                                              GLint         x,
0404                                                              GLint         y,
0405                                                              GLsizei       width,
0406                                                              GLsizei       height);
0407 typedef void(GL_APIENTRYP PFNGLTEXSTORAGE2DPROC)(GLenum  target,
0408                                                  GLsizei levels,
0409                                                  GLenum  internalformat,
0410                                                  GLsizei width,
0411                                                  GLsizei height);
0412 typedef void(GL_APIENTRYP PFNGLTEXSTORAGE3DPROC)(GLenum  target,
0413                                                  GLsizei levels,
0414                                                  GLenum  internalformat,
0415                                                  GLsizei width,
0416                                                  GLsizei height,
0417                                                  GLsizei depth);
0418 typedef void(GL_APIENTRYP PFNGLGETINTERNALFORMATIVPROC)(GLenum  target,
0419                                                         GLenum  internalformat,
0420                                                         GLenum  pname,
0421                                                         GLsizei bufSize,
0422                                                         GLint*  params);
0423 // #endif GL_ES_VERSION_3_0
0424 
0425 // #ifndef GL_ES_VERSION_3_1
0426 typedef void(GL_APIENTRYP PFNGLDISPATCHCOMPUTEPROC)(GLuint num_groups_x,
0427                                                     GLuint num_groups_y,
0428                                                     GLuint num_groups_z);
0429 typedef void(GL_APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC)(GLintptr indirect);
0430 typedef void(GL_APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC)(GLenum mode, const void* indirect);
0431 typedef void(GL_APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC)(GLenum      mode,
0432                                                          GLenum      type,
0433                                                          const void* indirect);
0434 typedef void(GL_APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);
0435 typedef void(GL_APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC)(GLenum target,
0436                                                               GLenum pname,
0437                                                               GLint* params);
0438 typedef void(GL_APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC)(GLuint program,
0439                                                           GLenum programInterface,
0440                                                           GLenum pname,
0441                                                           GLint* params);
0442 typedef GLuint(GL_APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC)(GLuint        program,
0443                                                               GLenum        programInterface,
0444                                                               const GLchar* name);
0445 typedef void(GL_APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC)(GLuint   program,
0446                                                            GLenum   programInterface,
0447                                                            GLuint   index,
0448                                                            GLsizei  bufSize,
0449                                                            GLsizei* length,
0450                                                            GLchar*  name);
0451 typedef void(GL_APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC)(GLuint        program,
0452                                                          GLenum        programInterface,
0453                                                          GLuint        index,
0454                                                          GLsizei       propCount,
0455                                                          const GLenum* props,
0456                                                          GLsizei       bufSize,
0457                                                          GLsizei*      length,
0458                                                          GLint*        params);
0459 typedef GLint(GL_APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC)(GLuint        program,
0460                                                                 GLenum        programInterface,
0461                                                                 const GLchar* name);
0462 typedef void(GL_APIENTRYP PFNGLUSEPROGRAMSTAGESPROC)(GLuint     pipeline,
0463                                                      GLbitfield stages,
0464                                                      GLuint     program);
0465 typedef void(GL_APIENTRYP PFNGLACTIVESHADERPROGRAMPROC)(GLuint pipeline, GLuint program);
0466 typedef GLuint(GL_APIENTRYP PFNGLCREATESHADERPROGRAMVPROC)(GLenum               type,
0467                                                            GLsizei              count,
0468                                                            const GLchar* const* strings);
0469 typedef void(GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC)(GLuint pipeline);
0470 typedef void(GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC)(GLsizei n, const GLuint* pipelines);
0471 typedef void(GL_APIENTRYP PFNGLGENPROGRAMPIPELINESPROC)(GLsizei n, GLuint* pipelines);
0472 typedef GLboolean(GL_APIENTRYP PFNGLISPROGRAMPIPELINEPROC)(GLuint pipeline);
0473 typedef void(GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC)(GLuint pipeline,
0474                                                          GLenum pname,
0475                                                          GLint* params);
0476 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM1IPROC)(GLuint program, GLint location, GLint v0);
0477 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM2IPROC)(GLuint program,
0478                                                      GLint  location,
0479                                                      GLint  v0,
0480                                                      GLint  v1);
0481 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM3IPROC)(GLuint program,
0482                                                      GLint  location,
0483                                                      GLint  v0,
0484                                                      GLint  v1,
0485                                                      GLint  v2);
0486 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM4IPROC)(GLuint program,
0487                                                      GLint  location,
0488                                                      GLint  v0,
0489                                                      GLint  v1,
0490                                                      GLint  v2,
0491                                                      GLint  v3);
0492 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC)(GLuint program, GLint location, GLuint v0);
0493 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC)(GLuint program,
0494                                                       GLint  location,
0495                                                       GLuint v0,
0496                                                       GLuint v1);
0497 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC)(GLuint program,
0498                                                       GLint  location,
0499                                                       GLuint v0,
0500                                                       GLuint v1,
0501                                                       GLuint v2);
0502 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC)(GLuint program,
0503                                                       GLint  location,
0504                                                       GLuint v0,
0505                                                       GLuint v1,
0506                                                       GLuint v2,
0507                                                       GLuint v3);
0508 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM1FPROC)(GLuint program, GLint location, GLfloat v0);
0509 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM2FPROC)(GLuint  program,
0510                                                      GLint   location,
0511                                                      GLfloat v0,
0512                                                      GLfloat v1);
0513 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM3FPROC)(GLuint  program,
0514                                                      GLint   location,
0515                                                      GLfloat v0,
0516                                                      GLfloat v1,
0517                                                      GLfloat v2);
0518 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM4FPROC)(GLuint  program,
0519                                                      GLint   location,
0520                                                      GLfloat v0,
0521                                                      GLfloat v1,
0522                                                      GLfloat v2,
0523                                                      GLfloat v3);
0524 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC)(GLuint       program,
0525                                                       GLint        location,
0526                                                       GLsizei      count,
0527                                                       const GLint* value);
0528 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC)(GLuint       program,
0529                                                       GLint        location,
0530                                                       GLsizei      count,
0531                                                       const GLint* value);
0532 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC)(GLuint       program,
0533                                                       GLint        location,
0534                                                       GLsizei      count,
0535                                                       const GLint* value);
0536 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC)(GLuint       program,
0537                                                       GLint        location,
0538                                                       GLsizei      count,
0539                                                       const GLint* value);
0540 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC)(GLuint        program,
0541                                                        GLint         location,
0542                                                        GLsizei       count,
0543                                                        const GLuint* value);
0544 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC)(GLuint        program,
0545                                                        GLint         location,
0546                                                        GLsizei       count,
0547                                                        const GLuint* value);
0548 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC)(GLuint        program,
0549                                                        GLint         location,
0550                                                        GLsizei       count,
0551                                                        const GLuint* value);
0552 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC)(GLuint        program,
0553                                                        GLint         location,
0554                                                        GLsizei       count,
0555                                                        const GLuint* value);
0556 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC)(GLuint         program,
0557                                                       GLint          location,
0558                                                       GLsizei        count,
0559                                                       const GLfloat* value);
0560 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC)(GLuint         program,
0561                                                       GLint          location,
0562                                                       GLsizei        count,
0563                                                       const GLfloat* value);
0564 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC)(GLuint         program,
0565                                                       GLint          location,
0566                                                       GLsizei        count,
0567                                                       const GLfloat* value);
0568 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC)(GLuint         program,
0569                                                       GLint          location,
0570                                                       GLsizei        count,
0571                                                       const GLfloat* value);
0572 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC)(GLuint         program,
0573                                                             GLint          location,
0574                                                             GLsizei        count,
0575                                                             GLboolean      transpose,
0576                                                             const GLfloat* value);
0577 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC)(GLuint         program,
0578                                                             GLint          location,
0579                                                             GLsizei        count,
0580                                                             GLboolean      transpose,
0581                                                             const GLfloat* value);
0582 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC)(GLuint         program,
0583                                                             GLint          location,
0584                                                             GLsizei        count,
0585                                                             GLboolean      transpose,
0586                                                             const GLfloat* value);
0587 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)(GLuint         program,
0588                                                               GLint          location,
0589                                                               GLsizei        count,
0590                                                               GLboolean      transpose,
0591                                                               const GLfloat* value);
0592 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)(GLuint         program,
0593                                                               GLint          location,
0594                                                               GLsizei        count,
0595                                                               GLboolean      transpose,
0596                                                               const GLfloat* value);
0597 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)(GLuint         program,
0598                                                               GLint          location,
0599                                                               GLsizei        count,
0600                                                               GLboolean      transpose,
0601                                                               const GLfloat* value);
0602 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)(GLuint         program,
0603                                                               GLint          location,
0604                                                               GLsizei        count,
0605                                                               GLboolean      transpose,
0606                                                               const GLfloat* value);
0607 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)(GLuint         program,
0608                                                               GLint          location,
0609                                                               GLsizei        count,
0610                                                               GLboolean      transpose,
0611                                                               const GLfloat* value);
0612 typedef void(GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)(GLuint         program,
0613                                                               GLint          location,
0614                                                               GLsizei        count,
0615                                                               GLboolean      transpose,
0616                                                               const GLfloat* value);
0617 typedef void(GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC)(GLuint pipeline);
0618 typedef void(GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC)(GLuint   pipeline,
0619                                                               GLsizei  bufSize,
0620                                                               GLsizei* length,
0621                                                               GLchar*  infoLog);
0622 typedef void(GL_APIENTRYP PFNGLBINDIMAGETEXTUREPROC)(GLuint    unit,
0623                                                      GLuint    texture,
0624                                                      GLint     level,
0625                                                      GLboolean layered,
0626                                                      GLint     layer,
0627                                                      GLenum    access,
0628                                                      GLenum    format);
0629 typedef void(GL_APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean* data);
0630 typedef void(GL_APIENTRYP PFNGLMEMORYBARRIERPROC)(GLbitfield barriers);
0631 typedef void(GL_APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC)(GLbitfield barriers);
0632 typedef void(GL_APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC)(GLenum    target,
0633                                                             GLsizei   samples,
0634                                                             GLenum    internalformat,
0635                                                             GLsizei   width,
0636                                                             GLsizei   height,
0637                                                             GLboolean fixedsamplelocations);
0638 typedef void(GL_APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat* val);
0639 typedef void(GL_APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint maskNumber, GLbitfield mask);
0640 typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target,
0641                                                            GLint  level,
0642                                                            GLenum pname,
0643                                                            GLint* params);
0644 typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum   target,
0645                                                            GLint    level,
0646                                                            GLenum   pname,
0647                                                            GLfloat* params);
0648 typedef void(GL_APIENTRYP PFNGLBINDVERTEXBUFFERPROC)(GLuint   bindingindex,
0649                                                      GLuint   buffer,
0650                                                      GLintptr offset,
0651                                                      GLsizei  stride);
0652 typedef void(GL_APIENTRYP PFNGLVERTEXATTRIBFORMATPROC)(GLuint    attribindex,
0653                                                        GLint     size,
0654                                                        GLenum    type,
0655                                                        GLboolean normalized,
0656                                                        GLuint    relativeoffset);
0657 typedef void(GL_APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC)(GLuint attribindex,
0658                                                         GLint  size,
0659                                                         GLenum type,
0660                                                         GLuint relativeoffset);
0661 typedef void(GL_APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC)(GLuint attribindex, GLuint bindingindex);
0662 typedef void(GL_APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC)(GLuint bindingindex, GLuint divisor);
0663 // #endif GL_ES_VERSION_3_1
0664 
0665 // #ifndef GL_ES_VERSION_3_2
0666 typedef void(GL_APIENTRY* GLDEBUGPROC)(GLenum        source,
0667                                        GLenum        type,
0668                                        GLuint        id,
0669                                        GLenum        severity,
0670                                        GLsizei       length,
0671                                        const GLchar* message,
0672                                        const void*   userParam);
0673 
0674 typedef void(GL_APIENTRYP PFNGLBLENDBARRIERPROC)(void);
0675 typedef void(GL_APIENTRYP PFNGLCOPYIMAGESUBDATAPROC)(GLuint  srcName,
0676                                                      GLenum  srcTarget,
0677                                                      GLint   srcLevel,
0678                                                      GLint   srcX,
0679                                                      GLint   srcY,
0680                                                      GLint   srcZ,
0681                                                      GLuint  dstName,
0682                                                      GLenum  dstTarget,
0683                                                      GLint   dstLevel,
0684                                                      GLint   dstX,
0685                                                      GLint   dstY,
0686                                                      GLint   dstZ,
0687                                                      GLsizei srcWidth,
0688                                                      GLsizei srcHeight,
0689                                                      GLsizei srcDepth);
0690 typedef void(GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC)(GLenum        source,
0691                                                         GLenum        type,
0692                                                         GLenum        severity,
0693                                                         GLsizei       count,
0694                                                         const GLuint* ids,
0695                                                         GLboolean     enabled);
0696 typedef void(GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC)(GLenum        source,
0697                                                        GLenum        type,
0698                                                        GLuint        id,
0699                                                        GLenum        severity,
0700                                                        GLsizei       length,
0701                                                        const GLchar* buf);
0702 typedef void(GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC)(GLDEBUGPROC callback,
0703                                                          const void* userParam);
0704 typedef GLuint(GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC)(GLuint   count,
0705                                                          GLsizei  bufSize,
0706                                                          GLenum*  sources,
0707                                                          GLenum*  types,
0708                                                          GLuint*  ids,
0709                                                          GLenum*  severities,
0710                                                          GLsizei* lengths,
0711                                                          GLchar*  messageLog);
0712 typedef void(GL_APIENTRYP PFNGLPUSHDEBUGGROUPPROC)(GLenum        source,
0713                                                    GLuint        id,
0714                                                    GLsizei       length,
0715                                                    const GLchar* message);
0716 typedef void(GL_APIENTRYP PFNGLPOPDEBUGGROUPPROC)(void);
0717 typedef void(GL_APIENTRYP PFNGLOBJECTLABELPROC)(GLenum        identifier,
0718                                                 GLuint        name,
0719                                                 GLsizei       length,
0720                                                 const GLchar* label);
0721 typedef void(GL_APIENTRYP PFNGLGETOBJECTLABELPROC)(GLenum   identifier,
0722                                                    GLuint   name,
0723                                                    GLsizei  bufSize,
0724                                                    GLsizei* length,
0725                                                    GLchar*  label);
0726 typedef void(GL_APIENTRYP PFNGLOBJECTPTRLABELPROC)(const void*   ptr,
0727                                                    GLsizei       length,
0728                                                    const GLchar* label);
0729 typedef void(GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC)(const void* ptr,
0730                                                       GLsizei     bufSize,
0731                                                       GLsizei*    length,
0732                                                       GLchar*     label);
0733 typedef void(GL_APIENTRYP PFNGLGETPOINTERVPROC)(GLenum pname, void** params);
0734 typedef void(GL_APIENTRYP PFNGLENABLEIPROC)(GLenum target, GLuint index);
0735 typedef void(GL_APIENTRYP PFNGLDISABLEIPROC)(GLenum target, GLuint index);
0736 typedef void(GL_APIENTRYP PFNGLBLENDEQUATIONIPROC)(GLuint buf, GLenum mode);
0737 typedef void(GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC)(GLuint buf,
0738                                                            GLenum modeRGB,
0739                                                            GLenum modeAlpha);
0740 typedef void(GL_APIENTRYP PFNGLBLENDFUNCIPROC)(GLuint buf, GLenum src, GLenum dst);
0741 typedef void(GL_APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC)(GLuint buf,
0742                                                        GLenum srcRGB,
0743                                                        GLenum dstRGB,
0744                                                        GLenum srcAlpha,
0745                                                        GLenum dstAlpha);
0746 typedef void(GL_APIENTRYP PFNGLCOLORMASKIPROC)(GLuint    index,
0747                                                GLboolean r,
0748                                                GLboolean g,
0749                                                GLboolean b,
0750                                                GLboolean a);
0751 typedef GLboolean(GL_APIENTRYP PFNGLISENABLEDIPROC)(GLenum target, GLuint index);
0752 typedef void(GL_APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum      mode,
0753                                                            GLsizei     count,
0754                                                            GLenum      type,
0755                                                            const void* indices,
0756                                                            GLint       basevertex);
0757 typedef void(GL_APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum      mode,
0758                                                                 GLuint      start,
0759                                                                 GLuint      end,
0760                                                                 GLsizei     count,
0761                                                                 GLenum      type,
0762                                                                 const void* indices,
0763                                                                 GLint       basevertex);
0764 typedef void(GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum      mode,
0765                                                                     GLsizei     count,
0766                                                                     GLenum      type,
0767                                                                     const void* indices,
0768                                                                     GLsizei     instancecount,
0769                                                                     GLint       basevertex);
0770 typedef void(GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target,
0771                                                        GLenum attachment,
0772                                                        GLuint texture,
0773                                                        GLint  level);
0774 typedef void(GL_APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXPROC)(GLfloat minX,
0775                                                          GLfloat minY,
0776                                                          GLfloat minZ,
0777                                                          GLfloat minW,
0778                                                          GLfloat maxX,
0779                                                          GLfloat maxY,
0780                                                          GLfloat maxZ,
0781                                                          GLfloat maxW);
0782 typedef GLenum(GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSPROC)(void);
0783 typedef void(GL_APIENTRYP PFNGLREADNPIXELSPROC)(GLint   x,
0784                                                 GLint   y,
0785                                                 GLsizei width,
0786                                                 GLsizei height,
0787                                                 GLenum  format,
0788                                                 GLenum  type,
0789                                                 GLsizei bufSize,
0790                                                 void*   data);
0791 typedef void(GL_APIENTRYP PFNGLGETNUNIFORMFVPROC)(GLuint   program,
0792                                                   GLint    location,
0793                                                   GLsizei  bufSize,
0794                                                   GLfloat* params);
0795 typedef void(GL_APIENTRYP PFNGLGETNUNIFORMIVPROC)(GLuint  program,
0796                                                   GLint   location,
0797                                                   GLsizei bufSize,
0798                                                   GLint*  params);
0799 typedef void(GL_APIENTRYP PFNGLGETNUNIFORMUIVPROC)(GLuint  program,
0800                                                    GLint   location,
0801                                                    GLsizei bufSize,
0802                                                    GLuint* params);
0803 typedef void(GL_APIENTRYP PFNGLMINSAMPLESHADINGPROC)(GLfloat value);
0804 typedef void(GL_APIENTRYP PFNGLPATCHPARAMETERIPROC)(GLenum pname, GLint value);
0805 typedef void(GL_APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum       target,
0806                                                     GLenum       pname,
0807                                                     const GLint* params);
0808 typedef void(GL_APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum        target,
0809                                                      GLenum        pname,
0810                                                      const GLuint* params);
0811 typedef void(GL_APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint* params);
0812 typedef void(GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum  target,
0813                                                         GLenum  pname,
0814                                                         GLuint* params);
0815 typedef void(GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint       sampler,
0816                                                         GLenum       pname,
0817                                                         const GLint* param);
0818 typedef void(GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint        sampler,
0819                                                          GLenum        pname,
0820                                                          const GLuint* param);
0821 typedef void(GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler,
0822                                                            GLenum pname,
0823                                                            GLint* params);
0824 typedef void(GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint  sampler,
0825                                                             GLenum  pname,
0826                                                             GLuint* params);
0827 typedef void(GL_APIENTRYP PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer);
0828 typedef void(GL_APIENTRYP PFNGLTEXBUFFERRANGEPROC)(GLenum     target,
0829                                                    GLenum     internalformat,
0830                                                    GLuint     buffer,
0831                                                    GLintptr   offset,
0832                                                    GLsizeiptr size);
0833 typedef void(GL_APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC)(GLenum    target,
0834                                                             GLsizei   samples,
0835                                                             GLenum    internalformat,
0836                                                             GLsizei   width,
0837                                                             GLsizei   height,
0838                                                             GLsizei   depth,
0839                                                             GLboolean fixedsamplelocations);
0840 // #endif GL_ES_VERSION_3_2
0841 
0842 } // namespace opencascade
0843 
0844 #endif // _OpenGl_GLESExtensions_Header