chromium/third_party/angle/include/GLES2/gl2ext_angle.h

//
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// gl2ext_angle.h: ANGLE modifications to the gl2ext.h header file.
//   Currently we don't include this file directly, we patch gl2ext.h
//   to include it implicitly so it is visible throughout our code.

#ifndef INCLUDE_GLES2_GL2EXT_ANGLE_H_
#define INCLUDE_GLES2_GL2EXT_ANGLE_H_

// clang-format off

#ifndef GL_ANGLE_client_arrays
#define GL_ANGLE_client_arrays
#define GL_CLIENT_ARRAYS_ANGLE
#endif /* GL_ANGLE_client_arrays */

#ifndef GL_ANGLE_request_extension
#define GL_ANGLE_request_extension
#define GL_REQUESTABLE_EXTENSIONS_ANGLE
#define GL_NUM_REQUESTABLE_EXTENSIONS_ANGLE
PFNGLREQUESTEXTENSIONANGLEPROC;
PFNGLDISABLEEXTENSIONANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glRequestExtensionANGLE (const GLchar *name);
GL_APICALL void GL_APIENTRY glDisableExtensionANGLE (const GLchar *name);
#endif
#endif /* GL_ANGLE_webgl_compatibility */

#ifndef GL_ANGLE_robust_resource_initialization
#define GL_ANGLE_robust_resource_initialization
#define GL_ROBUST_RESOURCE_INITIALIZATION_ANGLE
#define GL_RESOURCE_INITIALIZED_ANGLE
#endif /* GL_ANGLE_robust_resource_initialization */

#ifndef GL_ANGLE_polygon_mode
#define GL_ANGLE_polygon_mode
#define GL_POLYGON_MODE_ANGLE
#define GL_POLYGON_OFFSET_LINE_ANGLE
#define GL_LINE_ANGLE
#define GL_FILL_ANGLE
PFNGLPOLYGONMODEANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glPolygonModeANGLE (GLenum face, GLenum mode);
#endif
#endif /* GL_ANGLE_polygon_mode */

#ifndef GL_ANGLE_provoking_vertex
#define GL_ANGLE_provoking_vertex
#define GL_FIRST_VERTEX_CONVENTION_ANGLE
#define GL_LAST_VERTEX_CONVENTION_ANGLE
#define GL_PROVOKING_VERTEX_ANGLE
PFNGLPROVOKINGVERTEXANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glProvokingVertexANGLE(GLenum provokeMode);
#endif
#endif /* GL_ANGLE_provoking_vertex */

#ifndef GL_ANGLE_clip_cull_distance
#define GL_ANGLE_clip_cull_distance
#define GL_MAX_CLIP_DISTANCES_ANGLE
#define GL_MAX_CULL_DISTANCES_ANGLE
#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_ANGLE
#define GL_CLIP_DISTANCE0_ANGLE
#define GL_CLIP_DISTANCE1_ANGLE
#define GL_CLIP_DISTANCE2_ANGLE
#define GL_CLIP_DISTANCE3_ANGLE
#define GL_CLIP_DISTANCE4_ANGLE
#define GL_CLIP_DISTANCE5_ANGLE
#define GL_CLIP_DISTANCE6_ANGLE
#define GL_CLIP_DISTANCE7_ANGLE
#endif /* GL_ANGLE_clip_cull_distance */

#ifndef GL_ANGLE_stencil_texturing
#define GL_ANGLE_stencil_texturing
#define GL_DEPTH_STENCIL_TEXTURE_MODE_ANGLE
#define GL_STENCIL_INDEX_ANGLE
#endif /* GL_ANGLE_stencil_texturing */

#ifndef GL_ANGLE_renderability_validation
#define GL_ANGLE_renderability_validation
#define GL_RENDERABILITY_VALIDATION_ANGLE
#endif /* GL_ANGLE_renderability_validation */

#ifndef GL_CHROMIUM_framebuffer_mixed_samples
#define GL_CHROMIUM_frambuffer_mixed_samples
#define GL_COVERAGE_MODULATION_CHROMIUM
PFNGLCOVERAGEMODULATIONCHROMIUMPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glCoverageModulationCHROMIUM(GLenum components);
#endif
#endif /* GL_CHROMIUM_framebuffer_mixed_samples */

#ifndef GL_CHROMIUM_bind_generates_resource
#define GL_CHROMIUM_bind_generates_resource
#define GL_BIND_GENERATES_RESOURCE_CHROMIUM
#endif /* GL_CHROMIUM_bind_generates_resource */

#ifndef GL_ANGLE_memory_size
#define GL_ANGLE_memory_size
#define GL_MEMORY_SIZE_ANGLE
#endif /* GL_ANGLE_memory_size */

// needed by NV_path_rendering (and thus CHROMIUM_path_rendering)
// but CHROMIUM_path_rendering only needs MatrixLoadfEXT, MatrixLoadIdentityEXT
#ifndef GL_EXT_direct_state_access
#define GL_EXT_direct_state_access
PFNGLMATRIXLOADFEXTPROC;
PFNGLMATRIXLOADIDENTITYEXTPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glMatrixLoadfEXT(GLenum matrixMode, const GLfloat *m);
GL_APICALL void GL_APIENTRY glMatrixLoadIdentityEXT(GLenum matrixMode);
#endif
#endif /* GL_EXT_direct_state_access */

#ifndef GL_CHROMIUM_copy_texture
#define GL_CHROMIUM_copy_texture
PFNGLCOPYTEXTURECHROMIUMPROC;
PFNGLCOPYSUBTEXTURECHROMIUMPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM(GLuint sourceId,
                                                  GLint sourceLevel,
                                                  GLenum destTarget,
                                                  GLuint destId,
                                                  GLint destLevel,
                                                  GLint internalFormat,
                                                  GLenum destType,
                                                  GLboolean unpackFlipY,
                                                  GLboolean unpackPremultiplyAlpha,
                                                  GLboolean unpackUnmultiplyAlpha);
GL_APICALL void GL_APIENTRY glCopySubTextureCHROMIUM(GLuint sourceId,
                                                     GLint sourceLevel,
                                                     GLenum destTarget,
                                                     GLuint destId,
                                                     GLint destLevel,
                                                     GLint xoffset,
                                                     GLint yoffset,
                                                     GLint x,
                                                     GLint y,
                                                     GLsizei width,
                                                     GLsizei height,
                                                     GLboolean unpackFlipY,
                                                     GLboolean unpackPremultiplyAlpha,
                                                     GLboolean unpackUnmultiplyAlpha);
#endif
#endif /* GL_CHROMIUM_copy_texture */

#ifndef GL_CHROMIUM_compressed_copy_texture
#define GL_CHROMIUM_compressed_copy_texture
PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glCompressedCopyTextureCHROMIUM(GLuint sourceId, GLuint destId);
#endif
#endif /* GL_CHROMIUM_compressed_copy_texture */


#ifndef GL_ANGLE_copy_texture_3d
#define GL_ANGLE_copy_texture_3d
PFNGLCOPYTEXTURE3DANGLEPROC;
PFNGLCOPYSUBTEXTURE3DANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glCopyTexture3DANGLE(GLuint sourceId,
                                                  GLint sourceLevel,
                                                  GLenum destTarget,
                                                  GLuint destId,
                                                  GLint destLevel,
                                                  GLint internalFormat,
                                                  GLenum destType,
                                                  GLboolean unpackFlipY,
                                                  GLboolean unpackPremultiplyAlpha,
                                                  GLboolean unpackUnmultiplyAlpha);
GL_APICALL void GL_APIENTRY glCopySubTexture3DANGLE(GLuint sourceId,
                                                     GLint sourceLevel,
                                                     GLenum destTarget,
                                                     GLuint destId,
                                                     GLint destLevel,
                                                     GLint xoffset,
                                                     GLint yoffset,
                                                     GLint zoffset,
                                                     GLint x,
                                                     GLint y,
                                                     GLint z,
                                                     GLsizei width,
                                                     GLsizei height,
                                                     GLsizei depth,
                                                     GLboolean unpackFlipY,
                                                     GLboolean unpackPremultiplyAlpha,
                                                     GLboolean unpackUnmultiplyAlpha);
#endif
#endif /* GL_ANGLE_copy_texture_3d */

#ifndef GL_CHROMIUM_sync_query
#define GL_CHROMIUM_sync_query
#define GL_COMMANDS_COMPLETED_CHROMIUM
#endif  /* GL_CHROMIUM_sync_query */

#ifndef GL_EXT_texture_compression_s3tc_srgb
#define GL_EXT_texture_compression_s3tc_srgb
#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
#endif /* GL_EXT_texture_compression_s3tc_srgb */

#ifndef GL_ANGLE_lossy_etc_decode
#define GL_ANGLE_lossy_etc_decode
#define GL_ETC1_RGB8_LOSSY_DECODE_ANGLE
#define GL_COMPRESSED_R11_LOSSY_DECODE_EAC_ANGLE
#define GL_COMPRESSED_SIGNED_R11_LOSSY_DECODE_EAC_ANGLE
#define GL_COMPRESSED_RG11_LOSSY_DECODE_EAC_ANGLE
#define GL_COMPRESSED_SIGNED_RG11_LOSSY_DECODE_EAC_ANGLE
#define GL_COMPRESSED_RGB8_LOSSY_DECODE_ETC2_ANGLE
#define GL_COMPRESSED_SRGB8_LOSSY_DECODE_ETC2_ANGLE
#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE
#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE
#define GL_COMPRESSED_RGBA8_LOSSY_DECODE_ETC2_EAC_ANGLE
#define GL_COMPRESSED_SRGB8_ALPHA8_LOSSY_DECODE_ETC2_EAC_ANGLE
#endif /* GL_ANGLE_lossy_etc_decode */

#ifndef GL_ANGLE_robust_client_memory
#define GL_ANGLE_robust_client_memory
PFNGLGETBOOLEANVROBUSTANGLEPROC;
PFNGLGETBUFFERPARAMETERIVROBUSTANGLEPROC;
PFNGLGETFLOATVROBUSTANGLEPROC;
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLEPROC;
PFNGLGETINTEGERVROBUSTANGLEPROC;
PFNGLGETPROGRAMIVROBUSTANGLEPROC;
PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLEPROC;
PFNGLGETSHADERIVROBUSTANGLEPROC;
PFNGLGETTEXPARAMETERFVROBUSTANGLEPROC;
PFNGLGETTEXPARAMETERIVROBUSTANGLEPROC;
PFNGLGETUNIFORMFVROBUSTANGLEPROC;
PFNGLGETUNIFORMIVROBUSTANGLEPROC;
PFNGLGETVERTEXATTRIBFVROBUSTANGLEPROC;
PFNGLGETVERTEXATTRIBIVROBUSTANGLEPROC;
PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLEPROC;
PFNGLREADPIXELSROBUSTANGLEPROC;
PFNGLTEXIMAGE2DROBUSTANGLEPROC;
PFNGLTEXPARAMETERFVROBUSTANGLEPROC;
PFNGLTEXPARAMETERIVROBUSTANGLEPROC;
PFNGLTEXSUBIMAGE2DROBUSTANGLEPROC;
PFNGLTEXIMAGE3DROBUSTANGLEPROC;
PFNGLTEXSUBIMAGE3DROBUSTANGLEPROC;
PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLEPROC;
PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLEPROC;
PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLEPROC;
PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLEPROC;
PFNGLGETQUERYIVROBUSTANGLEPROC;
PFNGLGETQUERYOBJECTUIVROBUSTANGLEPROC;
PFNGLGETBUFFERPOINTERVROBUSTANGLEPROC;
PFNGLGETINTEGERI_VROBUSTANGLEPROC;
PFNGLGETINTERNALFORMATIVROBUSTANGLEPROC;
PFNGLGETVERTEXATTRIBIIVROBUSTANGLEPROC;
PFNGLGETVERTEXATTRIBIUIVROBUSTANGLEPROC;
PFNGLGETUNIFORMUIVROBUSTANGLEPROC;
PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLEPROC;
PFNGLGETINTEGER64VROBUSTANGLEPROC;
PFNGLGETINTEGER64I_VROBUSTANGLEPROC;
PFNGLGETBUFFERPARAMETERI64VROBUSTANGLEPROC;
PFNGLSAMPLERPARAMETERIVROBUSTANGLEPROC;
PFNGLSAMPLERPARAMETERFVROBUSTANGLEPROC;
PFNGLGETSAMPLERPARAMETERIVROBUSTANGLEPROC;
PFNGLGETSAMPLERPARAMETERFVROBUSTANGLEPROC;
PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLEPROC;
PFNGLGETPROGRAMINTERFACEIVROBUSTANGLEPROC;
PFNGLGETBOOLEANI_VROBUSTANGLEPROC;
PFNGLGETMULTISAMPLEFVROBUSTANGLEPROC;
PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLEPROC;
PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLEPROC;
PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLEPROC;
PFNGLREADNPIXELSROBUSTANGLEPROC;
PFNGLGETNUNIFORMFVROBUSTANGLEPROC;
PFNGLGETNUNIFORMIVROBUSTANGLEPROC;
PFNGLGETNUNIFORMUIVROBUSTANGLEPROC;
PFNGLTEXPARAMETERIIVROBUSTANGLEPROC;
PFNGLTEXPARAMETERIUIVROBUSTANGLEPROC;
PFNGLGETTEXPARAMETERIIVROBUSTANGLEPROC;
PFNGLGETTEXPARAMETERIUIVROBUSTANGLEPROC;
PFNGLSAMPLERPARAMETERIIVROBUSTANGLEPROC;
PFNGLSAMPLERPARAMETERIUIVROBUSTANGLEPROC;
PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLEPROC;
PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLEPROC;
PFNGLGETQUERYOBJECTIVROBUSTANGLEPROC;
PFNGLGETQUERYOBJECTI64VROBUSTANGLEPROC;
PFNGLGETQUERYOBJECTUI64VROBUSTANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glGetBooleanvRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *data);
GL_APICALL void GL_APIENTRY glGetBufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetFloatvRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *data);
GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameterivRobustANGLE (GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetIntegervRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data);
GL_APICALL void GL_APIENTRY glGetProgramivRobustANGLE (GLuint program, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetRenderbufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetShaderivRobustANGLE (GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetTexParameterfvRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetTexParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetUniformfvRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetUniformivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetVertexAttribfvRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetVertexAttribivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetVertexAttribPointervRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer);
GL_APICALL void GL_APIENTRY glReadPixelsRobustANGLE (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels);
GL_APICALL void GL_APIENTRY glTexImage2DRobustANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
GL_APICALL void GL_APIENTRY glTexParameterfvRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params);
GL_APICALL void GL_APIENTRY glTexParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
GL_APICALL void GL_APIENTRY glTexSubImage2DRobustANGLE (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
GL_APICALL void GL_APIENTRY glTexImage3DRobustANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
GL_APICALL void GL_APIENTRY glTexSubImage3DRobustANGLE (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
GL_APICALL void GL_APIENTRY glCompressedTexImage2DRobustANGLE(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
GL_APICALL void GL_APIENTRY glCompressedTexSubImage2DRobustANGLE(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
GL_APICALL void GL_APIENTRY glCompressedTexImage3DRobustANGLE(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DRobustANGLE(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
GL_APICALL void GL_APIENTRY glGetQueryivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetQueryObjectuivRobustANGLE (GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
GL_APICALL void GL_APIENTRY glGetBufferPointervRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
GL_APICALL void GL_APIENTRY glGetIntegeri_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data);
GL_APICALL void GL_APIENTRY glGetInternalformativRobustANGLE (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetVertexAttribIivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetVertexAttribIuivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
GL_APICALL void GL_APIENTRY glGetUniformuivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
GL_APICALL void GL_APIENTRY glGetActiveUniformBlockivRobustANGLE (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetInteger64vRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data);
GL_APICALL void GL_APIENTRY glGetInteger64i_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data);
GL_APICALL void GL_APIENTRY glGetBufferParameteri64vRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
GL_APICALL void GL_APIENTRY glSamplerParameterivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
GL_APICALL void GL_APIENTRY glSamplerParameterfvRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *param);
GL_APICALL void GL_APIENTRY glGetSamplerParameterivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetSamplerParameterfvRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetFramebufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetProgramInterfaceivRobustANGLE (GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetBooleani_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data);
GL_APICALL void GL_APIENTRY glGetMultisamplefvRobustANGLE (GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val);
GL_APICALL void GL_APIENTRY glGetTexLevelParameterivRobustANGLE (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetTexLevelParameterfvRobustANGLE (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetPointervRobustANGLERobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
GL_APICALL void GL_APIENTRY glReadnPixelsRobustANGLE (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data);
GL_APICALL void GL_APIENTRY glGetnUniformfvRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetnUniformivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetnUniformuivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
GL_APICALL void GL_APIENTRY glTexParameterIivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
GL_APICALL void GL_APIENTRY glTexParameterIuivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLuint *params);
GL_APICALL void GL_APIENTRY glGetTexParameterIivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetTexParameterIuivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
GL_APICALL void GL_APIENTRY glSamplerParameterIivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
GL_APICALL void GL_APIENTRY glSamplerParameterIuivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint *param);
GL_APICALL void GL_APIENTRY glGetSamplerParameterIivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetSamplerParameterIuivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
GL_APICALL void GL_APIENTRY glGetQueryObjectivRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
GL_APICALL void GL_APIENTRY glGetQueryObjecti64vRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
GL_APICALL void GL_APIENTRY glGetQueryObjectui64vRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params);
#endif
#endif /* GL_ANGLE_robust_client_memory */

#ifndef GL_ANGLE_program_cache_control
#define GL_ANGLE_program_cache_control
#define GL_PROGRAM_CACHE_ENABLED_ANGLE
#endif  /* GL_ANGLE_program_cache_control */

#ifndef GL_ANGLE_texture_rectangle
#define GL_ANGLE_texture_rectangle
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ANGLE
#define GL_TEXTURE_RECTANGLE_ANGLE
#define GL_TEXTURE_BINDING_RECTANGLE_ANGLE
#define GL_SAMPLER_2D_RECT_ANGLE
#endif /* GL_ANGLE_texture_rectangle */

#ifndef GL_ANGLE_texture_multisample
#define GL_ANGLE_texture_multisample
#define GL_SAMPLE_POSITION_ANGLE
#define GL_SAMPLE_MASK_ANGLE
#define GL_SAMPLE_MASK_VALUE_ANGLE
#define GL_TEXTURE_2D_MULTISAMPLE_ANGLE
#define GL_MAX_SAMPLE_MASK_WORDS_ANGLE
#define GL_MAX_COLOR_TEXTURE_SAMPLES_ANGLE
#define GL_MAX_DEPTH_TEXTURE_SAMPLES_ANGLE
#define GL_MAX_INTEGER_SAMPLES_ANGLE
#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ANGLE
#define GL_TEXTURE_SAMPLES_ANGLE
#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS_ANGLE
PFNGLTEXSTORAGE2DMULTISAMPLEANGLEPROC;
PFNGLGETTEXLEVELPARAMETERFVANGLEPROC;
PFNGLGETTEXLEVELPARAMETERIVANGLEPROC;
PFNGLGETMULTISAMPLEFVANGLEPROC;
PFNGLSAMPLEMASKIANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glTexStorage2DMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
GL_APICALL void GL_APIENTRY glGetTexLevelParameterfvANGLE(GLenum target, GLint level, GLenum pname, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetTexLevelParameterivANGLE(GLenum target, GLint level, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetMultisamplefvANGLE(GLenum pname, GLuint index, GLfloat *val);
GL_APICALL void GL_APIENTRY glSampleMaskiANGLE(GLuint maskNumber, GLbitfield mask);
#endif
#endif  // !GL_ANGLE_texture_multisample

#ifndef GL_ANGLE_get_tex_level_parameter
#define GL_ANGLE_get_tex_level_parameter
PFNGLGETTEXLEVELPARAMETERFVANGLEPROC;
PFNGLGETTEXLEVELPARAMETERIVANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glGetTexLevelParameterfvANGLE(GLenum target, GLint level, GLenum pname, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetTexLevelParameterivANGLE(GLenum target, GLint level, GLenum pname, GLint *params);
#endif
#endif /* GL_ANGLE_get_tex_level_parameter */

#ifndef GL_ANGLE_multi_draw
#define GL_ANGLE_multi_draw
PFNGLMULTIDRAWARRAYSANGLEPROC;
PFNGLMULTIDRAWARRAYSINSTANCEDANGLEPROC;
PFNGLMULTIDRAWELEMENTSANGLEPROC;
PFNGLMULTIDRAWELEMENTSINSTANCEDANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glMultiDrawArraysANGLE (GLenum mode, const GLint *firsts, const GLsizei *counts, GLsizei drawcount);
GL_APICALL void GL_APIENTRY glMultiDrawArraysInstancedANGLE (GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount);
GL_APICALL void GL_APIENTRY glMultiDrawElementsANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
GL_APICALL void GL_APIENTRY glMultiDrawElementsInstancedANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, GLsizei drawcount);
#endif
#endif /* GL_ANGLE_multi_draw */

#ifndef GL_ANGLE_base_vertex_base_instance
#define GL_ANGLE_base_vertex_base_instance
PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEANGLEPROC;
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEANGLEPROC;
PFNGLMULTIDRAWARRAYSINSTANCEDBASEINSTANCEANGLEPROC;
PFNGLMULTIDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glDrawArraysInstancedBaseInstanceANGLE (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance);
GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexBaseInstanceANGLE (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCount, GLint baseVertex, GLuint baseInstance);
GL_APICALL void GL_APIENTRY glMultiDrawArraysInstancedBaseInstanceANGLE (GLenum mode, const GLsizei *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawCount);
GL_APICALL void GL_APIENTRY glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawCount);
#endif
#endif

#ifndef GL_CHROMIUM_bind_uniform_location
#define GL_CHROMIUM_bind_uniform_location
PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM(GLuint program, GLint location, const GLchar *name);
#endif
#endif /* GL_CHROMIUM_bind_uniform_location */

/* GL_CHROMIUM_lose_context */
#ifndef GL_CHROMIUM_lose_context
#define GL_CHROMIUM_lose_context
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(GLenum current, GLenum other);
#endif
PFNGLLOSECONTEXTCHROMIUMPROC;
#endif  /* GL_CHROMIUM_lose_context */

#ifndef GL_ANGLE_texture_external_update
#define GL_ANGLE_texture_external_update
#define GL_TEXTURE_NATIVE_ID_ANGLE
PFNGLTEXIMAGE2DEXTERNALANGLEPROC;
PFNGLINVALIDATETEXTUREANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glTexImage2DExternalANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type);
GL_APICALL void GL_APIENTRY glInvalidateTextureANGLE (GLenum target);
#endif
#endif /* GL_ANGLE_texture_external_update */

#ifndef GL_ANGLE_get_image
#define GL_ANGLE_get_image
PFNGLGETTEXIMAGEANGLEPROC;
PFNGLGETCOMPRESSEDTEXIMAGEANGLEPROC;
PFNGLGETRENDERBUFFERIMAGEANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glGetTexImageANGLE (GLenum target, GLint level, GLenum format, GLenum type, void *pixels);
GL_APICALL void GL_APIENTRY glGetCompressedTexImageANGLE (GLenum target, GLint level, void *pixels);
GL_APICALL void GL_APIENTRY glGetRenderbufferImageANGLE (GLenum target, GLenum format, GLenum type, void *pixels);
#endif
#endif /* GL_ANGLE_get_image */

#ifndef GL_WEBGL_video_texture
#define GL_WEBGL_video_texture
#define GL_TEXTURE_VIDEO_IMAGE_WEBGL
#define GL_SAMPLER_VIDEO_IMAGE_WEBGL
#endif /* GL_WEBGL_video_texture */

#ifndef GL_ANGLE_memory_object_flags
#define GL_ANGLE_memory_object_flags
#define GL_CREATE_SPARSE_BINDING_BIT_ANGLE
#define GL_CREATE_SPARSE_RESIDENCY_BIT_ANGLE
#define GL_CREATE_SPARSE_ALIASED_BIT_ANGLE
#define GL_CREATE_MUTABLE_FORMAT_BIT_ANGLE
#define GL_CREATE_CUBE_COMPATIBLE_BIT_ANGLE
#define GL_CREATE_ALIAS_BIT_ANGLE
#define GL_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_ANGLE
#define GL_CREATE_2D_ARRAY_COMPATIBLE_BIT_ANGLE
#define GL_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_ANGLE
#define GL_CREATE_EXTENDED_USAGE_BIT_ANGLE
#define GL_CREATE_PROTECTED_BIT_ANGLE
#define GL_CREATE_DISJOINT_BIT_ANGLE
#define GL_CREATE_CORNER_SAMPLED_BIT_ANGLE
#define GL_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_ANGLE
#define GL_CREATE_SUBSAMPLED_BIT_ANGLE
#define GL_USAGE_TRANSFER_SRC_BIT_ANGLE
#define GL_USAGE_TRANSFER_DST_BIT_ANGLE
#define GL_USAGE_SAMPLED_BIT_ANGLE
#define GL_USAGE_STORAGE_BIT_ANGLE
#define GL_USAGE_COLOR_ATTACHMENT_BIT_ANGLE
#define GL_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT_ANGLE
#define GL_USAGE_TRANSIENT_ATTACHMENT_BIT_ANGLE
#define GL_USAGE_INPUT_ATTACHMENT_BIT_ANGLE
#define GL_USAGE_SHADING_RATE_IMAGE_BIT_ANGLE
#define GL_USAGE_FRAGMENT_DENSITY_MAP_BIT_ANGLE
PFNGLTEXSTORAGEMEMFLAGS2DANGLEPROC;
PFNGLTEXSTORAGEMEMFLAGS2DMULTISAMPLEANGLEPROC;
PFNGLTEXSTORAGEMEMFLAGS3DANGLEPROC;
PFNGLTEXSTORAGEMEMFLAGS3DMULTISAMPLEANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glTexStorageMemFlags2DANGLE (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
GL_APICALL void GL_APIENTRY glTexStorageMemFlags2DMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
GL_APICALL void GL_APIENTRY glTexStorageMemFlags3DANGLE (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
GL_APICALL void GL_APIENTRY glTexStorageMemFlags3DMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
#endif
#endif /* GL_ANGLE_memory_object_flags */

#ifndef GL_ANGLE_memory_object_fuchsia
#define GL_ANGLE_memory_object_fuchsia
#define GL_HANDLE_TYPE_ZIRCON_VMO_ANGLE
PFNGLIMPORTMEMORYZIRCONHANDLEANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glImportMemoryZirconHandleANGLE(GLuint memory,
                                                            GLuint64 size,
                                                            GLenum handleType,
                                                            GLuint handle);
#endif
#endif /* GL_ANGLE_memory_object_fuchsia */

#ifndef GL_ANGLE_semaphore_fuchsia
#define GL_ANGLE_semaphore_fuchsia
#define GL_HANDLE_TYPE_ZIRCON_EVENT_ANGLE
PFNGLIMPORTSEMAPHOREZIRCONHANDLEANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glImportSemaphoreZirconHandleANGLE(GLuint memory,
                                                               GLenum handleType,
                                                               GLuint handle);
#endif
#endif /* GL_ANGLE_semaphore_fuchsia */

#ifndef GL_ANGLE_vulkan_image
#define GL_ANGLE_vulkan_image
PFNGLACQUIRETEXTURESANGLEPROC;
PFNGLRELEASETEXTURESANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glAcquireTexturesANGLE(GLuint numTexture, const GLuint *textures, const GLenum *layouts);
GL_APICALL void GL_APIENTRY glReleaseTexturesANGLE(GLuint numTexture, const GLuint *textures, GLenum *layouts);
#endif
#endif /* GL_ANGLE_vulkan_image */

#ifndef GL_NV_robustness_video_memory
#define GL_NV_robustness_video_memory
#define GL_PURGED_CONTEXT_RESET_NV
#endif /* GL_NV_robustness_video_memory */

#ifndef GL_ANGLE_get_serialized_context_string
#define GL_ANGLE_get_serialized_context_string
#define GL_SERIALIZED_CONTEXT_STRING_ANGLE
#endif /* GL_ANGLE_get_serialized_context_string */

#ifndef GL_ANGLE_robust_fragment_shader_output
#define GL_ANGLE_robust_fragment_shader_output
#define GL_ROBUST_FRAGMENT_SHADER_OUTPUT_ANGLE
#endif /* GL_ANGLE_robust_fragment_shader_output */

#ifndef GL_ANGLE_shader_pixel_local_storage
#define GL_ANGLE_shader_pixel_local_storage
#define GL_MAX_PIXEL_LOCAL_STORAGE_PLANES_ANGLE
#define GL_MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_ANGLE
#define GL_MAX_COMBINED_DRAW_BUFFERS_AND_PIXEL_LOCAL_STORAGE_PLANES_ANGLE
#define GL_PIXEL_LOCAL_STORAGE_ACTIVE_PLANES_ANGLE
#define GL_LOAD_OP_ZERO_ANGLE
#define GL_LOAD_OP_CLEAR_ANGLE
#define GL_LOAD_OP_LOAD_ANGLE
#define GL_STORE_OP_STORE_ANGLE
#define GL_PIXEL_LOCAL_FORMAT_ANGLE
#define GL_PIXEL_LOCAL_TEXTURE_NAME_ANGLE
#define GL_PIXEL_LOCAL_TEXTURE_LEVEL_ANGLE
#define GL_PIXEL_LOCAL_TEXTURE_LAYER_ANGLE
#define GL_PIXEL_LOCAL_CLEAR_VALUE_FLOAT_ANGLE
#define GL_PIXEL_LOCAL_CLEAR_VALUE_INT_ANGLE
#define GL_PIXEL_LOCAL_CLEAR_VALUE_UNSIGNED_INT_ANGLE
PFNGLFRAMEBUFFERMEMORYLESSPIXELLOCALSTORAGEANGLEPROC;
PFNGLFRAMEBUFFERTEXTUREPIXELLOCALSTORAGEANGLEPROC;
PFNGLFRAMEBUFFERPIXELLOCALCLEARVALUEFVANGLEPROC;
PFNGLFRAMEBUFFERPIXELLOCALCLEARVALUEIVANGLEPROC;
PFNGLFRAMEBUFFERPIXELLOCALCLEARVALUEUIVANGLEPROC;
PFNGLBEGINPIXELLOCALSTORAGEANGLEPROC;
PFNGLENDPIXELLOCALSTORAGEANGLEPROC;
PFNGLPIXELLOCALSTORAGEBARRIERANGLEPROC;
PFNGLFRAMEBUFFERPIXELLOCALSTORAGEINTERRUPTANGLEPROC;
PFNGLFRAMEBUFFERPIXELLOCALSTORAGERESTOREANGLEPROC;
PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERFVANGLEPROC;
PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERIVANGLEPROC;
PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERFVROBUSTANGLEPROC;
PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERIVROBUSTANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glFramebufferMemorylessPixelLocalStorageANGLE (GLint plane, GLenum internalformat);
GL_APICALL void GL_APIENTRY glFramebufferTexturePixelLocalStorageANGLE (GLint plane, GLuint backingtexture, GLint level, GLint layer);
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalClearValuefvANGLE (GLint plane, const GLfloat value[]);
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalClearValueivANGLE (GLint plane, const GLint value[]);
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalClearValueuivANGLE (GLint plane, const GLuint value[]);
GL_APICALL void GL_APIENTRY glBeginPixelLocalStorageANGLE (GLsizei n, const GLenum loadops[]);
GL_APICALL void GL_APIENTRY glEndPixelLocalStorageANGLE (GLsizei n, const GLenum storeops[]);
GL_APICALL void GL_APIENTRY glPixelLocalStorageBarrierANGLE (void);
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalStorageInterruptANGLE (void);
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalStorageRestoreANGLE (void);
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterfvANGLE (GLint plane, GLenum pname, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterivANGLE (GLint plane, GLenum pname, GLint *params);
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterfvRobustANGLE (GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterivRobustANGLE (GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
#endif
#endif /* GL_ANGLE_shader_pixel_local_storage */

// clang-format on

#ifndef GL_ANGLE_yuv_internal_format
#define GL_ANGLE_yuv_internal_format

// YUV formats introduced by GL_ANGLE_yuv_internal_format
// 8-bit YUV formats
#define GL_G8_B8R8_2PLANE_420_UNORM_ANGLE
#define GL_G8_B8_R8_3PLANE_420_UNORM_ANGLE

// 10-bit YUV formats
#define GL_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_ANGLE
#define GL_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_ANGLE

// 12-bit YUV formats
#define GL_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_ANGLE
#define GL_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_ANGLE

// 16-bit YUV formats
#define GL_G16_B16R16_2PLANE_420_UNORM_ANGLE
#define GL_G16_B16_R16_3PLANE_420_UNORM_ANGLE

#endif /* GL_ANGLE_yuv_internal_format */

#ifndef GL_ANGLE_rgbx_internal_format
#define GL_ANGLE_rgbx_internal_format

#define GL_RGBX8_ANGLE

#endif /* GL_ANGLE_rgbx_internal_format */

#ifndef GL_ANGLE_shader_binary
#define GL_ANGLE_shader_binary

// General shader binary format
#define GL_SHADER_BINARY_ANGLE

#endif /* GL_ANGLE_shader_binary */

#ifndef GL_ANGLE_logic_op
#define GL_ANGLE_logic_op

// Enums identical to GLES1 and desktop GL
#define GL_COLOR_LOGIC_OP_ANGLE
#define GL_LOGIC_OP_CLEAR_ANGLE
#define GL_LOGIC_OP_AND_ANGLE
#define GL_LOGIC_OP_AND_REVERSE_ANGLE
#define GL_LOGIC_OP_COPY_ANGLE
#define GL_LOGIC_OP_AND_INVERTED_ANGLE
#define GL_LOGIC_OP_NOOP_ANGLE
#define GL_LOGIC_OP_XOR_ANGLE
#define GL_LOGIC_OP_OR_ANGLE
#define GL_LOGIC_OP_NOR_ANGLE
#define GL_LOGIC_OP_EQUIV_ANGLE
#define GL_LOGIC_OP_INVERT_ANGLE
#define GL_LOGIC_OP_OR_REVERSE_ANGLE
#define GL_LOGIC_OP_COPY_INVERTED_ANGLE
#define GL_LOGIC_OP_OR_INVERTED_ANGLE
#define GL_LOGIC_OP_NAND_ANGLE
#define GL_LOGIC_OP_SET_ANGLE
PFNGLLOGICOPANGLEPROC;
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glLogicOpANGLE (GLenum);
#endif
#endif /* GL_ANGLE_logic_op */

#ifndef GL_ANGLE_program_binary_readiness_query
#define GL_ANGLE_program_binary_readiness_query
#define GL_PROGRAM_BINARY_READY_ANGLE
#endif /* GL_ANGLE_program_binary_readiness_query */

#endif  // INCLUDE_GLES2_GL2EXT_ANGLE_H_