chromium/third_party/angle/include/GLES3/gl3.h

#ifndef __gles2_gl3_h_
#define __gles2_gl3_h_

#ifdef __cplusplus
extern "C" {
#endif

/*
** Copyright 2013-2020 The Khronos Group Inc.
** SPDX-License-Identifier: MIT
**
** This header is generated from the Khronos OpenGL / OpenGL ES XML
** API Registry. The current version of the Registry, generator scripts
** used to make the header, and the header can be found at
**   https://github.com/KhronosGroup/OpenGL-Registry
*/

#include <GLES3/gl3platform.h>

#ifndef GL_APIENTRYP
#define GL_APIENTRYP
#endif

#ifndef GL_GLES_PROTOTYPES
#define GL_GLES_PROTOTYPES
#endif

/* Generated on date 20210107 */

/* Generated C header for:
 * API: gles2
 * Profile: common
 * Versions considered: 2\.[0-9]|3\.0
 * Versions emitted: .*
 * Default extensions included: None
 * Additional extensions included: _nomatch_^
 * Extensions removed: _nomatch_^
 */

#ifndef GL_ES_VERSION_2_0
#define GL_ES_VERSION_2_0
#include <KHR/khrplatform.h>
typedef khronos_int8_t GLbyte;
typedef khronos_float_t GLclampf;
typedef khronos_int32_t GLfixed;
typedef khronos_int16_t GLshort;
typedef khronos_uint16_t GLushort;
typedef void GLvoid;
typedef struct __GLsync *GLsync;
typedef khronos_int64_t GLint64;
typedef khronos_uint64_t GLuint64;
typedef unsigned int GLenum;
typedef unsigned int GLuint;
typedef char GLchar;
typedef khronos_float_t GLfloat;
typedef khronos_ssize_t GLsizeiptr;
typedef khronos_intptr_t GLintptr;
typedef unsigned int GLbitfield;
typedef int GLint;
typedef unsigned char GLboolean;
typedef int GLsizei;
typedef khronos_uint8_t GLubyte;
#define GL_DEPTH_BUFFER_BIT
#define GL_STENCIL_BUFFER_BIT
#define GL_COLOR_BUFFER_BIT
#define GL_FALSE
#define GL_TRUE
#define GL_POINTS
#define GL_LINES
#define GL_LINE_LOOP
#define GL_LINE_STRIP
#define GL_TRIANGLES
#define GL_TRIANGLE_STRIP
#define GL_TRIANGLE_FAN
#define GL_ZERO
#define GL_ONE
#define GL_SRC_COLOR
#define GL_ONE_MINUS_SRC_COLOR
#define GL_SRC_ALPHA
#define GL_ONE_MINUS_SRC_ALPHA
#define GL_DST_ALPHA
#define GL_ONE_MINUS_DST_ALPHA
#define GL_DST_COLOR
#define GL_ONE_MINUS_DST_COLOR
#define GL_SRC_ALPHA_SATURATE
#define GL_FUNC_ADD
#define GL_BLEND_EQUATION
#define GL_BLEND_EQUATION_RGB
#define GL_BLEND_EQUATION_ALPHA
#define GL_FUNC_SUBTRACT
#define GL_FUNC_REVERSE_SUBTRACT
#define GL_BLEND_DST_RGB
#define GL_BLEND_SRC_RGB
#define GL_BLEND_DST_ALPHA
#define GL_BLEND_SRC_ALPHA
#define GL_CONSTANT_COLOR
#define GL_ONE_MINUS_CONSTANT_COLOR
#define GL_CONSTANT_ALPHA
#define GL_ONE_MINUS_CONSTANT_ALPHA
#define GL_BLEND_COLOR
#define GL_ARRAY_BUFFER
#define GL_ELEMENT_ARRAY_BUFFER
#define GL_ARRAY_BUFFER_BINDING
#define GL_ELEMENT_ARRAY_BUFFER_BINDING
#define GL_STREAM_DRAW
#define GL_STATIC_DRAW
#define GL_DYNAMIC_DRAW
#define GL_BUFFER_SIZE
#define GL_BUFFER_USAGE
#define GL_CURRENT_VERTEX_ATTRIB
#define GL_FRONT
#define GL_BACK
#define GL_FRONT_AND_BACK
#define GL_TEXTURE_2D
#define GL_CULL_FACE
#define GL_BLEND
#define GL_DITHER
#define GL_STENCIL_TEST
#define GL_DEPTH_TEST
#define GL_SCISSOR_TEST
#define GL_POLYGON_OFFSET_FILL
#define GL_SAMPLE_ALPHA_TO_COVERAGE
#define GL_SAMPLE_COVERAGE
#define GL_NO_ERROR
#define GL_INVALID_ENUM
#define GL_INVALID_VALUE
#define GL_INVALID_OPERATION
#define GL_OUT_OF_MEMORY
#define GL_CW
#define GL_CCW
#define GL_LINE_WIDTH
#define GL_ALIASED_POINT_SIZE_RANGE
#define GL_ALIASED_LINE_WIDTH_RANGE
#define GL_CULL_FACE_MODE
#define GL_FRONT_FACE
#define GL_DEPTH_RANGE
#define GL_DEPTH_WRITEMASK
#define GL_DEPTH_CLEAR_VALUE
#define GL_DEPTH_FUNC
#define GL_STENCIL_CLEAR_VALUE
#define GL_STENCIL_FUNC
#define GL_STENCIL_FAIL
#define GL_STENCIL_PASS_DEPTH_FAIL
#define GL_STENCIL_PASS_DEPTH_PASS
#define GL_STENCIL_REF
#define GL_STENCIL_VALUE_MASK
#define GL_STENCIL_WRITEMASK
#define GL_STENCIL_BACK_FUNC
#define GL_STENCIL_BACK_FAIL
#define GL_STENCIL_BACK_PASS_DEPTH_FAIL
#define GL_STENCIL_BACK_PASS_DEPTH_PASS
#define GL_STENCIL_BACK_REF
#define GL_STENCIL_BACK_VALUE_MASK
#define GL_STENCIL_BACK_WRITEMASK
#define GL_VIEWPORT
#define GL_SCISSOR_BOX
#define GL_COLOR_CLEAR_VALUE
#define GL_COLOR_WRITEMASK
#define GL_UNPACK_ALIGNMENT
#define GL_PACK_ALIGNMENT
#define GL_MAX_TEXTURE_SIZE
#define GL_MAX_VIEWPORT_DIMS
#define GL_SUBPIXEL_BITS
#define GL_RED_BITS
#define GL_GREEN_BITS
#define GL_BLUE_BITS
#define GL_ALPHA_BITS
#define GL_DEPTH_BITS
#define GL_STENCIL_BITS
#define GL_POLYGON_OFFSET_UNITS
#define GL_POLYGON_OFFSET_FACTOR
#define GL_TEXTURE_BINDING_2D
#define GL_SAMPLE_BUFFERS
#define GL_SAMPLES
#define GL_SAMPLE_COVERAGE_VALUE
#define GL_SAMPLE_COVERAGE_INVERT
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS
#define GL_COMPRESSED_TEXTURE_FORMATS
#define GL_DONT_CARE
#define GL_FASTEST
#define GL_NICEST
#define GL_GENERATE_MIPMAP_HINT
#define GL_BYTE
#define GL_UNSIGNED_BYTE
#define GL_SHORT
#define GL_UNSIGNED_SHORT
#define GL_INT
#define GL_UNSIGNED_INT
#define GL_FLOAT
#define GL_FIXED
#define GL_DEPTH_COMPONENT
#define GL_ALPHA
#define GL_RGB
#define GL_RGBA
#define GL_LUMINANCE
#define GL_LUMINANCE_ALPHA
#define GL_UNSIGNED_SHORT_4_4_4_4
#define GL_UNSIGNED_SHORT_5_5_5_1
#define GL_UNSIGNED_SHORT_5_6_5
#define GL_FRAGMENT_SHADER
#define GL_VERTEX_SHADER
#define GL_MAX_VERTEX_ATTRIBS
#define GL_MAX_VERTEX_UNIFORM_VECTORS
#define GL_MAX_VARYING_VECTORS
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
#define GL_MAX_TEXTURE_IMAGE_UNITS
#define GL_MAX_FRAGMENT_UNIFORM_VECTORS
#define GL_SHADER_TYPE
#define GL_DELETE_STATUS
#define GL_LINK_STATUS
#define GL_VALIDATE_STATUS
#define GL_ATTACHED_SHADERS
#define GL_ACTIVE_UNIFORMS
#define GL_ACTIVE_UNIFORM_MAX_LENGTH
#define GL_ACTIVE_ATTRIBUTES
#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
#define GL_SHADING_LANGUAGE_VERSION
#define GL_CURRENT_PROGRAM
#define GL_NEVER
#define GL_LESS
#define GL_EQUAL
#define GL_LEQUAL
#define GL_GREATER
#define GL_NOTEQUAL
#define GL_GEQUAL
#define GL_ALWAYS
#define GL_KEEP
#define GL_REPLACE
#define GL_INCR
#define GL_DECR
#define GL_INVERT
#define GL_INCR_WRAP
#define GL_DECR_WRAP
#define GL_VENDOR
#define GL_RENDERER
#define GL_VERSION
#define GL_EXTENSIONS
#define GL_NEAREST
#define GL_LINEAR
#define GL_NEAREST_MIPMAP_NEAREST
#define GL_LINEAR_MIPMAP_NEAREST
#define GL_NEAREST_MIPMAP_LINEAR
#define GL_LINEAR_MIPMAP_LINEAR
#define GL_TEXTURE_MAG_FILTER
#define GL_TEXTURE_MIN_FILTER
#define GL_TEXTURE_WRAP_S
#define GL_TEXTURE_WRAP_T
#define GL_TEXTURE
#define GL_TEXTURE_CUBE_MAP
#define GL_TEXTURE_BINDING_CUBE_MAP
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE
#define GL_TEXTURE0
#define GL_TEXTURE1
#define GL_TEXTURE2
#define GL_TEXTURE3
#define GL_TEXTURE4
#define GL_TEXTURE5
#define GL_TEXTURE6
#define GL_TEXTURE7
#define GL_TEXTURE8
#define GL_TEXTURE9
#define GL_TEXTURE10
#define GL_TEXTURE11
#define GL_TEXTURE12
#define GL_TEXTURE13
#define GL_TEXTURE14
#define GL_TEXTURE15
#define GL_TEXTURE16
#define GL_TEXTURE17
#define GL_TEXTURE18
#define GL_TEXTURE19
#define GL_TEXTURE20
#define GL_TEXTURE21
#define GL_TEXTURE22
#define GL_TEXTURE23
#define GL_TEXTURE24
#define GL_TEXTURE25
#define GL_TEXTURE26
#define GL_TEXTURE27
#define GL_TEXTURE28
#define GL_TEXTURE29
#define GL_TEXTURE30
#define GL_TEXTURE31
#define GL_ACTIVE_TEXTURE
#define GL_REPEAT
#define GL_CLAMP_TO_EDGE
#define GL_MIRRORED_REPEAT
#define GL_FLOAT_VEC2
#define GL_FLOAT_VEC3
#define GL_FLOAT_VEC4
#define GL_INT_VEC2
#define GL_INT_VEC3
#define GL_INT_VEC4
#define GL_BOOL
#define GL_BOOL_VEC2
#define GL_BOOL_VEC3
#define GL_BOOL_VEC4
#define GL_FLOAT_MAT2
#define GL_FLOAT_MAT3
#define GL_FLOAT_MAT4
#define GL_SAMPLER_2D
#define GL_SAMPLER_CUBE
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED
#define GL_VERTEX_ATTRIB_ARRAY_SIZE
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE
#define GL_VERTEX_ATTRIB_ARRAY_TYPE
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
#define GL_VERTEX_ATTRIB_ARRAY_POINTER
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
#define GL_IMPLEMENTATION_COLOR_READ_TYPE
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT
#define GL_COMPILE_STATUS
#define GL_INFO_LOG_LENGTH
#define GL_SHADER_SOURCE_LENGTH
#define GL_SHADER_COMPILER
#define GL_SHADER_BINARY_FORMATS
#define GL_NUM_SHADER_BINARY_FORMATS
#define GL_LOW_FLOAT
#define GL_MEDIUM_FLOAT
#define GL_HIGH_FLOAT
#define GL_LOW_INT
#define GL_MEDIUM_INT
#define GL_HIGH_INT
#define GL_FRAMEBUFFER
#define GL_RENDERBUFFER
#define GL_RGBA4
#define GL_RGB5_A1
#define GL_RGB565
#define GL_DEPTH_COMPONENT16
#define GL_STENCIL_INDEX8
#define GL_RENDERBUFFER_WIDTH
#define GL_RENDERBUFFER_HEIGHT
#define GL_RENDERBUFFER_INTERNAL_FORMAT
#define GL_RENDERBUFFER_RED_SIZE
#define GL_RENDERBUFFER_GREEN_SIZE
#define GL_RENDERBUFFER_BLUE_SIZE
#define GL_RENDERBUFFER_ALPHA_SIZE
#define GL_RENDERBUFFER_DEPTH_SIZE
#define GL_RENDERBUFFER_STENCIL_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
#define GL_COLOR_ATTACHMENT0
#define GL_DEPTH_ATTACHMENT
#define GL_STENCIL_ATTACHMENT
#define GL_NONE
#define GL_FRAMEBUFFER_COMPLETE
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
#define GL_FRAMEBUFFER_UNSUPPORTED
#define GL_FRAMEBUFFER_BINDING
#define GL_RENDERBUFFER_BINDING
#define GL_MAX_RENDERBUFFER_SIZE
#define GL_INVALID_FRAMEBUFFER_OPERATION
typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
typedef void (GL_APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
typedef void (GL_APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
typedef void (GL_APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
typedef GLuint (GL_APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
typedef void (GL_APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
typedef void (GL_APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
typedef void (GL_APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices);
typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap);
typedef void (GL_APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
typedef void (GL_APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
typedef void (GL_APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
typedef GLint (GL_APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
typedef void (GL_APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
typedef void (GL_APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
typedef void (GL_APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
typedef void (GL_APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
typedef GLint (GL_APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);
typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
typedef GLboolean (GL_APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
typedef void (GL_APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
typedef void (GL_APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
typedef void (GL_APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
typedef void (GL_APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
typedef void (GL_APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
typedef void (GL_APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
typedef void (GL_APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
typedef void (GL_APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
typedef void (GL_APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
typedef void (GL_APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
typedef void (GL_APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
typedef void (GL_APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
typedef void (GL_APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
typedef void (GL_APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
typedef void (GL_APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
typedef void (GL_APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
typedef void (GL_APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
typedef void (GL_APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
typedef void (GL_APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
typedef void (GL_APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
typedef void (GL_APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
#if GL_GLES_PROTOTYPES
GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
GL_APICALL void GL_APIENTRY glFinish (void);
GL_APICALL void GL_APIENTRY glFlush (void);
GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
GL_APICALL GLenum GL_APIENTRY glGetError (void);
GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
#endif
#endif /* GL_ES_VERSION_2_0 */

#ifndef GL_ES_VERSION_3_0
#define GL_ES_VERSION_3_0
GLhalf;
#define GL_READ_BUFFER
#define GL_UNPACK_ROW_LENGTH
#define GL_UNPACK_SKIP_ROWS
#define GL_UNPACK_SKIP_PIXELS
#define GL_PACK_ROW_LENGTH
#define GL_PACK_SKIP_ROWS
#define GL_PACK_SKIP_PIXELS
#define GL_COLOR
#define GL_DEPTH
#define GL_STENCIL
#define GL_RED
#define GL_RGB8
#define GL_RGBA8
#define GL_RGB10_A2
#define GL_TEXTURE_BINDING_3D
#define GL_UNPACK_SKIP_IMAGES
#define GL_UNPACK_IMAGE_HEIGHT
#define GL_TEXTURE_3D
#define GL_TEXTURE_WRAP_R
#define GL_MAX_3D_TEXTURE_SIZE
#define GL_UNSIGNED_INT_2_10_10_10_REV
#define GL_MAX_ELEMENTS_VERTICES
#define GL_MAX_ELEMENTS_INDICES
#define GL_TEXTURE_MIN_LOD
#define GL_TEXTURE_MAX_LOD
#define GL_TEXTURE_BASE_LEVEL
#define GL_TEXTURE_MAX_LEVEL
#define GL_MIN
#define GL_MAX
#define GL_DEPTH_COMPONENT24
#define GL_MAX_TEXTURE_LOD_BIAS
#define GL_TEXTURE_COMPARE_MODE
#define GL_TEXTURE_COMPARE_FUNC
#define GL_CURRENT_QUERY
#define GL_QUERY_RESULT
#define GL_QUERY_RESULT_AVAILABLE
#define GL_BUFFER_MAPPED
#define GL_BUFFER_MAP_POINTER
#define GL_STREAM_READ
#define GL_STREAM_COPY
#define GL_STATIC_READ
#define GL_STATIC_COPY
#define GL_DYNAMIC_READ
#define GL_DYNAMIC_COPY
#define GL_MAX_DRAW_BUFFERS
#define GL_DRAW_BUFFER0
#define GL_DRAW_BUFFER1
#define GL_DRAW_BUFFER2
#define GL_DRAW_BUFFER3
#define GL_DRAW_BUFFER4
#define GL_DRAW_BUFFER5
#define GL_DRAW_BUFFER6
#define GL_DRAW_BUFFER7
#define GL_DRAW_BUFFER8
#define GL_DRAW_BUFFER9
#define GL_DRAW_BUFFER10
#define GL_DRAW_BUFFER11
#define GL_DRAW_BUFFER12
#define GL_DRAW_BUFFER13
#define GL_DRAW_BUFFER14
#define GL_DRAW_BUFFER15
#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS
#define GL_MAX_VERTEX_UNIFORM_COMPONENTS
#define GL_SAMPLER_3D
#define GL_SAMPLER_2D_SHADOW
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT
#define GL_PIXEL_PACK_BUFFER
#define GL_PIXEL_UNPACK_BUFFER
#define GL_PIXEL_PACK_BUFFER_BINDING
#define GL_PIXEL_UNPACK_BUFFER_BINDING
#define GL_FLOAT_MAT2x3
#define GL_FLOAT_MAT2x4
#define GL_FLOAT_MAT3x2
#define GL_FLOAT_MAT3x4
#define GL_FLOAT_MAT4x2
#define GL_FLOAT_MAT4x3
#define GL_SRGB
#define GL_SRGB8
#define GL_SRGB8_ALPHA8
#define GL_COMPARE_REF_TO_TEXTURE
#define GL_MAJOR_VERSION
#define GL_MINOR_VERSION
#define GL_NUM_EXTENSIONS
#define GL_RGBA32F
#define GL_RGB32F
#define GL_RGBA16F
#define GL_RGB16F
#define GL_VERTEX_ATTRIB_ARRAY_INTEGER
#define GL_MAX_ARRAY_TEXTURE_LAYERS
#define GL_MIN_PROGRAM_TEXEL_OFFSET
#define GL_MAX_PROGRAM_TEXEL_OFFSET
#define GL_MAX_VARYING_COMPONENTS
#define GL_TEXTURE_2D_ARRAY
#define GL_TEXTURE_BINDING_2D_ARRAY
#define GL_R11F_G11F_B10F
#define GL_UNSIGNED_INT_10F_11F_11F_REV
#define GL_RGB9_E5
#define GL_UNSIGNED_INT_5_9_9_9_REV
#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS
#define GL_TRANSFORM_FEEDBACK_VARYINGS
#define GL_TRANSFORM_FEEDBACK_BUFFER_START
#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE
#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN
#define GL_RASTERIZER_DISCARD
#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
#define GL_INTERLEAVED_ATTRIBS
#define GL_SEPARATE_ATTRIBS
#define GL_TRANSFORM_FEEDBACK_BUFFER
#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING
#define GL_RGBA32UI
#define GL_RGB32UI
#define GL_RGBA16UI
#define GL_RGB16UI
#define GL_RGBA8UI
#define GL_RGB8UI
#define GL_RGBA32I
#define GL_RGB32I
#define GL_RGBA16I
#define GL_RGB16I
#define GL_RGBA8I
#define GL_RGB8I
#define GL_RED_INTEGER
#define GL_RGB_INTEGER
#define GL_RGBA_INTEGER
#define GL_SAMPLER_2D_ARRAY
#define GL_SAMPLER_2D_ARRAY_SHADOW
#define GL_SAMPLER_CUBE_SHADOW
#define GL_UNSIGNED_INT_VEC2
#define GL_UNSIGNED_INT_VEC3
#define GL_UNSIGNED_INT_VEC4
#define GL_INT_SAMPLER_2D
#define GL_INT_SAMPLER_3D
#define GL_INT_SAMPLER_CUBE
#define GL_INT_SAMPLER_2D_ARRAY
#define GL_UNSIGNED_INT_SAMPLER_2D
#define GL_UNSIGNED_INT_SAMPLER_3D
#define GL_UNSIGNED_INT_SAMPLER_CUBE
#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY
#define GL_BUFFER_ACCESS_FLAGS
#define GL_BUFFER_MAP_LENGTH
#define GL_BUFFER_MAP_OFFSET
#define GL_DEPTH_COMPONENT32F
#define GL_DEPTH32F_STENCIL8
#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV
#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE
#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE
#define GL_FRAMEBUFFER_DEFAULT
#define GL_FRAMEBUFFER_UNDEFINED
#define GL_DEPTH_STENCIL_ATTACHMENT
#define GL_DEPTH_STENCIL
#define GL_UNSIGNED_INT_24_8
#define GL_DEPTH24_STENCIL8
#define GL_UNSIGNED_NORMALIZED
#define GL_DRAW_FRAMEBUFFER_BINDING
#define GL_READ_FRAMEBUFFER
#define GL_DRAW_FRAMEBUFFER
#define GL_READ_FRAMEBUFFER_BINDING
#define GL_RENDERBUFFER_SAMPLES
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
#define GL_MAX_COLOR_ATTACHMENTS
#define GL_COLOR_ATTACHMENT1
#define GL_COLOR_ATTACHMENT2
#define GL_COLOR_ATTACHMENT3
#define GL_COLOR_ATTACHMENT4
#define GL_COLOR_ATTACHMENT5
#define GL_COLOR_ATTACHMENT6
#define GL_COLOR_ATTACHMENT7
#define GL_COLOR_ATTACHMENT8
#define GL_COLOR_ATTACHMENT9
#define GL_COLOR_ATTACHMENT10
#define GL_COLOR_ATTACHMENT11
#define GL_COLOR_ATTACHMENT12
#define GL_COLOR_ATTACHMENT13
#define GL_COLOR_ATTACHMENT14
#define GL_COLOR_ATTACHMENT15
#define GL_COLOR_ATTACHMENT16
#define GL_COLOR_ATTACHMENT17
#define GL_COLOR_ATTACHMENT18
#define GL_COLOR_ATTACHMENT19
#define GL_COLOR_ATTACHMENT20
#define GL_COLOR_ATTACHMENT21
#define GL_COLOR_ATTACHMENT22
#define GL_COLOR_ATTACHMENT23
#define GL_COLOR_ATTACHMENT24
#define GL_COLOR_ATTACHMENT25
#define GL_COLOR_ATTACHMENT26
#define GL_COLOR_ATTACHMENT27
#define GL_COLOR_ATTACHMENT28
#define GL_COLOR_ATTACHMENT29
#define GL_COLOR_ATTACHMENT30
#define GL_COLOR_ATTACHMENT31
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
#define GL_MAX_SAMPLES
#define GL_HALF_FLOAT
#define GL_MAP_READ_BIT
#define GL_MAP_WRITE_BIT
#define GL_MAP_INVALIDATE_RANGE_BIT
#define GL_MAP_INVALIDATE_BUFFER_BIT
#define GL_MAP_FLUSH_EXPLICIT_BIT
#define GL_MAP_UNSYNCHRONIZED_BIT
#define GL_RG
#define GL_RG_INTEGER
#define GL_R8
#define GL_RG8
#define GL_R16F
#define GL_R32F
#define GL_RG16F
#define GL_RG32F
#define GL_R8I
#define GL_R8UI
#define GL_R16I
#define GL_R16UI
#define GL_R32I
#define GL_R32UI
#define GL_RG8I
#define GL_RG8UI
#define GL_RG16I
#define GL_RG16UI
#define GL_RG32I
#define GL_RG32UI
#define GL_VERTEX_ARRAY_BINDING
#define GL_R8_SNORM
#define GL_RG8_SNORM
#define GL_RGB8_SNORM
#define GL_RGBA8_SNORM
#define GL_SIGNED_NORMALIZED
#define GL_PRIMITIVE_RESTART_FIXED_INDEX
#define GL_COPY_READ_BUFFER
#define GL_COPY_WRITE_BUFFER
#define GL_COPY_READ_BUFFER_BINDING
#define GL_COPY_WRITE_BUFFER_BINDING
#define GL_UNIFORM_BUFFER
#define GL_UNIFORM_BUFFER_BINDING
#define GL_UNIFORM_BUFFER_START
#define GL_UNIFORM_BUFFER_SIZE
#define GL_MAX_VERTEX_UNIFORM_BLOCKS
#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS
#define GL_MAX_COMBINED_UNIFORM_BLOCKS
#define GL_MAX_UNIFORM_BUFFER_BINDINGS
#define GL_MAX_UNIFORM_BLOCK_SIZE
#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS
#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS
#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT
#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH
#define GL_ACTIVE_UNIFORM_BLOCKS
#define GL_UNIFORM_TYPE
#define GL_UNIFORM_SIZE
#define GL_UNIFORM_NAME_LENGTH
#define GL_UNIFORM_BLOCK_INDEX
#define GL_UNIFORM_OFFSET
#define GL_UNIFORM_ARRAY_STRIDE
#define GL_UNIFORM_MATRIX_STRIDE
#define GL_UNIFORM_IS_ROW_MAJOR
#define GL_UNIFORM_BLOCK_BINDING
#define GL_UNIFORM_BLOCK_DATA_SIZE
#define GL_UNIFORM_BLOCK_NAME_LENGTH
#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS
#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES
#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER
#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER
#define GL_INVALID_INDEX
#define GL_MAX_VERTEX_OUTPUT_COMPONENTS
#define GL_MAX_FRAGMENT_INPUT_COMPONENTS
#define GL_MAX_SERVER_WAIT_TIMEOUT
#define GL_OBJECT_TYPE
#define GL_SYNC_CONDITION
#define GL_SYNC_STATUS
#define GL_SYNC_FLAGS
#define GL_SYNC_FENCE
#define GL_SYNC_GPU_COMMANDS_COMPLETE
#define GL_UNSIGNALED
#define GL_SIGNALED
#define GL_ALREADY_SIGNALED
#define GL_TIMEOUT_EXPIRED
#define GL_CONDITION_SATISFIED
#define GL_WAIT_FAILED
#define GL_SYNC_FLUSH_COMMANDS_BIT
#define GL_TIMEOUT_IGNORED
#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR
#define GL_ANY_SAMPLES_PASSED
#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE
#define GL_SAMPLER_BINDING
#define GL_RGB10_A2UI
#define GL_TEXTURE_SWIZZLE_R
#define GL_TEXTURE_SWIZZLE_G
#define GL_TEXTURE_SWIZZLE_B
#define GL_TEXTURE_SWIZZLE_A
#define GL_GREEN
#define GL_BLUE
#define GL_INT_2_10_10_10_REV
#define GL_TRANSFORM_FEEDBACK
#define GL_TRANSFORM_FEEDBACK_PAUSED
#define GL_TRANSFORM_FEEDBACK_ACTIVE
#define GL_TRANSFORM_FEEDBACK_BINDING
#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT
#define GL_PROGRAM_BINARY_LENGTH
#define GL_NUM_PROGRAM_BINARY_FORMATS
#define GL_PROGRAM_BINARY_FORMATS
#define GL_COMPRESSED_R11_EAC
#define GL_COMPRESSED_SIGNED_R11_EAC
#define GL_COMPRESSED_RG11_EAC
#define GL_COMPRESSED_SIGNED_RG11_EAC
#define GL_COMPRESSED_RGB8_ETC2
#define GL_COMPRESSED_SRGB8_ETC2
#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
#define GL_COMPRESSED_RGBA8_ETC2_EAC
#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
#define GL_TEXTURE_IMMUTABLE_FORMAT
#define GL_MAX_ELEMENT_INDEX
#define GL_NUM_SAMPLE_COUNTS
#define GL_TEXTURE_IMMUTABLE_LEVELS
PFNGLREADBUFFERPROC;
PFNGLDRAWRANGEELEMENTSPROC;
PFNGLTEXIMAGE3DPROC;
PFNGLTEXSUBIMAGE3DPROC;
PFNGLCOPYTEXSUBIMAGE3DPROC;
PFNGLCOMPRESSEDTEXIMAGE3DPROC;
PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC;
PFNGLGENQUERIESPROC;
PFNGLDELETEQUERIESPROC;
PFNGLISQUERYPROC;
PFNGLBEGINQUERYPROC;
PFNGLENDQUERYPROC;
PFNGLGETQUERYIVPROC;
PFNGLGETQUERYOBJECTUIVPROC;
PFNGLUNMAPBUFFERPROC;
PFNGLGETBUFFERPOINTERVPROC;
PFNGLDRAWBUFFERSPROC;
PFNGLUNIFORMMATRIX2X3FVPROC;
PFNGLUNIFORMMATRIX3X2FVPROC;
PFNGLUNIFORMMATRIX2X4FVPROC;
PFNGLUNIFORMMATRIX4X2FVPROC;
PFNGLUNIFORMMATRIX3X4FVPROC;
PFNGLUNIFORMMATRIX4X3FVPROC;
PFNGLBLITFRAMEBUFFERPROC;
PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC;
PFNGLFRAMEBUFFERTEXTURELAYERPROC;
PFNGLMAPBUFFERRANGEPROC;
PFNGLFLUSHMAPPEDBUFFERRANGEPROC;
PFNGLBINDVERTEXARRAYPROC;
PFNGLDELETEVERTEXARRAYSPROC;
PFNGLGENVERTEXARRAYSPROC;
PFNGLISVERTEXARRAYPROC;
PFNGLGETINTEGERI_VPROC;
PFNGLBEGINTRANSFORMFEEDBACKPROC;
PFNGLENDTRANSFORMFEEDBACKPROC;
PFNGLBINDBUFFERRANGEPROC;
PFNGLBINDBUFFERBASEPROC;
PFNGLTRANSFORMFEEDBACKVARYINGSPROC;
PFNGLGETTRANSFORMFEEDBACKVARYINGPROC;
PFNGLVERTEXATTRIBIPOINTERPROC;
PFNGLGETVERTEXATTRIBIIVPROC;
PFNGLGETVERTEXATTRIBIUIVPROC;
PFNGLVERTEXATTRIBI4IPROC;
PFNGLVERTEXATTRIBI4UIPROC;
PFNGLVERTEXATTRIBI4IVPROC;
PFNGLVERTEXATTRIBI4UIVPROC;
PFNGLGETUNIFORMUIVPROC;
PFNGLGETFRAGDATALOCATIONPROC;
PFNGLUNIFORM1UIPROC;
PFNGLUNIFORM2UIPROC;
PFNGLUNIFORM3UIPROC;
PFNGLUNIFORM4UIPROC;
PFNGLUNIFORM1UIVPROC;
PFNGLUNIFORM2UIVPROC;
PFNGLUNIFORM3UIVPROC;
PFNGLUNIFORM4UIVPROC;
PFNGLCLEARBUFFERIVPROC;
PFNGLCLEARBUFFERUIVPROC;
PFNGLCLEARBUFFERFVPROC;
PFNGLCLEARBUFFERFIPROC;
PFNGLGETSTRINGIPROC;
PFNGLCOPYBUFFERSUBDATAPROC;
PFNGLGETUNIFORMINDICESPROC;
PFNGLGETACTIVEUNIFORMSIVPROC;
PFNGLGETUNIFORMBLOCKINDEXPROC;
PFNGLGETACTIVEUNIFORMBLOCKIVPROC;
PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC;
PFNGLUNIFORMBLOCKBINDINGPROC;
PFNGLDRAWARRAYSINSTANCEDPROC;
PFNGLDRAWELEMENTSINSTANCEDPROC;
PFNGLFENCESYNCPROC;
PFNGLISSYNCPROC;
PFNGLDELETESYNCPROC;
PFNGLCLIENTWAITSYNCPROC;
PFNGLWAITSYNCPROC;
PFNGLGETINTEGER64VPROC;
PFNGLGETSYNCIVPROC;
PFNGLGETINTEGER64I_VPROC;
PFNGLGETBUFFERPARAMETERI64VPROC;
PFNGLGENSAMPLERSPROC;
PFNGLDELETESAMPLERSPROC;
PFNGLISSAMPLERPROC;
PFNGLBINDSAMPLERPROC;
PFNGLSAMPLERPARAMETERIPROC;
PFNGLSAMPLERPARAMETERIVPROC;
PFNGLSAMPLERPARAMETERFPROC;
PFNGLSAMPLERPARAMETERFVPROC;
PFNGLGETSAMPLERPARAMETERIVPROC;
PFNGLGETSAMPLERPARAMETERFVPROC;
PFNGLVERTEXATTRIBDIVISORPROC;
PFNGLBINDTRANSFORMFEEDBACKPROC;
PFNGLDELETETRANSFORMFEEDBACKSPROC;
PFNGLGENTRANSFORMFEEDBACKSPROC;
PFNGLISTRANSFORMFEEDBACKPROC;
PFNGLPAUSETRANSFORMFEEDBACKPROC;
PFNGLRESUMETRANSFORMFEEDBACKPROC;
PFNGLGETPROGRAMBINARYPROC;
PFNGLPROGRAMBINARYPROC;
PFNGLPROGRAMPARAMETERIPROC;
PFNGLINVALIDATEFRAMEBUFFERPROC;
PFNGLINVALIDATESUBFRAMEBUFFERPROC;
PFNGLTEXSTORAGE2DPROC;
PFNGLTEXSTORAGE3DPROC;
PFNGLGETINTERNALFORMATIVPROC;
#if GL_GLES_PROTOTYPES
GL_APICALL void GL_APIENTRY glReadBuffer (GLenum src);
GL_APICALL void GL_APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
GL_APICALL void GL_APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
GL_APICALL void GL_APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
GL_APICALL void GL_APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
GL_APICALL void GL_APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
GL_APICALL void GL_APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
GL_APICALL void GL_APIENTRY glGenQueries (GLsizei n, GLuint *ids);
GL_APICALL void GL_APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);
GL_APICALL GLboolean GL_APIENTRY glIsQuery (GLuint id);
GL_APICALL void GL_APIENTRY glBeginQuery (GLenum target, GLuint id);
GL_APICALL void GL_APIENTRY glEndQuery (GLenum target);
GL_APICALL void GL_APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
GL_APICALL GLboolean GL_APIENTRY glUnmapBuffer (GLenum target);
GL_APICALL void GL_APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, void **params);
GL_APICALL void GL_APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);
GL_APICALL void GL_APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
GL_APICALL void GL_APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
GL_APICALL void GL_APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
GL_APICALL void GL_APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
GL_APICALL void *GL_APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
GL_APICALL void GL_APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
GL_APICALL void GL_APIENTRY glBindVertexArray (GLuint array);
GL_APICALL void GL_APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
GL_APICALL void GL_APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
GL_APICALL GLboolean GL_APIENTRY glIsVertexArray (GLuint array);
GL_APICALL void GL_APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
GL_APICALL void GL_APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
GL_APICALL void GL_APIENTRY glEndTransformFeedback (void);
GL_APICALL void GL_APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
GL_APICALL void GL_APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
GL_APICALL void GL_APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
GL_APICALL void GL_APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
GL_APICALL void GL_APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
GL_APICALL void GL_APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
GL_APICALL void GL_APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
GL_APICALL void GL_APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
GL_APICALL void GL_APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
GL_APICALL void GL_APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
GL_APICALL void GL_APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
GL_APICALL GLint GL_APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
GL_APICALL void GL_APIENTRY glUniform1ui (GLint location, GLuint v0);
GL_APICALL void GL_APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
GL_APICALL void GL_APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
GL_APICALL void GL_APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
GL_APICALL void GL_APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
GL_APICALL void GL_APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
GL_APICALL void GL_APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
GL_APICALL void GL_APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
GL_APICALL void GL_APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
GL_APICALL void GL_APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
GL_APICALL void GL_APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
GL_APICALL void GL_APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
GL_APICALL const GLubyte *GL_APIENTRY glGetStringi (GLenum name, GLuint index);
GL_APICALL void GL_APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
GL_APICALL void GL_APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
GL_APICALL void GL_APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
GL_APICALL GLuint GL_APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);
GL_APICALL void GL_APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
GL_APICALL void GL_APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
GL_APICALL void GL_APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
GL_APICALL void GL_APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
GL_APICALL GLsync GL_APIENTRY glFenceSync (GLenum condition, GLbitfield flags);
GL_APICALL GLboolean GL_APIENTRY glIsSync (GLsync sync);
GL_APICALL void GL_APIENTRY glDeleteSync (GLsync sync);
GL_APICALL GLenum GL_APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
GL_APICALL void GL_APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
GL_APICALL void GL_APIENTRY glGetInteger64v (GLenum pname, GLint64 *data);
GL_APICALL void GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values);
GL_APICALL void GL_APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);
GL_APICALL void GL_APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);
GL_APICALL void GL_APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);
GL_APICALL void GL_APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);
GL_APICALL GLboolean GL_APIENTRY glIsSampler (GLuint sampler);
GL_APICALL void GL_APIENTRY glBindSampler (GLuint unit, GLuint sampler);
GL_APICALL void GL_APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
GL_APICALL void GL_APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
GL_APICALL void GL_APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
GL_APICALL void GL_APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
GL_APICALL void GL_APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
GL_APICALL void GL_APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);
GL_APICALL void GL_APIENTRY glBindTransformFeedback (GLenum target, GLuint id);
GL_APICALL void GL_APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);
GL_APICALL void GL_APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids);
GL_APICALL GLboolean GL_APIENTRY glIsTransformFeedback (GLuint id);
GL_APICALL void GL_APIENTRY glPauseTransformFeedback (void);
GL_APICALL void GL_APIENTRY glResumeTransformFeedback (void);
GL_APICALL void GL_APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
GL_APICALL void GL_APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
GL_APICALL void GL_APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);
GL_APICALL void GL_APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments);
GL_APICALL void GL_APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
GL_APICALL void GL_APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
GL_APICALL void GL_APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
GL_APICALL void GL_APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params);
#endif
#endif /* GL_ES_VERSION_3_0 */

#ifdef __cplusplus
}
#endif

#endif