Revert "Load entry points dynamically in tests and samples."

This reverts commit 03923558a7103827ffec6a4d2a1453ed91f01c6f.

Reason for revert: fails compilation on Android, ChromeOS and Fuchsia during roll https://chromium-review.googlesource.com/c/chromium/src/+/1392624

Original change's description:
> Load entry points dynamically in tests and samples.
> 
> This CL adds a dynamic loader generator based on XML files. It also
> refactors the entry point generation script to move the XML parsing
> into a helper class.
> 
> Additionally this includes a new GLES 1.0 base header. The new
> header allows for function pointer types and hiding prototypes.
> 
> All tests and samples now load ANGLE dynamically. In the future this
> will be extended to load entry points from the driver directly when
> possible. This will allow us to perform more accurate A/B testing.
> 
> The new build configuration leads to some tests having more warnings
> applied. The CL includes fixes for the new warnings.
> 
> Bug: angleproject:2995
> Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
> Reviewed-on: https://chromium-review.googlesource.com/c/1359516
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org

Change-Id: I902bec2d733c2b879be29c02ab52a0b7d4eaa077
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2995
Reviewed-on: https://chromium-review.googlesource.com/c/1392381
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
diff --git a/BUILD.gn b/BUILD.gn
index 220ea4c..2838237 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -664,7 +664,6 @@
 config("angle_static") {
   defines = [
     "ANGLE_EXPORT=",
-    "ANGLE_UTIL_EXPORT=",
     "EGLAPI=",
     "GL_APICALL=",
     "GL_API=",
@@ -755,7 +754,6 @@
     ":angle_gl_visibility_config",
     ":debug_annotations_config",
     ":extra_warnings",
-    ":gl_prototypes",
     ":internal_config",
   ]
 
@@ -917,45 +915,8 @@
 
 import("util/util.gni")
 
-config("angle_util_loader_config") {
-  defines = [ "ANGLE_USE_UTIL_LOADER" ]
-}
-
-source_set("angle_util_loader_headers") {
-  sources = [
-    "util/egl_loader_autogen.h",
-    "util/gles_loader_autogen.h",
-    "util/util_export.h",
-  ]
-
-  public_configs = [
-    ":angle_util_config",
-    ":angle_util_loader_config",
-    ":extra_warnings",
-    ":internal_config",
-    ":no_gl_prototypes",
-  ]
-
-  public_deps = [
-    ":includes",
-  ]
-}
-
-source_set("angle_util_loader") {
-  defines = [ "LIBANGLE_UTIL_IMPLEMENTATION" ]
-
-  sources = [
-    "util/egl_loader_autogen.cpp",
-    "util/gles_loader_autogen.cpp",
-  ]
-
-  public_deps = [
-    ":angle_util_loader_headers",
-  ]
-}
-
 config("angle_util_config") {
-  include_dirs = [ "." ]
+  include_dirs = [ "util" ]
   if (is_linux && use_x11) {
     libs = [ "X11" ]
   }
@@ -1026,6 +987,7 @@
     configs += [
       ":debug_annotations_config",
       ":extra_warnings",
+      ":gl_prototypes",
     ]
 
     public_configs = [
@@ -1035,6 +997,8 @@
 
     deps = [
       ":angle_common",
+      ":libEGL${dep_suffix}",
+      ":libGLESv2${dep_suffix}",
     ]
 
     if (is_shared_library) {
@@ -1047,14 +1011,6 @@
         ]
         public_configs += [ ":shared_library_public_config" ]
       }
-
-      deps += [ ":angle_util_loader" ]
-      public_configs += [ ":no_gl_prototypes" ]
-    } else {
-      public_configs += [
-        ":angle_static",
-        ":gl_prototypes",
-      ]
     }
   }
 }
diff --git a/include/EGL/README.md b/include/EGL/README.md
index 519ef3e..338a37f 100644
--- a/include/EGL/README.md
+++ b/include/EGL/README.md
@@ -16,4 +16,4 @@
 1. Set your working directory to `EGL-Registry/api/`.
 1. Run `python genheaders.py -registry egl.xml EGL/egl.h`
 1. The generated header will now be in `EGL-Registry/api/EGL/egl.h`. You can copy the header over to this folder.
-1. Also update `scripts/egl.xml` with the latest version from `EGL-Registry/api/`.
+1. Also update `egl.xml` with the latest version from `EGL-Registry/api/`.
diff --git a/include/GLES/README.md b/include/GLES/README.md
deleted file mode 100644
index 1aa31f5..0000000
--- a/include/GLES/README.md
+++ /dev/null
@@ -1,20 +0,0 @@
-#  ANGLE GLES 1.0 Headers
-
-The GLES 1.0 headers ANGLE uses are generated using the Khronos tools but modified to include function pointer types and function prototype guards.
-
-### Regenerating gl.h
-
-1. Install **Python 3** (not 2) with the **lxml** addon. You can do this using `pip install lxml` from your Python's Scripts folder.
-1. Clone [https://github.com/KhronosGroup/OpenGL-Registry.git](https://github.com/KhronosGroup/OpenGL-Registry.git).
-1. Edit `OpenGL-Registry/xml/genheaders.py`:
-
-   1. Look for the section titled `# GLES 1.x API + mandatory extensions - GLES/gl.h (no function pointers)`
-   1. Change `prefixText        = prefixStrings + gles1PlatformStrings + genDateCommentString,` to `prefixText        = prefixStrings + gles1PlatformStrings + apiEntryPrefixStrings + genDateCommentString,`
-   1. Change `genFuncPointers   = False,` to `genFuncPointers   = True,`
-   1. Change `protectProto      = False,` to `protectProto      = 'nonzero',`
-   1. Change `protectProtoStr   = 'GL_GLEXT_PROTOTYPES',` to `protectProtoStr   = 'GL_GLES_PROTOTYPES',`
-
-1. Set your working directory to `OpenGL-Registry/xml/`.
-1. Run `python genheaders.py ../api/GLES/gl.h`
-1. The generated header will now be in `OpenGL-Registry/api/GLES/gl.h`. You can copy the header over to this folder.
-1. Also update `scripts/gl.xml` with the latest version from `OpenGL-Registry/xml/`.
diff --git a/include/GLES/gl.h b/include/GLES/gl.h
index 9f3ed34..07f9173 100644
--- a/include/GLES/gl.h
+++ b/include/GLES/gl.h
@@ -1,12 +1,12 @@
-#ifndef __gles1_gl_h_
-#define __gles1_gl_h_ 1
+#ifndef __gl_h_
+#define __gl_h_ 1
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /*
-** Copyright (c) 2013-2018 The Khronos Group Inc.
+** Copyright (c) 2013-2017 The Khronos Group Inc.
 **
 ** Permission is hereby granted, free of charge, to any person obtaining a
 ** copy of this software and/or associated documentation files (the
@@ -36,11 +36,7 @@
 
 #include <GLES/glplatform.h>
 
-#ifndef GL_APIENTRYP
-#define GL_APIENTRYP GL_APIENTRY*
-#endif
-
-/* Generated on date 20181204 */
+/* Generated on date 20171212 */
 
 /* Generated C header for:
  * API: gles1
@@ -57,8 +53,8 @@
 #include <KHR/khrplatform.h>
 typedef khronos_int8_t GLbyte;
 typedef khronos_float_t GLclampf;
-typedef khronos_int16_t GLshort;
-typedef khronos_uint16_t GLushort;
+typedef short GLshort;
+typedef unsigned short GLushort;
 typedef void GLvoid;
 typedef unsigned int GLenum;
 typedef khronos_float_t GLfloat;
@@ -405,151 +401,6 @@
 #define GL_SRC2_ALPHA                     0x858A
 #define GL_DOT3_RGB                       0x86AE
 #define GL_DOT3_RGBA                      0x86AF
-typedef void (GL_APIENTRYP PFNGLALPHAFUNCPROC) (GLenum func, GLfloat ref);
-typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
-typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
-typedef void (GL_APIENTRYP PFNGLCLIPPLANEFPROC) (GLenum p, const GLfloat *eqn);
-typedef void (GL_APIENTRYP PFNGLCOLOR4FPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
-typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
-typedef void (GL_APIENTRYP PFNGLFOGFPROC) (GLenum pname, GLfloat param);
-typedef void (GL_APIENTRYP PFNGLFOGFVPROC) (GLenum pname, const GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLFRUSTUMFPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
-typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFPROC) (GLenum plane, GLfloat *equation);
-typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
-typedef void (GL_APIENTRYP PFNGLGETLIGHTFVPROC) (GLenum light, GLenum pname, GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLGETMATERIALFVPROC) (GLenum face, GLenum pname, GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLGETTEXENVFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLLIGHTMODELFPROC) (GLenum pname, GLfloat param);
-typedef void (GL_APIENTRYP PFNGLLIGHTMODELFVPROC) (GLenum pname, const GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLLIGHTFPROC) (GLenum light, GLenum pname, GLfloat param);
-typedef void (GL_APIENTRYP PFNGLLIGHTFVPROC) (GLenum light, GLenum pname, const GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
-typedef void (GL_APIENTRYP PFNGLLOADMATRIXFPROC) (const GLfloat *m);
-typedef void (GL_APIENTRYP PFNGLMATERIALFPROC) (GLenum face, GLenum pname, GLfloat param);
-typedef void (GL_APIENTRYP PFNGLMATERIALFVPROC) (GLenum face, GLenum pname, const GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLMULTMATRIXFPROC) (const GLfloat *m);
-typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-typedef void (GL_APIENTRYP PFNGLNORMAL3FPROC) (GLfloat nx, GLfloat ny, GLfloat nz);
-typedef void (GL_APIENTRYP PFNGLORTHOFPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
-typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
-typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLPOINTSIZEPROC) (GLfloat size);
-typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
-typedef void (GL_APIENTRYP PFNGLROTATEFPROC) (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GL_APIENTRYP PFNGLSCALEFPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (GL_APIENTRYP PFNGLTEXENVFPROC) (GLenum target, GLenum pname, GLfloat param);
-typedef void (GL_APIENTRYP PFNGLTEXENVFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-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 PFNGLTRANSLATEFPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
-typedef void (GL_APIENTRYP PFNGLALPHAFUNCXPROC) (GLenum func, GLfixed ref);
-typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
-typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
-typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
-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 void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
-typedef void (GL_APIENTRYP PFNGLCLEARCOLORXPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
-typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXPROC) (GLfixed depth);
-typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
-typedef void (GL_APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
-typedef void (GL_APIENTRYP PFNGLCLIPPLANEXPROC) (GLenum plane, const GLfixed *equation);
-typedef void (GL_APIENTRYP PFNGLCOLOR4UBPROC) (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
-typedef void (GL_APIENTRYP PFNGLCOLOR4XPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
-typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
-typedef void (GL_APIENTRYP PFNGLCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
-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 void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
-typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
-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 PFNGLDEPTHRANGEXPROC) (GLfixed n, GLfixed f);
-typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
-typedef void (GL_APIENTRYP PFNGLDISABLECLIENTSTATEPROC) (GLenum array);
-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 PFNGLENABLECLIENTSTATEPROC) (GLenum array);
-typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
-typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
-typedef void (GL_APIENTRYP PFNGLFOGXPROC) (GLenum pname, GLfixed param);
-typedef void (GL_APIENTRYP PFNGLFOGXVPROC) (GLenum pname, const GLfixed *param);
-typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
-typedef void (GL_APIENTRYP PFNGLFRUSTUMXPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
-typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
-typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXPROC) (GLenum plane, GLfixed *equation);
-typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
-typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
-typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
-typedef void (GL_APIENTRYP PFNGLGETFIXEDVPROC) (GLenum pname, GLfixed *params);
-typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
-typedef void (GL_APIENTRYP PFNGLGETLIGHTXVPROC) (GLenum light, GLenum pname, GLfixed *params);
-typedef void (GL_APIENTRYP PFNGLGETMATERIALXVPROC) (GLenum face, GLenum pname, GLfixed *params);
-typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
-typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
-typedef void (GL_APIENTRYP PFNGLGETTEXENVIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETTEXENVXVPROC) (GLenum target, GLenum pname, GLfixed *params);
-typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVPROC) (GLenum target, GLenum pname, GLfixed *params);
-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 PFNGLISTEXTUREPROC) (GLuint texture);
-typedef void (GL_APIENTRYP PFNGLLIGHTMODELXPROC) (GLenum pname, GLfixed param);
-typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVPROC) (GLenum pname, const GLfixed *param);
-typedef void (GL_APIENTRYP PFNGLLIGHTXPROC) (GLenum light, GLenum pname, GLfixed param);
-typedef void (GL_APIENTRYP PFNGLLIGHTXVPROC) (GLenum light, GLenum pname, const GLfixed *params);
-typedef void (GL_APIENTRYP PFNGLLINEWIDTHXPROC) (GLfixed width);
-typedef void (GL_APIENTRYP PFNGLLOADIDENTITYPROC) (void);
-typedef void (GL_APIENTRYP PFNGLLOADMATRIXXPROC) (const GLfixed *m);
-typedef void (GL_APIENTRYP PFNGLLOGICOPPROC) (GLenum opcode);
-typedef void (GL_APIENTRYP PFNGLMATERIALXPROC) (GLenum face, GLenum pname, GLfixed param);
-typedef void (GL_APIENTRYP PFNGLMATERIALXVPROC) (GLenum face, GLenum pname, const GLfixed *param);
-typedef void (GL_APIENTRYP PFNGLMATRIXMODEPROC) (GLenum mode);
-typedef void (GL_APIENTRYP PFNGLMULTMATRIXXPROC) (const GLfixed *m);
-typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XPROC) (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
-typedef void (GL_APIENTRYP PFNGLNORMAL3XPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
-typedef void (GL_APIENTRYP PFNGLNORMALPOINTERPROC) (GLenum type, GLsizei stride, const void *pointer);
-typedef void (GL_APIENTRYP PFNGLORTHOXPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
-typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
-typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXPROC) (GLenum pname, GLfixed param);
-typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVPROC) (GLenum pname, const GLfixed *params);
-typedef void (GL_APIENTRYP PFNGLPOINTSIZEXPROC) (GLfixed size);
-typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXPROC) (GLfixed factor, GLfixed units);
-typedef void (GL_APIENTRYP PFNGLPOPMATRIXPROC) (void);
-typedef void (GL_APIENTRYP PFNGLPUSHMATRIXPROC) (void);
-typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
-typedef void (GL_APIENTRYP PFNGLROTATEXPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
-typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
-typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXPROC) (GLclampx value, GLboolean invert);
-typedef void (GL_APIENTRYP PFNGLSCALEXPROC) (GLfixed x, GLfixed y, GLfixed z);
-typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GL_APIENTRYP PFNGLSHADEMODELPROC) (GLenum mode);
-typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
-typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
-typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
-typedef void (GL_APIENTRYP PFNGLTEXCOORDPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
-typedef void (GL_APIENTRYP PFNGLTEXENVIPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (GL_APIENTRYP PFNGLTEXENVXPROC) (GLenum target, GLenum pname, GLfixed param);
-typedef void (GL_APIENTRYP PFNGLTEXENVIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (GL_APIENTRYP PFNGLTEXENVXVPROC) (GLenum target, GLenum pname, const GLfixed *params);
-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 PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXPROC) (GLenum target, GLenum pname, GLfixed param);
-typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVPROC) (GLenum target, GLenum pname, const GLfixed *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 PFNGLTRANSLATEXPROC) (GLfixed x, GLfixed y, GLfixed z);
-typedef void (GL_APIENTRYP PFNGLVERTEXPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
-typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
-#if GL_GLES_PROTOTYPES
 GL_API void GL_APIENTRY glAlphaFunc (GLenum func, GLfloat ref);
 GL_API void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
 GL_API void GL_APIENTRY glClearDepthf (GLfloat d);
@@ -694,7 +545,6 @@
 GL_API void GL_APIENTRY glTranslatex (GLfixed x, GLfixed y, GLfixed z);
 GL_API void GL_APIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const void *pointer);
 GL_API void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
-#endif
 #endif /* GL_VERSION_ES_CM_1_0 */
 
 #ifndef GL_OES_compressed_paletted_texture
@@ -718,10 +568,7 @@
 #define GL_POINT_SIZE_ARRAY_STRIDE_OES    0x898B
 #define GL_POINT_SIZE_ARRAY_POINTER_OES   0x898C
 #define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8B9F
-typedef void (GL_APIENTRYP PFNGLPOINTSIZEPOINTEROESPROC) (GLenum type, GLsizei stride, const void *pointer);
-#if GL_GLES_PROTOTYPES
 GL_API void GL_APIENTRY glPointSizePointerOES (GLenum type, GLsizei stride, const void *pointer);
-#endif
 #endif /* GL_OES_point_size_array */
 
 #ifndef GL_OES_point_sprite
diff --git a/include/GLES2/gl2ext_angle.h b/include/GLES2/gl2ext_angle.h
index ff4ab4a..3c6cc9c 100644
--- a/include/GLES2/gl2ext_angle.h
+++ b/include/GLES2/gl2ext_angle.h
@@ -193,7 +193,7 @@
     GLenum transformType,
     const GLfloat *transformValues);
 
-typedef void(GL_APIENTRYP PFNGLBINDFRAGMENTINPUTLOCATIONCHROMIUMPROC)(GLuint program,
+typedef void(GL_APIENTRY PFNGLBINDFRAGMENTINPUTLOCATIONCHROMIUMPROC)(GLuint program,
                                                                      GLint location,
                                                                      const GLchar *name);
 typedef void(GL_APIENTRYP PFNGLPROGRAMPATHFRAGMENTINPUTGENCHROMIUMPROC)(GLuint program,
@@ -447,70 +447,70 @@
 
 #ifndef GL_ANGLE_robust_client_memory
 #define GL_ANGLE_robust_client_memory 1
-typedef void (GL_APIENTRYP PFNGLGETBOOLEANVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *data);
-typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETFLOATVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *data);
-typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETINTEGERVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data);
-typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVROBUSTANGLEPROC) (GLuint program, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETSHADERIVROBUSTANGLEPROC) (GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer);
-typedef void (GL_APIENTRYP PFNGLREADPIXELSROBUSTANGLEPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels);
-typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
-typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
-typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
-typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
-typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DROBUSTANGLEPROC) (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);
-typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
-typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
-typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
-typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLEPROC) (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);
-typedef void (GL_APIENTRYP PFNGLGETQUERYIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVROBUSTANGLEPROC) (GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
-typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
-typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data);
-typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATIVROBUSTANGLEPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIUIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
-typedef void (GL_APIENTRYP PFNGLGETUNIFORMUIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
-typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLEPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETINTEGER64VROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data);
-typedef void (GL_APIENTRYP PFNGLGETINTEGER64I_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data);
-typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERI64VROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
-typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
-typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *param);
-typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETPROGRAMINTERFACEIVROBUSTANGLEPROC) (GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETBOOLEANI_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data);
-typedef void (GL_APIENTRYP PFNGLGETMULTISAMPLEFVROBUSTANGLEPROC) (GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val);
-typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
-typedef void (GL_APIENTRYP PFNGLREADNPIXELSROBUSTANGLEPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data);
-typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
-typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETNUNIFORMUIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
-typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
-typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIUIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLuint *params);
-typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
-typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
-typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint *param);
-typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
-typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
-typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params);
+typedef void (GL_APIENTRYP PFNGLGETBOOLEANVROBUSTANGLE) (GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *data);
+typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETFLOATVROBUSTANGLE) (GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *data);
+typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLE) (GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETINTEGERVROBUSTANGLE) (GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data);
+typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVROBUSTANGLE) (GLuint program, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETSHADERIVROBUSTANGLE) (GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
+typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVROBUSTANGLE) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
+typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVROBUSTANGLE) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVROBUSTANGLE) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
+typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVROBUSTANGLE) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLE) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer);
+typedef void (GL_APIENTRYP PFNGLREADPIXELSROBUSTANGLE) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels);
+typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DROBUSTANGLE) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
+typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params);
+typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
+typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DROBUSTANGLE) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
+typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DROBUSTANGLE) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
+typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DROBUSTANGLE) (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);
+typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLE) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
+typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLE) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
+typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLE) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
+typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLE) (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);
+typedef void (GL_APIENTRYP PFNGLGETQUERYIVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVROBUSTANGLE) (GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
+typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
+typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VROBUSTANGLE) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data);
+typedef void (GL_APIENTRYP PFNGETINTERNALFORMATIVROBUSTANGLE) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIIVROBUSTANGLE) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIUIVROBUSTANGLE) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
+typedef void (GL_APIENTRYP PFNGLGETUNIFORMUIVROBUSTANGLE) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
+typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLE) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETINTEGER64VROBUSTANGLE) (GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data);
+typedef void (GL_APIENTRYP PFNGLGETINTEGER64I_VROBUSTANGLE) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data);
+typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERI64VROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
+typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIVROBUSTANGLE) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
+typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFVROBUSTANGLE) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *param);
+typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVROBUSTANGLE) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVROBUSTANGLE) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
+typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETPROGRAMINTERFACEIVROBUSTANGLE) (GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETBOOLEANI_VROBUSTANGLE) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data);
+typedef void (GL_APIENTRYP PFNGLGETMULTISAMPLEFVROBUSTANGLE) (GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val);
+typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLE) (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLE) (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
+typedef void (GL_APIENTRYP PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLE) (GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
+typedef void (GL_APIENTRYP PFNGLREADNPIXELSROBUSTANGLE) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data);
+typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVROBUSTANGLE) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
+typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVROBUSTANGLE) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETNUNIFORMUIVROBUSTANGLE) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
+typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIIVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
+typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIUIVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, const GLuint *params);
+typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIIVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVROBUSTANGLE) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
+typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVROBUSTANGLE) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
+typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVROBUSTANGLE) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint *param);
+typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLE) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLE) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
+typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVROBUSTANGLE)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
+typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VROBUSTANGLE)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
+typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VROBUSTANGLE)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params);
 #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);
@@ -596,8 +596,8 @@
 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_MULTIVIEW_LAYOUT_ANGLE 0x969C
 #define GL_FRAMEBUFFER_MULTIVIEW_SIDE_BY_SIDE_ANGLE 0x969D
 #define GL_FRAMEBUFFER_MULTIVIEW_LAYERED_ANGLE 0x969E
-typedef void(GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWLAYEREDANGLEPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
-typedef void(GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWSIDEBYSIDEANGLEPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei numViews, const GLint *viewportOffsets);
+typedef void(GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWLAYEREDANGLE)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
+typedef void(GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWSIDEBYSIDEANGLE)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei numViews, const GLint *viewportOffsets);
 #ifdef GL_GLEXT_PROTOTYPES
 GL_APICALL void GL_APIENTRY glFramebufferTextureMultiviewLayeredANGLE(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
 GL_APICALL void GL_APIENTRY glFramebufferTextureMultiviewSideBySideANGLE(GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei numViews, const GLint *viewportOffsets);
@@ -625,15 +625,27 @@
 #define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ANGLE 0x9104
 #define GL_TEXTURE_SAMPLES_ANGLE 0x9106
 #define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS_ANGLE 0x9107
-typedef void(GL_APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEANGLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
-typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params);
-typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLint *params);
-typedef void (GL_APIENTRYP PFNGLGETMULTISAMPLEFVANGLEPROC)(GLenum pname, GLuint index, GLfloat *val);
-typedef void (GL_APIENTRYP PFNGLSAMPLEMASKIANGLEPROC)(GLuint maskNumber, GLbitfield mask);
+typedef void(GL_APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEANGLE)(GLenum target,
+                                                             GLsizei samples,
+                                                             GLenum internalformat,
+                                                             GLsizei width,
+                                                             GLsizei height,
+                                                             GLboolean fixedsamplelocations);
+typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVANGLE)(GLenum target, GLint level,
+                                        GLenum pname, GLfloat *params);
+typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVANGLE)(GLenum target, GLint level,
+                                        GLenum pname, GLint *params);
 #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 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
@@ -661,14 +673,6 @@
 #endif
 #endif /* GL_ANGLE_multi_draw */
 
-#ifndef GL_CHROMIUM_bind_uniform_location
-#define GL_CHROMIUM_bind_uniform_location 1
-typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC)(GLuint program, GLint location, const GLchar *name);
-#ifdef GL_GLEXT_PROTOTYPES
-GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM(GLuint program, GLint location, const GLchar *name);
-#endif
-#endif /* GL_CHROMIUM_bind_uniform_location */
-
 // clang-format on
 
 #endif  // INCLUDE_GLES2_GL2EXT_ANGLE_H_
diff --git a/include/GLES3/gl3.h b/include/GLES3/gl3.h
index 4570785..53c59b8 100644
--- a/include/GLES3/gl3.h
+++ b/include/GLES3/gl3.h
@@ -1,12 +1,12 @@
-#ifndef __gles2_gl3_h_
-#define __gles2_gl3_h_ 1
+#ifndef __gl3_h_
+#define __gl3_h_ 1
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /*
-** Copyright (c) 2013-2018 The Khronos Group Inc.
+** Copyright (c) 2013-2015 The Khronos Group Inc.
 **
 ** Permission is hereby granted, free of charge, to any person obtaining a
 ** copy of this software and/or associated documentation files (the
@@ -31,7 +31,9 @@
 ** 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
+**   http://www.opengl.org/registry/
+**
+** Khronos $Revision: 31811 $ on $Date: 2015-08-10 00:01:11 -0700 (Mon, 10 Aug 2015) $
 */
 
 #include <GLES3/gl3platform.h>
@@ -40,11 +42,7 @@
 #define GL_APIENTRYP GL_APIENTRY*
 #endif
 
-#ifndef GL_GLES_PROTOTYPES
-#define GL_GLES_PROTOTYPES 1
-#endif
-
-/* Generated on date 20181130 */
+/* Generated on date 20150809 */
 
 /* Generated C header for:
  * API: gles2
@@ -62,8 +60,8 @@
 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 short GLshort;
+typedef unsigned short GLushort;
 typedef void GLvoid;
 typedef struct __GLsync *GLsync;
 typedef khronos_int64_t GLint64;
@@ -522,7 +520,7 @@
 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
+#ifdef GL_GLEXT_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);
@@ -670,7 +668,7 @@
 
 #ifndef GL_ES_VERSION_3_0
 #define GL_ES_VERSION_3_0 1
-typedef khronos_uint16_t GLhalf;
+typedef unsigned short GLhalf;
 #define GL_READ_BUFFER                    0x0C02
 #define GL_UNPACK_ROW_LENGTH              0x0CF2
 #define GL_UNPACK_SKIP_ROWS               0x0CF3
@@ -1096,7 +1094,7 @@
 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
-#if GL_GLES_PROTOTYPES
+#ifdef GL_GLEXT_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);
diff --git a/include/GLES3/gl31.h b/include/GLES3/gl31.h
index 4806181..26f869b 100644
--- a/include/GLES3/gl31.h
+++ b/include/GLES3/gl31.h
@@ -6,7 +6,7 @@
 #endif
 
 /*
-** Copyright (c) 2013-2016 The Khronos Group Inc.
+** Copyright (c) 2013-2015 The Khronos Group Inc.
 **
 ** Permission is hereby granted, free of charge, to any person obtaining a
 ** copy of this software and/or associated documentation files (the
@@ -42,11 +42,7 @@
 #define GL_APIENTRYP GL_APIENTRY*
 #endif
 
-#ifndef GL_GLES_PROTOTYPES
-#define GL_GLES_PROTOTYPES 1
-#endif
-
-/* Generated on date 20161024 */
+/* Generated on date 20150809 */
 
 /* Generated C header for:
  * API: gles2
@@ -524,7 +520,7 @@
 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
+#ifdef GL_GLEXT_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);
@@ -1098,7 +1094,7 @@
 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
-#if GL_GLES_PROTOTYPES
+#ifdef GL_GLEXT_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);
@@ -1449,7 +1445,7 @@
 typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex);
 typedef void (GL_APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor);
-#if GL_GLES_PROTOTYPES
+#ifdef GL_GLEXT_PROTOTYPES
 GL_APICALL void GL_APIENTRY glDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
 GL_APICALL void GL_APIENTRY glDispatchComputeIndirect (GLintptr indirect);
 GL_APICALL void GL_APIENTRY glDrawArraysIndirect (GLenum mode, const void *indirect);
diff --git a/include/GLES3/gl32.h b/include/GLES3/gl32.h
index a1af7c6..2975a6f 100644
--- a/include/GLES3/gl32.h
+++ b/include/GLES3/gl32.h
@@ -6,7 +6,7 @@
 #endif
 
 /*
-** Copyright (c) 2013-2016 The Khronos Group Inc.
+** Copyright (c) 2013-2015 The Khronos Group Inc.
 **
 ** Permission is hereby granted, free of charge, to any person obtaining a
 ** copy of this software and/or associated documentation files (the
@@ -42,11 +42,7 @@
 #define GL_APIENTRYP GL_APIENTRY*
 #endif
 
-#ifndef GL_GLES_PROTOTYPES
-#define GL_GLES_PROTOTYPES 1
-#endif
-
-/* Generated on date 20161024 */
+/* Generated on date 20150809 */
 
 /* Generated C header for:
  * API: gles2
@@ -524,7 +520,7 @@
 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
+#ifdef GL_GLEXT_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);
@@ -1098,7 +1094,7 @@
 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
-#if GL_GLES_PROTOTYPES
+#ifdef GL_GLEXT_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);
@@ -1449,7 +1445,7 @@
 typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
 typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex);
 typedef void (GL_APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor);
-#if GL_GLES_PROTOTYPES
+#ifdef GL_GLEXT_PROTOTYPES
 GL_APICALL void GL_APIENTRY glDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
 GL_APICALL void GL_APIENTRY glDispatchComputeIndirect (GLintptr indirect);
 GL_APICALL void GL_APIENTRY glDrawArraysIndirect (GLenum mode, const void *indirect);
@@ -1774,7 +1770,7 @@
 typedef void (GL_APIENTRYP PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer);
 typedef void (GL_APIENTRYP PFNGLTEXBUFFERRANGEPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
 typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
-#if GL_GLES_PROTOTYPES
+#ifdef GL_GLEXT_PROTOTYPES
 GL_APICALL void GL_APIENTRY glBlendBarrier (void);
 GL_APICALL void GL_APIENTRY glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
 GL_APICALL void GL_APIENTRY glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
diff --git a/include/export.h b/include/export.h
index 8ddffd9..afb11bf 100644
--- a/include/export.h
+++ b/include/export.h
@@ -10,23 +10,23 @@
 #define LIBGLESV2_EXPORT_H_
 
 #if !defined(ANGLE_EXPORT)
-#    if defined(_WIN32)
-#        if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \
-            defined(LIBFEATURE_SUPPORT_IMPLEMENTATION)
-#            define ANGLE_EXPORT __declspec(dllexport)
-#        else
-#            define ANGLE_EXPORT __declspec(dllimport)
-#        endif
-#    elif defined(__GNUC__)
-#        if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \
-            defined(LIBFEATURE_SUPPORT_IMPLEMENTATION)
-#            define ANGLE_EXPORT __attribute__((visibility("default")))
-#        else
-#            define ANGLE_EXPORT
-#        endif
-#    else
-#        define ANGLE_EXPORT
-#    endif
+#if defined(_WIN32)
+#if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \
+    defined(LIBANGLE_UTIL_IMPLEMENTATION) || defined(LIBFEATURE_SUPPORT_IMPLEMENTATION)
+#       define ANGLE_EXPORT __declspec(dllexport)
+#   else
+#       define ANGLE_EXPORT __declspec(dllimport)
+#   endif
+#elif defined(__GNUC__)
+#if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \
+    defined(LIBANGLE_UTIL_IMPLEMENTATION) || defined(LIBFEATURE_SUPPORT_IMPLEMENTATION)
+#       define ANGLE_EXPORT __attribute__((visibility ("default")))
+#   else
+#       define ANGLE_EXPORT
+#   endif
+#else
+#   define ANGLE_EXPORT
+#endif
 #endif  // !defined(ANGLE_EXPORT)
 
-#endif  // LIBGLESV2_EXPORT_H_
+#endif // LIBGLESV2_EXPORT_H_
diff --git a/samples/BUILD.gn b/samples/BUILD.gn
index 8baacf3..fd98a9f 100644
--- a/samples/BUILD.gn
+++ b/samples/BUILD.gn
@@ -27,21 +27,18 @@
     "sample_util/tga_utils.cpp",
     "sample_util/tga_utils.h",
   ]
-  data_deps = [
+  deps = [
+    "../:angle_util",
     "../:libEGL${angle_libs_suffix}",
     "../:libGLESv1_CM${angle_libs_suffix}",
     "../:libGLESv2${angle_libs_suffix}",
   ]
   public_deps = [
     "../:angle_common",
-    "../:angle_util",
-    "../:angle_util_loader_headers",
   ]
-  configs += [ "../:library_name_config" ]
   public_configs = [
     ":sample_util_config",
-    "../:internal_config",
-    "../:no_gl_prototypes",
+    "../:gl_prototypes",
   ]
 }
 
@@ -58,6 +55,7 @@
   executable(target_name) {
     deps = [
       ":sample_util",
+      "../:angle_util",
     ]
     if (defined(invoker.data)) {
       deps += [ ":${target_name}_data" ]
@@ -213,11 +211,6 @@
 group("all") {
   testonly = true
   deps = [
-    ":gles1_draw_texture",
-    ":gles1_flat_shading",
-    ":gles1_hello_triangle",
-    ":gles1_simple_lighting",
-    ":gles1_simple_texture_2d",
     ":hello_triangle",
     ":mip_map_2d",
     ":multi_texture",
diff --git a/samples/WindowTest/WindowTest.cpp b/samples/WindowTest/WindowTest.cpp
index e823606..dbde920 100644
--- a/samples/WindowTest/WindowTest.cpp
+++ b/samples/WindowTest/WindowTest.cpp
@@ -9,16 +9,16 @@
 #include <algorithm>
 #include <iostream>
 
-#include "util/OSWindow.h"
-#include "util/system_utils.h"
+#include "OSWindow.h"
+#include "system_utils.h"
 
 int main(int argc, char *argv[])
 {
     OSWindow *window = CreateOSWindow();
-    int width        = 400;
-    int height       = 400;
-    int x            = 0;
-    int y            = 0;
+    int width = 400;
+    int height = 400;
+    int x = 0;
+    int y = 0;
 
     if (!window->initialize("Window Test", width, height))
     {
@@ -41,66 +41,66 @@
 
             if (event.Type == Event::EVENT_KEY_PRESSED)
             {
-                int newWidth  = width;
+                int newWidth = width;
                 int newHeight = height;
-                int newX      = x;
-                int newY      = y;
+                int newX = x;
+                int newY = y;
                 switch (event.Key.Code)
                 {
-                    case KEY_ESCAPE:
-                        running = false;
-                        break;
+                  case KEY_ESCAPE:
+                    running = false;
+                    break;
 
-                    case KEY_W:
-                        newWidth = std::max(0, width + (event.Key.Shift ? -20 : 20));
-                        break;
-                    case KEY_H:
-                        newHeight = std::max(0, height + (event.Key.Shift ? -20 : 20));
-                        break;
+                  case KEY_W:
+                    newWidth = std::max(0, width + (event.Key.Shift ? -20 : 20));
+                    break;
+                  case KEY_H:
+                    newHeight = std::max(0, height + (event.Key.Shift ? -20 : 20));
+                    break;
 
-                    case KEY_LEFT:
-                        newX = x - 20;
-                        break;
-                    case KEY_RIGHT:
-                        newX = x + 20;
-                        break;
-                    case KEY_UP:
-                        newY = y - 20;
-                        break;
-                    case KEY_DOWN:
-                        newY = y + 20;
-                        break;
+                  case KEY_LEFT:
+                    newX = x - 20;
+                    break;
+                  case KEY_RIGHT:
+                    newX = x + 20;
+                    break;
+                  case KEY_UP:
+                    newY = y - 20;
+                    break;
+                  case KEY_DOWN:
+                    newY = y + 20;
+                    break;
 
-                    case KEY_C:
-                        window->setMousePosition(width / 2, height / 2);
-                        break;
-                    case KEY_T:
-                        window->signalTestEvent();
-                        window->messageLoop();
-                        if (window->didTestEventFire())
-                        {
-                            std::cout << "Test event did fire" << std::endl;
-                        }
-                        else
-                        {
-                            std::cout << "Test event did not fire" << std::endl;
-                        }
-                        break;
-                    case KEY_S:
-                        window->setVisible(false);
-                        window->messageLoop();
-                        angle::Sleep(1000);
-                        window->setVisible(true);
-                        window->messageLoop();
-                        break;
+                  case KEY_C:
+                    window->setMousePosition(width / 2, height / 2);
+                    break;
+                  case KEY_T:
+                    window->signalTestEvent();
+                    window->messageLoop();
+                    if (window->didTestEventFire())
+                    {
+                        std::cout << "Test event did fire" << std::endl;
+                    }
+                    else
+                    {
+                        std::cout << "Test event did not fire" << std::endl;
+                    }
+                    break;
+                  case KEY_S:
+                    window->setVisible(false);
+                    window->messageLoop();
+                    angle::Sleep(1000);
+                    window->setVisible(true);
+                    window->messageLoop();
+                    break;
 
-                    default:
-                        break;
+                  default:
+                    break;
                 }
 
                 if (newWidth != width || newHeight != height)
                 {
-                    width  = newWidth;
+                    width = newWidth;
                     height = newHeight;
                     window->resize(width, height);
                 }
@@ -115,16 +115,13 @@
                 window->messageLoop();
                 if (window->getWidth() != width || window->getHeight() != height)
                 {
-                    std::cout << "Discrepancy between set dimensions and retrieved dimensions"
-                              << std::endl;
+                    std::cout << "Discrepancy between set dimensions and retrieved dimensions" << std::endl;
                     std::cout << "Width: " << width << " vs. " << window->getWidth() << std::endl;
-                    std::cout << "Height: " << height << " vs. " << window->getHeight()
-                              << std::endl;
+                    std::cout << "Height: " << height << " vs. " << window->getHeight() << std::endl;
                 }
                 if (window->getX() != x || window->getY() != y)
                 {
-                    std::cout << "Discrepancy between set position and retrieved position"
-                              << std::endl;
+                    std::cout << "Discrepancy between set position and retrieved position" << std::endl;
                     std::cout << "X: " << x << " vs. " << window->getX() << std::endl;
                     std::cout << "Y: " << y << " vs. " << window->getY() << std::endl;
                 }
diff --git a/samples/gles1/DrawTexture.cpp b/samples/gles1/DrawTexture.cpp
index aa062b6..72d2fea 100644
--- a/samples/gles1/DrawTexture.cpp
+++ b/samples/gles1/DrawTexture.cpp
@@ -14,8 +14,8 @@
 //            http://www.opengles-book.com
 
 #include "SampleApplication.h"
+#include "shader_utils.h"
 #include "texture_utils.h"
-#include "util/shader_utils.h"
 #include "util/system_utils.h"
 
 #include <GLES/gl.h>
@@ -26,7 +26,8 @@
   public:
     GLES1DrawTextureSample(int argc, char **argv)
         : SampleApplication("GLES1DrawTexture", argc, argv, 1, 0, 1280, 800)
-    {}
+    {
+    }
 
     bool initialize() override
     {
diff --git a/samples/gles1/FlatShading.cpp b/samples/gles1/FlatShading.cpp
index 56be7dd..3d0bb2a 100644
--- a/samples/gles1/FlatShading.cpp
+++ b/samples/gles1/FlatShading.cpp
@@ -15,18 +15,20 @@
 
 #include "SampleApplication.h"
 
-#include <algorithm>
+#include <GLES/gl.h>
+#include <GLES/glext.h>
 
-#include "util/gles_loader_autogen.h"
+#include <algorithm>
 
 class FlatShadingSample : public SampleApplication
 {
   public:
     FlatShadingSample(int argc, char **argv)
         : SampleApplication("FlatShadingSample", argc, argv, 1, 0)
-    {}
+    {
+    }
 
-    bool initialize() override
+    virtual bool initialize()
     {
         glClearColor(0.1f, 0.1f, 0.2f, 1.0f);
         mRotDeg = 0.0f;
@@ -34,7 +36,9 @@
         return true;
     }
 
-    void draw() override
+    virtual void destroy() {}
+
+    virtual void draw()
     {
         glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
@@ -93,7 +97,7 @@
     }
 
   private:
-    float mRotDeg = 0.0f;
+    float mRotDeg;
 };
 
 int main(int argc, char **argv)
diff --git a/samples/gles1/HelloTriangle.cpp b/samples/gles1/HelloTriangle.cpp
index 472ac48..554b50a 100644
--- a/samples/gles1/HelloTriangle.cpp
+++ b/samples/gles1/HelloTriangle.cpp
@@ -14,14 +14,17 @@
 //            http://www.opengles-book.com
 
 #include "SampleApplication.h"
-#include "util/shader_utils.h"
+#include "shader_utils.h"
+
+#include <GLES/gl.h>
 
 class GLES1HelloTriangleSample : public SampleApplication
 {
   public:
     GLES1HelloTriangleSample(int argc, char **argv)
         : SampleApplication("GLES1HelloTriangle", argc, argv, 1, 0)
-    {}
+    {
+    }
 
     bool initialize() override
     {
@@ -30,6 +33,8 @@
         return true;
     }
 
+    void destroy() override {}
+
     void draw() override
     {
         GLfloat vertices[] = {
diff --git a/samples/gles1/SimpleLighting.cpp b/samples/gles1/SimpleLighting.cpp
index 6981b26..78d977a 100644
--- a/samples/gles1/SimpleLighting.cpp
+++ b/samples/gles1/SimpleLighting.cpp
@@ -15,16 +15,18 @@
 
 #include "SampleApplication.h"
 
-#include <algorithm>
+#include <GLES/gl.h>
+#include <GLES/glext.h>
 
-#include "util/gles_loader_autogen.h"
+#include <algorithm>
 
 class SimpleLightingSample : public SampleApplication
 {
   public:
     SimpleLightingSample(int argc, char **argv)
         : SampleApplication("SimpleLightingSample", argc, argv, 1, 0)
-    {}
+    {
+    }
 
     virtual bool initialize()
     {
diff --git a/samples/gles1/SimpleTexture2D.cpp b/samples/gles1/SimpleTexture2D.cpp
index 87a3703..d0e4673 100644
--- a/samples/gles1/SimpleTexture2D.cpp
+++ b/samples/gles1/SimpleTexture2D.cpp
@@ -14,17 +14,18 @@
 //            http://www.opengles-book.com
 
 #include "SampleApplication.h"
-
+#include "shader_utils.h"
 #include "texture_utils.h"
-#include "util/gles_loader_autogen.h"
-#include "util/shader_utils.h"
+
+#include <GLES/gl.h>
 
 class GLES1SimpleTexture2DSample : public SampleApplication
 {
   public:
     GLES1SimpleTexture2DSample(int argc, char **argv)
         : SampleApplication("GLES1SimpleTexture2D", argc, argv, 1, 0)
-    {}
+    {
+    }
 
     bool initialize() override
     {
diff --git a/samples/multiview/Multiview.cpp b/samples/multiview/Multiview.cpp
index ec6a021..975e984 100644
--- a/samples/multiview/Multiview.cpp
+++ b/samples/multiview/Multiview.cpp
@@ -7,7 +7,7 @@
 
 #include "SampleApplication.h"
 
-#include "util/geometry_utils.h"
+#include "geometry_utils.h"
 #include "util/shader_utils.h"
 
 #include <iostream>
diff --git a/samples/post_sub_buffer/PostSubBuffer.cpp b/samples/post_sub_buffer/PostSubBuffer.cpp
index eed4455..7dcd839 100644
--- a/samples/post_sub_buffer/PostSubBuffer.cpp
+++ b/samples/post_sub_buffer/PostSubBuffer.cpp
@@ -13,11 +13,11 @@
 // URLs:      http://safari.informit.com/9780321563835
 //            http://www.opengles-book.com
 
+#include "Matrix.h"
 #include "SampleApplication.h"
+#include "geometry_utils.h"
+#include "shader_utils.h"
 #include "texture_utils.h"
-#include "util/Matrix.h"
-#include "util/geometry_utils.h"
-#include "util/shader_utils.h"
 
 #include <cmath>
 #include <iostream>
diff --git a/samples/sample_util/SampleApplication.cpp b/samples/sample_util/SampleApplication.cpp
index 63ef892..f1dc637 100644
--- a/samples/sample_util/SampleApplication.cpp
+++ b/samples/sample_util/SampleApplication.cpp
@@ -6,10 +6,9 @@
 
 #include "SampleApplication.h"
 
+#include "angle_gl.h"
 #include "util/EGLWindow.h"
-#include "util/gles_loader_autogen.h"
 #include "util/random_utils.h"
-#include "util/system_utils.h"
 
 #include <string.h>
 #include <iostream>
@@ -58,9 +57,6 @@
         requestedRenderer = GetDisplayTypeFromArg(argv[1] + strlen(kUseAngleArg));
     }
 
-    // Load EGL library so we can initialize the display.
-    mEntryPointsLib.reset(angle::OpenSharedLibrary(ANGLE_EGL_LIBRARY_NAME));
-
     mEGLWindow.reset(new EGLWindow(glesMajorVersion, glesMinorVersion,
                                    EGLPlatformParameters(requestedRenderer)));
     mTimer.reset(CreateTimer());
@@ -129,13 +125,11 @@
 
     mOSWindow->setVisible(true);
 
-    if (!mEGLWindow->initializeGL(mOSWindow.get(), mEntryPointsLib.get()))
+    if (!mEGLWindow->initializeGL(mOSWindow.get()))
     {
         return -1;
     }
 
-    angle::LoadGLES(eglGetProcAddress);
-
     mRunning   = true;
     int result = 0;
 
diff --git a/samples/sample_util/SampleApplication.h b/samples/sample_util/SampleApplication.h
index f7525a6..a459eeb 100644
--- a/samples/sample_util/SampleApplication.h
+++ b/samples/sample_util/SampleApplication.h
@@ -12,17 +12,14 @@
 #include <memory>
 #include <string>
 
-#include "util/OSWindow.h"
-#include "util/Timer.h"
-#include "util/egl_loader_autogen.h"
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
+#include "OSWindow.h"
+#include "Timer.h"
 
 class EGLWindow;
 
-namespace angle
-{
-class Library;
-}  // namespace angle
-
 class SampleApplication
 {
   public:
@@ -63,9 +60,6 @@
     std::unique_ptr<Timer> mTimer;
     std::unique_ptr<EGLWindow> mEGLWindow;
     std::unique_ptr<OSWindow> mOSWindow;
-
-    // Handle to the entry point binding library.
-    std::unique_ptr<angle::Library> mEntryPointsLib;
 };
 
 #endif  // SAMPLE_UTIL_SAMPLE_APPLICATION_H
diff --git a/samples/sample_util/texture_utils.h b/samples/sample_util/texture_utils.h
index 90bc113..6ddeb5c 100644
--- a/samples/sample_util/texture_utils.h
+++ b/samples/sample_util/texture_utils.h
@@ -7,11 +7,11 @@
 #ifndef SAMPLE_UTIL_TEXTURE_UTILS_H
 #define SAMPLE_UTIL_TEXTURE_UTILS_H
 
-#include "util/gles_loader_autogen.h"
+#include <GLES2/gl2.h>
 
 GLuint CreateSimpleTexture2D();
 GLuint CreateSimpleTextureCubemap();
 
 GLuint CreateMipMappedTexture2D();
 
-#endif  // SAMPLE_UTIL_TEXTURE_UTILS_H
+#endif // SAMPLE_UTIL_TEXTURE_UTILS_H
diff --git a/samples/sample_util/tga_utils.h b/samples/sample_util/tga_utils.h
index 53a4283..3dd27ad 100644
--- a/samples/sample_util/tga_utils.h
+++ b/samples/sample_util/tga_utils.h
@@ -10,7 +10,7 @@
 #include <array>
 #include <vector>
 
-#include "util/gles_loader_autogen.h"
+#include <GLES2/gl2.h>
 
 typedef std::array<unsigned char, 4> Byte4;
 
@@ -26,4 +26,4 @@
 bool LoadTGAImageFromFile(const std::string &path, TGAImage *image);
 GLuint LoadTextureFromTGAImage(const TGAImage &image);
 
-#endif  // SAMPLE_UTIL_TGA_UTILS_HPP
+#endif // SAMPLE_UTIL_TGA_UTILS_HPP
diff --git a/scripts/generate_loader.py b/scripts/generate_loader.py
index d232de782..c43b718 100644
--- a/scripts/generate_loader.py
+++ b/scripts/generate_loader.py
@@ -23,15 +23,15 @@
     print(",".join(inputs))
     sys.exit(0)
 
-def write_header(data_source_name, all_cmds, api, preamble, path, lib, ns = "", prefix = None, export = ""):
+def write_header(data_source_name, all_cmds, api, preamble, path, ns = "", prefix = None):
     file_name = "%s_loader_autogen.h" % api
     header_path = registry_xml.path_to(path, file_name)
+    if prefix == None:
+        prefix = api
     def pre(cmd):
-        if prefix == None:
-            return cmd
         return prefix + cmd[len(api):]
     with open(header_path, "w") as out:
-        var_protos = ["%sextern PFN%sPROC %s%s;" % (export, cmd.upper(), ns, pre(cmd)) for cmd in all_cmds]
+        var_protos = ["extern PFN%sPROC %s%s;" % (cmd.upper(), ns, pre(cmd)) for cmd in all_cmds]
         loader_header = template_loader_h.format(
             script_name = os.path.basename(sys.argv[0]),
             data_source_name = data_source_name,
@@ -39,23 +39,21 @@
             function_pointers = "\n".join(var_protos),
             api_upper = api.upper(),
             api_lower = api,
-            preamble = preamble,
-            export = export,
-            lib = lib.upper())
+            preamble = preamble)
 
         out.write(loader_header)
         out.close()
 
-def write_source(data_source_name, all_cmds, api, path, ns = "", prefix = None, export = ""):
+def write_source(data_source_name, all_cmds, api, path, ns = "", prefix = None):
     file_name = "%s_loader_autogen.cpp" % api
     source_path = registry_xml.path_to(path, file_name)
+    if prefix == None:
+        prefix = api
     def pre(cmd):
-        if prefix == None:
-            return cmd
         return prefix + cmd[len(api):]
 
     with open(source_path, "w") as out:
-        var_defs = ["%sPFN%sPROC %s%s;" % (export, cmd.upper(), ns, pre(cmd)) for cmd in all_cmds]
+        var_defs = ["PFN%sPROC %s%s;" % (cmd.upper(), ns, pre(cmd)) for cmd in all_cmds]
 
         setter = "    %s%s = reinterpret_cast<PFN%sPROC>(loadProc(\"%s\"));"
         setters = [setter % (ns, pre(cmd), cmd.upper(), pre(cmd)) for cmd in all_cmds]
@@ -90,84 +88,33 @@
     all_cmds = xml.all_cmd_names.get_all_commands()
 
     path = os.path.join("..", "src", "libEGL")
-    write_header(data_source_name, all_cmds, "egl", libegl_preamble, path, "LIBEGL", "", "EGL_")
+    write_header(data_source_name, all_cmds, "egl", egl_preamble, path, "", "EGL_")
     write_source(data_source_name, all_cmds, "egl", path, "", "EGL_")
 
-def gen_gl_loader():
-
-    data_source_name = "gl.xml and gl_angle_ext.xml"
-    xml = registry_xml.RegistryXML("gl.xml", "gl_angle_ext.xml")
-
-    # First run through the main GLES entry points.  Since ES2+ is the primary use
-    # case, we go through those first and then add ES1-only APIs at the end.
-    for major_version, minor_version in [[2, 0], [3, 0], [3, 1], [1, 0]]:
-        annotation = "{}_{}".format(major_version, minor_version)
-        name_prefix = "GL_ES_VERSION_"
-
-        is_gles1 = major_version == 1
-        if is_gles1:
-            name_prefix = "GL_VERSION_ES_CM_"
-
-        feature_name = "{}{}".format(name_prefix, annotation)
-
-        xml.AddCommands(feature_name, annotation)
-
-    xml.AddExtensionCommands(registry_xml.supported_extensions, ['gles2', 'gles1'])
-
-    all_cmds = xml.all_cmd_names.get_all_commands()
-
-    if registry_xml.support_EGL_ANGLE_explicit_context:
-        all_cmds += [cmd + "ContextANGLE" for cmd in xml.all_cmd_names.get_all_commands()]
-
-    path = os.path.join("..", "util")
-    ex = "ANGLE_UTIL_EXPORT "
-    write_header(data_source_name, all_cmds, "gles", util_gles_preamble, path, "UTIL", export=ex)
-    write_source(data_source_name, all_cmds, "gles", path, export=ex)
-
-def gen_egl_loader():
-
-    data_source_name = "egl.xml and egl_angle_ext.xml"
-    xml = registry_xml.RegistryXML("egl.xml", "egl_angle_ext.xml")
-
-    for major_version, minor_version in [[1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5]]:
-        annotation = "{}_{}".format(major_version, minor_version)
-        name_prefix = "EGL_VERSION_"
-
-        feature_name = "{}{}".format(name_prefix, annotation)
-
-        xml.AddCommands(feature_name, annotation)
-
-    xml.AddExtensionCommands(registry_xml.supported_egl_extensions, ['egl'])
-
-    all_cmds = xml.all_cmd_names.get_all_commands()
-
-    path = os.path.join("..", "util")
-    ex = "ANGLE_UTIL_EXPORT "
-    write_header(data_source_name, all_cmds, "egl", util_egl_preamble, path, "UTIL", export=ex)
-    write_source(data_source_name, all_cmds, "egl", path, export=ex)
-
-
+# Generate simple function loader for the tests.
 def main():
     gen_libegl_loader()
-    gen_gl_loader()
-    gen_egl_loader()
 
-
-libegl_preamble = """#include <EGL/egl.h>
-#include <EGL/eglext.h>
-"""
-
-util_gles_preamble = """#if defined(GL_GLES_PROTOTYPES) && GL_GLES_PROTOTYPES
-#error Don't define GL prototypes if you want to use a loader!
+gles_preamble = """#if defined(GL_GLES_PROTOTYPES)
+#undef GL_GLES_PROTOTYPES
 #endif  // defined(GL_GLES_PROTOTYPES)
 
-#include "angle_gl.h"
-#include "util/util_export.h"
+#if defined(GL_GLEXT_PROTOTYPES)
+#undef GL_GLEXT_PROTOTYPES
+#endif  // defined(GL_GLEXT_PROTOTYPES)
+
+#define GL_GLES_PROTOTYPES 0
+
+#include <GLES/gl.h>
+#include <GLES/glext.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+#include <GLES3/gl3.h>
+#include <GLES3/gl31.h>
+#include <GLES3/gl32.h>
 """
 
-util_egl_preamble = """#include "util/util_export.h"
-
-#include <EGL/egl.h>
+egl_preamble = """#include <EGL/egl.h>
 #include <EGL/eglext.h>
 """
 
@@ -181,8 +128,8 @@
 // {api_lower}_loader_autogen.h:
 //   Simple {api_upper} function loader.
 
-#ifndef {lib}_{api_upper}_LOADER_AUTOGEN_H_
-#define {lib}_{api_upper}_LOADER_AUTOGEN_H_
+#ifndef LIBEGL_{api_upper}_LOADER_AUTOGEN_H_
+#define LIBEGL_{api_upper}_LOADER_AUTOGEN_H_
 
 {preamble}
 {function_pointers}
@@ -191,10 +138,10 @@
 {{
 using GenericProc = void (*)();
 using LoadProc = GenericProc (KHRONOS_APIENTRY *)(const char *);
-{export}void Load{api_upper}(LoadProc loadProc);
+void Load{api_upper}(LoadProc loadProc);
 }}  // namespace angle
-    
-#endif  // {lib}_{api_upper}_LOADER_AUTOGEN_H_
+
+#endif  // LIBEGL_{api_upper}_LOADER_AUTOGEN_H_
 """
 
 template_loader_cpp = """// GENERATED FILE - DO NOT EDIT.
diff --git a/scripts/run_code_generation_hashes.json b/scripts/run_code_generation_hashes.json
index a1daeec..ca7647e 100644
--- a/scripts/run_code_generation_hashes.json
+++ b/scripts/run_code_generation_hashes.json
@@ -74,7 +74,7 @@
   "GL/EGL/WGL loader:scripts/egl_angle_ext.xml":
     "745534010f31fbe8e1a1fcddce15ed2d",
   "GL/EGL/WGL loader:scripts/generate_loader.py":
-    "d68873f69d0ab0104460808c7b6a34ab",
+    "408e48ccb03f7a92bcd49cd376943474",
   "GL/EGL/WGL loader:scripts/registry_xml.py":
     "fcc6e75568f9c25b70f6692b9080a447",
   "OpenGL dispatch table:scripts/gl.xml":
@@ -116,7 +116,7 @@
   "proc table:src/libGLESv2/gen_proc_table.py":
     "ee265eada3dd238646010dd03874d242",
   "proc table:src/libGLESv2/proc_table_data.json":
-    "68772eb4798f438df2eb997394999855",
+    "bcb5dbd7b57c0d56d5e8849c46d9c36e",
   "uniform type:src/common/gen_uniform_type_table.py":
     "59cb4ffd0f584c4bd37f2f4ff59a2b93"
 }
\ No newline at end of file
diff --git a/src/common/mathutil_unittest.cpp b/src/common/mathutil_unittest.cpp
index 3c3f11d..8640763 100644
--- a/src/common/mathutil_unittest.cpp
+++ b/src/common/mathutil_unittest.cpp
@@ -259,9 +259,9 @@
     EXPECT_EQ(10, gl::BitCount(0x17103121u));
 
 #if defined(ANGLE_IS_64_BIT_CPU)
-    EXPECT_EQ(0, gl::BitCount(static_cast<uint64_t>(0ull)));
-    EXPECT_EQ(32, gl::BitCount(static_cast<uint64_t>(0xFFFFFFFFull)));
-    EXPECT_EQ(10, gl::BitCount(static_cast<uint64_t>(0x17103121ull)));
+    EXPECT_EQ(0, gl::BitCount(0ull));
+    EXPECT_EQ(32, gl::BitCount(0xFFFFFFFFull));
+    EXPECT_EQ(10, gl::BitCount(0x17103121ull));
 #endif  // defined(ANGLE_IS_64_BIT_CPU)
 }
 
@@ -273,9 +273,9 @@
     EXPECT_EQ(31ul, gl::ScanForward(0x80000000u));
 
 #if defined(ANGLE_IS_64_BIT_CPU)
-    EXPECT_EQ(0ul, gl::ScanForward(static_cast<uint64_t>(1ull)));
-    EXPECT_EQ(16ul, gl::ScanForward(static_cast<uint64_t>(0x80010000ull)));
-    EXPECT_EQ(31ul, gl::ScanForward(static_cast<uint64_t>(0x80000000ull)));
+    EXPECT_EQ(0ul, gl::ScanForward(1ull));
+    EXPECT_EQ(16ul, gl::ScanForward(0x80010000ull));
+    EXPECT_EQ(31ul, gl::ScanForward(0x80000000ull));
 #endif  // defined(ANGLE_IS_64_BIT_CPU)
 }
 
diff --git a/src/common/system_utils.h b/src/common/system_utils.h
index 2c5c6c6..142ef9f 100644
--- a/src/common/system_utils.h
+++ b/src/common/system_utils.h
@@ -30,12 +30,6 @@
   public:
     virtual ~Library() {}
     virtual void *getSymbol(const char *symbolName) = 0;
-
-    template <typename FuncT>
-    void getAs(const char *symbolName, FuncT *funcOut)
-    {
-        *funcOut = reinterpret_cast<FuncT>(getSymbol(symbolName));
-    }
 };
 
 Library *OpenSharedLibrary(const char *libraryName);
diff --git a/src/common/utilities.h b/src/common/utilities.h
index bc924ae..512e05d 100644
--- a/src/common/utilities.h
+++ b/src/common/utilities.h
@@ -15,7 +15,6 @@
 #include <math.h>
 #include <string>
 #include <vector>
-
 #include "angle_gl.h"
 
 #include "common/PackedEnums.h"
diff --git a/src/compiler/translator/ShaderStorageBlockFunctionHLSL.cpp b/src/compiler/translator/ShaderStorageBlockFunctionHLSL.cpp
index 60535fe..a91b1d9 100644
--- a/src/compiler/translator/ShaderStorageBlockFunctionHLSL.cpp
+++ b/src/compiler/translator/ShaderStorageBlockFunctionHLSL.cpp
@@ -305,7 +305,7 @@
     }
 
     ssboFunction.functionName += ssboFunction.typeString;
-    ssboFunction.type = type;
+    ssboFunction.type       = type;
     if (swizzleNode != nullptr)
     {
         ssboFunction.swizzleOffsets   = swizzleNode->getSwizzleOffsets();
diff --git a/src/libGLESv2.gni b/src/libGLESv2.gni
index 63baef4..436e22e 100644
--- a/src/libGLESv2.gni
+++ b/src/libGLESv2.gni
@@ -94,25 +94,18 @@
   "src/image_util/loadimage.inl",
   "src/image_util/loadimage_etc.cpp",
 ]
-
 libangle_gpu_info_util_sources = [
   "src/gpu_info_util/SystemInfo.cpp",
   "src/gpu_info_util/SystemInfo.h",
   "src/gpu_info_util/SystemInfo_internal.h",
 ]
-
 libangle_gpu_info_util_win_sources = [ "src/gpu_info_util/SystemInfo_win.cpp" ]
-
 libangle_gpu_info_util_linux_sources =
     [ "src/gpu_info_util/SystemInfo_linux.cpp" ]
-
 libangle_gpu_info_util_libpci_sources =
     [ "src/gpu_info_util/SystemInfo_libpci.cpp" ]
-
 libangle_gpu_info_util_x11_sources = [ "src/gpu_info_util/SystemInfo_x11.cpp" ]
-
 libangle_gpu_info_util_mac_sources = [ "src/gpu_info_util/SystemInfo_mac.mm" ]
-
 libangle_includes = [
   "include/angle_gl.h",
   "include/export.h",
@@ -143,7 +136,6 @@
   "include/platform/Platform.h",
   "include/platform/WorkaroundsD3D.h",
 ]
-
 libangle_sources = [
   "src/common/event_tracer.cpp",
   "src/common/event_tracer.h",
@@ -327,7 +319,6 @@
   "src/libANGLE/validationESEXT.h",
   "src/third_party/trace_event/trace_event.h",
 ]
-
 libangle_d3d_shared_sources = [
   "src/libANGLE/renderer/d3d/BufferD3D.cpp",
   "src/libANGLE/renderer/d3d/BufferD3D.h",
@@ -380,7 +371,6 @@
   "src/libANGLE/renderer/d3d/VertexDataManager.cpp",
   "src/libANGLE/renderer/d3d/VertexDataManager.h",
 ]
-
 libangle_d3d9_sources = [
   "src/libANGLE/renderer/d3d/d3d9/Blit9.cpp",
   "src/libANGLE/renderer/d3d/d3d9/Blit9.h",
@@ -434,7 +424,6 @@
   "src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.cpp",
   "src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.h",
 ]
-
 libangle_d3d11_sources = [
   "src/libANGLE/renderer/d3d/d3d11/Blit11.cpp",
   "src/libANGLE/renderer/d3d/d3d11/Blit11.h",
@@ -557,7 +546,6 @@
   "src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp",
   "src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.h",
 ]
-
 libangle_d3d11_win32_sources = [
   "src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp",
   "src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.h",
@@ -566,7 +554,6 @@
   "src/third_party/systeminfo/SystemInfo.cpp",
   "src/third_party/systeminfo/SystemInfo.h",
 ]
-
 libangle_d3d11_winrt_sources = [
   "src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp",
   "src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h",
@@ -577,7 +564,6 @@
   "src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp",
   "src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h",
 ]
-
 libangle_gl_sources = [
   "src/libANGLE/renderer/gl/BlitGL.cpp",
   "src/libANGLE/renderer/gl/BlitGL.h",
@@ -637,12 +623,10 @@
   "src/libANGLE/renderer/gl/renderergl_utils.cpp",
   "src/libANGLE/renderer/gl/renderergl_utils.h",
 ]
-
 libangle_gl_null_sources = [
   "src/libANGLE/renderer/gl/null_functions.cpp",
   "src/libANGLE/renderer/gl/null_functions.h",
 ]
-
 libangle_gl_wgl_sources = [
   "src/libANGLE/renderer/gl/wgl/ContextWGL.cpp",
   "src/libANGLE/renderer/gl/wgl/ContextWGL.h",
@@ -666,7 +650,6 @@
   "src/libANGLE/renderer/gl/wgl/wgl_utils.h",
   "src/third_party/khronos/GL/wglext.h",
 ]
-
 libangle_gl_glx_sources = [
   "src/libANGLE/renderer/gl/glx/DisplayGLX.cpp",
   "src/libANGLE/renderer/gl/glx/DisplayGLX.h",
@@ -680,7 +663,6 @@
   "src/libANGLE/renderer/gl/glx/functionsglx_typedefs.h",
   "src/libANGLE/renderer/gl/glx/platform_glx.h",
 ]
-
 libangle_gl_egl_sources = [
   "src/libANGLE/renderer/gl/egl/ContextEGL.cpp",
   "src/libANGLE/renderer/gl/egl/ContextEGL.h",
@@ -707,14 +689,12 @@
   "src/libANGLE/renderer/gl/egl/FunctionsEGLDL.cpp",
   "src/libANGLE/renderer/gl/egl/FunctionsEGLDL.h",
 ]
-
 libangle_gl_ozone_sources = [
   "src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp",
   "src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.h",
   "src/libANGLE/renderer/gl/egl/ozone/SurfaceOzone.cpp",
   "src/libANGLE/renderer/gl/egl/ozone/SurfaceOzone.h",
 ]
-
 libangle_gl_egl_android_sources = [
   "src/libANGLE/renderer/gl/egl/android/android_util.cpp",
   "src/libANGLE/renderer/gl/egl/android/android_util.h",
@@ -723,7 +703,6 @@
   "src/libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.cpp",
   "src/libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.h",
 ]
-
 libangle_gl_cgl_sources = [
   "src/libANGLE/renderer/gl/cgl/DisplayCGL.mm",
   "src/libANGLE/renderer/gl/cgl/DisplayCGL.h",
@@ -734,7 +713,6 @@
   "src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm",
   "src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h",
 ]
-
 libangle_vulkan_sources = [
   "src/libANGLE/renderer/vulkan/BufferVk.cpp",
   "src/libANGLE/renderer/vulkan/BufferVk.h",
@@ -799,28 +777,24 @@
   "src/libANGLE/renderer/vulkan/vk_utils.cpp",
   "src/libANGLE/renderer/vulkan/vk_utils.h",
 ]
-
 libangle_vulkan_android_sources = [
   "src/libANGLE/renderer/vulkan/android/DisplayVkAndroid.cpp",
   "src/libANGLE/renderer/vulkan/android/DisplayVkAndroid.h",
   "src/libANGLE/renderer/vulkan/android/WindowSurfaceVkAndroid.cpp",
   "src/libANGLE/renderer/vulkan/android/WindowSurfaceVkAndroid.h",
 ]
-
 libangle_vulkan_win32_sources = [
   "src/libANGLE/renderer/vulkan/win32/DisplayVkWin32.cpp",
   "src/libANGLE/renderer/vulkan/win32/DisplayVkWin32.h",
   "src/libANGLE/renderer/vulkan/win32/WindowSurfaceVkWin32.cpp",
   "src/libANGLE/renderer/vulkan/win32/WindowSurfaceVkWin32.h",
 ]
-
 libangle_vulkan_xcb_sources = [
   "src/libANGLE/renderer/vulkan/xcb/DisplayVkXcb.cpp",
   "src/libANGLE/renderer/vulkan/xcb/DisplayVkXcb.h",
   "src/libANGLE/renderer/vulkan/xcb/WindowSurfaceVkXcb.cpp",
   "src/libANGLE/renderer/vulkan/xcb/WindowSurfaceVkXcb.h",
 ]
-
 libangle_null_sources = [
   "src/libANGLE/renderer/null/BufferNULL.cpp",
   "src/libANGLE/renderer/null/BufferNULL.h",
@@ -863,7 +837,6 @@
   "src/libANGLE/renderer/null/VertexArrayNULL.cpp",
   "src/libANGLE/renderer/null/VertexArrayNULL.h",
 ]
-
 libglesv2_sources = [
   "src/common/angleutils.h",
   "src/common/debug.h",
@@ -891,14 +864,12 @@
   "src/libGLESv2/proc_table_autogen.cpp",
   "src/libGLESv2/resource.h",
 ]
-
 libglesv1_cm_sources = [
   "src/libGLESv1_CM/libGLESv1_CM.cpp",
   "src/libGLESv1_CM/libGLESv1_CM.def",
   "src/libGLESv1_CM/libGLESv1_CM.rc",
   "src/libGLESv1_CM/resource.h",
 ]
-
 libegl_sources = [
   "src/libEGL/libEGL.cpp",
   "src/libEGL/libEGL.rc",
diff --git a/src/libGLESv2/proc_table_autogen.cpp b/src/libGLESv2/proc_table_autogen.cpp
index 06bca1b..b62fe6a 100644
--- a/src/libGLESv2/proc_table_autogen.cpp
+++ b/src/libGLESv2/proc_table_autogen.cpp
@@ -135,14 +135,6 @@
     {"glBindBufferContextANGLE", P(gl::BindBufferContextANGLE)},
     {"glBindBufferRange", P(gl::BindBufferRange)},
     {"glBindBufferRangeContextANGLE", P(gl::BindBufferRangeContextANGLE)},
-    {"glBindFragDataLocationEXT", P(gl::BindFragDataLocationEXT)},
-    {"glBindFragDataLocationEXTContextANGLE", P(gl::BindFragDataLocationEXTContextANGLE)},
-    {"glBindFragDataLocationIndexedEXT", P(gl::BindFragDataLocationIndexedEXT)},
-    {"glBindFragDataLocationIndexedEXTContextANGLE",
-     P(gl::BindFragDataLocationIndexedEXTContextANGLE)},
-    {"glBindFragmentInputLocationCHROMIUM", P(gl::BindFragmentInputLocationCHROMIUM)},
-    {"glBindFragmentInputLocationCHROMIUMContextANGLE",
-     P(gl::BindFragmentInputLocationCHROMIUMContextANGLE)},
     {"glBindFramebuffer", P(gl::BindFramebuffer)},
     {"glBindFramebufferContextANGLE", P(gl::BindFramebufferContextANGLE)},
     {"glBindImageTexture", P(gl::BindImageTexture)},
@@ -264,18 +256,6 @@
     {"glCopyTexture3DANGLEContextANGLE", P(gl::CopyTexture3DANGLEContextANGLE)},
     {"glCopyTextureCHROMIUM", P(gl::CopyTextureCHROMIUM)},
     {"glCopyTextureCHROMIUMContextANGLE", P(gl::CopyTextureCHROMIUMContextANGLE)},
-    {"glCoverFillPathCHROMIUM", P(gl::CoverFillPathCHROMIUM)},
-    {"glCoverFillPathCHROMIUMContextANGLE", P(gl::CoverFillPathCHROMIUMContextANGLE)},
-    {"glCoverFillPathInstancedCHROMIUM", P(gl::CoverFillPathInstancedCHROMIUM)},
-    {"glCoverFillPathInstancedCHROMIUMContextANGLE",
-     P(gl::CoverFillPathInstancedCHROMIUMContextANGLE)},
-    {"glCoverStrokePathCHROMIUM", P(gl::CoverStrokePathCHROMIUM)},
-    {"glCoverStrokePathCHROMIUMContextANGLE", P(gl::CoverStrokePathCHROMIUMContextANGLE)},
-    {"glCoverStrokePathInstancedCHROMIUM", P(gl::CoverStrokePathInstancedCHROMIUM)},
-    {"glCoverStrokePathInstancedCHROMIUMContextANGLE",
-     P(gl::CoverStrokePathInstancedCHROMIUMContextANGLE)},
-    {"glCoverageModulationCHROMIUM", P(gl::CoverageModulationCHROMIUM)},
-    {"glCoverageModulationCHROMIUMContextANGLE", P(gl::CoverageModulationCHROMIUMContextANGLE)},
     {"glCreateProgram", P(gl::CreateProgram)},
     {"glCreateProgramContextANGLE", P(gl::CreateProgramContextANGLE)},
     {"glCreateShader", P(gl::CreateShader)},
@@ -298,8 +278,6 @@
     {"glDeleteFencesNVContextANGLE", P(gl::DeleteFencesNVContextANGLE)},
     {"glDeleteFramebuffers", P(gl::DeleteFramebuffers)},
     {"glDeleteFramebuffersContextANGLE", P(gl::DeleteFramebuffersContextANGLE)},
-    {"glDeletePathsCHROMIUM", P(gl::DeletePathsCHROMIUM)},
-    {"glDeletePathsCHROMIUMContextANGLE", P(gl::DeletePathsCHROMIUMContextANGLE)},
     {"glDeleteProgram", P(gl::DeleteProgram)},
     {"glDeleteProgramContextANGLE", P(gl::DeleteProgramContextANGLE)},
     {"glDeleteProgramPipelines", P(gl::DeleteProgramPipelines)},
@@ -450,8 +428,6 @@
     {"glGenFencesNVContextANGLE", P(gl::GenFencesNVContextANGLE)},
     {"glGenFramebuffers", P(gl::GenFramebuffers)},
     {"glGenFramebuffersContextANGLE", P(gl::GenFramebuffersContextANGLE)},
-    {"glGenPathsCHROMIUM", P(gl::GenPathsCHROMIUM)},
-    {"glGenPathsCHROMIUMContextANGLE", P(gl::GenPathsCHROMIUMContextANGLE)},
     {"glGenProgramPipelines", P(gl::GenProgramPipelines)},
     {"glGenProgramPipelinesContextANGLE", P(gl::GenProgramPipelinesContextANGLE)},
     {"glGenQueries", P(gl::GenQueries)},
@@ -529,8 +505,6 @@
     {"glGetFloatvContextANGLE", P(gl::GetFloatvContextANGLE)},
     {"glGetFloatvRobustANGLE", P(gl::GetFloatvRobustANGLE)},
     {"glGetFloatvRobustANGLEContextANGLE", P(gl::GetFloatvRobustANGLEContextANGLE)},
-    {"glGetFragDataIndexEXT", P(gl::GetFragDataIndexEXT)},
-    {"glGetFragDataIndexEXTContextANGLE", P(gl::GetFragDataIndexEXTContextANGLE)},
     {"glGetFragDataLocation", P(gl::GetFragDataLocation)},
     {"glGetFragDataLocationContextANGLE", P(gl::GetFragDataLocationContextANGLE)},
     {"glGetFramebufferAttachmentParameteriv", P(gl::GetFramebufferAttachmentParameteriv)},
@@ -586,10 +560,6 @@
     {"glGetObjectLabelKHRContextANGLE", P(gl::GetObjectLabelKHRContextANGLE)},
     {"glGetObjectPtrLabelKHR", P(gl::GetObjectPtrLabelKHR)},
     {"glGetObjectPtrLabelKHRContextANGLE", P(gl::GetObjectPtrLabelKHRContextANGLE)},
-    {"glGetPathParameterfvCHROMIUM", P(gl::GetPathParameterfvCHROMIUM)},
-    {"glGetPathParameterfvCHROMIUMContextANGLE", P(gl::GetPathParameterfvCHROMIUMContextANGLE)},
-    {"glGetPathParameterivCHROMIUM", P(gl::GetPathParameterivCHROMIUM)},
-    {"glGetPathParameterivCHROMIUMContextANGLE", P(gl::GetPathParameterivCHROMIUMContextANGLE)},
     {"glGetPointerv", P(gl::GetPointerv)},
     {"glGetPointervContextANGLE", P(gl::GetPointervContextANGLE)},
     {"glGetPointervKHR", P(gl::GetPointervKHR)},
@@ -616,9 +586,6 @@
     {"glGetProgramResourceIndexContextANGLE", P(gl::GetProgramResourceIndexContextANGLE)},
     {"glGetProgramResourceLocation", P(gl::GetProgramResourceLocation)},
     {"glGetProgramResourceLocationContextANGLE", P(gl::GetProgramResourceLocationContextANGLE)},
-    {"glGetProgramResourceLocationIndexEXT", P(gl::GetProgramResourceLocationIndexEXT)},
-    {"glGetProgramResourceLocationIndexEXTContextANGLE",
-     P(gl::GetProgramResourceLocationIndexEXTContextANGLE)},
     {"glGetProgramResourceName", P(gl::GetProgramResourceName)},
     {"glGetProgramResourceNameContextANGLE", P(gl::GetProgramResourceNameContextANGLE)},
     {"glGetProgramResourceiv", P(gl::GetProgramResourceiv)},
@@ -806,8 +773,6 @@
     {"glIsFenceNVContextANGLE", P(gl::IsFenceNVContextANGLE)},
     {"glIsFramebuffer", P(gl::IsFramebuffer)},
     {"glIsFramebufferContextANGLE", P(gl::IsFramebufferContextANGLE)},
-    {"glIsPathCHROMIUM", P(gl::IsPathCHROMIUM)},
-    {"glIsPathCHROMIUMContextANGLE", P(gl::IsPathCHROMIUMContextANGLE)},
     {"glIsProgram", P(gl::IsProgram)},
     {"glIsProgramContextANGLE", P(gl::IsProgramContextANGLE)},
     {"glIsProgramPipeline", P(gl::IsProgramPipeline)},
@@ -881,10 +846,6 @@
     {"glMaterialxvContextANGLE", P(gl::MaterialxvContextANGLE)},
     {"glMatrixIndexPointerOES", P(gl::MatrixIndexPointerOES)},
     {"glMatrixIndexPointerOESContextANGLE", P(gl::MatrixIndexPointerOESContextANGLE)},
-    {"glMatrixLoadIdentityCHROMIUM", P(gl::MatrixLoadIdentityCHROMIUM)},
-    {"glMatrixLoadIdentityCHROMIUMContextANGLE", P(gl::MatrixLoadIdentityCHROMIUMContextANGLE)},
-    {"glMatrixLoadfCHROMIUM", P(gl::MatrixLoadfCHROMIUM)},
-    {"glMatrixLoadfCHROMIUMContextANGLE", P(gl::MatrixLoadfCHROMIUMContextANGLE)},
     {"glMatrixMode", P(gl::MatrixMode)},
     {"glMatrixModeContextANGLE", P(gl::MatrixModeContextANGLE)},
     {"glMaxShaderCompilerThreadsKHR", P(gl::MaxShaderCompilerThreadsKHR)},
@@ -925,14 +886,6 @@
     {"glOrthofContextANGLE", P(gl::OrthofContextANGLE)},
     {"glOrthox", P(gl::Orthox)},
     {"glOrthoxContextANGLE", P(gl::OrthoxContextANGLE)},
-    {"glPathCommandsCHROMIUM", P(gl::PathCommandsCHROMIUM)},
-    {"glPathCommandsCHROMIUMContextANGLE", P(gl::PathCommandsCHROMIUMContextANGLE)},
-    {"glPathParameterfCHROMIUM", P(gl::PathParameterfCHROMIUM)},
-    {"glPathParameterfCHROMIUMContextANGLE", P(gl::PathParameterfCHROMIUMContextANGLE)},
-    {"glPathParameteriCHROMIUM", P(gl::PathParameteriCHROMIUM)},
-    {"glPathParameteriCHROMIUMContextANGLE", P(gl::PathParameteriCHROMIUMContextANGLE)},
-    {"glPathStencilFuncCHROMIUM", P(gl::PathStencilFuncCHROMIUM)},
-    {"glPathStencilFuncCHROMIUMContextANGLE", P(gl::PathStencilFuncCHROMIUMContextANGLE)},
     {"glPauseTransformFeedback", P(gl::PauseTransformFeedback)},
     {"glPauseTransformFeedbackContextANGLE", P(gl::PauseTransformFeedbackContextANGLE)},
     {"glPixelStorei", P(gl::PixelStorei)},
@@ -967,9 +920,6 @@
     {"glProgramBinaryOESContextANGLE", P(gl::ProgramBinaryOESContextANGLE)},
     {"glProgramParameteri", P(gl::ProgramParameteri)},
     {"glProgramParameteriContextANGLE", P(gl::ProgramParameteriContextANGLE)},
-    {"glProgramPathFragmentInputGenCHROMIUM", P(gl::ProgramPathFragmentInputGenCHROMIUM)},
-    {"glProgramPathFragmentInputGenCHROMIUMContextANGLE",
-     P(gl::ProgramPathFragmentInputGenCHROMIUMContextANGLE)},
     {"glProgramUniform1f", P(gl::ProgramUniform1f)},
     {"glProgramUniform1fContextANGLE", P(gl::ProgramUniform1fContextANGLE)},
     {"glProgramUniform1fv", P(gl::ProgramUniform1fv)},
@@ -1120,11 +1070,6 @@
     {"glShaderBinaryContextANGLE", P(gl::ShaderBinaryContextANGLE)},
     {"glShaderSource", P(gl::ShaderSource)},
     {"glShaderSourceContextANGLE", P(gl::ShaderSourceContextANGLE)},
-    {"glStencilFillPathCHROMIUM", P(gl::StencilFillPathCHROMIUM)},
-    {"glStencilFillPathCHROMIUMContextANGLE", P(gl::StencilFillPathCHROMIUMContextANGLE)},
-    {"glStencilFillPathInstancedCHROMIUM", P(gl::StencilFillPathInstancedCHROMIUM)},
-    {"glStencilFillPathInstancedCHROMIUMContextANGLE",
-     P(gl::StencilFillPathInstancedCHROMIUMContextANGLE)},
     {"glStencilFunc", P(gl::StencilFunc)},
     {"glStencilFuncContextANGLE", P(gl::StencilFuncContextANGLE)},
     {"glStencilFuncSeparate", P(gl::StencilFuncSeparate)},
@@ -1137,25 +1082,6 @@
     {"glStencilOpContextANGLE", P(gl::StencilOpContextANGLE)},
     {"glStencilOpSeparate", P(gl::StencilOpSeparate)},
     {"glStencilOpSeparateContextANGLE", P(gl::StencilOpSeparateContextANGLE)},
-    {"glStencilStrokePathCHROMIUM", P(gl::StencilStrokePathCHROMIUM)},
-    {"glStencilStrokePathCHROMIUMContextANGLE", P(gl::StencilStrokePathCHROMIUMContextANGLE)},
-    {"glStencilStrokePathInstancedCHROMIUM", P(gl::StencilStrokePathInstancedCHROMIUM)},
-    {"glStencilStrokePathInstancedCHROMIUMContextANGLE",
-     P(gl::StencilStrokePathInstancedCHROMIUMContextANGLE)},
-    {"glStencilThenCoverFillPathCHROMIUM", P(gl::StencilThenCoverFillPathCHROMIUM)},
-    {"glStencilThenCoverFillPathCHROMIUMContextANGLE",
-     P(gl::StencilThenCoverFillPathCHROMIUMContextANGLE)},
-    {"glStencilThenCoverFillPathInstancedCHROMIUM",
-     P(gl::StencilThenCoverFillPathInstancedCHROMIUM)},
-    {"glStencilThenCoverFillPathInstancedCHROMIUMContextANGLE",
-     P(gl::StencilThenCoverFillPathInstancedCHROMIUMContextANGLE)},
-    {"glStencilThenCoverStrokePathCHROMIUM", P(gl::StencilThenCoverStrokePathCHROMIUM)},
-    {"glStencilThenCoverStrokePathCHROMIUMContextANGLE",
-     P(gl::StencilThenCoverStrokePathCHROMIUMContextANGLE)},
-    {"glStencilThenCoverStrokePathInstancedCHROMIUM",
-     P(gl::StencilThenCoverStrokePathInstancedCHROMIUM)},
-    {"glStencilThenCoverStrokePathInstancedCHROMIUMContextANGLE",
-     P(gl::StencilThenCoverStrokePathInstancedCHROMIUMContextANGLE)},
     {"glTestFenceNV", P(gl::TestFenceNV)},
     {"glTestFenceNVContextANGLE", P(gl::TestFenceNVContextANGLE)},
     {"glTexCoordPointer", P(gl::TexCoordPointer)},
@@ -1361,5 +1287,5 @@
     {"glWeightPointerOES", P(gl::WeightPointerOES)},
     {"glWeightPointerOESContextANGLE", P(gl::WeightPointerOESContextANGLE)}};
 
-size_t g_numProcs = 1277;
+size_t g_numProcs = 1217;
 }  // namespace egl
diff --git a/src/libGLESv2/proc_table_data.json b/src/libGLESv2/proc_table_data.json
index 2de6469..8b37a76 100644
--- a/src/libGLESv2/proc_table_data.json
+++ b/src/libGLESv2/proc_table_data.json
@@ -343,45 +343,6 @@
         "glGetTranslatedShaderSourceANGLE"
     ],
 
-    "GL_CHROMIUM_framebuffer_mixed_samples": [
-         "glMatrixLoadfCHROMIUM",
-         "glMatrixLoadIdentityCHROMIUM",
-         "glCoverageModulationCHROMIUM"
-    ],
-
-    "GL_CHROMIUM_path_rendering": [
-         "glGenPathsCHROMIUM",
-         "glDeletePathsCHROMIUM",
-         "glIsPathCHROMIUM",
-         "glPathCommandsCHROMIUM",
-         "glPathParameterfCHROMIUM",
-         "glPathParameteriCHROMIUM",
-         "glGetPathParameterfvCHROMIUM",
-         "glGetPathParameterivCHROMIUM",
-         "glPathStencilFuncCHROMIUM",
-         "glStencilFillPathCHROMIUM",
-         "glStencilStrokePathCHROMIUM",
-         "glCoverFillPathCHROMIUM",
-         "glCoverStrokePathCHROMIUM",
-         "glStencilThenCoverFillPathCHROMIUM",
-         "glStencilThenCoverStrokePathCHROMIUM",
-         "glCoverFillPathInstancedCHROMIUM",
-         "glCoverStrokePathInstancedCHROMIUM",
-         "glStencilFillPathInstancedCHROMIUM",
-         "glStencilStrokePathInstancedCHROMIUM",
-         "glStencilThenCoverFillPathInstancedCHROMIUM",
-         "glStencilThenCoverStrokePathInstancedCHROMIUM",
-         "glBindFragmentInputLocationCHROMIUM",
-         "glProgramPathFragmentInputGenCHROMIUM"
-    ],
-
-    "GL_EXT_blend_func_extended": [
-        "glBindFragDataLocationIndexedEXT",
-        "glBindFragDataLocationEXT",
-        "glGetProgramResourceLocationIndexEXT",
-        "glGetFragDataIndexEXT"
-    ],
-
     "GL_EXT_texture_storage": [
         "glTexStorage2DEXT",
         "glTexStorage3DEXT"
diff --git a/src/tests/BUILD.gn b/src/tests/BUILD.gn
index e2c8cde..648d2ac 100644
--- a/src/tests/BUILD.gn
+++ b/src/tests/BUILD.gn
@@ -87,53 +87,6 @@
   }
 }
 
-source_set("angle_unittests_main") {
-  testonly = true
-  public_deps = googletest_deps + [ angle_root + ":includes" ]
-  public_configs = [ angle_root + ":internal_config" ]
-
-  if (build_with_chromium) {
-    sources = [
-      "//gpu/angle_unittest_main.cc",
-    ]
-  } else {
-    sources = [
-      "angle_unittests_main.cpp",
-    ]
-  }
-}
-
-# Ideally we would rename this. But not be worth the hassle.
-source_set("angle_end2end_tests_main") {
-  testonly = true
-  public_deps = googletest_deps
-
-  if (build_with_chromium) {
-    sources = [
-      "//gpu/angle_end2end_tests_main.cc",
-    ]
-  } else {
-    sources = [
-      "angle_end2end_tests_main.cpp",
-    ]
-  }
-}
-
-source_set("angle_perftests_main") {
-  testonly = true
-  public_deps = googletest_deps
-
-  if (build_with_chromium) {
-    sources = [
-      "//gpu/angle_perftests_main.cc",
-    ]
-  } else {
-    sources = [
-      "angle_perftests_main.cpp",
-    ]
-  }
-}
-
 # This config adds build-ids to the associated library.
 # -Wl is a special option that indicates that clang should pass the associated
 # option --build-id to the linker. This will cause a build-id section to be added
@@ -155,6 +108,12 @@
     defines = [ "ANGLE_ENABLE_HLSL" ]
   }
 
+  if (build_with_chromium) {
+    sources += [ "//gpu/angle_unittest_main.cc" ]
+  } else {
+    sources += [ "angle_unittests_main.cpp" ]
+  }
+
   if (is_linux && !is_component_build) {
     # Set rpath to find shared libs in a non-component build.
     configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
@@ -165,7 +124,6 @@
            angle_root + ":preprocessor",
            angle_root + ":translator",
            angle_root + ":libfeature_support${angle_libs_suffix}",
-           ":angle_unittests_main",
          ]
 }
 
@@ -197,7 +155,14 @@
       sources += angle_end2end_tests_x11_sources
     }
 
+    if (build_with_chromium) {
+      sources += [ "//gpu/angle_end2end_tests_main.cc" ]
+    } else {
+      sources += [ "angle_end2end_tests_main.cpp" ]
+    }
+
     configs += [
+      angle_root + ":gl_prototypes",
       angle_root + ":internal_config",
       angle_root + ":libANGLE_config",
       angle_root + ":library_name_config",
@@ -208,18 +173,15 @@
       configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
     }
 
-    deps = [
-      angle_root + ":angle_image_util",
-      angle_root + ":angle_util",
-      angle_root + ":angle_util_loader_headers",
-      ":angle_end2end_tests_main",
-    ]
-
-    data_deps = [
-      angle_root + ":libEGL${angle_libs_suffix}",
-      angle_root + ":libGLESv1_CM${angle_libs_suffix}",
-      angle_root + ":libGLESv2${angle_libs_suffix}",
-    ]
+    deps = googletest_deps + [
+             angle_root + ":angle_image_util",
+             angle_root + ":angle_util",
+             angle_root + ":libEGL${angle_libs_suffix}",
+             angle_root + ":libGLESv1_CM${angle_libs_suffix}",
+             angle_root + ":libGLESv2${angle_libs_suffix}",
+             angle_root + ":preprocessor",
+             angle_root + ":translator",
+           ]
   }
 
   import("angle_white_box_tests.gni")
@@ -237,15 +199,23 @@
       sources += angle_white_box_tests_win_sources
     }
 
+    # Share the same main file as end2end_tests.
+    # TODO(jmadill): Probably should rename this if we're sharing.
+    if (build_with_chromium) {
+      sources += [ "//gpu/angle_end2end_tests_main.cc" ]
+    } else {
+      sources += [ "angle_end2end_tests_main.cpp" ]
+    }
+
     if (angle_enable_vulkan) {
       sources += [ "gl_tests/VulkanFormatTablesTest.cpp" ]
       sources += [ "gl_tests/VulkanUniformUpdatesTest.cpp" ]
     }
 
     configs += [
+      angle_root + ":gl_prototypes",
       angle_root + ":internal_config",
       angle_root + ":libANGLE_config",
-      angle_root + ":library_name_config",
     ]
 
     if (is_linux && !is_component_build) {
@@ -253,15 +223,14 @@
       configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
     }
 
-    deps = [
-      angle_root + ":angle_util_static",
-      angle_root + ":libANGLE",
-      angle_root + ":libEGL_static",
-      angle_root + ":libGLESv2_static",
-      angle_root + ":preprocessor",
-      angle_root + ":translator",
-      ":angle_end2end_tests_main",
-    ]
+    deps = googletest_deps + [
+             angle_root + ":angle_util_static",
+             angle_root + ":libANGLE",
+             angle_root + ":libEGL_static",
+             angle_root + ":libGLESv2_static",
+             angle_root + ":preprocessor",
+             angle_root + ":translator",
+           ]
   }
 }
 
@@ -277,14 +246,13 @@
 
     sources = angle_white_box_perf_tests_sources
 
-    deps = [
-      angle_root + ":angle_util_static",
-      angle_root + ":libANGLE",
-      angle_root + ":libEGL_static",
-      angle_root + ":libGLESv2_static",
-      angle_root + "/third_party/jsoncpp:jsoncpp",
-      ":angle_perftests_main",
-    ]
+    deps = googletest_deps + [
+             angle_root + ":angle_util_static",
+             angle_root + ":libANGLE",
+             angle_root + ":libEGL_static",
+             angle_root + ":libGLESv2_static",
+             angle_root + "/third_party/jsoncpp:jsoncpp",
+           ]
 
     if (is_android) {
       use_native_activity = true
@@ -301,10 +269,16 @@
       public_configs = [ "$angle_root/third_party/glslang:glslang_config" ]
     }
 
+    if (build_with_chromium) {
+      sources += [ "//gpu/angle_perftests_main.cc" ]
+    } else {
+      sources += [ "angle_perftests_main.cpp" ]
+    }
+
     configs += [
       angle_root + ":internal_config",
+      angle_root + ":gl_prototypes",
       angle_root + ":libANGLE_config",
-      angle_root + ":library_name_config",
     ]
 
     if (is_linux && !is_component_build) {
@@ -322,29 +296,29 @@
 
     sources = angle_perf_tests_sources
 
-    deps = [
-      angle_root + "/third_party/jsoncpp:jsoncpp",
-      angle_root + ":angle_common",
-      angle_root + ":angle_system_utils",
-      angle_root + ":angle_util",
-      angle_root + ":angle_util_loader_headers",
-      ":angle_perftests_main",
-    ]
-
-    data_deps = [
-      angle_root + ":libEGL${angle_libs_suffix}",
-      angle_root + ":libGLESv2${angle_libs_suffix}",
-    ]
+    deps = googletest_deps + [
+             angle_root + ":angle_common",
+             angle_root + ":angle_util_static",
+             angle_root + ":libEGL${angle_libs_suffix}",
+             angle_root + ":libGLESv2${angle_libs_suffix}",
+             angle_root + "/third_party/jsoncpp:jsoncpp",
+           ]
 
     if (is_android) {
       use_native_activity = true
       configs -= [ "//build/config/android:hide_all_but_jni" ]
     }
 
+    if (build_with_chromium) {
+      sources += [ "//gpu/angle_perftests_main.cc" ]
+    } else {
+      sources += [ "angle_perftests_main.cpp" ]
+    }
+
     configs += [
       angle_root + ":internal_config",
+      angle_root + ":gl_prototypes",
       angle_root + ":libANGLE_config",
-      angle_root + ":library_name_config",
     ]
 
     if (is_linux && !is_component_build) {
@@ -376,6 +350,7 @@
       "COMMON",
       "CONFORM_ALTERNATE_MAIN",
       "NULLWS",
+      "GL_GLEXT_PROTOTYPES",
     ]
 
     cflags = []
@@ -395,29 +370,8 @@
     }
   }
 
-  source_set("angle_gles1_conformance_no_gtest") {
-    configs += [
-      ":angle_gles1_conform_support",
-      angle_root + ":internal_config",
-    ]
-
-    public_configs = [
-      angle_root + ":angle_util_config",
-      angle_root + ":gl_prototypes",
-      angle_root + ":angle_static",
-    ]
-
-    testonly = true
-
-    deps = [
-      angle_root + ":angle_common",
-      angle_root + ":angle_util_static",
-      angle_root + ":libEGL_static",
-      angle_root + ":libGLESv1_CM_static",
-      angle_root + ":libGLESv2_static",
-      angle_root + ":preprocessor",
-      angle_root + ":translator",
-    ]
+  static_library("angle_gles1_conformance_no_gtest") {
+    configs += [ ":angle_gles1_conform_support" ]
 
     sources = [
       "$gles1_conform_root/conform/conform/apfunc.c",
@@ -546,17 +500,18 @@
   }
 
   test("angle_gles1_conformance_tests") {
-    testonly = true
+    deps = googletest_deps + [
+             ":angle_gles1_conformance_no_gtest",
+             angle_root + ":angle_common",
+             angle_root + ":angle_util",
+             angle_root + ":libEGL${angle_libs_suffix}",
+             angle_root + ":libGLESv1_CM${angle_libs_suffix}",
+             angle_root + ":libGLESv2${angle_libs_suffix}",
+             angle_root + ":preprocessor",
+             angle_root + ":translator",
+           ]
 
-    deps = [
-      ":angle_end2end_tests_main",
-      ":angle_gles1_conformance_no_gtest",
-    ]
-
-    include_dirs = [
-      "../../src/tests",
-      angle_root,
-    ]
+    include_dirs = [ "../../src/tests" ]
 
     sources = [
       "gles1_conformance_tests/ConformanceTests.cpp",
@@ -572,8 +527,14 @@
     configs += [
       angle_root + ":internal_config",
       angle_root + ":libANGLE_config",
-      angle_root + ":library_name_config",
+      angle_root + ":gl_prototypes",
     ]
+
+    if (build_with_chromium) {
+      sources += [ "//gpu/angle_end2end_tests_main.cc" ]
+    } else {
+      sources += [ "angle_end2end_tests_main.cpp" ]
+    }
   }
 }
 
@@ -584,21 +545,6 @@
 if (build_angle_deqp_tests) {
   import("deqp.gni")
 
-  source_set("angle_deqp_tests_main") {
-    testonly = true
-    public_deps = googletest_deps
-
-    if (build_with_chromium) {
-      sources = [
-        "//gpu/angle_deqp_tests_main.cc",
-      ]
-    } else {
-      sources = [
-        "deqp_support/angle_deqp_gtest_main.cpp",
-      ]
-    }
-  }
-
   config("angle_deqp_support") {
     include_dirs = deqp_include_dirs
     if (is_win && !is_clang) {
@@ -744,11 +690,10 @@
   source_set("angle_deqp_gtest_support") {
     testonly = true
 
-    public_deps = [
-      angle_root + ":angle_common",
-      angle_root + ":angle_util",
-      ":angle_deqp_tests_main",
-    ]
+    public_deps = googletest_deps + [
+                    angle_root + ":angle_common",
+                    angle_root + ":angle_util",
+                  ]
 
     public_configs = [ ":angle_deqp_gtest_support_config" ]
 
@@ -758,6 +703,12 @@
       libs = [ "Cocoa.framework" ]
     }
 
+    if (build_with_chromium) {
+      sources += [ "//gpu/angle_deqp_tests_main.cc" ]
+    } else {
+      sources += [ "deqp_support/angle_deqp_gtest_main.cpp" ]
+    }
+
     if (!is_android) {
       public_deps += [ angle_root + ":angle_gpu_info_util" ]
     }
diff --git a/src/tests/deqp_support/angle_deqp_gtest.cpp b/src/tests/deqp_support/angle_deqp_gtest.cpp
index a515469..e3b10a2 100644
--- a/src/tests/deqp_support/angle_deqp_gtest.cpp
+++ b/src/tests/deqp_support/angle_deqp_gtest.cpp
@@ -21,7 +21,7 @@
 #include "common/string_utils.h"
 #include "gpu_test_expectations_parser.h"
 #include "platform/Platform.h"
-#include "util/system_utils.h"
+#include "system_utils.h"
 
 namespace
 {
diff --git a/src/tests/deqp_support/angle_deqp_libtester_main.cpp b/src/tests/deqp_support/angle_deqp_libtester_main.cpp
index b792e6ad..526735d 100644
--- a/src/tests/deqp_support/angle_deqp_libtester_main.cpp
+++ b/src/tests/deqp_support/angle_deqp_libtester_main.cpp
@@ -13,6 +13,7 @@
 #include "deMath.h"
 #include "deUniquePtr.hpp"
 #include "platform/Platform.h"
+#include "system_utils.h"
 #include "tcuApp.hpp"
 #include "tcuCommandLine.hpp"
 #include "tcuDefs.hpp"
@@ -20,7 +21,6 @@
 #include "tcuRandomOrderExecutor.h"
 #include "tcuResource.hpp"
 #include "tcuTestLog.hpp"
-#include "util/system_utils.h"
 
 #if (DE_OS == DE_OS_WIN32)
 #    include <Windows.h>
diff --git a/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp b/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
index 232bc02..ab788fe 100644
--- a/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
+++ b/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
@@ -25,13 +25,13 @@
 #include <EGL/egl.h>
 #include <EGL/eglext.h>
 
+#include "OSPixmap.h"
+#include "OSWindow.h"
 #include "deClock.h"
 #include "deMemory.h"
 #include "egluDefs.hpp"
 #include "eglwLibrary.hpp"
 #include "tcuTexture.hpp"
-#include "util/OSPixmap.h"
-#include "util/OSWindow.h"
 
 // clang-format off
 #if (DE_OS == DE_OS_WIN32)
diff --git a/src/tests/deqp_support/tcuANGLEPlatform.cpp b/src/tests/deqp_support/tcuANGLEPlatform.cpp
index 6b4a25b..ca2c6e1 100644
--- a/src/tests/deqp_support/tcuANGLEPlatform.cpp
+++ b/src/tests/deqp_support/tcuANGLEPlatform.cpp
@@ -24,9 +24,9 @@
 #include <EGL/eglext.h>
 
 #include "egluGLContextFactory.hpp"
+#include "system_utils.h"
 #include "tcuANGLENativeDisplayFactory.h"
 #include "tcuNullContextFactory.hpp"
-#include "util/system_utils.h"
 
 static_assert(EGL_DONT_CARE == -1, "Unexpected value for EGL_DONT_CARE");
 
diff --git a/src/tests/egl_tests/EGLBlobCacheTest.cpp b/src/tests/egl_tests/EGLBlobCacheTest.cpp
index cd8b478..24e28f0 100644
--- a/src/tests/egl_tests/EGLBlobCacheTest.cpp
+++ b/src/tests/egl_tests/EGLBlobCacheTest.cpp
@@ -8,11 +8,9 @@
 
 #include <map>
 #include <vector>
-
 #include "common/angleutils.h"
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
 
 using namespace angle;
 
diff --git a/src/tests/egl_tests/EGLContextCompatibilityTest.cpp b/src/tests/egl_tests/EGLContextCompatibilityTest.cpp
index 27535d1..6da1e65 100644
--- a/src/tests/egl_tests/EGLContextCompatibilityTest.cpp
+++ b/src/tests/egl_tests/EGLContextCompatibilityTest.cpp
@@ -10,11 +10,13 @@
 //   rendering works, otherwise it checks an error is generated one MakeCurrent.
 #include <gtest/gtest.h>
 
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
 #include <vector>
 
+#include "OSWindow.h"
 #include "test_utils/ANGLETest.h"
 #include "test_utils/angle_test_configs.h"
-#include "util/OSWindow.h"
 
 using namespace angle;
 
@@ -24,16 +26,16 @@
 const EGLint contextAttribs[] = {EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE};
 }
 
-class EGLContextCompatibilityTest : public EGLTest,
-                                    public testing::WithParamInterface<PlatformParameters>
+class EGLContextCompatibilityTest : public ANGLETest
 {
   public:
     EGLContextCompatibilityTest() : mDisplay(0) {}
 
     void SetUp() override
     {
-        EGLTest::SetUp();
-
+        PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT =
+            reinterpret_cast<PFNEGLGETPLATFORMDISPLAYEXTPROC>(
+                eglGetProcAddress("eglGetPlatformDisplayEXT"));
         ASSERT_TRUE(eglGetPlatformDisplayEXT != nullptr);
 
         EGLint dispattrs[] = {EGL_PLATFORM_ANGLE_TYPE_ANGLE, GetParam().getRenderer(), EGL_NONE};
@@ -98,7 +100,7 @@
 
         EGLint colorComponentType1 = EGL_COLOR_COMPONENT_TYPE_FIXED_EXT;
         EGLint colorComponentType2 = EGL_COLOR_COMPONENT_TYPE_FIXED_EXT;
-        if (IsDisplayExtensionEnabled(mDisplay, "EGL_EXT_pixel_format_float"))
+        if (eglDisplayExtensionEnabled(mDisplay, "EGL_EXT_pixel_format_float"))
         {
             eglGetConfigAttrib(mDisplay, c1, EGL_COLOR_COMPONENT_TYPE_EXT, &colorComponentType1);
             eglGetConfigAttrib(mDisplay, c2, EGL_COLOR_COMPONENT_TYPE_EXT, &colorComponentType2);
@@ -192,7 +194,7 @@
         ASSERT_GL_NO_ERROR();
 
         EGLint surfaceCompontentType = EGL_COLOR_COMPONENT_TYPE_FIXED_EXT;
-        if (IsDisplayExtensionEnabled(mDisplay, "EGL_EXT_pixel_format_float"))
+        if (eglDisplayExtensionEnabled(mDisplay, "EGL_EXT_pixel_format_float"))
         {
             eglGetConfigAttrib(mDisplay, surfaceConfig, EGL_COLOR_COMPONENT_TYPE_EXT,
                                &surfaceCompontentType);
@@ -361,4 +363,4 @@
                        ES2_OPENGL(),
                        ES2_OPENGLES(),
                        ES2_VULKAN());
-#endif  // defined(NDEBUG)
\ No newline at end of file
+#endif
diff --git a/src/tests/egl_tests/EGLContextSharingTest.cpp b/src/tests/egl_tests/EGLContextSharingTest.cpp
index 854c215..7bcde68 100644
--- a/src/tests/egl_tests/EGLContextSharingTest.cpp
+++ b/src/tests/egl_tests/EGLContextSharingTest.cpp
@@ -8,9 +8,11 @@
 
 #include <gtest/gtest.h>
 
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
 #include "test_utils/ANGLETest.h"
 #include "test_utils/angle_test_configs.h"
-#include "util/EGLWindow.h"
 
 using namespace angle;
 
diff --git a/src/tests/egl_tests/EGLDebugTest.cpp b/src/tests/egl_tests/EGLDebugTest.cpp
index 07eeee3..7dcb196 100644
--- a/src/tests/egl_tests/EGLDebugTest.cpp
+++ b/src/tests/egl_tests/EGLDebugTest.cpp
@@ -8,9 +8,11 @@
 
 #include <gtest/gtest.h>
 
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
 #include "test_utils/ANGLETest.h"
 #include "test_utils/angle_test_configs.h"
-#include "util/EGLWindow.h"
 
 namespace angle
 {
diff --git a/src/tests/egl_tests/EGLDeviceTest.cpp b/src/tests/egl_tests/EGLDeviceTest.cpp
index 29e1cc4..7cc585c 100644
--- a/src/tests/egl_tests/EGLDeviceTest.cpp
+++ b/src/tests/egl_tests/EGLDeviceTest.cpp
@@ -14,15 +14,13 @@
 
 #include <d3d11.h>
 
+#include "OSWindow.h"
+#include "com_utils.h"
 #include "test_utils/ANGLETest.h"
-#include "util/EGLWindow.h"
-#include "util/OSWindow.h"
-#include "util/com_utils.h"
-#include "util/gles_loader_autogen.h"
 
 using namespace angle;
 
-class EGLDeviceCreationTest : public EGLTest
+class EGLDeviceCreationTest : public testing::Test
 {
   protected:
     EGLDeviceCreationTest()
@@ -41,8 +39,6 @@
 
     void SetUp() override
     {
-        EGLTest::SetUp();
-
         mD3D11Module = LoadLibrary(TEXT("d3d11.dll"));
         if (mD3D11Module == nullptr)
         {
@@ -233,8 +229,13 @@
 
     CreateD3D11Device();
 
+    PFNEGLCREATEDEVICEANGLEPROC createDeviceANGLE =
+        (PFNEGLCREATEDEVICEANGLEPROC)eglGetProcAddress("eglCreateDeviceANGLE");
+    PFNEGLRELEASEDEVICEANGLEPROC releaseDeviceANGLE =
+        (PFNEGLRELEASEDEVICEANGLEPROC)eglGetProcAddress("eglReleaseDeviceANGLE");
+
     EGLDeviceEXT eglDevice =
-        eglCreateDeviceANGLE(EGL_D3D11_DEVICE_ANGLE, reinterpret_cast<void *>(mDevice), nullptr);
+        createDeviceANGLE(EGL_D3D11_DEVICE_ANGLE, reinterpret_cast<void *>(mDevice), nullptr);
     ASSERT_NE(EGL_NO_DEVICE_EXT, eglDevice);
     ASSERT_EGL_SUCCESS();
 
@@ -245,7 +246,7 @@
     ID3D11Device *queriedDevice = reinterpret_cast<ID3D11Device *>(deviceAttrib);
     ASSERT_EQ(mFeatureLevel, queriedDevice->GetFeatureLevel());
 
-    eglReleaseDeviceANGLE(eglDevice);
+    releaseDeviceANGLE(eglDevice);
 }
 
 // Test that creating a EGLDeviceEXT from D3D11 device works, and can be used for rendering
@@ -448,6 +449,9 @@
   protected:
     EGLDeviceQueryTest()
     {
+        mQueryDisplayAttribEXT = nullptr;
+        mQueryDeviceAttribEXT  = nullptr;
+        mQueryDeviceStringEXT  = nullptr;
     }
 
     void SetUp() override
@@ -456,20 +460,29 @@
 
         const char *extensionString =
             static_cast<const char *>(eglQueryString(getEGLWindow()->getDisplay(), EGL_EXTENSIONS));
+        if (strstr(extensionString, "EGL_EXT_device_query"))
+        {
+            mQueryDisplayAttribEXT =
+                (PFNEGLQUERYDISPLAYATTRIBEXTPROC)eglGetProcAddress("eglQueryDisplayAttribEXT");
+            mQueryDeviceAttribEXT =
+                (PFNEGLQUERYDEVICEATTRIBEXTPROC)eglGetProcAddress("eglQueryDeviceAttribEXT");
+            mQueryDeviceStringEXT =
+                (PFNEGLQUERYDEVICESTRINGEXTPROC)eglGetProcAddress("eglQueryDeviceStringEXT");
+        }
 
-        if (!eglQueryDeviceStringEXT)
+        if (!mQueryDeviceStringEXT)
         {
             FAIL() << "ANGLE extension EGL_EXT_device_query export eglQueryDeviceStringEXT was not "
                       "found";
         }
 
-        if (!eglQueryDisplayAttribEXT)
+        if (!mQueryDisplayAttribEXT)
         {
             FAIL() << "ANGLE extension EGL_EXT_device_query export eglQueryDisplayAttribEXT was "
                       "not found";
         }
 
-        if (!eglQueryDeviceAttribEXT)
+        if (!mQueryDeviceAttribEXT)
         {
             FAIL() << "ANGLE extension EGL_EXT_device_query export eglQueryDeviceAttribEXT was not "
                       "found";
@@ -477,14 +490,20 @@
 
         EGLAttrib angleDevice = 0;
         EXPECT_EGL_TRUE(
-            eglQueryDisplayAttribEXT(getEGLWindow()->getDisplay(), EGL_DEVICE_EXT, &angleDevice));
+            mQueryDisplayAttribEXT(getEGLWindow()->getDisplay(), EGL_DEVICE_EXT, &angleDevice));
         extensionString = static_cast<const char *>(
-            eglQueryDeviceStringEXT(reinterpret_cast<EGLDeviceEXT>(angleDevice), EGL_EXTENSIONS));
+            mQueryDeviceStringEXT(reinterpret_cast<EGLDeviceEXT>(angleDevice), EGL_EXTENSIONS));
         if (strstr(extensionString, "EGL_ANGLE_device_d3d") == nullptr)
         {
             FAIL() << "ANGLE extension EGL_ANGLE_device_d3d was not found";
         }
     }
+
+    void TearDown() override { ANGLETest::TearDown(); }
+
+    PFNEGLQUERYDISPLAYATTRIBEXTPROC mQueryDisplayAttribEXT;
+    PFNEGLQUERYDEVICEATTRIBEXTPROC mQueryDeviceAttribEXT;
+    PFNEGLQUERYDEVICESTRINGEXTPROC mQueryDeviceStringEXT;
 };
 
 // This test attempts to obtain a D3D11 device and a D3D9 device using the eglQueryDeviceAttribEXT
@@ -498,9 +517,9 @@
     if (getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE)
     {
         EXPECT_EGL_TRUE(
-            eglQueryDisplayAttribEXT(getEGLWindow()->getDisplay(), EGL_DEVICE_EXT, &angleDevice));
-        EXPECT_EGL_TRUE(eglQueryDeviceAttribEXT(reinterpret_cast<EGLDeviceEXT>(angleDevice),
-                                                EGL_D3D11_DEVICE_ANGLE, &device));
+            mQueryDisplayAttribEXT(getEGLWindow()->getDisplay(), EGL_DEVICE_EXT, &angleDevice));
+        EXPECT_EGL_TRUE(mQueryDeviceAttribEXT(reinterpret_cast<EGLDeviceEXT>(angleDevice),
+                                              EGL_D3D11_DEVICE_ANGLE, &device));
         ID3D11Device *d3d11Device = reinterpret_cast<ID3D11Device *>(device);
         IDXGIDevice *dxgiDevice   = DynamicCastComObject<IDXGIDevice>(d3d11Device);
         EXPECT_TRUE(dxgiDevice != nullptr);
@@ -510,9 +529,9 @@
     if (getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE)
     {
         EXPECT_EGL_TRUE(
-            eglQueryDisplayAttribEXT(getEGLWindow()->getDisplay(), EGL_DEVICE_EXT, &angleDevice));
-        EXPECT_EGL_TRUE(eglQueryDeviceAttribEXT(reinterpret_cast<EGLDeviceEXT>(angleDevice),
-                                                EGL_D3D9_DEVICE_ANGLE, &device));
+            mQueryDisplayAttribEXT(getEGLWindow()->getDisplay(), EGL_DEVICE_EXT, &angleDevice));
+        EXPECT_EGL_TRUE(mQueryDeviceAttribEXT(reinterpret_cast<EGLDeviceEXT>(angleDevice),
+                                              EGL_D3D9_DEVICE_ANGLE, &device));
         IDirect3DDevice9 *d3d9Device = reinterpret_cast<IDirect3DDevice9 *>(device);
         IDirect3D9 *d3d9             = nullptr;
         EXPECT_EQ(S_OK, d3d9Device->GetDirect3D(&d3d9));
@@ -532,17 +551,17 @@
     if (getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE)
     {
         EXPECT_EGL_TRUE(
-            eglQueryDisplayAttribEXT(getEGLWindow()->getDisplay(), EGL_DEVICE_EXT, &angleDevice));
-        EXPECT_EGL_FALSE(eglQueryDeviceAttribEXT(reinterpret_cast<EGLDeviceEXT>(angleDevice),
-                                                 EGL_D3D9_DEVICE_ANGLE, &device));
+            mQueryDisplayAttribEXT(getEGLWindow()->getDisplay(), EGL_DEVICE_EXT, &angleDevice));
+        EXPECT_EGL_FALSE(mQueryDeviceAttribEXT(reinterpret_cast<EGLDeviceEXT>(angleDevice),
+                                               EGL_D3D9_DEVICE_ANGLE, &device));
     }
 
     if (getPlatformRenderer() == EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE)
     {
         EXPECT_EGL_TRUE(
-            eglQueryDisplayAttribEXT(getEGLWindow()->getDisplay(), EGL_DEVICE_EXT, &angleDevice));
-        EXPECT_EGL_FALSE(eglQueryDeviceAttribEXT(reinterpret_cast<EGLDeviceEXT>(angleDevice),
-                                                 EGL_D3D11_DEVICE_ANGLE, &device));
+            mQueryDisplayAttribEXT(getEGLWindow()->getDisplay(), EGL_DEVICE_EXT, &angleDevice));
+        EXPECT_EGL_FALSE(mQueryDeviceAttribEXT(reinterpret_cast<EGLDeviceEXT>(angleDevice),
+                                               EGL_D3D11_DEVICE_ANGLE, &device));
     }
 }
 
@@ -551,7 +570,7 @@
 //    - extracting the EGLDeviceEXT from the EGLDisplay
 //    - calling getPlatformDisplayEXT with this EGLDeviceEXT
 // results in the same EGLDisplay being returned from getPlatformDisplayEXT both times
-TEST_P(EGLDeviceQueryTest, GetPlatformDisplayDeviceReuse)
+TEST_P(EGLDeviceQueryTest, getPlatformDisplayDeviceReuse)
 {
     EGLAttrib eglDevice = 0;
     EXPECT_EGL_TRUE(
diff --git a/src/tests/egl_tests/EGLDirectCompositionTest.cpp b/src/tests/egl_tests/EGLDirectCompositionTest.cpp
index 9df0a69..da69fe9 100644
--- a/src/tests/egl_tests/EGLDirectCompositionTest.cpp
+++ b/src/tests/egl_tests/EGLDirectCompositionTest.cpp
@@ -7,6 +7,8 @@
 // EGLDirectCompositionTest.cpp:
 //   Tests pertaining to DirectComposition and WindowsUIComposition.
 
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
 #include <d3d11.h>
 #include "test_utils/ANGLETest.h"
 
@@ -19,10 +21,10 @@
 #include <wrl.h>
 #include <memory>
 
+#include "OSWindow.h"
+#include "com_utils.h"
 #include "libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h"
 #include "test_utils/ANGLETest.h"
-#include "util/OSWindow.h"
-#include "util/com_utils.h"
 
 using namespace angle;
 using namespace ABI::Windows::System;
diff --git a/src/tests/egl_tests/EGLIOSurfaceClientBufferTest.cpp b/src/tests/egl_tests/EGLIOSurfaceClientBufferTest.cpp
index 3984067..ce459fe 100644
--- a/src/tests/egl_tests/EGLIOSurfaceClientBufferTest.cpp
+++ b/src/tests/egl_tests/EGLIOSurfaceClientBufferTest.cpp
@@ -10,7 +10,6 @@
 
 #include "common/mathutil.h"
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
 
 #include <CoreFoundation/CoreFoundation.h>
 #include <IOSurface/IOSurface.h>
diff --git a/src/tests/egl_tests/EGLPresentPathD3D11Test.cpp b/src/tests/egl_tests/EGLPresentPathD3D11Test.cpp
index 988b498..b234d58 100644
--- a/src/tests/egl_tests/EGLPresentPathD3D11Test.cpp
+++ b/src/tests/egl_tests/EGLPresentPathD3D11Test.cpp
@@ -8,13 +8,12 @@
 
 #include <d3d11.h>
 #include <cstdint>
-
-#include "util/OSWindow.h"
-#include "util/com_utils.h"
+#include "OSWindow.h"
+#include "com_utils.h"
 
 using namespace angle;
 
-class EGLPresentPathD3D11 : public EGLTest, public testing::WithParamInterface<PlatformParameters>
+class EGLPresentPathD3D11 : public testing::TestWithParam<PlatformParameters>
 {
   protected:
     EGLPresentPathD3D11()
@@ -29,8 +28,6 @@
 
     void SetUp() override
     {
-        EGLTest::SetUp();
-
         mOSWindow    = CreateOSWindow();
         mWindowWidth = 64;
         mOSWindow->initialize("EGLPresentPathD3D11", mWindowWidth, mWindowWidth);
@@ -40,6 +37,15 @@
     {
         int clientVersion = GetParam().majorVersion;
 
+        const char *extensionString =
+            static_cast<const char *>(eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS));
+        ASSERT_NE(nullptr, strstr(extensionString, "EGL_ANGLE_experimental_present_path"));
+
+        PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT =
+            reinterpret_cast<PFNEGLGETPLATFORMDISPLAYEXTPROC>(
+                eglGetProcAddress("eglGetPlatformDisplayEXT"));
+        ASSERT_NE(nullptr, eglGetPlatformDisplayEXT);
+
         // Set up EGL Display
         EGLint displayAttribs[] = {EGL_PLATFORM_ANGLE_TYPE_ANGLE,
                                    GetParam().getRenderer(),
diff --git a/src/tests/egl_tests/EGLProgramCacheControlTest.cpp b/src/tests/egl_tests/EGLProgramCacheControlTest.cpp
index 17bafac..45f46fa 100644
--- a/src/tests/egl_tests/EGLProgramCacheControlTest.cpp
+++ b/src/tests/egl_tests/EGLProgramCacheControlTest.cpp
@@ -9,7 +9,6 @@
 #include "common/angleutils.h"
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
 
 using namespace angle;
 
diff --git a/src/tests/egl_tests/EGLQueryContextTest.cpp b/src/tests/egl_tests/EGLQueryContextTest.cpp
index 601ab84..f030604 100644
--- a/src/tests/egl_tests/EGLQueryContextTest.cpp
+++ b/src/tests/egl_tests/EGLQueryContextTest.cpp
@@ -6,19 +6,25 @@
 
 #include <gtest/gtest.h>
 
-#include "test_utils/ANGLETest.h"
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
+#include "test_utils/angle_test_configs.h"
 
 using namespace angle;
 
-class EGLQueryContextTest : public EGLTest, public testing::WithParamInterface<PlatformParameters>
+class EGLQueryContextTest : public testing::TestWithParam<PlatformParameters>
 {
   public:
     void SetUp() override
     {
-        EGLTest::SetUp();
-
         int clientVersion = GetParam().majorVersion;
 
+        PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT =
+            reinterpret_cast<PFNEGLGETPLATFORMDISPLAYEXTPROC>(
+                eglGetProcAddress("eglGetPlatformDisplayEXT"));
+        EXPECT_TRUE(eglGetPlatformDisplayEXT != nullptr);
+
         EGLint dispattrs[] = {EGL_PLATFORM_ANGLE_TYPE_ANGLE, GetParam().getRenderer(), EGL_NONE};
         mDisplay           = eglGetPlatformDisplayEXT(
             EGL_PLATFORM_ANGLE_ANGLE, reinterpret_cast<void *>(EGL_DEFAULT_DISPLAY), dispattrs);
diff --git a/src/tests/egl_tests/EGLRobustnessTest.cpp b/src/tests/egl_tests/EGLRobustnessTest.cpp
index ffda16c..26215b8 100644
--- a/src/tests/egl_tests/EGLRobustnessTest.cpp
+++ b/src/tests/egl_tests/EGLRobustnessTest.cpp
@@ -8,23 +8,26 @@
 
 #include <gtest/gtest.h>
 
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
+#include "OSWindow.h"
 #include "test_utils/ANGLETest.h"
-#include "util/OSWindow.h"
 
 using namespace angle;
 
-class EGLRobustnessTest : public EGLTest,
-                          public ::testing::WithParamInterface<angle::PlatformParameters>
+class EGLRobustnessTest : public ::testing::TestWithParam<angle::PlatformParameters>
 {
   public:
     void SetUp() override
     {
-        EGLTest::SetUp();
-
         mOSWindow = CreateOSWindow();
         mOSWindow->initialize("EGLRobustnessTest", 500, 500);
         mOSWindow->setVisible(true);
 
+        auto eglGetPlatformDisplayEXT = reinterpret_cast<PFNEGLGETPLATFORMDISPLAYEXTPROC>(
+            eglGetProcAddress("eglGetPlatformDisplayEXT"));
+
         const auto &platform = GetParam().eglParameters;
 
         std::vector<EGLint> displayAttributes;
@@ -96,6 +99,10 @@
 
         const char *extensionString = reinterpret_cast<const char *>(glGetString(GL_EXTENSIONS));
         ASSERT_NE(nullptr, strstr(extensionString, "GL_ANGLE_instanced_arrays"));
+
+        mDrawElementsInstancedANGLE =
+            (PFNGLDRAWELEMENTSINSTANCEDANGLEPROC)eglGetProcAddress("glDrawElementsInstancedANGLE");
+        ASSERT_NE(nullptr, mDrawElementsInstancedANGLE);
     }
 
     void forceContextReset()
@@ -134,16 +141,17 @@
         glViewport(0, 0, mOSWindow->getWidth(), mOSWindow->getHeight());
         glClearColor(1.0, 0.0, 0.0, 1.0);
         glClear(GL_COLOR_BUFFER_BIT);
-        glDrawElementsInstancedANGLE(GL_TRIANGLES, kNumQuads * 6, GL_UNSIGNED_SHORT, indices.data(),
-                                     10000);
+        mDrawElementsInstancedANGLE(GL_TRIANGLES, kNumQuads * 6, GL_UNSIGNED_SHORT, indices.data(),
+                                    10000);
 
         glFinish();
     }
 
   protected:
-    EGLDisplay mDisplay = EGL_NO_DISPLAY;
-    EGLSurface mWindow  = EGL_NO_SURFACE;
-    bool mInitialized   = false;
+    EGLDisplay mDisplay                                             = EGL_NO_DISPLAY;
+    EGLSurface mWindow                                              = EGL_NO_SURFACE;
+    bool mInitialized                                               = false;
+    PFNGLDRAWELEMENTSINSTANCEDANGLEPROC mDrawElementsInstancedANGLE = nullptr;
 
   private:
     EGLContext mContext = EGL_NO_CONTEXT;
diff --git a/src/tests/egl_tests/EGLSanityCheckTest.cpp b/src/tests/egl_tests/EGLSanityCheckTest.cpp
index e47cbe8..5c19eb8 100644
--- a/src/tests/egl_tests/EGLSanityCheckTest.cpp
+++ b/src/tests/egl_tests/EGLSanityCheckTest.cpp
@@ -11,11 +11,8 @@
 
 #include "test_utils/ANGLETest.h"
 
-class EGLSanityCheckTest : public EGLTest
-{};
-
 // Checks the tests are running against ANGLE
-TEST_F(EGLSanityCheckTest, IsRunningOnANGLE)
+TEST(EGLSanityCheckTest, IsRunningOnANGLE)
 {
     const char *extensionString =
         static_cast<const char *>(eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS));
@@ -23,13 +20,17 @@
 }
 
 // Checks that getting function pointer works
-TEST_F(EGLSanityCheckTest, HasGetPlatformDisplayEXT)
+TEST(EGLSanityCheckTest, HasGetPlatformDisplayEXT)
 {
+    PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT =
+        reinterpret_cast<PFNEGLGETPLATFORMDISPLAYEXTPROC>(
+            eglGetProcAddress("eglGetPlatformDisplayEXT"));
+
     ASSERT_NE(eglGetPlatformDisplayEXT, nullptr);
 }
 
 // Checks that calling GetProcAddress for a non-existant function fails.
-TEST_F(EGLSanityCheckTest, GetProcAddressNegativeTest)
+TEST(EGLSanityCheckTest, GetProcAddressNegativeTest)
 {
     auto check = eglGetProcAddress("WigglyWombats");
     EXPECT_EQ(nullptr, check);
diff --git a/src/tests/egl_tests/EGLStreamTest.cpp b/src/tests/egl_tests/EGLStreamTest.cpp
index 3310be3..cfa27a4 100644
--- a/src/tests/egl_tests/EGLStreamTest.cpp
+++ b/src/tests/egl_tests/EGLStreamTest.cpp
@@ -11,11 +11,10 @@
 
 #include <vector>
 
+#include "OSWindow.h"
 #include "media/yuvtest.inl"
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
-#include "util/OSWindow.h"
 
 using namespace angle;
 
diff --git a/src/tests/egl_tests/EGLSurfaceTest.cpp b/src/tests/egl_tests/EGLSurfaceTest.cpp
index 875af46..9fc79a8 100644
--- a/src/tests/egl_tests/EGLSurfaceTest.cpp
+++ b/src/tests/egl_tests/EGLSurfaceTest.cpp
@@ -11,9 +11,8 @@
 
 #include <vector>
 
+#include "OSWindow.h"
 #include "test_utils/ANGLETest.h"
-#include "util/EGLWindow.h"
-#include "util/OSWindow.h"
 
 #if defined(ANGLE_ENABLE_D3D11)
 #    define INITGUID
@@ -26,7 +25,7 @@
 namespace
 {
 
-class EGLSurfaceTest : public EGLTest
+class EGLSurfaceTest : public testing::Test
 {
   protected:
     EGLSurfaceTest()
@@ -40,8 +39,6 @@
 
     void SetUp() override
     {
-        EGLTest::SetUp();
-
         mOSWindow = CreateOSWindow();
         mOSWindow->initialize("EGLSurfaceTest", 64, 64);
     }
diff --git a/src/tests/egl_tests/EGLSurfacelessContextTest.cpp b/src/tests/egl_tests/EGLSurfacelessContextTest.cpp
index e788fa6..ef42f1a 100644
--- a/src/tests/egl_tests/EGLSurfacelessContextTest.cpp
+++ b/src/tests/egl_tests/EGLSurfacelessContextTest.cpp
@@ -9,6 +9,9 @@
 
 #include <gtest/gtest.h>
 
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
 #include "test_utils/ANGLETest.h"
 #include "test_utils/angle_test_configs.h"
 #include "test_utils/gl_raii.h"
@@ -25,7 +28,10 @@
 
     void SetUp() override
     {
-        ANGLETest::SetUp();
+        PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT =
+            reinterpret_cast<PFNEGLGETPLATFORMDISPLAYEXTPROC>(
+                eglGetProcAddress("eglGetPlatformDisplayEXT"));
+        ASSERT_TRUE(eglGetPlatformDisplayEXT != nullptr);
 
         EGLint dispattrs[] = {EGL_PLATFORM_ANGLE_TYPE_ANGLE, GetParam().getRenderer(), EGL_NONE};
         mDisplay           = eglGetPlatformDisplayEXT(
diff --git a/src/tests/egl_tests/EGLSyncControlTest.cpp b/src/tests/egl_tests/EGLSyncControlTest.cpp
index 33855b4..ef6cb04 100644
--- a/src/tests/egl_tests/EGLSyncControlTest.cpp
+++ b/src/tests/egl_tests/EGLSyncControlTest.cpp
@@ -7,11 +7,13 @@
 // EGLSyncControlTest.cpp:
 //   Tests pertaining to eglGetSyncValuesCHROMIUM.
 
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
 #include <d3d11.h>
 
+#include "OSWindow.h"
+#include "com_utils.h"
 #include "test_utils/ANGLETest.h"
-#include "util/OSWindow.h"
-#include "util/com_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/egl_tests/EGLThreadTest.cpp b/src/tests/egl_tests/EGLThreadTest.cpp
index bf9d6f4..965f21a 100644
--- a/src/tests/egl_tests/EGLThreadTest.cpp
+++ b/src/tests/egl_tests/EGLThreadTest.cpp
@@ -5,14 +5,15 @@
 //
 // EGLThreadTest.h: Tests multi-threaded uses of EGL.
 
-#include <gtest/gtest.h>
-
-#include "test_utils/ANGLETest.h"
-#include "util/system_utils.h"
+#include "gtest/gtest.h"
+#include "system_utils.h"
 
 #include <thread>
 
-class EGLThreadTest : public EGLTest
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
+class EGLThreadTest : public testing::Test
 {
   public:
     void threadingTest();
diff --git a/src/tests/egl_tests/EGLX11VisualTest.cpp b/src/tests/egl_tests/EGLX11VisualTest.cpp
index c6e3250..317df69 100644
--- a/src/tests/egl_tests/EGLX11VisualTest.cpp
+++ b/src/tests/egl_tests/EGLX11VisualTest.cpp
@@ -12,9 +12,9 @@
 #include <EGL/eglext.h>
 #include <X11/Xlib.h>
 
+#include "OSWindow.h"
 #include "test_utils/ANGLETest.h"
-#include "util/OSWindow.h"
-#include "util/x11/X11Window.h"
+#include "x11/X11Window.h"
 
 using namespace angle;
 
@@ -24,13 +24,14 @@
 const EGLint contextAttribs[] = {EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE};
 }
 
-class EGLX11VisualHintTest : public EGLTest,
-                             public ::testing::WithParamInterface<angle::PlatformParameters>
+class EGLX11VisualHintTest : public ::testing::TestWithParam<angle::PlatformParameters>
 {
   public:
     void SetUp() override
     {
-        EGLTest::SetUp();
+        mEglGetPlatformDisplayEXT = reinterpret_cast<PFNEGLGETPLATFORMDISPLAYEXTPROC>(
+            eglGetProcAddress("eglGetPlatformDisplayEXT"));
+
         mDisplay = XOpenDisplay(nullptr);
     }
 
@@ -67,11 +68,12 @@
             }
         }
 
-        EXPECT_TRUE(false);
+        UNREACHABLE();
         return -1;
     }
 
   protected:
+    PFNEGLGETPLATFORMDISPLAYEXTPROC mEglGetPlatformDisplayEXT;
     Display *mDisplay;
 };
 
@@ -82,7 +84,7 @@
     auto attributes                   = getDisplayAttributes(gInvalidVisualId);
 
     EGLDisplay display =
-        eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, attributes.data());
+        mEglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, attributes.data());
     ASSERT_TRUE(display != EGL_NO_DISPLAY);
 
     ASSERT_TRUE(EGL_FALSE == eglInitialize(display, nullptr, nullptr));
@@ -107,7 +109,7 @@
 
     auto attributes = getDisplayAttributes(visualId);
     EGLDisplay display =
-        eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, attributes.data());
+        mEglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, attributes.data());
     ASSERT_NE(EGL_NO_DISPLAY, display);
 
     ASSERT_TRUE(EGL_TRUE == eglInitialize(display, nullptr, nullptr));
@@ -180,7 +182,7 @@
 
     auto attributes = getDisplayAttributes(visualId);
     EGLDisplay display =
-        eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, attributes.data());
+        mEglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, attributes.data());
     ASSERT_NE(EGL_NO_DISPLAY, display);
 
     ASSERT_TRUE(EGL_TRUE == eglInitialize(display, nullptr, nullptr));
diff --git a/src/tests/gl_tests/AttributeLayoutTest.cpp b/src/tests/gl_tests/AttributeLayoutTest.cpp
index 1feceee..c21ae16 100644
--- a/src/tests/gl_tests/AttributeLayoutTest.cpp
+++ b/src/tests/gl_tests/AttributeLayoutTest.cpp
@@ -167,7 +167,7 @@
 template <class T>
 void Store(double value, void *dest)
 {
-    T v = static_cast<T>(value);
+    T v = value;
     memcpy(dest, &v, sizeof(v));
 }
 
diff --git a/src/tests/gl_tests/BindUniformLocationTest.cpp b/src/tests/gl_tests/BindUniformLocationTest.cpp
index 5a561c0..d6fab5e 100644
--- a/src/tests/gl_tests/BindUniformLocationTest.cpp
+++ b/src/tests/gl_tests/BindUniformLocationTest.cpp
@@ -29,6 +29,13 @@
         setConfigAlphaBits(8);
     }
 
+    void SetUp() override
+    {
+        ANGLETest::SetUp();
+        mBindUniformLocation = reinterpret_cast<PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC>(
+            eglGetProcAddress("glBindUniformLocationCHROMIUM"));
+    }
+
     void TearDown() override
     {
         if (mProgram != 0)
@@ -38,6 +45,11 @@
         ANGLETest::TearDown();
     }
 
+    typedef void(GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC)(GLuint mProgram,
+                                                                    GLint location,
+                                                                    const GLchar *name);
+    PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC mBindUniformLocation = nullptr;
+
     GLuint mProgram = 0;
 };
 
@@ -46,6 +58,8 @@
 {
     ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_CHROMIUM_bind_uniform_location"));
 
+    ASSERT_NE(mBindUniformLocation, nullptr);
+
     constexpr char kFS[] = R"(precision mediump float;
 uniform vec4 u_colorC;
 uniform vec4 u_colorB[2];
@@ -60,9 +74,9 @@
     GLint colorCLocation = 5;
 
     mProgram = CompileProgram(essl1_shaders::vs::Simple(), kFS, [&](GLuint program) {
-        glBindUniformLocationCHROMIUM(program, colorALocation, "u_colorA");
-        glBindUniformLocationCHROMIUM(program, colorBLocation, "u_colorB[0]");
-        glBindUniformLocationCHROMIUM(program, colorCLocation, "u_colorC");
+        mBindUniformLocation(program, colorALocation, "u_colorA");
+        mBindUniformLocation(program, colorBLocation, "u_colorB[0]");
+        mBindUniformLocation(program, colorCLocation, "u_colorC");
     });
     ASSERT_NE(0u, mProgram);
 
@@ -87,6 +101,8 @@
 {
     ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_CHROMIUM_bind_uniform_location"));
 
+    ASSERT_NE(mBindUniformLocation, nullptr);
+
     constexpr char kFS[] = R"(precision mediump float;
 uniform vec4 u_colorA;
 uniform vec4 u_colorB[2];
@@ -101,9 +117,9 @@
     GLint samplerLocation = 1;
 
     mProgram = CompileProgram(essl1_shaders::vs::Simple(), kFS, [&](GLuint program) {
-        glBindUniformLocationCHROMIUM(program, colorALocation, "u_colorA");
-        glBindUniformLocationCHROMIUM(program, colorBLocation, "u_colorB[0]");
-        glBindUniformLocationCHROMIUM(program, samplerLocation, "u_sampler");
+        mBindUniformLocation(program, colorALocation, "u_colorA");
+        mBindUniformLocation(program, colorBLocation, "u_colorB[0]");
+        mBindUniformLocation(program, samplerLocation, "u_sampler");
     });
     ASSERT_NE(0u, mProgram);
 
@@ -136,6 +152,8 @@
 {
     ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_CHROMIUM_bind_uniform_location"));
 
+    ASSERT_NE(nullptr, mBindUniformLocation);
+
     constexpr char kFS[] =
         R"(precision mediump float;
         uniform vec4 u_colorA;
@@ -157,16 +175,16 @@
     glAttachShader(mProgram, fs);
     glDeleteShader(fs);
 
-    glBindUniformLocationCHROMIUM(mProgram, colorALocation, "u_colorA");
+    mBindUniformLocation(mProgram, colorALocation, "u_colorA");
     // Bind u_colorB to location a, causing conflicts, link should fail.
-    glBindUniformLocationCHROMIUM(mProgram, colorALocation, "u_colorB");
+    mBindUniformLocation(mProgram, colorALocation, "u_colorB");
     glLinkProgram(mProgram);
     GLint linked = 0;
     glGetProgramiv(mProgram, GL_LINK_STATUS, &linked);
     ASSERT_EQ(0, linked);
 
     // Bind u_colorB to location b, no conflicts, link should succeed.
-    glBindUniformLocationCHROMIUM(mProgram, colorBLocation, "u_colorB");
+    mBindUniformLocation(mProgram, colorBLocation, "u_colorB");
     glLinkProgram(mProgram);
     linked = 0;
     glGetProgramiv(mProgram, GL_LINK_STATUS, &linked);
@@ -178,6 +196,8 @@
 {
     ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_CHROMIUM_bind_uniform_location"));
 
+    ASSERT_NE(nullptr, mBindUniformLocation);
+
     constexpr char kVS[] =
         R"(attribute vec4 a_position;
         attribute vec2 a_texCoord;
@@ -224,12 +244,12 @@
     int colorCLocation     = counter++;
 
     mProgram = CompileProgram(kVS, kFS, [&](GLuint program) {
-        glBindUniformLocationCHROMIUM(program, matrixLocation, "matrix");
-        glBindUniformLocationCHROMIUM(program, colorALocation, "color_a");
-        glBindUniformLocationCHROMIUM(program, colorBLocation, "color_b");
-        glBindUniformLocationCHROMIUM(program, alphaLocation, "alpha");
-        glBindUniformLocationCHROMIUM(program, multiplierLocation, "multiplier");
-        glBindUniformLocationCHROMIUM(program, colorCLocation, "color_c");
+        mBindUniformLocation(program, matrixLocation, "matrix");
+        mBindUniformLocation(program, colorALocation, "color_a");
+        mBindUniformLocation(program, colorBLocation, "color_b");
+        mBindUniformLocation(program, alphaLocation, "alpha");
+        mBindUniformLocation(program, multiplierLocation, "multiplier");
+        mBindUniformLocation(program, colorCLocation, "color_c");
     });
     ASSERT_NE(0u, mProgram);
 
@@ -267,7 +287,7 @@
 {
     ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_CHROMIUM_bind_uniform_location"));
 
-    ASSERT_NE(nullptr, glBindUniformLocationCHROMIUM);
+    ASSERT_NE(nullptr, mBindUniformLocation);
 
     constexpr char kFS[] = R"(precision mediump float;
 uniform vec4 u_colorA;
@@ -283,10 +303,10 @@
     const GLint unboundLocation     = 6;
 
     mProgram = CompileProgram(essl1_shaders::vs::Simple(), kFS, [&](GLuint program) {
-        glBindUniformLocationCHROMIUM(program, colorULocation, "u_colorU");
+        mBindUniformLocation(program, colorULocation, "u_colorU");
         // The non-existing uniform should behave like existing, but optimized away
         // uniform.
-        glBindUniformLocationCHROMIUM(program, nonexistingLocation, "nonexisting");
+        mBindUniformLocation(program, nonexistingLocation, "nonexisting");
         // Let A and C be assigned automatic locations.
     });
     ASSERT_NE(0u, mProgram);
@@ -351,6 +371,8 @@
 {
     ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_CHROMIUM_bind_uniform_location"));
 
+    ASSERT_NE(nullptr, mBindUniformLocation);
+
     constexpr char kFS[] =
         R"(uniform sampler2D tex;
         void main()
@@ -361,7 +383,7 @@
     const GLuint texLocation = 54;
 
     mProgram = CompileProgram(essl1_shaders::vs::Simple(), kFS, [&](GLuint program) {
-        glBindUniformLocationCHROMIUM(program, texLocation, "tex");
+        mBindUniformLocation(program, texLocation, "tex");
     });
     ASSERT_NE(0u, mProgram);
 
@@ -376,6 +398,8 @@
 {
     ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_CHROMIUM_bind_uniform_location"));
 
+    ASSERT_NE(nullptr, mBindUniformLocation);
+
     constexpr char kFS[] =
         R"(precision mediump float;
         uniform vec4 a;
@@ -388,8 +412,8 @@
     const GLuint location = 54;
 
     mProgram = CompileProgram(essl1_shaders::vs::Zero(), kFS, [&](GLuint program) {
-        glBindUniformLocationCHROMIUM(program, location, "a");
-        glBindUniformLocationCHROMIUM(program, location, "b");
+        mBindUniformLocation(program, location, "a");
+        mBindUniformLocation(program, location, "b");
     });
     ASSERT_NE(0u, mProgram);
 
@@ -409,7 +433,7 @@
                                         GLint uniformLocation)
     {
         mProgram = CompileProgram(vs, fs, [&](GLuint program) {
-            glBindUniformLocationCHROMIUM(program, uniformLocation, uniformName);
+            mBindUniformLocation(program, uniformLocation, uniformName);
         });
     }
 };
diff --git a/src/tests/gl_tests/BlendFuncExtendedTest.cpp b/src/tests/gl_tests/BlendFuncExtendedTest.cpp
index 940facf..90a2b1c 100644
--- a/src/tests/gl_tests/BlendFuncExtendedTest.cpp
+++ b/src/tests/gl_tests/BlendFuncExtendedTest.cpp
@@ -8,7 +8,7 @@
 
 #include "test_utils/ANGLETest.h"
 
-#include "util/shader_utils.h"
+#include "shader_utils.h"
 
 #include <algorithm>
 #include <cmath>
diff --git a/src/tests/gl_tests/BufferDataTest.cpp b/src/tests/gl_tests/BufferDataTest.cpp
index 4f3651c..6515e93 100644
--- a/src/tests/gl_tests/BufferDataTest.cpp
+++ b/src/tests/gl_tests/BufferDataTest.cpp
@@ -7,7 +7,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
@@ -208,7 +208,7 @@
     EXPECT_PIXEL_COLOR_EQ(0, 0, GLColor::red);
 
     // Set up color value so black is drawn
-    std::fill(data.begin(), data.end(), 0.0f);
+    std::fill(data.begin(), data.end(), 0);
 
     // Update the data, changing back to DYNAMIC mode.
     glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * data.size(), data.data(), GL_DYNAMIC_DRAW);
diff --git a/src/tests/gl_tests/ClearTest.cpp b/src/tests/gl_tests/ClearTest.cpp
index 152abba..b42b8ab 100644
--- a/src/tests/gl_tests/ClearTest.cpp
+++ b/src/tests/gl_tests/ClearTest.cpp
@@ -7,9 +7,9 @@
 #include "test_utils/ANGLETest.h"
 
 #include "platform/FeaturesVk.h"
+#include "random_utils.h"
+#include "shader_utils.h"
 #include "test_utils/gl_raii.h"
-#include "util/random_utils.h"
-#include "util/shader_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/CopyTexture3DTest.cpp b/src/tests/gl_tests/CopyTexture3DTest.cpp
index cd3a5ad..47a68e6 100644
--- a/src/tests/gl_tests/CopyTexture3DTest.cpp
+++ b/src/tests/gl_tests/CopyTexture3DTest.cpp
@@ -175,7 +175,7 @@
                 renderType = GL_RGBA32F;
                 break;
             default:
-                ASSERT_TRUE(false);
+                UNREACHABLE();
         }
 
         glRenderbufferStorage(GL_RENDERBUFFER, renderType, 1, 1);
@@ -214,27 +214,19 @@
         }
         else if (renderType == GL_RGBA8UI)
         {
-            GLuint pixel[4] = {0};
+            GLint pixel[4] = {0};
             glReadPixels(0, 0, 1, 1, GL_RGBA_INTEGER, GL_UNSIGNED_INT, pixel);
-            EXPECT_COLOR_NEAR(
-                expectedColor,
-                GLColor(static_cast<GLubyte>(pixel[0]), static_cast<GLubyte>(pixel[1]),
-                        static_cast<GLubyte>(pixel[2]), static_cast<GLubyte>(pixel[3])),
-                0.2);
+            EXPECT_COLOR_NEAR(expectedColor, GLColor(pixel[0], pixel[1], pixel[2], pixel[3]), 0.2);
         }
         else if (renderType == GL_RGBA8I)
         {
             GLint pixel[4] = {0};
             glReadPixels(0, 0, 1, 1, GL_RGBA_INTEGER, GL_INT, pixel);
-            EXPECT_COLOR_NEAR(
-                expectedColor,
-                GLColor(static_cast<GLubyte>(pixel[0]), static_cast<GLubyte>(pixel[1]),
-                        static_cast<GLubyte>(pixel[2]), static_cast<GLubyte>(pixel[3])),
-                0.2);
+            EXPECT_COLOR_NEAR(expectedColor, GLColor(pixel[0], pixel[1], pixel[2], pixel[3]), 0.2);
         }
         else
         {
-            ASSERT_TRUE(false);
+            UNREACHABLE();
         }
     }
 
diff --git a/src/tests/gl_tests/D3D11EmulatedIndexedBufferTest.cpp b/src/tests/gl_tests/D3D11EmulatedIndexedBufferTest.cpp
index 7cc5e39..c26d755 100644
--- a/src/tests/gl_tests/D3D11EmulatedIndexedBufferTest.cpp
+++ b/src/tests/gl_tests/D3D11EmulatedIndexedBufferTest.cpp
@@ -16,7 +16,6 @@
 #include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
 #include "test_utils/ANGLETest.h"
 #include "test_utils/angle_test_instantiate.h"
-#include "util/EGLWindow.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/D3D11FormatTablesTest.cpp b/src/tests/gl_tests/D3D11FormatTablesTest.cpp
index ae34926..4562351 100644
--- a/src/tests/gl_tests/D3D11FormatTablesTest.cpp
+++ b/src/tests/gl_tests/D3D11FormatTablesTest.cpp
@@ -18,7 +18,6 @@
 #include "libANGLE/renderer/d3d/d3d11/texture_format_table.h"
 #include "test_utils/ANGLETest.h"
 #include "test_utils/angle_test_instantiate.h"
-#include "util/EGLWindow.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/D3D11InputLayoutCacheTest.cpp b/src/tests/gl_tests/D3D11InputLayoutCacheTest.cpp
index bca7830..3db4740 100644
--- a/src/tests/gl_tests/D3D11InputLayoutCacheTest.cpp
+++ b/src/tests/gl_tests/D3D11InputLayoutCacheTest.cpp
@@ -14,7 +14,6 @@
 #include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
 #include "test_utils/ANGLETest.h"
 #include "test_utils/angle_test_instantiate.h"
-#include "util/EGLWindow.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/D3DTextureTest.cpp b/src/tests/gl_tests/D3DTextureTest.cpp
index 55f2ac6..b91ddc6 100644
--- a/src/tests/gl_tests/D3DTextureTest.cpp
+++ b/src/tests/gl_tests/D3DTextureTest.cpp
@@ -12,8 +12,7 @@
 #include <d3d11.h>
 #include <windows.h>
 
-#include "util/EGLWindow.h"
-#include "util/com_utils.h"
+#include "com_utils.h"
 
 namespace angle
 {
@@ -157,7 +156,7 @@
         EGLDisplay display = window->getDisplay();
         EGLConfig config   = window->getConfig();
 
-        EXPECT_TRUE(mD3D11Device != nullptr);
+        ASSERT(mD3D11Device);
         ID3D11Texture2D *texture = nullptr;
         CD3D11_TEXTURE2D_DESC desc(format, static_cast<UINT>(width), static_cast<UINT>(height), 1,
                                    1, bindFlags);
@@ -216,8 +215,8 @@
             };
 
             // Multisampled textures are not supported on D3D9.
-            EXPECT_TRUE(sampleCount <= 1);
-            EXPECT_TRUE(sampleQuality == 0);
+            ASSERT(sampleCount <= 1);
+            ASSERT(sampleQuality == 0);
 
             IDirect3DTexture9 *texture = nullptr;
             EXPECT_TRUE(SUCCEEDED(mD3D9Device->CreateTexture(
@@ -700,7 +699,7 @@
 TEST_P(D3DTextureTest, UnnecessaryWidthHeightAttributes)
 {
     ANGLE_SKIP_TEST_IF(!valid() || !IsD3D11());
-    ASSERT_TRUE(mD3D11Device != nullptr);
+    ASSERT(mD3D11Device);
     ID3D11Texture2D *texture = nullptr;
     CD3D11_TEXTURE2D_DESC desc(DXGI_FORMAT_R8G8B8A8_UNORM, 1, 1, 1, 1, D3D11_BIND_RENDER_TARGET);
     desc.SampleDesc.Count   = 1;
diff --git a/src/tests/gl_tests/DepthStencilFormatsTest.cpp b/src/tests/gl_tests/DepthStencilFormatsTest.cpp
index 50235c1..893369e 100644
--- a/src/tests/gl_tests/DepthStencilFormatsTest.cpp
+++ b/src/tests/gl_tests/DepthStencilFormatsTest.cpp
@@ -231,7 +231,7 @@
         float viewport[2];
         glGetFloatv(GL_MAX_VIEWPORT_DIMS, viewport);
 
-        glViewport(0, 0, static_cast<GLsizei>(viewport[0]), static_cast<GLsizei>(viewport[1]));
+        glViewport(0, 0, viewport[0], viewport[1]);
         glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fb);
 
         drawQuad(program.get(), essl1_shaders::PositionAttrib(), 0.0f);
diff --git a/src/tests/gl_tests/ExplicitContextTest.cpp b/src/tests/gl_tests/ExplicitContextTest.cpp
index 1cb974f..d9ad46b 100644
--- a/src/tests/gl_tests/ExplicitContextTest.cpp
+++ b/src/tests/gl_tests/ExplicitContextTest.cpp
@@ -9,7 +9,6 @@
 #include "test_utils/ANGLETest.h"
 
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
 
 namespace angle
 {
@@ -53,9 +52,14 @@
 
     EGLContext context = getEGLWindow()->getContext();
 
+    PFNGLCLEARCOLORCONTEXTANGLEPROC clearColor = reinterpret_cast<PFNGLCLEARCOLORCONTEXTANGLEPROC>(
+        eglGetProcAddress("glClearColorContextANGLE"));
+    PFNGLCLEARCONTEXTANGLEPROC clear =
+        reinterpret_cast<PFNGLCLEARCONTEXTANGLEPROC>(eglGetProcAddress("glClearContextANGLE"));
+
     // Clear to green
-    glClearColorContextANGLE(context, 1.0f, 0, 0, 1.0f);
-    glClearContextANGLE(context, GL_COLOR_BUFFER_BIT);
+    clearColor(context, 1.0f, 0, 0, 1.0f);
+    clear(context, GL_COLOR_BUFFER_BIT);
 
     // Check for green
     EXPECT_PIXEL_EQ(0, 0, 255, 0, 0, 255);
diff --git a/src/tests/gl_tests/FramebufferMultiviewTest.cpp b/src/tests/gl_tests/FramebufferMultiviewTest.cpp
index 420b8ae..6108ad1 100644
--- a/src/tests/gl_tests/FramebufferMultiviewTest.cpp
+++ b/src/tests/gl_tests/FramebufferMultiviewTest.cpp
@@ -73,9 +73,7 @@
 
     void initializeFBOs(size_t numColorBuffers, bool stencil, bool depth)
     {
-        ASSERT_TRUE(mColorTex.empty());
-        ASSERT_EQ(0u, mDepthStencilTex);
-        ASSERT_EQ(0u, mDepthTex);
+        ASSERT(mColorTex.empty() && mDepthStencilTex == 0u && mDepthTex == 0u);
         const std::vector<GLenum> &drawBuffers = GetDrawBufferRange(numColorBuffers);
 
         // Generate textures.
@@ -217,10 +215,8 @@
                         bool stencil,
                         bool depth)
     {
-        ASSERT_TRUE(mColorTex.empty());
-        ASSERT_EQ(0u, mDepthStencilTex);
-        ASSERT_EQ(0u, mDepthTex);
-        ASSERT_LE(baseViewIndex + numViews, numLayers);
+        ASSERT(mColorTex.empty() && mDepthStencilTex == 0u && mDepthTex == 0u);
+        ASSERT(baseViewIndex + numViews <= numLayers);
 
         // Generate textures.
         mColorTex.resize(numColorAttachments);
@@ -278,7 +274,7 @@
 
     GLColor getLayerColor(size_t layer, GLenum attachment, GLint x, GLint y)
     {
-        EXPECT_LT(layer, mNonMultiviewFBO.size());
+        ASSERT(layer < mNonMultiviewFBO.size());
         glBindFramebuffer(GL_FRAMEBUFFER, mNonMultiviewFBO[layer]);
         glReadBuffer(attachment);
         return angle::ReadColor(x, y);
diff --git a/src/tests/gl_tests/GLSLTest.cpp b/src/tests/gl_tests/GLSLTest.cpp
index 6d35cb2..1905261 100644
--- a/src/tests/gl_tests/GLSLTest.cpp
+++ b/src/tests/gl_tests/GLSLTest.cpp
@@ -4713,8 +4713,7 @@
 
     GLint uniLoc = glGetUniformLocation(program, "viewportSize");
     ASSERT_NE(-1, uniLoc);
-    glUniform2f(uniLoc, static_cast<GLfloat>(getWindowWidth()),
-                static_cast<GLfloat>(getWindowHeight()));
+    glUniform2f(uniLoc, getWindowWidth(), getWindowHeight());
 
     // Draw to backbuffer.
     glDrawArrays(GL_POINTS, 0, 1);
@@ -4782,8 +4781,7 @@
 
     GLint uniLoc = glGetUniformLocation(program, "viewportSize");
     ASSERT_NE(-1, uniLoc);
-    glUniform2f(uniLoc, static_cast<GLfloat>(getWindowWidth()),
-                static_cast<GLfloat>(getWindowHeight()));
+    glUniform2f(uniLoc, getWindowWidth(), getWindowHeight());
 
     // Draw to backbuffer.
     drawQuad(program, essl1_shaders::PositionAttrib(), 0.5);
diff --git a/src/tests/gl_tests/GeometryShaderTest.cpp b/src/tests/gl_tests/GeometryShaderTest.cpp
index ed28041..ae3a32f 100644
--- a/src/tests/gl_tests/GeometryShaderTest.cpp
+++ b/src/tests/gl_tests/GeometryShaderTest.cpp
@@ -719,7 +719,7 @@
 
     GLint max3DSize;
     glGetIntegerv(GL_MAX_3D_TEXTURE_SIZE, &max3DSize);
-    GLint max3DLevel = static_cast<GLint>(std::log2(max3DSize));
+    GLint max3DLevel = std::log2(max3DSize);
     glFramebufferTextureEXT(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, tex, max3DLevel + 1);
     EXPECT_GL_ERROR(GL_INVALID_VALUE);
 }
diff --git a/src/tests/gl_tests/ImageTest.cpp b/src/tests/gl_tests/ImageTest.cpp
index a79a075..8c07e5d 100644
--- a/src/tests/gl_tests/ImageTest.cpp
+++ b/src/tests/gl_tests/ImageTest.cpp
@@ -8,7 +8,6 @@
 //
 
 #include "test_utils/ANGLETest.h"
-#include "util/EGLWindow.h"
 
 namespace angle
 {
diff --git a/src/tests/gl_tests/IndexBufferOffsetTest.cpp b/src/tests/gl_tests/IndexBufferOffsetTest.cpp
index 64dbf6e..8a1a348 100644
--- a/src/tests/gl_tests/IndexBufferOffsetTest.cpp
+++ b/src/tests/gl_tests/IndexBufferOffsetTest.cpp
@@ -6,8 +6,8 @@
 
 // IndexBufferOffsetTest.cpp: Test glDrawElements with an offset and an index buffer
 
+#include "system_utils.h"
 #include "test_utils/ANGLETest.h"
-#include "util/system_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/InstancingTest.cpp b/src/tests/gl_tests/InstancingTest.cpp
index 1590b01..0a3f974 100644
--- a/src/tests/gl_tests/InstancingTest.cpp
+++ b/src/tests/gl_tests/InstancingTest.cpp
@@ -83,6 +83,7 @@
         // The instance data array selects all the slices in order.
         // 'lastDrawn' is the index (zero-based) of the last slice into which we draw.
         const unsigned lastDrawn = (numInstance - 1) / divisor;
+        ASSERT(lastDrawn < kMaxDrawn);
 
         const int instanceAttrib = attribZeroInstanced ? 0 : 1;
         const int positionAttrib = attribZeroInstanced ? 1 : 0;
@@ -128,12 +129,11 @@
     {
         for (unsigned i = 0; i < kMaxDrawn; ++i)
         {
-            float y =
-                -1.0f + static_cast<float>(kDrawSize) / 2.0f + static_cast<float>(i * kDrawSize);
-            int iy = static_cast<int>((y + 1.0f) / 2.0f * getWindowHeight());
+            float y = -1.0 + kDrawSize / 2.0 + i * kDrawSize;
+            int iy  = (y + 1.0) / 2.0 * getWindowHeight();
             for (unsigned j = 0; j < 8; j += 2)
             {
-                int ix = static_cast<int>((kPointVertices[j] + 1.0f) / 2.0f * getWindowWidth());
+                int ix = (kPointVertices[j] + 1.0) / 2.0 * getWindowWidth();
                 EXPECT_PIXEL_COLOR_EQ(ix, iy, i <= lastDrawn ? GLColor::red : GLColor::blue);
             }
         }
@@ -305,6 +305,7 @@
     const unsigned numInstance = 4;
     const unsigned divisor     = 1;
     const unsigned lastDrawn   = (numInstance - 1) / divisor;
+    ASSERT(lastDrawn < kMaxDrawn);
 
     // Set the formats by VertexAttribFormat
     glVertexAttribFormat(positionLoc, 2, GL_FLOAT, GL_FALSE, 0);
diff --git a/src/tests/gl_tests/MipmapTest.cpp b/src/tests/gl_tests/MipmapTest.cpp
index 9290f87..bc7ae8c 100644
--- a/src/tests/gl_tests/MipmapTest.cpp
+++ b/src/tests/gl_tests/MipmapTest.cpp
@@ -679,7 +679,7 @@
     GLubyte *levels[] = {mLevelZeroBlueInitData.data(), mLevelOneGreenInitData.data(),
                          mLevelTwoRedInitData.data()};
 
-    int maxLevel = 1 + static_cast<int>(floor(log2(std::max(getWindowWidth(), getWindowHeight()))));
+    int maxLevel = 1 + floor(log2(std::max(getWindowWidth(), getWindowHeight())));
 
     for (int i = 0; i < maxLevel; i++)
     {
diff --git a/src/tests/gl_tests/MultiDrawTest.cpp b/src/tests/gl_tests/MultiDrawTest.cpp
index 7dee086..ff0147f 100644
--- a/src/tests/gl_tests/MultiDrawTest.cpp
+++ b/src/tests/gl_tests/MultiDrawTest.cpp
@@ -28,9 +28,8 @@
 };
 constexpr std::array<uint32_t, 2> kTilePixelSize  = {kWidth / kCountX, kHeight / kCountY};
 constexpr std::array<GLfloat, 2> kQuadRadius      = {0.25f * kTileSize[0], 0.25f * kTileSize[1]};
-constexpr std::array<uint32_t, 2> kPixelCheckSize = {
-    static_cast<uint32_t>(kQuadRadius[0] * kWidth),
-    static_cast<uint32_t>(kQuadRadius[1] * kHeight)};
+constexpr std::array<uint32_t, 2> kPixelCheckSize = {kQuadRadius[0] * kWidth,
+                                                     kQuadRadius[1] * kHeight};
 
 constexpr std::array<GLfloat, 2> getTileCenter(uint32_t x, uint32_t y)
 {
@@ -240,7 +239,7 @@
     {
         if (getClientMajorVersion() <= 2)
         {
-            ASSERT_TRUE(extensionEnabled("GL_ANGLE_instanced_arrays"));
+            ASSERT(extensionEnabled("GL_ANGLE_instanced_arrays"));
             glVertexAttribDivisorANGLE(location, divisor);
         }
         else
diff --git a/src/tests/gl_tests/MultithreadingTest.cpp b/src/tests/gl_tests/MultithreadingTest.cpp
index 6b637f9..c87f71f 100644
--- a/src/tests/gl_tests/MultithreadingTest.cpp
+++ b/src/tests/gl_tests/MultithreadingTest.cpp
@@ -8,7 +8,6 @@
 #include "test_utils/ANGLETest.h"
 
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
 
 #include <mutex>
 #include <thread>
diff --git a/src/tests/gl_tests/MultiviewDrawTest.cpp b/src/tests/gl_tests/MultiviewDrawTest.cpp
index 489e1e3..d297e94 100644
--- a/src/tests/gl_tests/MultiviewDrawTest.cpp
+++ b/src/tests/gl_tests/MultiviewDrawTest.cpp
@@ -43,8 +43,8 @@
           mMultiviewLayout(multiviewLayout),
           mSamples(samples)
     {
-        EXPECT_TRUE(multiviewLayout == GL_FRAMEBUFFER_MULTIVIEW_LAYERED_ANGLE ||
-                    multiviewLayout == GL_FRAMEBUFFER_MULTIVIEW_SIDE_BY_SIDE_ANGLE);
+        ASSERT(multiviewLayout == GL_FRAMEBUFFER_MULTIVIEW_LAYERED_ANGLE ||
+               multiviewLayout == GL_FRAMEBUFFER_MULTIVIEW_SIDE_BY_SIDE_ANGLE);
     }
     GLenum mMultiviewLayout;
     int mSamples;
@@ -64,8 +64,7 @@
             os << "_side_by_side";
             break;
         default:
-            os << "_error";
-            break;
+            UNREACHABLE();
     }
     if (params.mSamples > 0)
     {
@@ -102,7 +101,7 @@
 
     void updateFBOs(int viewWidth, int height, int numViews, int numLayers, int baseViewIndex)
     {
-        ASSERT_TRUE(numViews + baseViewIndex <= numLayers);
+        ASSERT(numViews + baseViewIndex <= numLayers);
 
         freeFBOs();
 
@@ -152,7 +151,7 @@
                 }
                 break;
             default:
-                ASSERT_TRUE(false);
+                UNREACHABLE();
         }
 
         // Clear the buffers.
@@ -183,7 +182,7 @@
         int numLayers = mReadFramebuffer.size();
         if (mResolveFramebuffer.empty())
         {
-            ASSERT_TRUE(mResolveTexture == 0u);
+            ASSERT(mResolveTexture == 0u);
             glGenTextures(1, &mResolveTexture);
             CreateMultiviewBackingTextures(mMultiviewLayout, 0, mViewWidth, mViewHeight, numLayers,
                                            mResolveTexture, 0u, 0u);
@@ -217,10 +216,10 @@
                 glBindFramebuffer(GL_READ_FRAMEBUFFER, mReadFramebuffer[0]);
                 return ReadColor(view * mViewWidth + x, y);
             case GL_FRAMEBUFFER_MULTIVIEW_LAYERED_ANGLE:
-                EXPECT_TRUE(static_cast<size_t>(view) < mReadFramebuffer.size());
+                ASSERT(static_cast<size_t>(view) < mReadFramebuffer.size());
                 if (mSamples > 0)
                 {
-                    EXPECT_TRUE(static_cast<size_t>(view) < mResolveFramebuffer.size());
+                    ASSERT(static_cast<size_t>(view) < mResolveFramebuffer.size());
                     glBindFramebuffer(GL_READ_FRAMEBUFFER, mResolveFramebuffer[view]);
                 }
                 else
@@ -229,7 +228,7 @@
                 }
                 return ReadColor(x, y);
             default:
-                EXPECT_TRUE(false);
+                UNREACHABLE();
         }
         return GLColor(0, 0, 0, 0);
     }
diff --git a/src/tests/gl_tests/OcclusionQueriesTest.cpp b/src/tests/gl_tests/OcclusionQueriesTest.cpp
index e40c41e..9a1515e 100644
--- a/src/tests/gl_tests/OcclusionQueriesTest.cpp
+++ b/src/tests/gl_tests/OcclusionQueriesTest.cpp
@@ -4,10 +4,9 @@
 // found in the LICENSE file.
 //
 
+#include "random_utils.h"
+#include "system_utils.h"
 #include "test_utils/ANGLETest.h"
-#include "util/EGLWindow.h"
-#include "util/random_utils.h"
-#include "util/system_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/ParallelShaderCompileTest.cpp b/src/tests/gl_tests/ParallelShaderCompileTest.cpp
index 17b0abc..1da63e4 100644
--- a/src/tests/gl_tests/ParallelShaderCompileTest.cpp
+++ b/src/tests/gl_tests/ParallelShaderCompileTest.cpp
@@ -8,7 +8,7 @@
 
 #include "test_utils/ANGLETest.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 using namespace angle;
 
@@ -190,8 +190,7 @@
     constexpr int kTaskCount = 32;
     for (int i = 0; i < kTaskCount; ++i)
     {
-        std::unique_ptr<ClearColorWithDraw> task(
-            new ClearColorWithDraw(static_cast<GLubyte>(i * 255 / kTaskCount)));
+        std::unique_ptr<ClearColorWithDraw> task(new ClearColorWithDraw(i * 255 / kTaskCount));
         bool isCompiling = task->compile();
         ASSERT_TRUE(isCompiling);
         compileTasks.push_back(std::move(task));
diff --git a/src/tests/gl_tests/PathRenderingTest.cpp b/src/tests/gl_tests/PathRenderingTest.cpp
index 6d6f287..8ece779 100644
--- a/src/tests/gl_tests/PathRenderingTest.cpp
+++ b/src/tests/gl_tests/PathRenderingTest.cpp
@@ -10,7 +10,7 @@
 #include "test_utils/ANGLETest.h"
 
 #include "common/angleutils.h"
-#include "util/shader_utils.h"
+#include "shader_utils.h"
 
 #include <cmath>
 #include <cstddef>
diff --git a/src/tests/gl_tests/PbufferTest.cpp b/src/tests/gl_tests/PbufferTest.cpp
index 387b8c4..48ccd6e 100644
--- a/src/tests/gl_tests/PbufferTest.cpp
+++ b/src/tests/gl_tests/PbufferTest.cpp
@@ -6,7 +6,6 @@
 
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/ProgramBinaryTest.cpp b/src/tests/gl_tests/ProgramBinaryTest.cpp
index 796a772..7bdfc8c 100644
--- a/src/tests/gl_tests/ProgramBinaryTest.cpp
+++ b/src/tests/gl_tests/ProgramBinaryTest.cpp
@@ -9,11 +9,11 @@
 #include <stdint.h>
 #include <memory>
 
+#include "EGLWindow.h"
+#include "OSWindow.h"
 #include "common/string_utils.h"
 #include "test_utils/angle_test_configs.h"
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
-#include "util/OSWindow.h"
 
 using namespace angle;
 
@@ -639,23 +639,19 @@
         {
             FAIL() << "Failed to create OS window";
         }
-
-        mEntryPointsLib.reset(angle::OpenSharedLibrary(ANGLE_EGL_LIBRARY_NAME));
     }
 
     EGLWindow *createAndInitEGLWindow(angle::PlatformParameters &param)
     {
         EGLWindow *eglWindow =
             new EGLWindow(param.majorVersion, param.minorVersion, param.eglParameters);
-        bool result = eglWindow->initializeGL(mOSWindow, mEntryPointsLib.get());
+        bool result = eglWindow->initializeGL(mOSWindow);
         if (result == false)
         {
             SafeDelete(eglWindow);
             eglWindow = nullptr;
         }
 
-        angle::LoadGLES(eglGetProcAddress);
-
         return eglWindow;
     }
 
@@ -710,7 +706,6 @@
     }
 
     OSWindow *mOSWindow = nullptr;
-    std::unique_ptr<angle::Library> mEntryPointsLib;
 };
 
 // Tries to create a program binary using one set of platform params, then load it using a different
diff --git a/src/tests/gl_tests/ReadPixelsTest.cpp b/src/tests/gl_tests/ReadPixelsTest.cpp
index bc7abba..da93ccc 100644
--- a/src/tests/gl_tests/ReadPixelsTest.cpp
+++ b/src/tests/gl_tests/ReadPixelsTest.cpp
@@ -11,7 +11,7 @@
 
 #include <array>
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/RequestExtensionTest.cpp b/src/tests/gl_tests/RequestExtensionTest.cpp
index 93cfb51..335f110 100644
--- a/src/tests/gl_tests/RequestExtensionTest.cpp
+++ b/src/tests/gl_tests/RequestExtensionTest.cpp
@@ -10,8 +10,6 @@
 
 #include "test_utils/ANGLETest.h"
 
-#include "util/EGLWindow.h"
-
 namespace angle
 {
 
diff --git a/src/tests/gl_tests/RobustBufferAccessBehaviorTest.cpp b/src/tests/gl_tests/RobustBufferAccessBehaviorTest.cpp
index e1ecb33..238ba3f 100644
--- a/src/tests/gl_tests/RobustBufferAccessBehaviorTest.cpp
+++ b/src/tests/gl_tests/RobustBufferAccessBehaviorTest.cpp
@@ -9,7 +9,6 @@
 
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
 
 #include <array>
 
diff --git a/src/tests/gl_tests/RobustClientMemoryTest.cpp b/src/tests/gl_tests/RobustClientMemoryTest.cpp
index 1505ffa..4ee56b8 100644
--- a/src/tests/gl_tests/RobustClientMemoryTest.cpp
+++ b/src/tests/gl_tests/RobustClientMemoryTest.cpp
@@ -28,6 +28,148 @@
         setConfigAlphaBits(8);
     }
 
+    void SetUp() override
+    {
+        ANGLETest::SetUp();
+
+        glGetBooleanvRobustANGLE = reinterpret_cast<PFNGLGETBOOLEANVROBUSTANGLE>(
+            eglGetProcAddress("glGetBooleanvRobustANGLE"));
+        glGetBufferParameterivRobustANGLE = reinterpret_cast<PFNGLGETBUFFERPARAMETERIVROBUSTANGLE>(
+            eglGetProcAddress("glGetBufferParameterivRobustANGLE"));
+        glGetFloatvRobustANGLE = reinterpret_cast<PFNGLGETFLOATVROBUSTANGLE>(
+            eglGetProcAddress("glGetFloatvRobustANGLE"));
+        glGetFramebufferAttachmentParameterivRobustANGLE =
+            reinterpret_cast<PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLE>(
+                eglGetProcAddress("glGetFramebufferAttachmentParameterivRobustANGLE"));
+        glGetIntegervRobustANGLE = reinterpret_cast<PFNGLGETINTEGERVROBUSTANGLE>(
+            eglGetProcAddress("glGetIntegervRobustANGLE"));
+        glGetProgramivRobustANGLE = reinterpret_cast<PFNGLGETPROGRAMIVROBUSTANGLE>(
+            eglGetProcAddress("glGetProgramivRobustANGLE"));
+        glGetRenderbufferParameterivRobustANGLE =
+            reinterpret_cast<PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLE>(
+                eglGetProcAddress("glGetRenderbufferParameterivRobustANGLE"));
+        glGetShaderivRobustANGLE = reinterpret_cast<PFNGLGETSHADERIVROBUSTANGLE>(
+            eglGetProcAddress("glGetShaderivRobustANGLE"));
+        glGetTexParameterfvRobustANGLE = reinterpret_cast<PFNGLGETTEXPARAMETERFVROBUSTANGLE>(
+            eglGetProcAddress("glGetTexParameterfvRobustANGLE"));
+        glGetTexParameterivRobustANGLE = reinterpret_cast<PFNGLGETTEXPARAMETERIVROBUSTANGLE>(
+            eglGetProcAddress("glGetTexParameterivRobustANGLE"));
+        glGetUniformfvRobustANGLE = reinterpret_cast<PFNGLGETUNIFORMFVROBUSTANGLE>(
+            eglGetProcAddress("glGetUniformfvRobustANGLE"));
+        glGetUniformivRobustANGLE = reinterpret_cast<PFNGLGETUNIFORMIVROBUSTANGLE>(
+            eglGetProcAddress("glGetUniformivRobustANGLE"));
+        glGetVertexAttribfvRobustANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBFVROBUSTANGLE>(
+            eglGetProcAddress("glGetVertexAttribfvRobustANGLE"));
+        glGetVertexAttribivRobustANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBIVROBUSTANGLE>(
+            eglGetProcAddress("glGetVertexAttribivRobustANGLE"));
+        glGetVertexAttribPointervRobustANGLE =
+            reinterpret_cast<PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLE>(
+                eglGetProcAddress("glGetVertexAttribPointervRobustANGLE"));
+        glReadPixelsRobustANGLE = reinterpret_cast<PFNGLREADPIXELSROBUSTANGLE>(
+            eglGetProcAddress("glReadPixelsRobustANGLE"));
+        glTexImage2DRobustANGLE = reinterpret_cast<PFNGLTEXIMAGE2DROBUSTANGLE>(
+            eglGetProcAddress("glTexImage2DRobustANGLE"));
+        glTexParameterfvRobustANGLE = reinterpret_cast<PFNGLTEXPARAMETERFVROBUSTANGLE>(
+            eglGetProcAddress("glTexParameterfvRobustANGLE"));
+        glTexParameterivRobustANGLE = reinterpret_cast<PFNGLTEXPARAMETERIVROBUSTANGLE>(
+            eglGetProcAddress("glTexParameterivRobustANGLE"));
+        glTexSubImage2DRobustANGLE = reinterpret_cast<PFNGLTEXSUBIMAGE2DROBUSTANGLE>(
+            eglGetProcAddress("glTexSubImage2DRobustANGLE"));
+        glTexImage3DRobustANGLE = reinterpret_cast<PFNGLTEXIMAGE3DROBUSTANGLE>(
+            eglGetProcAddress("glTexImage3DRobustANGLE"));
+        glTexSubImage3DRobustANGLE = reinterpret_cast<PFNGLTEXSUBIMAGE3DROBUSTANGLE>(
+            eglGetProcAddress("glTexSubImage3DRobustANGLE"));
+        glGetQueryivRobustANGLE = reinterpret_cast<PFNGLGETQUERYIVROBUSTANGLE>(
+            eglGetProcAddress("glGetQueryivRobustANGLE"));
+        glGetQueryObjectuivRobustANGLE = reinterpret_cast<PFNGLGETQUERYOBJECTUIVROBUSTANGLE>(
+            eglGetProcAddress("glGetQueryObjectuivRobustANGLE"));
+        glGetBufferPointervRobustANGLE = reinterpret_cast<PFNGLGETBUFFERPOINTERVROBUSTANGLE>(
+            eglGetProcAddress("glGetBufferPointervRobustANGLE"));
+        glGetIntegeri_vRobustANGLE = reinterpret_cast<PFNGLGETINTEGERI_VROBUSTANGLE>(
+            eglGetProcAddress("glGetIntegeri_vRobustANGLE"));
+        glGetInternalformativRobustANGLE = reinterpret_cast<PFNGETINTERNALFORMATIVROBUSTANGLE>(
+            eglGetProcAddress("glGetInternalformativRobustANGLE"));
+        glGetVertexAttribIivRobustANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBIIVROBUSTANGLE>(
+            eglGetProcAddress("glGetVertexAttribIivRobustANGLE"));
+        glGetVertexAttribIuivRobustANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBIUIVROBUSTANGLE>(
+            eglGetProcAddress("glGetVertexAttribIuivRobustANGLE"));
+        glGetUniformuivRobustANGLE = reinterpret_cast<PFNGLGETUNIFORMUIVROBUSTANGLE>(
+            eglGetProcAddress("glGetUniformuivRobustANGLE"));
+        glGetActiveUniformBlockivRobustANGLE =
+            reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLE>(
+                eglGetProcAddress("glGetActiveUniformBlockivRobustANGLE"));
+        glGetInteger64vRobustANGLE = reinterpret_cast<PFNGLGETINTEGER64VROBUSTANGLE>(
+            eglGetProcAddress("glGetInteger64vRobustANGLE"));
+        glGetInteger64i_vRobustANGLE = reinterpret_cast<PFNGLGETINTEGER64I_VROBUSTANGLE>(
+            eglGetProcAddress("glGetInteger64i_vRobustANGLE"));
+        glGetBufferParameteri64vRobustANGLE =
+            reinterpret_cast<PFNGLGETBUFFERPARAMETERI64VROBUSTANGLE>(
+                eglGetProcAddress("glGetBufferParameteri64vRobustANGLE"));
+        glSamplerParameterivRobustANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERIVROBUSTANGLE>(
+            eglGetProcAddress("glSamplerParameterivRobustANGLE"));
+        glSamplerParameterfvRobustANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERFVROBUSTANGLE>(
+            eglGetProcAddress("glSamplerParameterfvRobustANGLE"));
+        glGetSamplerParameterivRobustANGLE =
+            reinterpret_cast<PFNGLGETSAMPLERPARAMETERIVROBUSTANGLE>(
+                eglGetProcAddress("glGetSamplerParameterivRobustANGLE"));
+        glGetSamplerParameterfvRobustANGLE =
+            reinterpret_cast<PFNGLGETSAMPLERPARAMETERFVROBUSTANGLE>(
+                eglGetProcAddress("glGetSamplerParameterfvRobustANGLE"));
+        glGetFramebufferParameterivRobustANGLE =
+            reinterpret_cast<PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLE>(
+                eglGetProcAddress("glGetFramebufferParameterivRobustANGLE"));
+        glGetProgramInterfaceivRobustANGLE =
+            reinterpret_cast<PFNGLGETPROGRAMINTERFACEIVROBUSTANGLE>(
+                eglGetProcAddress("glGetProgramInterfaceivRobustANGLE"));
+        glGetBooleani_vRobustANGLE = reinterpret_cast<PFNGLGETBOOLEANI_VROBUSTANGLE>(
+            eglGetProcAddress("glGetBooleani_vRobustANGLE"));
+        glGetMultisamplefvRobustANGLE = reinterpret_cast<PFNGLGETMULTISAMPLEFVROBUSTANGLE>(
+            eglGetProcAddress("glGetMultisamplefvRobustANGLE"));
+        glGetTexLevelParameterivRobustANGLE =
+            reinterpret_cast<PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLE>(
+                eglGetProcAddress("glGetTexLevelParameterivRobustANGLE"));
+        glGetTexLevelParameterfvRobustANGLE =
+            reinterpret_cast<PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLE>(
+                eglGetProcAddress("glGetTexLevelParameterfvRobustANGLE"));
+        glGetPointervRobustANGLERobustANGLE =
+            reinterpret_cast<PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLE>(
+                eglGetProcAddress("glGetPointervRobustANGLERobustANGLE"));
+        glReadnPixelsRobustANGLE = reinterpret_cast<PFNGLREADNPIXELSROBUSTANGLE>(
+            eglGetProcAddress("glReadnPixelsRobustANGLE"));
+        glGetnUniformfvRobustANGLE = reinterpret_cast<PFNGLGETNUNIFORMFVROBUSTANGLE>(
+            eglGetProcAddress("glGetnUniformfvRobustANGLE"));
+        glGetnUniformivRobustANGLE = reinterpret_cast<PFNGLGETNUNIFORMIVROBUSTANGLE>(
+            eglGetProcAddress("glGetnUniformivRobustANGLE"));
+        glGetnUniformuivRobustANGLE = reinterpret_cast<PFNGLGETNUNIFORMUIVROBUSTANGLE>(
+            eglGetProcAddress("glGetnUniformuivRobustANGLE"));
+        glTexParameterIivRobustANGLE = reinterpret_cast<PFNGLTEXPARAMETERIIVROBUSTANGLE>(
+            eglGetProcAddress("glTexParameterIivRobustANGLE"));
+        glTexParameterIuivRobustANGLE = reinterpret_cast<PFNGLTEXPARAMETERIUIVROBUSTANGLE>(
+            eglGetProcAddress("glTexParameterIuivRobustANGLE"));
+        glGetTexParameterIivRobustANGLE = reinterpret_cast<PFNGLGETTEXPARAMETERIIVROBUSTANGLE>(
+            eglGetProcAddress("glGetTexParameterIivRobustANGLE"));
+        glGetTexParameterIuivRobustANGLE = reinterpret_cast<PFNGLGETTEXPARAMETERIUIVROBUSTANGLE>(
+            eglGetProcAddress("glGetTexParameterIuivRobustANGLE"));
+        glSamplerParameterIivRobustANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERIIVROBUSTANGLE>(
+            eglGetProcAddress("glSamplerParameterIivRobustANGLE"));
+        glSamplerParameterIuivRobustANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERIUIVROBUSTANGLE>(
+            eglGetProcAddress("glSamplerParameterIuivRobustANGLE"));
+        glGetSamplerParameterIivRobustANGLE =
+            reinterpret_cast<PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLE>(
+                eglGetProcAddress("glGetSamplerParameterIivRobustANGLE"));
+        glGetSamplerParameterIuivRobustANGLE =
+            reinterpret_cast<PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLE>(
+                eglGetProcAddress("glGetSamplerParameterIuivRobustANGLE"));
+        glGetQueryObjectivRobustANGLE = reinterpret_cast<PFNGLGETQUERYOBJECTIVROBUSTANGLE>(
+            eglGetProcAddress("glGetQueryObjectivRobustANGLE"));
+        glGetQueryObjecti64vRobustANGLE = reinterpret_cast<PFNGLGETQUERYOBJECTI64VROBUSTANGLE>(
+            eglGetProcAddress("glGetQueryObjecti64vRobustANGLE"));
+        glGetQueryObjectui64vRobustANGLE = reinterpret_cast<PFNGLGETQUERYOBJECTUI64VROBUSTANGLE>(
+            eglGetProcAddress("glGetQueryObjectui64vRobustANGLE"));
+    }
+
+    void TearDown() override { ANGLETest::TearDown(); }
+
     bool extensionsPresent() const
     {
         if (!extensionEnabled("GL_ANGLE_robust_client_memory"))
@@ -38,6 +180,68 @@
 
         return true;
     }
+
+    PFNGLGETBOOLEANVROBUSTANGLE glGetBooleanvRobustANGLE                   = nullptr;
+    PFNGLGETBUFFERPARAMETERIVROBUSTANGLE glGetBufferParameterivRobustANGLE = nullptr;
+    PFNGLGETFLOATVROBUSTANGLE glGetFloatvRobustANGLE                       = nullptr;
+    PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLE
+    glGetFramebufferAttachmentParameterivRobustANGLE                                   = nullptr;
+    PFNGLGETINTEGERVROBUSTANGLE glGetIntegervRobustANGLE                               = nullptr;
+    PFNGLGETPROGRAMIVROBUSTANGLE glGetProgramivRobustANGLE                             = nullptr;
+    PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLE glGetRenderbufferParameterivRobustANGLE = nullptr;
+    PFNGLGETSHADERIVROBUSTANGLE glGetShaderivRobustANGLE                               = nullptr;
+    PFNGLGETTEXPARAMETERFVROBUSTANGLE glGetTexParameterfvRobustANGLE                   = nullptr;
+    PFNGLGETTEXPARAMETERIVROBUSTANGLE glGetTexParameterivRobustANGLE                   = nullptr;
+    PFNGLGETUNIFORMFVROBUSTANGLE glGetUniformfvRobustANGLE                             = nullptr;
+    PFNGLGETUNIFORMIVROBUSTANGLE glGetUniformivRobustANGLE                             = nullptr;
+    PFNGLGETVERTEXATTRIBFVROBUSTANGLE glGetVertexAttribfvRobustANGLE                   = nullptr;
+    PFNGLGETVERTEXATTRIBIVROBUSTANGLE glGetVertexAttribivRobustANGLE                   = nullptr;
+    PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLE glGetVertexAttribPointervRobustANGLE       = nullptr;
+    PFNGLREADPIXELSROBUSTANGLE glReadPixelsRobustANGLE                                 = nullptr;
+    PFNGLTEXIMAGE2DROBUSTANGLE glTexImage2DRobustANGLE                                 = nullptr;
+    PFNGLTEXPARAMETERFVROBUSTANGLE glTexParameterfvRobustANGLE                         = nullptr;
+    PFNGLTEXPARAMETERIVROBUSTANGLE glTexParameterivRobustANGLE                         = nullptr;
+    PFNGLTEXSUBIMAGE2DROBUSTANGLE glTexSubImage2DRobustANGLE                           = nullptr;
+    PFNGLTEXIMAGE3DROBUSTANGLE glTexImage3DRobustANGLE                                 = nullptr;
+    PFNGLTEXSUBIMAGE3DROBUSTANGLE glTexSubImage3DRobustANGLE                           = nullptr;
+    PFNGLGETQUERYIVROBUSTANGLE glGetQueryivRobustANGLE                                 = nullptr;
+    PFNGLGETQUERYOBJECTUIVROBUSTANGLE glGetQueryObjectuivRobustANGLE                   = nullptr;
+    PFNGLGETBUFFERPOINTERVROBUSTANGLE glGetBufferPointervRobustANGLE                   = nullptr;
+    PFNGLGETINTEGERI_VROBUSTANGLE glGetIntegeri_vRobustANGLE                           = nullptr;
+    PFNGETINTERNALFORMATIVROBUSTANGLE glGetInternalformativRobustANGLE                 = nullptr;
+    PFNGLGETVERTEXATTRIBIIVROBUSTANGLE glGetVertexAttribIivRobustANGLE                 = nullptr;
+    PFNGLGETVERTEXATTRIBIUIVROBUSTANGLE glGetVertexAttribIuivRobustANGLE               = nullptr;
+    PFNGLGETUNIFORMUIVROBUSTANGLE glGetUniformuivRobustANGLE                           = nullptr;
+    PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLE glGetActiveUniformBlockivRobustANGLE       = nullptr;
+    PFNGLGETINTEGER64VROBUSTANGLE glGetInteger64vRobustANGLE                           = nullptr;
+    PFNGLGETINTEGER64I_VROBUSTANGLE glGetInteger64i_vRobustANGLE                       = nullptr;
+    PFNGLGETBUFFERPARAMETERI64VROBUSTANGLE glGetBufferParameteri64vRobustANGLE         = nullptr;
+    PFNGLSAMPLERPARAMETERIVROBUSTANGLE glSamplerParameterivRobustANGLE                 = nullptr;
+    PFNGLSAMPLERPARAMETERFVROBUSTANGLE glSamplerParameterfvRobustANGLE                 = nullptr;
+    PFNGLGETSAMPLERPARAMETERIVROBUSTANGLE glGetSamplerParameterivRobustANGLE           = nullptr;
+    PFNGLGETSAMPLERPARAMETERFVROBUSTANGLE glGetSamplerParameterfvRobustANGLE           = nullptr;
+    PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLE glGetFramebufferParameterivRobustANGLE   = nullptr;
+    PFNGLGETPROGRAMINTERFACEIVROBUSTANGLE glGetProgramInterfaceivRobustANGLE           = nullptr;
+    PFNGLGETBOOLEANI_VROBUSTANGLE glGetBooleani_vRobustANGLE                           = nullptr;
+    PFNGLGETMULTISAMPLEFVROBUSTANGLE glGetMultisamplefvRobustANGLE                     = nullptr;
+    PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLE glGetTexLevelParameterivRobustANGLE         = nullptr;
+    PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLE glGetTexLevelParameterfvRobustANGLE         = nullptr;
+    PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLE glGetPointervRobustANGLERobustANGLE         = nullptr;
+    PFNGLREADNPIXELSROBUSTANGLE glReadnPixelsRobustANGLE                               = nullptr;
+    PFNGLGETNUNIFORMFVROBUSTANGLE glGetnUniformfvRobustANGLE                           = nullptr;
+    PFNGLGETNUNIFORMIVROBUSTANGLE glGetnUniformivRobustANGLE                           = nullptr;
+    PFNGLGETNUNIFORMUIVROBUSTANGLE glGetnUniformuivRobustANGLE                         = nullptr;
+    PFNGLTEXPARAMETERIIVROBUSTANGLE glTexParameterIivRobustANGLE                       = nullptr;
+    PFNGLTEXPARAMETERIUIVROBUSTANGLE glTexParameterIuivRobustANGLE                     = nullptr;
+    PFNGLGETTEXPARAMETERIIVROBUSTANGLE glGetTexParameterIivRobustANGLE                 = nullptr;
+    PFNGLGETTEXPARAMETERIUIVROBUSTANGLE glGetTexParameterIuivRobustANGLE               = nullptr;
+    PFNGLSAMPLERPARAMETERIIVROBUSTANGLE glSamplerParameterIivRobustANGLE               = nullptr;
+    PFNGLSAMPLERPARAMETERIUIVROBUSTANGLE glSamplerParameterIuivRobustANGLE             = nullptr;
+    PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLE glGetSamplerParameterIivRobustANGLE         = nullptr;
+    PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLE glGetSamplerParameterIuivRobustANGLE       = nullptr;
+    PFNGLGETQUERYOBJECTIVROBUSTANGLE glGetQueryObjectivRobustANGLE                     = nullptr;
+    PFNGLGETQUERYOBJECTI64VROBUSTANGLE glGetQueryObjecti64vRobustANGLE                 = nullptr;
+    PFNGLGETQUERYOBJECTUI64VROBUSTANGLE glGetQueryObjectui64vRobustANGLE               = nullptr;
 };
 
 // Test basic usage and validation of glGetIntegervRobustANGLE
diff --git a/src/tests/gl_tests/RobustResourceInitTest.cpp b/src/tests/gl_tests/RobustResourceInitTest.cpp
index a5c5002..8231c0a 100644
--- a/src/tests/gl_tests/RobustResourceInitTest.cpp
+++ b/src/tests/gl_tests/RobustResourceInitTest.cpp
@@ -8,7 +8,6 @@
 #include "test_utils/ANGLETest.h"
 
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
 
 namespace angle
 {
@@ -1749,6 +1748,9 @@
 {
     ANGLE_SKIP_TEST_IF(!hasGLExtension());
 
+    const GLsizei kWidth  = 128;
+    const GLsizei kHeight = 128;
+
     GLTexture texture;
     glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, texture);
     glTexStorage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, 2, GL_RGBA8, kWidth, kHeight, false);
@@ -1788,6 +1790,8 @@
     }
     ANGLE_SKIP_TEST_IF(!extensionEnabled("GL_OES_texture_storage_multisample_2d_array"));
 
+    const GLsizei kWidth  = 128;
+    const GLsizei kHeight = 128;
     const GLsizei kLayers = 4;
 
     GLTexture texture;
diff --git a/src/tests/gl_tests/SimpleOperationTest.cpp b/src/tests/gl_tests/SimpleOperationTest.cpp
index 0276212..09ccb1e 100644
--- a/src/tests/gl_tests/SimpleOperationTest.cpp
+++ b/src/tests/gl_tests/SimpleOperationTest.cpp
@@ -10,8 +10,8 @@
 
 #include <vector>
 
+#include "random_utils.h"
 #include "test_utils/gl_raii.h"
-#include "util/random_utils.h"
 
 using namespace angle;
 
@@ -991,8 +991,7 @@
         center *= 0.5f;
         center += Vector2(0.5f);
         center *= Vector2(getWindowWidth(), getWindowHeight());
-        EXPECT_PIXEL_COLOR_EQ(static_cast<GLint>(center.x()), static_cast<GLint>(center.y()),
-                              colors[faceIndex][0]);
+        EXPECT_PIXEL_COLOR_EQ(center.x(), center.y(), colors[faceIndex][0]);
     }
 }
 
diff --git a/src/tests/gl_tests/TextureMultisampleTest.cpp b/src/tests/gl_tests/TextureMultisampleTest.cpp
index 51f31b0..d61ac3b 100644
--- a/src/tests/gl_tests/TextureMultisampleTest.cpp
+++ b/src/tests/gl_tests/TextureMultisampleTest.cpp
@@ -8,8 +8,8 @@
 
 #include "test_utils/ANGLETest.h"
 
+#include "shader_utils.h"
 #include "test_utils/gl_raii.h"
-#include "util/shader_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/TextureTest.cpp b/src/tests/gl_tests/TextureTest.cpp
index dc65d7e..14464c9 100644
--- a/src/tests/gl_tests/TextureTest.cpp
+++ b/src/tests/gl_tests/TextureTest.cpp
@@ -3002,7 +3002,7 @@
             })";
     }
 
-    const char *getFragmentShaderSource() override
+    const char *getFragmentShaderSource()
     {
         if (isUnsignedIntTest)
         {
diff --git a/src/tests/gl_tests/TextureUploadFormatTest.cpp b/src/tests/gl_tests/TextureUploadFormatTest.cpp
index fe54ceb..c74f1d4 100644
--- a/src/tests/gl_tests/TextureUploadFormatTest.cpp
+++ b/src/tests/gl_tests/TextureUploadFormatTest.cpp
@@ -167,8 +167,7 @@
     {
         constexpr int eBias = (1 << (kEBits - 1)) - 1;
         constexpr int mDiv  = 1 << kMBits;
-        float ret           = powf(-1.0f, static_cast<float>(sVal)) *
-                    powf(2.0f, static_cast<float>(int(eVal) - eBias)) * (1.0f + float(mVal) / mDiv);
+        float ret = powf(-1, sVal) * powf(2, int(eVal) - eBias) * (1.0f + float(mVal) / mDiv);
         return ret;
     }
 };
@@ -188,8 +187,8 @@
         // GLES 3.0.5 p129
         constexpr int eMax = 31;  // max allowed biased exponent value
 
-        const float twoToN       = powf(2.0f, static_cast<float>(N));
-        const float sharedExpMax = (twoToN - 1.0f) / twoToN * powf(2.0f, eMax - B);
+        const float twoToN       = powf(2, N);
+        const float sharedExpMax = (twoToN - 1) / twoToN * powf(2, eMax - B);
 
         const auto fnClampColor = [&](const float color) {
             return std::max(0.0f, std::min(color, sharedExpMax));
@@ -204,12 +203,12 @@
         const auto fnColorS = [&](const float colorC, const float exp) {
             return floori(colorC / powf(2, exp - B - N) + 0.5f);
         };
-        const int maxS = fnColorS(maxC, static_cast<float>(expP));
+        const int maxS = fnColorS(maxC, expP);
         const int expS = expP + ((maxS == (1 << N)) ? 1 : 0);
 
-        const int redS   = fnColorS(redC, static_cast<float>(expS));
-        const int greenS = fnColorS(greenC, static_cast<float>(expS));
-        const int blueS  = fnColorS(blueC, static_cast<float>(expS));
+        const int redS   = fnColorS(redC, expS);
+        const int greenS = fnColorS(greenC, expS);
+        const int blueS  = fnColorS(blueC, expS);
 
         // Pack as u32 EGBR.
         uint32_t ret = expS & 0x1f;
@@ -238,12 +237,10 @@
         // These are *not* IEEE-like UFloat14s.
         // GLES 3.0.5 p165:
         // red = redS*pow(2,expS-B-N)
-        const auto fnToFloat = [&](const uint32_t x) {
-            return x * powf(2.0f, static_cast<float>(int(expS) - B - N));
-        };
-        *out_red   = fnToFloat(redS);
-        *out_green = fnToFloat(greenS);
-        *out_blue  = fnToFloat(blueS);
+        const auto fnToFloat = [&](const uint32_t x) { return x * powf(2, int(expS) - B - N); };
+        *out_red             = fnToFloat(redS);
+        *out_green           = fnToFloat(greenS);
+        *out_blue            = fnToFloat(blueS);
     }
 };
 
diff --git a/src/tests/gl_tests/TimerQueriesTest.cpp b/src/tests/gl_tests/TimerQueriesTest.cpp
index 458469d..a607397 100644
--- a/src/tests/gl_tests/TimerQueriesTest.cpp
+++ b/src/tests/gl_tests/TimerQueriesTest.cpp
@@ -7,10 +7,9 @@
 //   Various tests for EXT_disjoint_timer_query functionality and validation
 //
 
+#include "random_utils.h"
+#include "system_utils.h"
 #include "test_utils/ANGLETest.h"
-#include "util/EGLWindow.h"
-#include "util/random_utils.h"
-#include "util/system_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/TransformFeedbackTest.cpp b/src/tests/gl_tests/TransformFeedbackTest.cpp
index ab19046..60ad8e0 100644
--- a/src/tests/gl_tests/TransformFeedbackTest.cpp
+++ b/src/tests/gl_tests/TransformFeedbackTest.cpp
@@ -4,10 +4,9 @@
 // found in the LICENSE file.
 //
 
+#include "random_utils.h"
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
-#include "util/random_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/VulkanFormatTablesTest.cpp b/src/tests/gl_tests/VulkanFormatTablesTest.cpp
index 06a6ea1..4f51d5b 100644
--- a/src/tests/gl_tests/VulkanFormatTablesTest.cpp
+++ b/src/tests/gl_tests/VulkanFormatTablesTest.cpp
@@ -19,7 +19,6 @@
 #include "libANGLE/formatutils.h"
 #include "libANGLE/renderer/vulkan/ContextVk.h"
 #include "libANGLE/renderer/vulkan/RendererVk.h"
-#include "util/EGLWindow.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/VulkanUniformUpdatesTest.cpp b/src/tests/gl_tests/VulkanUniformUpdatesTest.cpp
index 30be1d2..d1c009e 100644
--- a/src/tests/gl_tests/VulkanUniformUpdatesTest.cpp
+++ b/src/tests/gl_tests/VulkanUniformUpdatesTest.cpp
@@ -19,7 +19,6 @@
 #include "libANGLE/renderer/vulkan/ContextVk.h"
 #include "libANGLE/renderer/vulkan/ProgramVk.h"
 #include "test_utils/gl_raii.h"
-#include "util/EGLWindow.h"
 
 using namespace angle;
 
diff --git a/src/tests/gl_tests/WebGLReadOutsideFramebufferTest.cpp b/src/tests/gl_tests/WebGLReadOutsideFramebufferTest.cpp
index 6997877..45f2c23 100644
--- a/src/tests/gl_tests/WebGLReadOutsideFramebufferTest.cpp
+++ b/src/tests/gl_tests/WebGLReadOutsideFramebufferTest.cpp
@@ -53,7 +53,7 @@
         }
         else
         {
-            ASSERT_TRUE(target == GL_TEXTURE_2D);
+            ASSERT(target == GL_TEXTURE_2D);
             glTexImage2D(target, 0, GL_RGBA, mWidth, mHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE,
                          mData.data());
         }
diff --git a/src/tests/gl_tests/gles1/AlphaFuncTest.cpp b/src/tests/gl_tests/gles1/AlphaFuncTest.cpp
index 693755f..8dd4ff5 100644
--- a/src/tests/gl_tests/gles1/AlphaFuncTest.cpp
+++ b/src/tests/gl_tests/gles1/AlphaFuncTest.cpp
@@ -9,7 +9,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/ClientActiveTextureTest.cpp b/src/tests/gl_tests/gles1/ClientActiveTextureTest.cpp
index 948a27e..4010d08 100644
--- a/src/tests/gl_tests/gles1/ClientActiveTextureTest.cpp
+++ b/src/tests/gl_tests/gles1/ClientActiveTextureTest.cpp
@@ -9,7 +9,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/ClipPlaneTest.cpp b/src/tests/gl_tests/gles1/ClipPlaneTest.cpp
index a77b6a5..d82f36b 100644
--- a/src/tests/gl_tests/gles1/ClipPlaneTest.cpp
+++ b/src/tests/gl_tests/gles1/ClipPlaneTest.cpp
@@ -9,7 +9,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/CurrentColorTest.cpp b/src/tests/gl_tests/gles1/CurrentColorTest.cpp
index 0bf6dc2..25e52dd 100644
--- a/src/tests/gl_tests/gles1/CurrentColorTest.cpp
+++ b/src/tests/gl_tests/gles1/CurrentColorTest.cpp
@@ -9,7 +9,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/CurrentNormalTest.cpp b/src/tests/gl_tests/gles1/CurrentNormalTest.cpp
index e442c54..2da4ba1 100644
--- a/src/tests/gl_tests/gles1/CurrentNormalTest.cpp
+++ b/src/tests/gl_tests/gles1/CurrentNormalTest.cpp
@@ -9,7 +9,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include "common/vector_utils.h"
 
diff --git a/src/tests/gl_tests/gles1/CurrentTextureCoordsTest.cpp b/src/tests/gl_tests/gles1/CurrentTextureCoordsTest.cpp
index 900e234..c753efb 100644
--- a/src/tests/gl_tests/gles1/CurrentTextureCoordsTest.cpp
+++ b/src/tests/gl_tests/gles1/CurrentTextureCoordsTest.cpp
@@ -7,10 +7,11 @@
 // CurrentTextureCoordsTest.cpp: Tests basic usage of glMultiTexCoord4(f|x).
 
 #include "test_utils/ANGLETest.h"
+#include "test_utils/gl_raii.h"
+
+#include "random_utils.h"
 
 #include "common/vector_utils.h"
-#include "test_utils/gl_raii.h"
-#include "util/random_utils.h"
 
 #include <array>
 
diff --git a/src/tests/gl_tests/gles1/FogTest.cpp b/src/tests/gl_tests/gles1/FogTest.cpp
index e147a09..c3d0207 100644
--- a/src/tests/gl_tests/gles1/FogTest.cpp
+++ b/src/tests/gl_tests/gles1/FogTest.cpp
@@ -9,7 +9,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/LightsTest.cpp b/src/tests/gl_tests/gles1/LightsTest.cpp
index 6a31253..ef318b8 100644
--- a/src/tests/gl_tests/gles1/LightsTest.cpp
+++ b/src/tests/gl_tests/gles1/LightsTest.cpp
@@ -11,7 +11,7 @@
 
 #include "common/matrix_utils.h"
 #include "common/vector_utils.h"
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/MaterialsTest.cpp b/src/tests/gl_tests/gles1/MaterialsTest.cpp
index c0ed07b..3eee292 100644
--- a/src/tests/gl_tests/gles1/MaterialsTest.cpp
+++ b/src/tests/gl_tests/gles1/MaterialsTest.cpp
@@ -9,7 +9,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/MatrixBuiltinsTest.cpp b/src/tests/gl_tests/gles1/MatrixBuiltinsTest.cpp
index adf4c92..8798431 100644
--- a/src/tests/gl_tests/gles1/MatrixBuiltinsTest.cpp
+++ b/src/tests/gl_tests/gles1/MatrixBuiltinsTest.cpp
@@ -10,7 +10,7 @@
 #include "test_utils/gl_raii.h"
 
 #include "common/matrix_utils.h"
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/MatrixLoadTest.cpp b/src/tests/gl_tests/gles1/MatrixLoadTest.cpp
index 39b6981..10a168a 100644
--- a/src/tests/gl_tests/gles1/MatrixLoadTest.cpp
+++ b/src/tests/gl_tests/gles1/MatrixLoadTest.cpp
@@ -10,7 +10,7 @@
 #include "test_utils/gl_raii.h"
 
 #include "common/matrix_utils.h"
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/MatrixMultTest.cpp b/src/tests/gl_tests/gles1/MatrixMultTest.cpp
index 7e6a092..a464e06 100644
--- a/src/tests/gl_tests/gles1/MatrixMultTest.cpp
+++ b/src/tests/gl_tests/gles1/MatrixMultTest.cpp
@@ -10,7 +10,7 @@
 #include "test_utils/gl_raii.h"
 
 #include "common/matrix_utils.h"
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/PointParameterTest.cpp b/src/tests/gl_tests/gles1/PointParameterTest.cpp
index 208d75d..1aa4b2b 100644
--- a/src/tests/gl_tests/gles1/PointParameterTest.cpp
+++ b/src/tests/gl_tests/gles1/PointParameterTest.cpp
@@ -9,7 +9,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/ShadeModelTest.cpp b/src/tests/gl_tests/gles1/ShadeModelTest.cpp
index 711de47..46acfee 100644
--- a/src/tests/gl_tests/gles1/ShadeModelTest.cpp
+++ b/src/tests/gl_tests/gles1/ShadeModelTest.cpp
@@ -9,7 +9,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/TextureEnvTest.cpp b/src/tests/gl_tests/gles1/TextureEnvTest.cpp
index 9e4fa8d..ca75c16 100644
--- a/src/tests/gl_tests/gles1/TextureEnvTest.cpp
+++ b/src/tests/gl_tests/gles1/TextureEnvTest.cpp
@@ -9,7 +9,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/gl_tests/gles1/TextureParameterTest.cpp b/src/tests/gl_tests/gles1/TextureParameterTest.cpp
index c816295..4c03b8c 100644
--- a/src/tests/gl_tests/gles1/TextureParameterTest.cpp
+++ b/src/tests/gl_tests/gles1/TextureParameterTest.cpp
@@ -9,7 +9,7 @@
 #include "test_utils/ANGLETest.h"
 #include "test_utils/gl_raii.h"
 
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 #include <stdint.h>
 
diff --git a/src/tests/perf_tests/ANGLEPerfTest.cpp b/src/tests/perf_tests/ANGLEPerfTest.cpp
index 4e53310..825c1ea 100644
--- a/src/tests/perf_tests/ANGLEPerfTest.cpp
+++ b/src/tests/perf_tests/ANGLEPerfTest.cpp
@@ -74,6 +74,8 @@
     static_assert(offsetof(TraceCategory, enabled) == 0,
                   "|enabled| must be the first field of the TraceCategory class.");
     const TraceCategory *category = reinterpret_cast<const TraceCategory *>(categoryEnabledFlag);
+    ptrdiff_t categoryIndex       = category - gTraceCategories;
+    ASSERT(categoryIndex >= 0 && static_cast<size_t>(categoryIndex) < ArraySize(gTraceCategories));
 
     ANGLERenderTest *renderTest     = static_cast<ANGLERenderTest *>(platform->context);
     std::vector<TraceEvent> &buffer = renderTest->getTraceEventBuffer();
@@ -343,13 +345,7 @@
     angle::StabilizeCPUForBenchmarking();
 
     mOSWindow = CreateOSWindow();
-
-    if (!mEGLWindow)
-    {
-        abortTest();
-        return;
-    }
-
+    ASSERT(mEGLWindow != nullptr);
     mEGLWindow->setSwapInterval(0);
 
     mPlatformMethods.overrideWorkaroundsD3D      = OverrideWorkaroundsD3D;
@@ -369,21 +365,12 @@
         return;
     }
 
-    // Load EGL library so we can initialize the display.
-#if defined(ANGLE_USE_UTIL_LOADER)
-    mEntryPointsLib.reset(angle::OpenSharedLibrary(ANGLE_EGL_LIBRARY_NAME));
-#endif  // defined(ANGLE_USE_UTIL_LOADER)
-
-    if (!mEGLWindow->initializeGL(mOSWindow, mEntryPointsLib.get()))
+    if (!mEGLWindow->initializeGL(mOSWindow))
     {
         FAIL() << "Failed initializing EGLWindow";
         return;
     }
 
-#if defined(ANGLE_USE_UTIL_LOADER)
-    angle::LoadGLES(eglGetProcAddress);
-#endif  // defined(ANGLE_USE_UTIL_LOADER)
-
     if (!areExtensionPrerequisitesFulfilled())
     {
         mSkipTest = true;
diff --git a/src/tests/perf_tests/ANGLEPerfTest.h b/src/tests/perf_tests/ANGLEPerfTest.h
index 8c52739..24215c1 100644
--- a/src/tests/perf_tests/ANGLEPerfTest.h
+++ b/src/tests/perf_tests/ANGLEPerfTest.h
@@ -15,13 +15,17 @@
 #include <string>
 #include <vector>
 
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
+#include "EGLWindow.h"
+#include "OSWindow.h"
+#include "Timer.h"
+#include "common/angleutils.h"
+#include "common/debug.h"
 #include "platform/Platform.h"
 #include "test_utils/angle_test_configs.h"
 #include "test_utils/angle_test_instantiate.h"
-#include "util/EGLWindow.h"
-#include "util/OSWindow.h"
-#include "util/Timer.h"
-#include "util/util_gl.h"
 
 class Event;
 
@@ -104,8 +108,6 @@
 
 struct RenderTestParams : public angle::PlatformParameters
 {
-    virtual ~RenderTestParams() {}
-
     virtual std::string suffix() const;
 
     EGLint windowWidth             = 64;
@@ -158,9 +160,6 @@
 
     // Trace event record that can be output.
     std::vector<TraceEvent> mTraceEventBuffer;
-
-    // Handle to the entry point binding library.
-    std::unique_ptr<angle::Library> mEntryPointsLib;
 };
 
 #endif  // PERF_TESTS_ANGLE_PERF_TEST_H_
diff --git a/src/tests/perf_tests/BindingPerf.cpp b/src/tests/perf_tests/BindingPerf.cpp
index 680ba5d..5df3d70 100644
--- a/src/tests/perf_tests/BindingPerf.cpp
+++ b/src/tests/perf_tests/BindingPerf.cpp
@@ -13,7 +13,9 @@
 #include <random>
 #include <sstream>
 
-#include "util/shader_utils.h"
+#include "shader_utils.h"
+
+#include "angle_gl.h"
 
 namespace angle
 {
@@ -67,8 +69,7 @@
             strstr << "_allocated_at_initialization";
             break;
         default:
-            strstr << "_err";
-            break;
+            UNREACHABLE();
     }
 
     return strstr.str();
diff --git a/src/tests/perf_tests/BlitFramebufferPerf.cpp b/src/tests/perf_tests/BlitFramebufferPerf.cpp
index 47698f1..cf61b5c 100644
--- a/src/tests/perf_tests/BlitFramebufferPerf.cpp
+++ b/src/tests/perf_tests/BlitFramebufferPerf.cpp
@@ -10,8 +10,6 @@
 
 #include "ANGLEPerfTest.h"
 
-#include "util/gles_loader_autogen.h"
-
 namespace
 {
 constexpr unsigned int kIterationsPerStep = 5;
diff --git a/src/tests/perf_tests/DispatchComputePerf.cpp b/src/tests/perf_tests/DispatchComputePerf.cpp
index 167c1e3..5d2b287 100644
--- a/src/tests/perf_tests/DispatchComputePerf.cpp
+++ b/src/tests/perf_tests/DispatchComputePerf.cpp
@@ -8,7 +8,9 @@
 //
 
 #include "ANGLEPerfTest.h"
-#include "util/shader_utils.h"
+#include "shader_utils.h"
+
+#include "angle_gl.h"
 
 namespace
 {
diff --git a/src/tests/perf_tests/DynamicPromotionPerfTest.cpp b/src/tests/perf_tests/DynamicPromotionPerfTest.cpp
index 128082f..c007457 100644
--- a/src/tests/perf_tests/DynamicPromotionPerfTest.cpp
+++ b/src/tests/perf_tests/DynamicPromotionPerfTest.cpp
@@ -11,8 +11,8 @@
 
 #include "ANGLEPerfTest.h"
 #include "common/vector_utils.h"
-#include "util/random_utils.h"
-#include "util/shader_utils.h"
+#include "random_utils.h"
+#include "shader_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/perf_tests/EGLInitializePerf.cpp b/src/tests/perf_tests/EGLInitializePerf.cpp
index f44baf2..25f85cb 100644
--- a/src/tests/perf_tests/EGLInitializePerf.cpp
+++ b/src/tests/perf_tests/EGLInitializePerf.cpp
@@ -8,10 +8,10 @@
 //
 
 #include "ANGLEPerfTest.h"
+#include "Timer.h"
 #include "platform/Platform.h"
 #include "test_utils/angle_test_configs.h"
 #include "test_utils/angle_test_instantiate.h"
-#include "util/Timer.h"
 
 using namespace testing;
 
diff --git a/src/tests/perf_tests/EGLMakeCurrentPerf.cpp b/src/tests/perf_tests/EGLMakeCurrentPerf.cpp
index f499262..8d5faaa 100644
--- a/src/tests/perf_tests/EGLMakeCurrentPerf.cpp
+++ b/src/tests/perf_tests/EGLMakeCurrentPerf.cpp
@@ -11,7 +11,6 @@
 #include "platform/Platform.h"
 #include "test_utils/angle_test_configs.h"
 #include "test_utils/angle_test_instantiate.h"
-#include "util/system_utils.h"
 
 #define ITERATIONS 20
 
@@ -35,11 +34,10 @@
     EGLSurface mSurface;
     EGLConfig mConfig;
     std::array<EGLContext, 2> mContexts;
-    std::unique_ptr<angle::Library> mEGLLibrary;
 };
 
 EGLMakeCurrentPerfTest::EGLMakeCurrentPerfTest()
-    : ANGLEPerfTest("EGLMakeCurrent", "_run", ITERATIONS),
+    : ANGLEPerfTest("EGLMakeCurrent", "_run", 1),
       mOSWindow(nullptr),
       mDisplay(EGL_NO_DISPLAY),
       mSurface(EGL_NO_SURFACE),
@@ -62,30 +60,9 @@
     mOSWindow = CreateOSWindow();
     mOSWindow->initialize("EGLMakeCurrent Test", 64, 64);
 
-    mEGLLibrary.reset(angle::OpenSharedLibrary(ANGLE_EGL_LIBRARY_NAME));
-
-    angle::LoadProc getProc =
-        reinterpret_cast<angle::LoadProc>(mEGLLibrary->getSymbol("eglGetProcAddress"));
-
-    if (!getProc)
-    {
-        abortTest();
-    }
-    else
-    {
-        angle::LoadEGL(getProc);
-
-        if (!eglGetPlatformDisplayEXT)
-        {
-            abortTest();
-        }
-        else
-        {
-            mDisplay = eglGetPlatformDisplayEXT(
-                EGL_PLATFORM_ANGLE_ANGLE, reinterpret_cast<void *>(mOSWindow->getNativeDisplay()),
-                &displayAttributes[0]);
-        }
-    }
+    mDisplay = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE,
+                                        reinterpret_cast<void *>(mOSWindow->getNativeDisplay()),
+                                        &displayAttributes[0]);
 }
 
 void EGLMakeCurrentPerfTest::SetUp()
diff --git a/src/tests/perf_tests/InstancingPerf.cpp b/src/tests/perf_tests/InstancingPerf.cpp
index b6a45d2..82c2882 100644
--- a/src/tests/perf_tests/InstancingPerf.cpp
+++ b/src/tests/perf_tests/InstancingPerf.cpp
@@ -12,9 +12,9 @@
 #include <cmath>
 #include <sstream>
 
-#include "util/Matrix.h"
-#include "util/random_utils.h"
-#include "util/shader_utils.h"
+#include "Matrix.h"
+#include "random_utils.h"
+#include "shader_utils.h"
 
 using namespace angle;
 using namespace egl_platform;
@@ -276,6 +276,9 @@
     // Animatino makes the test more interesting visually, but also eats up many CPU cycles.
     if (params.animationEnabled)
     {
+        // Not implemented for billboards.
+        ASSERT(params.instancingEnabled);
+
         float time = static_cast<float>(mTimer->getElapsedTime());
 
         for (size_t pointIndex = 0; pointIndex < mTranslateData.size(); ++pointIndex)
diff --git a/src/tests/perf_tests/InterleavedAttributeData.cpp b/src/tests/perf_tests/InterleavedAttributeData.cpp
index c780c0e..6e98011 100644
--- a/src/tests/perf_tests/InterleavedAttributeData.cpp
+++ b/src/tests/perf_tests/InterleavedAttributeData.cpp
@@ -10,7 +10,7 @@
 #include <sstream>
 
 #include "ANGLEPerfTest.h"
-#include "util/shader_utils.h"
+#include "shader_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/perf_tests/LinkProgramPerfTest.cpp b/src/tests/perf_tests/LinkProgramPerfTest.cpp
index 78dafcf..bda7142 100644
--- a/src/tests/perf_tests/LinkProgramPerfTest.cpp
+++ b/src/tests/perf_tests/LinkProgramPerfTest.cpp
@@ -12,7 +12,7 @@
 #include <array>
 
 #include "common/vector_utils.h"
-#include "util/shader_utils.h"
+#include "shader_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/perf_tests/MultiviewPerf.cpp b/src/tests/perf_tests/MultiviewPerf.cpp
index c61c882..92821ea 100644
--- a/src/tests/perf_tests/MultiviewPerf.cpp
+++ b/src/tests/perf_tests/MultiviewPerf.cpp
@@ -13,8 +13,8 @@
 #include "ANGLEPerfTest.h"
 #include "common/vector_utils.h"
 #include "platform/WorkaroundsD3D.h"
+#include "shader_utils.h"
 #include "test_utils/gl_raii.h"
-#include "util/shader_utils.h"
 
 #include <string.h>
 
@@ -36,6 +36,7 @@
                ") in;\n";
         ;
     }
+    ASSERT(shaderType == GL_FRAGMENT_SHADER);
     return "#extension GL_OVR_multiview : require\n";
 }
 
@@ -87,8 +88,7 @@
                 name += "_instanced_multiview_geometry_shader";
                 break;
             default:
-                name += "_error";
-                break;
+                UNREACHABLE();
         }
         name += "_" + ToString(numViews) + "_views";
         return name;
@@ -180,6 +180,7 @@
 void MultiviewBenchmark::initializeBenchmark()
 {
     const MultiviewPerfParams *params = static_cast<const MultiviewPerfParams *>(&mTestParams);
+    ASSERT(params->windowWidth % params->numViews == 0);
 
     glBindTexture(GL_TEXTURE_2D, mColorTexture);
     glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, params->windowWidth, params->windowHeight, 0, GL_RGBA,
@@ -217,9 +218,8 @@
                                                          viewportOffsets.data());
             break;
         }
-        case MultiviewOption::Unspecified:
-            // implementation error.
-            break;
+        default:
+            UNREACHABLE();
     }
 
     GLenum DrawBuffers[1] = {GL_COLOR_ATTACHMENT0};
@@ -252,9 +252,8 @@
             glScissor(0, 0, viewWidth, viewHeight);
             renderScene();
             break;
-        case MultiviewOption::Unspecified:
-            // implementation error.
-            break;
+        default:
+            UNREACHABLE();
     }
 
     ASSERT_GL_NO_ERROR();
diff --git a/src/tests/perf_tests/PointSprites.cpp b/src/tests/perf_tests/PointSprites.cpp
index a677996..6324d13 100644
--- a/src/tests/perf_tests/PointSprites.cpp
+++ b/src/tests/perf_tests/PointSprites.cpp
@@ -12,8 +12,8 @@
 #include <iostream>
 #include <sstream>
 
-#include "util/random_utils.h"
-#include "util/shader_utils.h"
+#include "random_utils.h"
+#include "shader_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/perf_tests/TexSubImage.cpp b/src/tests/perf_tests/TexSubImage.cpp
index 427b699..42fb471 100644
--- a/src/tests/perf_tests/TexSubImage.cpp
+++ b/src/tests/perf_tests/TexSubImage.cpp
@@ -10,7 +10,7 @@
 #include <sstream>
 
 #include "ANGLEPerfTest.h"
-#include "util/shader_utils.h"
+#include "shader_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/perf_tests/TextureSampling.cpp b/src/tests/perf_tests/TextureSampling.cpp
index 65d9266..a74b3a8 100644
--- a/src/tests/perf_tests/TextureSampling.cpp
+++ b/src/tests/perf_tests/TextureSampling.cpp
@@ -16,7 +16,7 @@
 #include <random>
 #include <sstream>
 
-#include "util/shader_utils.h"
+#include "shader_utils.h"
 
 using namespace angle;
 
diff --git a/src/tests/perf_tests/TexturesPerf.cpp b/src/tests/perf_tests/TexturesPerf.cpp
index ca8b21f..75bbd5e 100644
--- a/src/tests/perf_tests/TexturesPerf.cpp
+++ b/src/tests/perf_tests/TexturesPerf.cpp
@@ -13,7 +13,7 @@
 #include <random>
 #include <sstream>
 
-#include "util/shader_utils.h"
+#include "shader_utils.h"
 
 namespace angle
 {
diff --git a/src/tests/perf_tests/UniformsPerf.cpp b/src/tests/perf_tests/UniformsPerf.cpp
index 9be0319..6c12cfb 100644
--- a/src/tests/perf_tests/UniformsPerf.cpp
+++ b/src/tests/perf_tests/UniformsPerf.cpp
@@ -14,8 +14,8 @@
 #include <random>
 #include <sstream>
 
-#include "util/Matrix.h"
-#include "util/shader_utils.h"
+#include "Matrix.h"
+#include "shader_utils.h"
 
 using namespace angle;
 
@@ -90,6 +90,7 @@
     }
     else
     {
+        ASSERT(dataType == DataType::MAT4);
         strstr << "_matrix";
     }
 
diff --git a/src/tests/perf_tests/VulkanPipelineCachePerf.cpp b/src/tests/perf_tests/VulkanPipelineCachePerf.cpp
index 10c60a0..efbe128 100644
--- a/src/tests/perf_tests/VulkanPipelineCachePerf.cpp
+++ b/src/tests/perf_tests/VulkanPipelineCachePerf.cpp
@@ -9,7 +9,7 @@
 #include "ANGLEPerfTest.h"
 
 #include "libANGLE/renderer/vulkan/vk_cache_utils.h"
-#include "util/random_utils.h"
+#include "random_utils.h"
 
 using namespace rx;
 
diff --git a/src/tests/test_utils/ANGLETest.cpp b/src/tests/test_utils/ANGLETest.cpp
index c8c6e60..fd310a0 100644
--- a/src/tests/test_utils/ANGLETest.cpp
+++ b/src/tests/test_utils/ANGLETest.cpp
@@ -8,9 +8,8 @@
 //
 
 #include "ANGLETest.h"
-
-#include "util/EGLWindow.h"
-#include "util/OSWindow.h"
+#include "EGLWindow.h"
+#include "OSWindow.h"
 
 namespace angle
 {
@@ -361,8 +360,7 @@
     mPlatformMethods.context                = &mPlatformContext;
     mEGLWindow->setPlatformMethods(&mPlatformMethods);
 
-    if (!mEGLWindow->initializeDisplayAndSurface(mOSWindow,
-                                                 ANGLETestEnvironment::GetEntryPointsLib()))
+    if (!mEGLWindow->initializeDisplayAndSurface(mOSWindow))
     {
         FAIL() << "egl display or surface init failed.";
     }
@@ -372,10 +370,6 @@
         FAIL() << "GL Context init failed.";
     }
 
-#if defined(ANGLE_USE_UTIL_LOADER)
-    angle::LoadGLES(eglGetProcAddress);
-#endif  // defined(ANGLE_USE_UTIL_LOADER)
-
     if (needSwap)
     {
         // Swap the buffers so that the default framebuffer picks up the resize
@@ -1253,21 +1247,12 @@
 OSWindow *ANGLETestBase::mOSWindow = nullptr;
 Optional<EGLint> ANGLETestBase::mLastRendererType;
 
-std::unique_ptr<angle::Library> ANGLETestEnvironment::gEntryPointsLib;
-
 void ANGLETestEnvironment::SetUp()
 {
     if (!ANGLETestBase::InitTestWindow())
     {
         FAIL() << "Failed to create ANGLE test window.";
     }
-
-#if defined(ANGLE_USE_UTIL_LOADER)
-    if (!gEntryPointsLib)
-    {
-        gEntryPointsLib.reset(angle::OpenSharedLibrary(ANGLE_EGL_LIBRARY_NAME));
-    }
-#endif  // defined(ANGLE_USE_UTIL_LOADER)
 }
 
 void ANGLETestEnvironment::TearDown()
@@ -1279,24 +1264,3 @@
 {
     testing::AddGlobalTestEnvironment(new ANGLETestEnvironment());
 }
-
-EGLTest::EGLTest() = default;
-
-EGLTest::~EGLTest() = default;
-
-void EGLTest::SetUp()
-{
-#if defined(ANGLE_USE_UTIL_LOADER)
-    PFNEGLGETPROCADDRESSPROC getProcAddress;
-    ANGLETestEnvironment::GetEntryPointsLib()->getAs("eglGetProcAddress", &getProcAddress);
-    ASSERT_NE(nullptr, getProcAddress);
-
-    angle::LoadEGL(getProcAddress);
-    angle::LoadGLES(getProcAddress);
-#endif  // defined(ANGLE_USE_UTIL_LOADER)
-}
-
-bool IsDisplayExtensionEnabled(EGLDisplay display, const std::string &extName)
-{
-    return CheckExtensionExists(eglQueryString(display, EGL_EXTENSIONS), extName);
-}
diff --git a/src/tests/test_utils/ANGLETest.h b/src/tests/test_utils/ANGLETest.h
index c53d80a..b359a35 100644
--- a/src/tests/test_utils/ANGLETest.h
+++ b/src/tests/test_utils/ANGLETest.h
@@ -14,13 +14,13 @@
 #include <algorithm>
 #include <array>
 
+#include "angle_gl.h"
 #include "angle_test_configs.h"
 #include "common/angleutils.h"
 #include "common/vector_utils.h"
 #include "platform/Platform.h"
-#include "util/shader_utils.h"
-#include "util/system_utils.h"
-#include "util/util_gl.h"
+#include "shader_utils.h"
+#include "system_utils.h"
 
 #define ASSERT_GL_TRUE(a) ASSERT_EQ(static_cast<GLboolean>(GL_TRUE), (a))
 #define ASSERT_GL_FALSE(a) ASSERT_EQ(static_cast<GLboolean>(GL_FALSE), (a))
@@ -436,22 +436,6 @@
   public:
     void SetUp() override;
     void TearDown() override;
-
-    static angle::Library *GetEntryPointsLib() { return gEntryPointsLib.get(); }
-
-  private:
-    // For loading entry points.
-    static std::unique_ptr<angle::Library> gEntryPointsLib;
-};
-
-// This base fixture loads the EGL entry points.
-class EGLTest : public testing::Test
-{
-  public:
-    EGLTest();
-    ~EGLTest();
-
-    void SetUp() override;
 };
 
 // Driver vendors
@@ -485,8 +469,6 @@
 bool IsDebug();
 bool IsRelease();
 
-bool IsDisplayExtensionEnabled(EGLDisplay display, const std::string &extName);
-
 // Note: git cl format messes up this formatting.
 #define ANGLE_SKIP_TEST_IF(COND)                                  \
     do                                                            \
diff --git a/src/tests/test_utils/MultiviewTest.cpp b/src/tests/test_utils/MultiviewTest.cpp
index 81d477d..6d29e74 100644
--- a/src/tests/test_utils/MultiviewTest.cpp
+++ b/src/tests/test_utils/MultiviewTest.cpp
@@ -55,7 +55,7 @@
     textureData.resize(viewWidth * height * numLayers * 4, 0u);
 
     // Multisampling is only supported for layered framebuffers.
-    ASSERT_TRUE((samples == 0) || multiviewLayout == GL_FRAMEBUFFER_MULTIVIEW_LAYERED_ANGLE);
+    ASSERT((samples == 0) || multiviewLayout == GL_FRAMEBUFFER_MULTIVIEW_LAYERED_ANGLE);
 
     // We can't upload data to multisample textures, so we clear them using a temporary framebuffer
     // instead. The current framebuffer binding is stored so we can restore it once we're done with
@@ -177,7 +177,7 @@
             break;
         }
         default:
-            ASSERT_TRUE(false);
+            UNREACHABLE();
     }
     ASSERT_GL_NO_ERROR();
 
@@ -193,7 +193,7 @@
                                     GLuint depthTexture,
                                     GLuint depthStencilTexture)
 {
-    ASSERT_TRUE(colorTexture != 0u);
+    ASSERT(colorTexture != 0u);
     std::vector<GLuint> colorTextures(1, colorTexture);
     CreateMultiviewBackingTextures(multiviewLayout, samples, viewWidth, height, numLayers,
                                    colorTextures, depthTexture, depthStencilTexture);
@@ -208,8 +208,8 @@
                              GLuint depthTexture,
                              GLuint depthStencilTexture)
 {
-    ASSERT_TRUE(multiviewLayout == GL_FRAMEBUFFER_MULTIVIEW_LAYERED_ANGLE || (baseViewIndex == 0));
-    ASSERT_TRUE(depthTexture == 0u || depthStencilTexture == 0u);
+    ASSERT(multiviewLayout == GL_FRAMEBUFFER_MULTIVIEW_LAYERED_ANGLE || (baseViewIndex == 0));
+    ASSERT(depthTexture == 0u || depthStencilTexture == 0u);
     switch (multiviewLayout)
     {
         case GL_FRAMEBUFFER_MULTIVIEW_SIDE_BY_SIDE_ANGLE:
@@ -259,7 +259,7 @@
             }
             break;
         default:
-            ASSERT_TRUE(false);
+            UNREACHABLE();
     }
 }
 
@@ -272,7 +272,7 @@
                              GLuint depthTexture,
                              GLuint depthStencilTexture)
 {
-    ASSERT_TRUE(colorTexture != 0u);
+    ASSERT(colorTexture != 0u);
     std::vector<GLuint> colorTextures(1, colorTexture);
     AttachMultiviewTextures(target, multiviewLayout, viewWidth, numViews, baseViewIndex,
                             colorTextures, depthTexture, depthStencilTexture);
diff --git a/src/tests/test_utils/angle_test_configs.cpp b/src/tests/test_utils/angle_test_configs.cpp
index 68274ad..3cb2448 100644
--- a/src/tests/test_utils/angle_test_configs.cpp
+++ b/src/tests/test_utils/angle_test_configs.cpp
@@ -6,8 +6,6 @@
 
 #include "test_utils/angle_test_configs.h"
 
-#include "util/util_gl.h"
-
 namespace angle
 {
 
@@ -111,7 +109,7 @@
             break;
 
         default:
-            stream << "_ERR";
+            UNREACHABLE();
             break;
     }
 
@@ -130,7 +128,7 @@
             break;
 
         default:
-            stream << "_ERR";
+            UNREACHABLE();
             break;
     }
 
diff --git a/src/tests/test_utils/angle_test_configs.h b/src/tests/test_utils/angle_test_configs.h
index b031197..554de13 100644
--- a/src/tests/test_utils/angle_test_configs.h
+++ b/src/tests/test_utils/angle_test_configs.h
@@ -17,9 +17,9 @@
 #include <EGL/egl.h>
 #include <EGL/eglext.h>
 
+#include "EGLWindow.h"
 #include "GLSLANG/ShaderLang.h"
 #include "angle_test_instantiate.h"
-#include "util/EGLPlatformParameters.h"
 
 namespace angle
 {
diff --git a/src/tests/test_utils/angle_test_instantiate.cpp b/src/tests/test_utils/angle_test_instantiate.cpp
index 241f21b..c4c0975 100644
--- a/src/tests/test_utils/angle_test_instantiate.cpp
+++ b/src/tests/test_utils/angle_test_instantiate.cpp
@@ -12,11 +12,9 @@
 #include <iostream>
 #include <map>
 
-#include "angle_gl.h"
+#include "EGLWindow.h"
+#include "OSWindow.h"
 #include "test_utils/angle_test_configs.h"
-#include "util/EGLWindow.h"
-#include "util/OSWindow.h"
-#include "util/system_utils.h"
 
 namespace angle
 {
@@ -80,15 +78,9 @@
 
         if (result)
         {
-            std::unique_ptr<angle::Library> eglLibrary;
-
-#if defined(ANGLE_USE_UTIL_LOADER)
-            eglLibrary.reset(angle::OpenSharedLibrary(ANGLE_EGL_LIBRARY_NAME));
-#endif  // defined(ANGLE_USE_UTIL_LOADER)
-
             EGLWindow *eglWindow =
                 new EGLWindow(param.majorVersion, param.minorVersion, param.eglParameters);
-            result = eglWindow->initializeGL(osWindow, eglLibrary.get());
+            result = eglWindow->initializeGL(osWindow);
 
             eglWindow->destroyGL();
             SafeDelete(eglWindow);
diff --git a/src/tests/test_utils/angle_test_instantiate.h b/src/tests/test_utils/angle_test_instantiate.h
index 3e983cc..67be2b9 100644
--- a/src/tests/test_utils/angle_test_instantiate.h
+++ b/src/tests/test_utils/angle_test_instantiate.h
@@ -12,6 +12,8 @@
 
 #include <gtest/gtest.h>
 
+#include "common/debug.h"
+
 namespace angle
 {
 
diff --git a/src/tests/test_utils/draw_call_perf_utils.cpp b/src/tests/test_utils/draw_call_perf_utils.cpp
index 10300a1..a3f94f8 100644
--- a/src/tests/test_utils/draw_call_perf_utils.cpp
+++ b/src/tests/test_utils/draw_call_perf_utils.cpp
@@ -11,7 +11,7 @@
 
 #include <vector>
 
-#include "util/shader_utils.h"
+#include "shader_utils.h"
 
 namespace
 {
diff --git a/src/tests/test_utils/draw_call_perf_utils.h b/src/tests/test_utils/draw_call_perf_utils.h
index 87d645e..5256b51 100644
--- a/src/tests/test_utils/draw_call_perf_utils.h
+++ b/src/tests/test_utils/draw_call_perf_utils.h
@@ -12,7 +12,7 @@
 
 #include <stddef.h>
 
-#include "util/gles_loader_autogen.h"
+#include "angle_gl.h"
 
 // Returns program ID. The program is left in use, no uniforms.
 GLuint SetupSimpleDrawProgram();
diff --git a/src/tests/test_utils/gl_raii.h b/src/tests/test_utils/gl_raii.h
index a2e7d0e..afddcfb 100644
--- a/src/tests/test_utils/gl_raii.h
+++ b/src/tests/test_utils/gl_raii.h
@@ -11,7 +11,7 @@
 
 #include <functional>
 
-#include "util/shader_utils.h"
+#include "angle_gl.h"
 
 namespace angle
 {
@@ -22,11 +22,12 @@
 using GLGen    = decltype(glGenBuffers);
 using GLDelete = decltype(glDeleteBuffers);
 
+template <GLGen GenF, GLDelete DeleteF>
 class GLWrapper : angle::NonCopyable
 {
   public:
-    GLWrapper(GLGen *genFunc, GLDelete *deleteFunc) : mGenFunc(genFunc), mDeleteFunc(deleteFunc) {}
-    ~GLWrapper() { (*mDeleteFunc)(1, &mHandle); }
+    GLWrapper() {}
+    ~GLWrapper() { DeleteF(1, &mHandle); }
 
     // The move-constructor and move-assignment operators are necessary so that the data within a
     // GLWrapper object can be relocated.
@@ -44,7 +45,7 @@
     {
         if (mHandle != 0u)
         {
-            (*mDeleteFunc)(1, &mHandle);
+            DeleteF(1, &mHandle);
             mHandle = 0u;
         }
     }
@@ -53,7 +54,7 @@
     {
         if (!mHandle)
         {
-            (*mGenFunc)(1, &mHandle);
+            GenF(1, &mHandle);
         }
         return mHandle;
     }
@@ -61,56 +62,18 @@
     operator GLuint() { return get(); }
 
   private:
-    GLGen *mGenFunc;
-    GLDelete *mDeleteFunc;
     GLuint mHandle = 0u;
 };
 
-class GLVertexArray : public GLWrapper
-{
-  public:
-    GLVertexArray() : GLWrapper(&glGenVertexArrays, &glDeleteVertexArrays) {}
-};
-class GLBuffer : public GLWrapper
-{
-  public:
-    GLBuffer() : GLWrapper(&glGenBuffers, &glDeleteBuffers) {}
-};
-class GLTexture : public GLWrapper
-{
-  public:
-    GLTexture() : GLWrapper(&glGenTextures, &glDeleteTextures) {}
-};
-class GLFramebuffer : public GLWrapper
-{
-  public:
-    GLFramebuffer() : GLWrapper(&glGenFramebuffers, &glDeleteFramebuffers) {}
-};
-class GLRenderbuffer : public GLWrapper
-{
-  public:
-    GLRenderbuffer() : GLWrapper(&glGenRenderbuffers, &glDeleteRenderbuffers) {}
-};
-class GLSampler : public GLWrapper
-{
-  public:
-    GLSampler() : GLWrapper(&glGenSamplers, &glDeleteSamplers) {}
-};
-class GLTransformFeedback : public GLWrapper
-{
-  public:
-    GLTransformFeedback() : GLWrapper(&glGenTransformFeedbacks, &glDeleteTransformFeedbacks) {}
-};
-class GLProgramPipeline : public GLWrapper
-{
-  public:
-    GLProgramPipeline() : GLWrapper(&glGenProgramPipelines, &glDeleteProgramPipelines) {}
-};
-class GLQueryEXT : public GLWrapper
-{
-  public:
-    GLQueryEXT() : GLWrapper(&glGenQueriesEXT, &glDeleteQueriesEXT) {}
-};
+using GLVertexArray       = GLWrapper<glGenVertexArrays, glDeleteVertexArrays>;
+using GLBuffer            = GLWrapper<glGenBuffers, glDeleteBuffers>;
+using GLTexture           = GLWrapper<glGenTextures, glDeleteTextures>;
+using GLFramebuffer       = GLWrapper<glGenFramebuffers, glDeleteFramebuffers>;
+using GLRenderbuffer      = GLWrapper<glGenRenderbuffers, glDeleteRenderbuffers>;
+using GLSampler           = GLWrapper<glGenSamplers, glDeleteSamplers>;
+using GLTransformFeedback = GLWrapper<glGenTransformFeedbacks, glDeleteTransformFeedbacks>;
+using GLProgramPipeline   = GLWrapper<glGenProgramPipelines, glDeleteProgramPipelines>;
+using GLQueryEXT          = GLWrapper<glGenQueriesEXT, glDeleteQueriesEXT>;
 
 class GLShader : angle::NonCopyable
 {
@@ -175,7 +138,11 @@
 
     bool valid() const { return mHandle != 0; }
 
-    GLuint get() { return mHandle; }
+    GLuint get()
+    {
+        ASSERT(valid());
+        return mHandle;
+    }
 
     operator GLuint() { return get(); }
 
diff --git a/util/EGLPlatformParameters.h b/util/EGLPlatformParameters.h
deleted file mode 100644
index d0e7fc9..0000000
--- a/util/EGLPlatformParameters.h
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// Copyright 2018 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.
-//
-// EGLPlatformParameters: Basic description of an EGL device.
-
-#ifndef UTIL_EGLPLATFORMPARAMETERS_H_
-#define UTIL_EGLPLATFORMPARAMETERS_H_
-
-#include <EGL/eglplatform.h>
-
-#include "util/util_export.h"
-
-struct ANGLE_UTIL_EXPORT EGLPlatformParameters
-{
-    EGLint renderer;
-    EGLint majorVersion;
-    EGLint minorVersion;
-    EGLint deviceType;
-    EGLint presentPath;
-
-    EGLPlatformParameters();
-    explicit EGLPlatformParameters(EGLint renderer);
-    EGLPlatformParameters(EGLint renderer,
-                          EGLint majorVersion,
-                          EGLint minorVersion,
-                          EGLint deviceType);
-    EGLPlatformParameters(EGLint renderer,
-                          EGLint majorVersion,
-                          EGLint minorVersion,
-                          EGLint deviceType,
-                          EGLint presentPath);
-};
-
-ANGLE_UTIL_EXPORT bool operator<(const EGLPlatformParameters &a, const EGLPlatformParameters &b);
-ANGLE_UTIL_EXPORT bool operator==(const EGLPlatformParameters &a, const EGLPlatformParameters &b);
-
-#endif  // UTIL_EGLPLATFORMPARAMETERS_H_
diff --git a/util/EGLWindow.cpp b/util/EGLWindow.cpp
index 72d9c4c..8d150f5 100644
--- a/util/EGLWindow.cpp
+++ b/util/EGLWindow.cpp
@@ -4,17 +4,15 @@
 // found in the LICENSE file.
 //
 
-#include "util/EGLWindow.h"
-
+#include <string.h>
 #include <cassert>
 #include <iostream>
 #include <vector>
 
-#include <string.h>
-
+#include "EGLWindow.h"
+#include "OSWindow.h"
+#include "common/debug.h"
 #include "platform/Platform.h"
-#include "util/OSWindow.h"
-#include "util/system_utils.h"
 
 EGLPlatformParameters::EGLPlatformParameters()
     : renderer(EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE),
@@ -152,27 +150,15 @@
     return mContext;
 }
 
-bool EGLWindow::initializeGL(OSWindow *osWindow, angle::Library *eglLibrary)
+bool EGLWindow::initializeGL(OSWindow *osWindow)
 {
-    if (!initializeDisplayAndSurface(osWindow, eglLibrary))
+    if (!initializeDisplayAndSurface(osWindow))
         return false;
     return initializeContext();
 }
 
-bool EGLWindow::initializeDisplayAndSurface(OSWindow *osWindow, angle::Library *eglLibrary)
+bool EGLWindow::initializeDisplayAndSurface(OSWindow *osWindow)
 {
-#if defined(ANGLE_USE_UTIL_LOADER)
-    PFNEGLGETPROCADDRESSPROC getProcAddress;
-    eglLibrary->getAs("eglGetProcAddress", &getProcAddress);
-    if (!getProcAddress)
-    {
-        return false;
-    }
-
-    // Likely we will need to use a fallback to Library::getAs on non-ANGLE platforms.
-    angle::LoadEGL(getProcAddress);
-#endif  // defined(ANGLE_USE_UTIL_LOADER)
-
     std::vector<EGLAttrib> displayAttributes;
     displayAttributes.push_back(EGL_PLATFORM_ANGLE_TYPE_ANGLE);
     displayAttributes.push_back(mPlatform.renderer);
@@ -301,12 +287,12 @@
 
     mSurface = eglCreateWindowSurface(mDisplay, mConfig, osWindow->getNativeWindow(),
                                       &surfaceAttributes[0]);
-    if (eglGetError() != EGL_SUCCESS || (mSurface == EGL_NO_SURFACE))
+    if (eglGetError() != EGL_SUCCESS)
     {
         destroyGL();
         return false;
     }
-
+    ASSERT(mSurface != EGL_NO_SURFACE);
     return true;
 }
 
diff --git a/util/EGLWindow.h b/util/EGLWindow.h
index 555c8c8..1977ffc 100644
--- a/util/EGLWindow.h
+++ b/util/EGLWindow.h
@@ -12,21 +12,48 @@
 #include <memory>
 #include <string>
 
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+#include <GLES3/gl3.h>
+#include <export.h>
+
 #include "common/Optional.h"
 #include "common/angleutils.h"
-#include "util/EGLPlatformParameters.h"
-#include "util/util_export.h"
-#include "util/util_gl.h"
 
 class OSWindow;
 
 namespace angle
 {
-class Library;
 struct PlatformMethods;
-}  // namespace angle
+}
 
-class ANGLE_UTIL_EXPORT EGLWindow : angle::NonCopyable
+struct ANGLE_EXPORT EGLPlatformParameters
+{
+    EGLint renderer;
+    EGLint majorVersion;
+    EGLint minorVersion;
+    EGLint deviceType;
+    EGLint presentPath;
+
+    EGLPlatformParameters();
+    explicit EGLPlatformParameters(EGLint renderer);
+    EGLPlatformParameters(EGLint renderer,
+                          EGLint majorVersion,
+                          EGLint minorVersion,
+                          EGLint deviceType);
+    EGLPlatformParameters(EGLint renderer,
+                          EGLint majorVersion,
+                          EGLint minorVersion,
+                          EGLint deviceType,
+                          EGLint presentPath);
+};
+
+ANGLE_EXPORT bool operator<(const EGLPlatformParameters &a, const EGLPlatformParameters &b);
+ANGLE_EXPORT bool operator==(const EGLPlatformParameters &a, const EGLPlatformParameters &b);
+
+class ANGLE_EXPORT EGLWindow : angle::NonCopyable
 {
   public:
     EGLWindow(EGLint glesMajorVersion,
@@ -90,10 +117,10 @@
     const angle::PlatformMethods *getPlatformMethods() const { return mPlatformMethods; }
 
     // Internally initializes the Display, Surface and Context.
-    bool initializeGL(OSWindow *osWindow, angle::Library *eglLibrary);
+    bool initializeGL(OSWindow *osWindow);
 
     // Only initializes the Display and Surface.
-    bool initializeDisplayAndSurface(OSWindow *osWindow, angle::Library *eglLibrary);
+    bool initializeDisplayAndSurface(OSWindow *osWindow);
 
     // Create an EGL context with this window's configuration
     EGLContext createContext(EGLContext share) const;
@@ -143,6 +170,6 @@
     angle::PlatformMethods *mPlatformMethods;
 };
 
-ANGLE_UTIL_EXPORT bool CheckExtensionExists(const char *allExtensions, const std::string &extName);
+ANGLE_EXPORT bool CheckExtensionExists(const char *allExtensions, const std::string &extName);
 
 #endif  // UTIL_EGLWINDOW_H_
diff --git a/util/Matrix.h b/util/Matrix.h
index bf883a9..168dc05 100644
--- a/util/Matrix.h
+++ b/util/Matrix.h
@@ -10,10 +10,11 @@
 #ifndef UTIL_MATRIX_H
 #define UTIL_MATRIX_H
 
-#include "common/vector_utils.h"
-#include "util/util_export.h"
+#include <export.h>
 
-struct ANGLE_UTIL_EXPORT Matrix4
+#include "common/vector_utils.h"
+
+struct ANGLE_EXPORT Matrix4
 {
     float data[16];
 
@@ -50,13 +51,13 @@
     static angle::Vector3 transform(const Matrix4 &mat, const angle::Vector4 &pt);
 };
 
-ANGLE_UTIL_EXPORT Matrix4 operator*(const Matrix4 &a, const Matrix4 &b);
-ANGLE_UTIL_EXPORT Matrix4 &operator*=(Matrix4 &a, const Matrix4 &b);
-ANGLE_UTIL_EXPORT Matrix4 operator*(const Matrix4 &a, float b);
-ANGLE_UTIL_EXPORT Matrix4 &operator*=(Matrix4 &a, float b);
-ANGLE_UTIL_EXPORT angle::Vector4 operator*(const Matrix4 &a, const angle::Vector4 &b);
+ANGLE_EXPORT Matrix4 operator*(const Matrix4 &a, const Matrix4 &b);
+ANGLE_EXPORT Matrix4 &operator*=(Matrix4 &a, const Matrix4 &b);
+ANGLE_EXPORT Matrix4 operator*(const Matrix4 &a, float b);
+ANGLE_EXPORT Matrix4 &operator*=(Matrix4 &a, float b);
+ANGLE_EXPORT angle::Vector4 operator*(const Matrix4 &a, const angle::Vector4 &b);
 
-ANGLE_UTIL_EXPORT bool operator==(const Matrix4 &a, const Matrix4 &b);
-ANGLE_UTIL_EXPORT bool operator!=(const Matrix4 &a, const Matrix4 &b);
+ANGLE_EXPORT bool operator==(const Matrix4 &a, const Matrix4 &b);
+ANGLE_EXPORT bool operator!=(const Matrix4 &a, const Matrix4 &b);
 
 #endif  // UTIL_MATRIX_H
diff --git a/util/OSPixmap.h b/util/OSPixmap.h
index ba6ccf4..2afcaf0 100644
--- a/util/OSPixmap.h
+++ b/util/OSPixmap.h
@@ -11,26 +11,23 @@
 
 #include <stdlib.h>
 
+#include <export.h>
 #include <EGL/egl.h>
 #include <EGL/eglext.h>
 
-#include "util/Event.h"
-#include "util/util_export.h"
+#include "Event.h"
 
-class ANGLE_UTIL_EXPORT OSPixmap
+class ANGLE_EXPORT OSPixmap
 {
   public:
     OSPixmap() {}
     virtual ~OSPixmap() {}
 
-    virtual bool initialize(EGLNativeDisplayType display,
-                            size_t width,
-                            size_t height,
-                            int depth) = 0;
+    virtual bool initialize(EGLNativeDisplayType display, size_t width, size_t height, int depth) = 0;
 
     virtual EGLNativePixmapType getNativePixmap() const = 0;
 };
 
-ANGLE_UTIL_EXPORT OSPixmap *CreateOSPixmap();
+ANGLE_EXPORT OSPixmap *CreateOSPixmap();
 
-#endif  // SAMPLE_UTIL_PIXMAP_H_
+#endif // SAMPLE_UTIL_PIXMAP_H_
diff --git a/util/OSWindow.h b/util/OSWindow.h
index d14219b..4671792 100644
--- a/util/OSWindow.h
+++ b/util/OSWindow.h
@@ -7,23 +7,24 @@
 #ifndef SAMPLE_UTIL_WINDOW_H
 #define SAMPLE_UTIL_WINDOW_H
 
-#include <stdint.h>
 #include <list>
+#include <stdint.h>
 #include <string>
 
-#include <EGL/eglplatform.h>
+#include <export.h>
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
 
-#include "util/Event.h"
-#include "util/util_export.h"
+#include "Event.h"
 
-class ANGLE_UTIL_EXPORT OSWindow
+class ANGLE_EXPORT OSWindow
 {
   public:
     OSWindow();
     virtual ~OSWindow();
 
     virtual bool initialize(const std::string &name, size_t width, size_t height) = 0;
-    virtual void destroy()                                                        = 0;
+    virtual void destroy() = 0;
 
     int getX() const;
     int getY() const;
@@ -36,7 +37,7 @@
     // just grab the pixels of the window. Returns if it was successful.
     virtual bool takeScreenshot(uint8_t *pixelData);
 
-    virtual EGLNativeWindowType getNativeWindow() const   = 0;
+    virtual EGLNativeWindowType getNativeWindow() const = 0;
     virtual EGLNativeDisplayType getNativeDisplay() const = 0;
 
     virtual void messageLoop() = 0;
@@ -45,9 +46,9 @@
     virtual void pushEvent(Event event);
 
     virtual void setMousePosition(int x, int y) = 0;
-    virtual bool setPosition(int x, int y)      = 0;
-    virtual bool resize(int width, int height)  = 0;
-    virtual void setVisible(bool isVisible)     = 0;
+    virtual bool setPosition(int x, int y) = 0;
+    virtual bool resize(int width, int height) = 0;
+    virtual void setVisible(bool isVisible) = 0;
 
     virtual void signalTestEvent() = 0;
 
@@ -63,6 +64,6 @@
     std::list<Event> mEvents;
 };
 
-ANGLE_UTIL_EXPORT OSWindow *CreateOSWindow();
+ANGLE_EXPORT OSWindow *CreateOSWindow();
 
-#endif  // SAMPLE_UTIL_WINDOW_H
+#endif // SAMPLE_UTIL_WINDOW_H
diff --git a/util/Timer.h b/util/Timer.h
index 8a1f393..7c9093f 100644
--- a/util/Timer.h
+++ b/util/Timer.h
@@ -7,9 +7,9 @@
 #ifndef SAMPLE_UTIL_TIMER_H
 #define SAMPLE_UTIL_TIMER_H
 
-#include "util/util_export.h"
+#include <export.h>
 
-class ANGLE_UTIL_EXPORT Timer
+class ANGLE_EXPORT Timer
 {
   public:
     virtual ~Timer() {}
@@ -17,8 +17,8 @@
     // Timer functionality: Use start() and stop() to record the duration and use getElapsedTime()
     // to query that duration.  If getElapsedTime() is called in between, it will report the elapsed
     // time since start().
-    virtual void start()                  = 0;
-    virtual void stop()                   = 0;
+    virtual void start() = 0;
+    virtual void stop() = 0;
     virtual double getElapsedTime() const = 0;
 
     // Timestamp functionality: Use getAbsoluteTime() to get an absolute time with an unknown
@@ -26,6 +26,6 @@
     virtual double getAbsoluteTime() = 0;
 };
 
-ANGLE_UTIL_EXPORT Timer *CreateTimer();
+ANGLE_EXPORT Timer *CreateTimer();
 
-#endif  // SAMPLE_UTIL_TIMER_H
+#endif // SAMPLE_UTIL_TIMER_H
diff --git a/util/android/AndroidPixmap.cpp b/util/android/AndroidPixmap.cpp
index 8822353..077ebb5 100644
--- a/util/android/AndroidPixmap.cpp
+++ b/util/android/AndroidPixmap.cpp
@@ -6,7 +6,7 @@
 
 // AndroidPixmap.cpp: Implementation of OSPixmap for Android
 
-#include "util/OSPixmap.h"
+#include "OSPixmap.h"
 
 OSPixmap *CreateOSPixmap()
 {
diff --git a/util/android/AndroidWindow.cpp b/util/android/AndroidWindow.cpp
index 6074b54..e759cda 100644
--- a/util/android/AndroidWindow.cpp
+++ b/util/android/AndroidWindow.cpp
@@ -6,31 +6,36 @@
 
 // AndroidWindow.cpp: Implementation of OSWindow for Android
 
-#include "util/android/AndroidWindow.h"
+#include "android/AndroidWindow.h"
 
 #include <pthread.h>
 
+#include "android/third_party/android_native_app_glue.h"
 #include "common/debug.h"
-#include "util/android/third_party/android_native_app_glue.h"
-#include "util/egl_loader_autogen.h"
 
 namespace
 {
-struct android_app *sApp = nullptr;
-pthread_mutex_t sInitWindowMutex;
-pthread_cond_t sInitWindowCond;
-bool sInitWindowDone = false;
+    struct android_app *sApp = nullptr;
+    pthread_mutex_t sInitWindowMutex;
+    pthread_cond_t sInitWindowCond;
+    bool sInitWindowDone = false;
 }  // namespace
 
-AndroidWindow::AndroidWindow() {}
+AndroidWindow::AndroidWindow()
+{
+}
 
-AndroidWindow::~AndroidWindow() {}
+AndroidWindow::~AndroidWindow()
+{
+}
 
 bool AndroidWindow::initialize(const std::string &name, size_t width, size_t height)
 {
     return resize(width, height);
 }
-void AndroidWindow::destroy() {}
+void AndroidWindow::destroy()
+{
+}
 
 EGLNativeWindowType AndroidWindow::getNativeWindow() const
 {
@@ -63,7 +68,7 @@
 
 bool AndroidWindow::resize(int width, int height)
 {
-    mWidth  = width;
+    mWidth = width;
     mHeight = height;
 
     // sApp->window used below is valid only after Activity Surface is created
@@ -80,7 +85,9 @@
     return err == 0;
 }
 
-void AndroidWindow::setVisible(bool isVisible) {}
+void AndroidWindow::setVisible(bool isVisible)
+{
+}
 
 void AndroidWindow::signalTestEvent()
 {
@@ -107,11 +114,11 @@
             pthread_cond_broadcast(&sInitWindowCond);
             pthread_mutex_unlock(&sInitWindowMutex);
             break;
-            // TODO: process other commands and pass them to AndroidWindow for handling
-            // TODO: figure out how to handle APP_CMD_PAUSE,
-            // which should immediately halt all the rendering,
-            // since Activity Surface is no longer available.
-            // Currently tests crash when paused, for example, due to device changing orientation
+        // TODO: process other commands and pass them to AndroidWindow for handling
+        // TODO: figure out how to handle APP_CMD_PAUSE,
+        // which should immediately halt all the rendering,
+        // since Activity Surface is no longer available.
+        // Currently tests crash when paused, for example, due to device changing orientation
     }
 }
 
@@ -131,7 +138,7 @@
     pthread_cond_init(&sInitWindowCond, nullptr);
 
     // Event handlers, invoked from source->process()
-    app->onAppCmd     = onAppCmd;
+    app->onAppCmd = onAppCmd;
     app->onInputEvent = onInputEvent;
 
     // Message loop, polling for events indefinitely (due to -1 timeout)
diff --git a/util/android/AndroidWindow.h b/util/android/AndroidWindow.h
index a0aca3d..d660057 100644
--- a/util/android/AndroidWindow.h
+++ b/util/android/AndroidWindow.h
@@ -9,7 +9,7 @@
 #ifndef UTIL_ANDROID_WINDOW_H_
 #define UTIL_ANDROID_WINDOW_H_
 
-#include "util/OSWindow.h"
+#include "OSWindow.h"
 
 class AndroidWindow : public OSWindow
 {
diff --git a/util/egl_loader_autogen.cpp b/util/egl_loader_autogen.cpp
deleted file mode 100644
index 920475f..0000000
--- a/util/egl_loader_autogen.cpp
+++ /dev/null
@@ -1,241 +0,0 @@
-// GENERATED FILE - DO NOT EDIT.
-// Generated by generate_loader.py using data from egl.xml and egl_angle_ext.xml.
-//
-// Copyright 2018 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.
-//
-// egl_loader_autogen.cpp:
-//   Simple EGL function loader.
-
-#include "egl_loader_autogen.h"
-
-ANGLE_UTIL_EXPORT PFNEGLCHOOSECONFIGPROC eglChooseConfig;
-ANGLE_UTIL_EXPORT PFNEGLCOPYBUFFERSPROC eglCopyBuffers;
-ANGLE_UTIL_EXPORT PFNEGLCREATECONTEXTPROC eglCreateContext;
-ANGLE_UTIL_EXPORT PFNEGLCREATEPBUFFERSURFACEPROC eglCreatePbufferSurface;
-ANGLE_UTIL_EXPORT PFNEGLCREATEPIXMAPSURFACEPROC eglCreatePixmapSurface;
-ANGLE_UTIL_EXPORT PFNEGLCREATEWINDOWSURFACEPROC eglCreateWindowSurface;
-ANGLE_UTIL_EXPORT PFNEGLDESTROYCONTEXTPROC eglDestroyContext;
-ANGLE_UTIL_EXPORT PFNEGLDESTROYSURFACEPROC eglDestroySurface;
-ANGLE_UTIL_EXPORT PFNEGLGETCONFIGATTRIBPROC eglGetConfigAttrib;
-ANGLE_UTIL_EXPORT PFNEGLGETCONFIGSPROC eglGetConfigs;
-ANGLE_UTIL_EXPORT PFNEGLGETCURRENTDISPLAYPROC eglGetCurrentDisplay;
-ANGLE_UTIL_EXPORT PFNEGLGETCURRENTSURFACEPROC eglGetCurrentSurface;
-ANGLE_UTIL_EXPORT PFNEGLGETDISPLAYPROC eglGetDisplay;
-ANGLE_UTIL_EXPORT PFNEGLGETERRORPROC eglGetError;
-ANGLE_UTIL_EXPORT PFNEGLGETPROCADDRESSPROC eglGetProcAddress;
-ANGLE_UTIL_EXPORT PFNEGLINITIALIZEPROC eglInitialize;
-ANGLE_UTIL_EXPORT PFNEGLMAKECURRENTPROC eglMakeCurrent;
-ANGLE_UTIL_EXPORT PFNEGLQUERYCONTEXTPROC eglQueryContext;
-ANGLE_UTIL_EXPORT PFNEGLQUERYSTRINGPROC eglQueryString;
-ANGLE_UTIL_EXPORT PFNEGLQUERYSURFACEPROC eglQuerySurface;
-ANGLE_UTIL_EXPORT PFNEGLSWAPBUFFERSPROC eglSwapBuffers;
-ANGLE_UTIL_EXPORT PFNEGLTERMINATEPROC eglTerminate;
-ANGLE_UTIL_EXPORT PFNEGLWAITGLPROC eglWaitGL;
-ANGLE_UTIL_EXPORT PFNEGLWAITNATIVEPROC eglWaitNative;
-ANGLE_UTIL_EXPORT PFNEGLBINDTEXIMAGEPROC eglBindTexImage;
-ANGLE_UTIL_EXPORT PFNEGLRELEASETEXIMAGEPROC eglReleaseTexImage;
-ANGLE_UTIL_EXPORT PFNEGLSURFACEATTRIBPROC eglSurfaceAttrib;
-ANGLE_UTIL_EXPORT PFNEGLSWAPINTERVALPROC eglSwapInterval;
-ANGLE_UTIL_EXPORT PFNEGLBINDAPIPROC eglBindAPI;
-ANGLE_UTIL_EXPORT PFNEGLQUERYAPIPROC eglQueryAPI;
-ANGLE_UTIL_EXPORT PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC eglCreatePbufferFromClientBuffer;
-ANGLE_UTIL_EXPORT PFNEGLRELEASETHREADPROC eglReleaseThread;
-ANGLE_UTIL_EXPORT PFNEGLWAITCLIENTPROC eglWaitClient;
-ANGLE_UTIL_EXPORT PFNEGLGETCURRENTCONTEXTPROC eglGetCurrentContext;
-ANGLE_UTIL_EXPORT PFNEGLCREATESYNCPROC eglCreateSync;
-ANGLE_UTIL_EXPORT PFNEGLDESTROYSYNCPROC eglDestroySync;
-ANGLE_UTIL_EXPORT PFNEGLCLIENTWAITSYNCPROC eglClientWaitSync;
-ANGLE_UTIL_EXPORT PFNEGLGETSYNCATTRIBPROC eglGetSyncAttrib;
-ANGLE_UTIL_EXPORT PFNEGLCREATEIMAGEPROC eglCreateImage;
-ANGLE_UTIL_EXPORT PFNEGLDESTROYIMAGEPROC eglDestroyImage;
-ANGLE_UTIL_EXPORT PFNEGLGETPLATFORMDISPLAYPROC eglGetPlatformDisplay;
-ANGLE_UTIL_EXPORT PFNEGLCREATEPLATFORMWINDOWSURFACEPROC eglCreatePlatformWindowSurface;
-ANGLE_UTIL_EXPORT PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC eglCreatePlatformPixmapSurface;
-ANGLE_UTIL_EXPORT PFNEGLWAITSYNCPROC eglWaitSync;
-ANGLE_UTIL_EXPORT PFNEGLSETBLOBCACHEFUNCSANDROIDPROC eglSetBlobCacheFuncsANDROID;
-ANGLE_UTIL_EXPORT PFNEGLGETCOMPOSITORTIMINGANDROIDPROC eglGetCompositorTimingANDROID;
-ANGLE_UTIL_EXPORT PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC
-    eglGetCompositorTimingSupportedANDROID;
-ANGLE_UTIL_EXPORT PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC eglGetFrameTimestampSupportedANDROID;
-ANGLE_UTIL_EXPORT PFNEGLGETFRAMETIMESTAMPSANDROIDPROC eglGetFrameTimestampsANDROID;
-ANGLE_UTIL_EXPORT PFNEGLGETNEXTFRAMEIDANDROIDPROC eglGetNextFrameIdANDROID;
-ANGLE_UTIL_EXPORT PFNEGLPRESENTATIONTIMEANDROIDPROC eglPresentationTimeANDROID;
-ANGLE_UTIL_EXPORT PFNEGLCREATEDEVICEANGLEPROC eglCreateDeviceANGLE;
-ANGLE_UTIL_EXPORT PFNEGLRELEASEDEVICEANGLEPROC eglReleaseDeviceANGLE;
-ANGLE_UTIL_EXPORT PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC eglProgramCacheGetAttribANGLE;
-ANGLE_UTIL_EXPORT PFNEGLPROGRAMCACHEPOPULATEANGLEPROC eglProgramCachePopulateANGLE;
-ANGLE_UTIL_EXPORT PFNEGLPROGRAMCACHEQUERYANGLEPROC eglProgramCacheQueryANGLE;
-ANGLE_UTIL_EXPORT PFNEGLPROGRAMCACHERESIZEANGLEPROC eglProgramCacheResizeANGLE;
-ANGLE_UTIL_EXPORT PFNEGLQUERYSURFACEPOINTERANGLEPROC eglQuerySurfacePointerANGLE;
-ANGLE_UTIL_EXPORT PFNEGLCREATESTREAMPRODUCERD3DTEXTUREANGLEPROC
-    eglCreateStreamProducerD3DTextureANGLE;
-ANGLE_UTIL_EXPORT PFNEGLSTREAMPOSTD3DTEXTUREANGLEPROC eglStreamPostD3DTextureANGLE;
-ANGLE_UTIL_EXPORT PFNEGLGETSYNCVALUESCHROMIUMPROC eglGetSyncValuesCHROMIUM;
-ANGLE_UTIL_EXPORT PFNEGLQUERYDEVICEATTRIBEXTPROC eglQueryDeviceAttribEXT;
-ANGLE_UTIL_EXPORT PFNEGLQUERYDEVICESTRINGEXTPROC eglQueryDeviceStringEXT;
-ANGLE_UTIL_EXPORT PFNEGLQUERYDISPLAYATTRIBEXTPROC eglQueryDisplayAttribEXT;
-ANGLE_UTIL_EXPORT PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC eglCreatePlatformPixmapSurfaceEXT;
-ANGLE_UTIL_EXPORT PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC eglCreatePlatformWindowSurfaceEXT;
-ANGLE_UTIL_EXPORT PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT;
-ANGLE_UTIL_EXPORT PFNEGLDEBUGMESSAGECONTROLKHRPROC eglDebugMessageControlKHR;
-ANGLE_UTIL_EXPORT PFNEGLLABELOBJECTKHRPROC eglLabelObjectKHR;
-ANGLE_UTIL_EXPORT PFNEGLQUERYDEBUGKHRPROC eglQueryDebugKHR;
-ANGLE_UTIL_EXPORT PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR;
-ANGLE_UTIL_EXPORT PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR;
-ANGLE_UTIL_EXPORT PFNEGLCREATESTREAMKHRPROC eglCreateStreamKHR;
-ANGLE_UTIL_EXPORT PFNEGLDESTROYSTREAMKHRPROC eglDestroyStreamKHR;
-ANGLE_UTIL_EXPORT PFNEGLQUERYSTREAMKHRPROC eglQueryStreamKHR;
-ANGLE_UTIL_EXPORT PFNEGLQUERYSTREAMU64KHRPROC eglQueryStreamu64KHR;
-ANGLE_UTIL_EXPORT PFNEGLSTREAMATTRIBKHRPROC eglStreamAttribKHR;
-ANGLE_UTIL_EXPORT PFNEGLSTREAMCONSUMERACQUIREKHRPROC eglStreamConsumerAcquireKHR;
-ANGLE_UTIL_EXPORT PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC
-    eglStreamConsumerGLTextureExternalKHR;
-ANGLE_UTIL_EXPORT PFNEGLSTREAMCONSUMERRELEASEKHRPROC eglStreamConsumerReleaseKHR;
-ANGLE_UTIL_EXPORT PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC eglSwapBuffersWithDamageKHR;
-ANGLE_UTIL_EXPORT PFNEGLPOSTSUBBUFFERNVPROC eglPostSubBufferNV;
-ANGLE_UTIL_EXPORT PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC
-    eglStreamConsumerGLTextureExternalAttribsNV;
-
-namespace angle
-{
-void LoadEGL(LoadProc loadProc)
-{
-    eglChooseConfig  = reinterpret_cast<PFNEGLCHOOSECONFIGPROC>(loadProc("eglChooseConfig"));
-    eglCopyBuffers   = reinterpret_cast<PFNEGLCOPYBUFFERSPROC>(loadProc("eglCopyBuffers"));
-    eglCreateContext = reinterpret_cast<PFNEGLCREATECONTEXTPROC>(loadProc("eglCreateContext"));
-    eglCreatePbufferSurface =
-        reinterpret_cast<PFNEGLCREATEPBUFFERSURFACEPROC>(loadProc("eglCreatePbufferSurface"));
-    eglCreatePixmapSurface =
-        reinterpret_cast<PFNEGLCREATEPIXMAPSURFACEPROC>(loadProc("eglCreatePixmapSurface"));
-    eglCreateWindowSurface =
-        reinterpret_cast<PFNEGLCREATEWINDOWSURFACEPROC>(loadProc("eglCreateWindowSurface"));
-    eglDestroyContext = reinterpret_cast<PFNEGLDESTROYCONTEXTPROC>(loadProc("eglDestroyContext"));
-    eglDestroySurface = reinterpret_cast<PFNEGLDESTROYSURFACEPROC>(loadProc("eglDestroySurface"));
-    eglGetConfigAttrib =
-        reinterpret_cast<PFNEGLGETCONFIGATTRIBPROC>(loadProc("eglGetConfigAttrib"));
-    eglGetConfigs = reinterpret_cast<PFNEGLGETCONFIGSPROC>(loadProc("eglGetConfigs"));
-    eglGetCurrentDisplay =
-        reinterpret_cast<PFNEGLGETCURRENTDISPLAYPROC>(loadProc("eglGetCurrentDisplay"));
-    eglGetCurrentSurface =
-        reinterpret_cast<PFNEGLGETCURRENTSURFACEPROC>(loadProc("eglGetCurrentSurface"));
-    eglGetDisplay     = reinterpret_cast<PFNEGLGETDISPLAYPROC>(loadProc("eglGetDisplay"));
-    eglGetError       = reinterpret_cast<PFNEGLGETERRORPROC>(loadProc("eglGetError"));
-    eglGetProcAddress = reinterpret_cast<PFNEGLGETPROCADDRESSPROC>(loadProc("eglGetProcAddress"));
-    eglInitialize     = reinterpret_cast<PFNEGLINITIALIZEPROC>(loadProc("eglInitialize"));
-    eglMakeCurrent    = reinterpret_cast<PFNEGLMAKECURRENTPROC>(loadProc("eglMakeCurrent"));
-    eglQueryContext   = reinterpret_cast<PFNEGLQUERYCONTEXTPROC>(loadProc("eglQueryContext"));
-    eglQueryString    = reinterpret_cast<PFNEGLQUERYSTRINGPROC>(loadProc("eglQueryString"));
-    eglQuerySurface   = reinterpret_cast<PFNEGLQUERYSURFACEPROC>(loadProc("eglQuerySurface"));
-    eglSwapBuffers    = reinterpret_cast<PFNEGLSWAPBUFFERSPROC>(loadProc("eglSwapBuffers"));
-    eglTerminate      = reinterpret_cast<PFNEGLTERMINATEPROC>(loadProc("eglTerminate"));
-    eglWaitGL         = reinterpret_cast<PFNEGLWAITGLPROC>(loadProc("eglWaitGL"));
-    eglWaitNative     = reinterpret_cast<PFNEGLWAITNATIVEPROC>(loadProc("eglWaitNative"));
-    eglBindTexImage   = reinterpret_cast<PFNEGLBINDTEXIMAGEPROC>(loadProc("eglBindTexImage"));
-    eglReleaseTexImage =
-        reinterpret_cast<PFNEGLRELEASETEXIMAGEPROC>(loadProc("eglReleaseTexImage"));
-    eglSurfaceAttrib = reinterpret_cast<PFNEGLSURFACEATTRIBPROC>(loadProc("eglSurfaceAttrib"));
-    eglSwapInterval  = reinterpret_cast<PFNEGLSWAPINTERVALPROC>(loadProc("eglSwapInterval"));
-    eglBindAPI       = reinterpret_cast<PFNEGLBINDAPIPROC>(loadProc("eglBindAPI"));
-    eglQueryAPI      = reinterpret_cast<PFNEGLQUERYAPIPROC>(loadProc("eglQueryAPI"));
-    eglCreatePbufferFromClientBuffer = reinterpret_cast<PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC>(
-        loadProc("eglCreatePbufferFromClientBuffer"));
-    eglReleaseThread = reinterpret_cast<PFNEGLRELEASETHREADPROC>(loadProc("eglReleaseThread"));
-    eglWaitClient    = reinterpret_cast<PFNEGLWAITCLIENTPROC>(loadProc("eglWaitClient"));
-    eglGetCurrentContext =
-        reinterpret_cast<PFNEGLGETCURRENTCONTEXTPROC>(loadProc("eglGetCurrentContext"));
-    eglCreateSync     = reinterpret_cast<PFNEGLCREATESYNCPROC>(loadProc("eglCreateSync"));
-    eglDestroySync    = reinterpret_cast<PFNEGLDESTROYSYNCPROC>(loadProc("eglDestroySync"));
-    eglClientWaitSync = reinterpret_cast<PFNEGLCLIENTWAITSYNCPROC>(loadProc("eglClientWaitSync"));
-    eglGetSyncAttrib  = reinterpret_cast<PFNEGLGETSYNCATTRIBPROC>(loadProc("eglGetSyncAttrib"));
-    eglCreateImage    = reinterpret_cast<PFNEGLCREATEIMAGEPROC>(loadProc("eglCreateImage"));
-    eglDestroyImage   = reinterpret_cast<PFNEGLDESTROYIMAGEPROC>(loadProc("eglDestroyImage"));
-    eglGetPlatformDisplay =
-        reinterpret_cast<PFNEGLGETPLATFORMDISPLAYPROC>(loadProc("eglGetPlatformDisplay"));
-    eglCreatePlatformWindowSurface = reinterpret_cast<PFNEGLCREATEPLATFORMWINDOWSURFACEPROC>(
-        loadProc("eglCreatePlatformWindowSurface"));
-    eglCreatePlatformPixmapSurface = reinterpret_cast<PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC>(
-        loadProc("eglCreatePlatformPixmapSurface"));
-    eglWaitSync                 = reinterpret_cast<PFNEGLWAITSYNCPROC>(loadProc("eglWaitSync"));
-    eglSetBlobCacheFuncsANDROID = reinterpret_cast<PFNEGLSETBLOBCACHEFUNCSANDROIDPROC>(
-        loadProc("eglSetBlobCacheFuncsANDROID"));
-    eglGetCompositorTimingANDROID = reinterpret_cast<PFNEGLGETCOMPOSITORTIMINGANDROIDPROC>(
-        loadProc("eglGetCompositorTimingANDROID"));
-    eglGetCompositorTimingSupportedANDROID =
-        reinterpret_cast<PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC>(
-            loadProc("eglGetCompositorTimingSupportedANDROID"));
-    eglGetFrameTimestampSupportedANDROID =
-        reinterpret_cast<PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC>(
-            loadProc("eglGetFrameTimestampSupportedANDROID"));
-    eglGetFrameTimestampsANDROID = reinterpret_cast<PFNEGLGETFRAMETIMESTAMPSANDROIDPROC>(
-        loadProc("eglGetFrameTimestampsANDROID"));
-    eglGetNextFrameIdANDROID =
-        reinterpret_cast<PFNEGLGETNEXTFRAMEIDANDROIDPROC>(loadProc("eglGetNextFrameIdANDROID"));
-    eglPresentationTimeANDROID =
-        reinterpret_cast<PFNEGLPRESENTATIONTIMEANDROIDPROC>(loadProc("eglPresentationTimeANDROID"));
-    eglCreateDeviceANGLE =
-        reinterpret_cast<PFNEGLCREATEDEVICEANGLEPROC>(loadProc("eglCreateDeviceANGLE"));
-    eglReleaseDeviceANGLE =
-        reinterpret_cast<PFNEGLRELEASEDEVICEANGLEPROC>(loadProc("eglReleaseDeviceANGLE"));
-    eglProgramCacheGetAttribANGLE = reinterpret_cast<PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC>(
-        loadProc("eglProgramCacheGetAttribANGLE"));
-    eglProgramCachePopulateANGLE = reinterpret_cast<PFNEGLPROGRAMCACHEPOPULATEANGLEPROC>(
-        loadProc("eglProgramCachePopulateANGLE"));
-    eglProgramCacheQueryANGLE =
-        reinterpret_cast<PFNEGLPROGRAMCACHEQUERYANGLEPROC>(loadProc("eglProgramCacheQueryANGLE"));
-    eglProgramCacheResizeANGLE =
-        reinterpret_cast<PFNEGLPROGRAMCACHERESIZEANGLEPROC>(loadProc("eglProgramCacheResizeANGLE"));
-    eglQuerySurfacePointerANGLE = reinterpret_cast<PFNEGLQUERYSURFACEPOINTERANGLEPROC>(
-        loadProc("eglQuerySurfacePointerANGLE"));
-    eglCreateStreamProducerD3DTextureANGLE =
-        reinterpret_cast<PFNEGLCREATESTREAMPRODUCERD3DTEXTUREANGLEPROC>(
-            loadProc("eglCreateStreamProducerD3DTextureANGLE"));
-    eglStreamPostD3DTextureANGLE = reinterpret_cast<PFNEGLSTREAMPOSTD3DTEXTUREANGLEPROC>(
-        loadProc("eglStreamPostD3DTextureANGLE"));
-    eglGetSyncValuesCHROMIUM =
-        reinterpret_cast<PFNEGLGETSYNCVALUESCHROMIUMPROC>(loadProc("eglGetSyncValuesCHROMIUM"));
-    eglQueryDeviceAttribEXT =
-        reinterpret_cast<PFNEGLQUERYDEVICEATTRIBEXTPROC>(loadProc("eglQueryDeviceAttribEXT"));
-    eglQueryDeviceStringEXT =
-        reinterpret_cast<PFNEGLQUERYDEVICESTRINGEXTPROC>(loadProc("eglQueryDeviceStringEXT"));
-    eglQueryDisplayAttribEXT =
-        reinterpret_cast<PFNEGLQUERYDISPLAYATTRIBEXTPROC>(loadProc("eglQueryDisplayAttribEXT"));
-    eglCreatePlatformPixmapSurfaceEXT = reinterpret_cast<PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC>(
-        loadProc("eglCreatePlatformPixmapSurfaceEXT"));
-    eglCreatePlatformWindowSurfaceEXT = reinterpret_cast<PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC>(
-        loadProc("eglCreatePlatformWindowSurfaceEXT"));
-    eglGetPlatformDisplayEXT =
-        reinterpret_cast<PFNEGLGETPLATFORMDISPLAYEXTPROC>(loadProc("eglGetPlatformDisplayEXT"));
-    eglDebugMessageControlKHR =
-        reinterpret_cast<PFNEGLDEBUGMESSAGECONTROLKHRPROC>(loadProc("eglDebugMessageControlKHR"));
-    eglLabelObjectKHR = reinterpret_cast<PFNEGLLABELOBJECTKHRPROC>(loadProc("eglLabelObjectKHR"));
-    eglQueryDebugKHR  = reinterpret_cast<PFNEGLQUERYDEBUGKHRPROC>(loadProc("eglQueryDebugKHR"));
-    eglCreateImageKHR = reinterpret_cast<PFNEGLCREATEIMAGEKHRPROC>(loadProc("eglCreateImageKHR"));
-    eglDestroyImageKHR =
-        reinterpret_cast<PFNEGLDESTROYIMAGEKHRPROC>(loadProc("eglDestroyImageKHR"));
-    eglCreateStreamKHR =
-        reinterpret_cast<PFNEGLCREATESTREAMKHRPROC>(loadProc("eglCreateStreamKHR"));
-    eglDestroyStreamKHR =
-        reinterpret_cast<PFNEGLDESTROYSTREAMKHRPROC>(loadProc("eglDestroyStreamKHR"));
-    eglQueryStreamKHR = reinterpret_cast<PFNEGLQUERYSTREAMKHRPROC>(loadProc("eglQueryStreamKHR"));
-    eglQueryStreamu64KHR =
-        reinterpret_cast<PFNEGLQUERYSTREAMU64KHRPROC>(loadProc("eglQueryStreamu64KHR"));
-    eglStreamAttribKHR =
-        reinterpret_cast<PFNEGLSTREAMATTRIBKHRPROC>(loadProc("eglStreamAttribKHR"));
-    eglStreamConsumerAcquireKHR = reinterpret_cast<PFNEGLSTREAMCONSUMERACQUIREKHRPROC>(
-        loadProc("eglStreamConsumerAcquireKHR"));
-    eglStreamConsumerGLTextureExternalKHR =
-        reinterpret_cast<PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC>(
-            loadProc("eglStreamConsumerGLTextureExternalKHR"));
-    eglStreamConsumerReleaseKHR = reinterpret_cast<PFNEGLSTREAMCONSUMERRELEASEKHRPROC>(
-        loadProc("eglStreamConsumerReleaseKHR"));
-    eglSwapBuffersWithDamageKHR = reinterpret_cast<PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC>(
-        loadProc("eglSwapBuffersWithDamageKHR"));
-    eglPostSubBufferNV =
-        reinterpret_cast<PFNEGLPOSTSUBBUFFERNVPROC>(loadProc("eglPostSubBufferNV"));
-    eglStreamConsumerGLTextureExternalAttribsNV =
-        reinterpret_cast<PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC>(
-            loadProc("eglStreamConsumerGLTextureExternalAttribsNV"));
-}
-}  // namespace angle
diff --git a/util/egl_loader_autogen.h b/util/egl_loader_autogen.h
deleted file mode 100644
index 45d7121..0000000
--- a/util/egl_loader_autogen.h
+++ /dev/null
@@ -1,115 +0,0 @@
-// GENERATED FILE - DO NOT EDIT.
-// Generated by generate_loader.py using data from egl.xml and egl_angle_ext.xml.
-//
-// Copyright 2018 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.
-//
-// egl_loader_autogen.h:
-//   Simple EGL function loader.
-
-#ifndef UTIL_EGL_LOADER_AUTOGEN_H_
-#define UTIL_EGL_LOADER_AUTOGEN_H_
-
-#include "util/util_export.h"
-
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-
-ANGLE_UTIL_EXPORT extern PFNEGLCHOOSECONFIGPROC eglChooseConfig;
-ANGLE_UTIL_EXPORT extern PFNEGLCOPYBUFFERSPROC eglCopyBuffers;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATECONTEXTPROC eglCreateContext;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATEPBUFFERSURFACEPROC eglCreatePbufferSurface;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATEPIXMAPSURFACEPROC eglCreatePixmapSurface;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATEWINDOWSURFACEPROC eglCreateWindowSurface;
-ANGLE_UTIL_EXPORT extern PFNEGLDESTROYCONTEXTPROC eglDestroyContext;
-ANGLE_UTIL_EXPORT extern PFNEGLDESTROYSURFACEPROC eglDestroySurface;
-ANGLE_UTIL_EXPORT extern PFNEGLGETCONFIGATTRIBPROC eglGetConfigAttrib;
-ANGLE_UTIL_EXPORT extern PFNEGLGETCONFIGSPROC eglGetConfigs;
-ANGLE_UTIL_EXPORT extern PFNEGLGETCURRENTDISPLAYPROC eglGetCurrentDisplay;
-ANGLE_UTIL_EXPORT extern PFNEGLGETCURRENTSURFACEPROC eglGetCurrentSurface;
-ANGLE_UTIL_EXPORT extern PFNEGLGETDISPLAYPROC eglGetDisplay;
-ANGLE_UTIL_EXPORT extern PFNEGLGETERRORPROC eglGetError;
-ANGLE_UTIL_EXPORT extern PFNEGLGETPROCADDRESSPROC eglGetProcAddress;
-ANGLE_UTIL_EXPORT extern PFNEGLINITIALIZEPROC eglInitialize;
-ANGLE_UTIL_EXPORT extern PFNEGLMAKECURRENTPROC eglMakeCurrent;
-ANGLE_UTIL_EXPORT extern PFNEGLQUERYCONTEXTPROC eglQueryContext;
-ANGLE_UTIL_EXPORT extern PFNEGLQUERYSTRINGPROC eglQueryString;
-ANGLE_UTIL_EXPORT extern PFNEGLQUERYSURFACEPROC eglQuerySurface;
-ANGLE_UTIL_EXPORT extern PFNEGLSWAPBUFFERSPROC eglSwapBuffers;
-ANGLE_UTIL_EXPORT extern PFNEGLTERMINATEPROC eglTerminate;
-ANGLE_UTIL_EXPORT extern PFNEGLWAITGLPROC eglWaitGL;
-ANGLE_UTIL_EXPORT extern PFNEGLWAITNATIVEPROC eglWaitNative;
-ANGLE_UTIL_EXPORT extern PFNEGLBINDTEXIMAGEPROC eglBindTexImage;
-ANGLE_UTIL_EXPORT extern PFNEGLRELEASETEXIMAGEPROC eglReleaseTexImage;
-ANGLE_UTIL_EXPORT extern PFNEGLSURFACEATTRIBPROC eglSurfaceAttrib;
-ANGLE_UTIL_EXPORT extern PFNEGLSWAPINTERVALPROC eglSwapInterval;
-ANGLE_UTIL_EXPORT extern PFNEGLBINDAPIPROC eglBindAPI;
-ANGLE_UTIL_EXPORT extern PFNEGLQUERYAPIPROC eglQueryAPI;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC eglCreatePbufferFromClientBuffer;
-ANGLE_UTIL_EXPORT extern PFNEGLRELEASETHREADPROC eglReleaseThread;
-ANGLE_UTIL_EXPORT extern PFNEGLWAITCLIENTPROC eglWaitClient;
-ANGLE_UTIL_EXPORT extern PFNEGLGETCURRENTCONTEXTPROC eglGetCurrentContext;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATESYNCPROC eglCreateSync;
-ANGLE_UTIL_EXPORT extern PFNEGLDESTROYSYNCPROC eglDestroySync;
-ANGLE_UTIL_EXPORT extern PFNEGLCLIENTWAITSYNCPROC eglClientWaitSync;
-ANGLE_UTIL_EXPORT extern PFNEGLGETSYNCATTRIBPROC eglGetSyncAttrib;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATEIMAGEPROC eglCreateImage;
-ANGLE_UTIL_EXPORT extern PFNEGLDESTROYIMAGEPROC eglDestroyImage;
-ANGLE_UTIL_EXPORT extern PFNEGLGETPLATFORMDISPLAYPROC eglGetPlatformDisplay;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATEPLATFORMWINDOWSURFACEPROC eglCreatePlatformWindowSurface;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC eglCreatePlatformPixmapSurface;
-ANGLE_UTIL_EXPORT extern PFNEGLWAITSYNCPROC eglWaitSync;
-ANGLE_UTIL_EXPORT extern PFNEGLSETBLOBCACHEFUNCSANDROIDPROC eglSetBlobCacheFuncsANDROID;
-ANGLE_UTIL_EXPORT extern PFNEGLGETCOMPOSITORTIMINGANDROIDPROC eglGetCompositorTimingANDROID;
-ANGLE_UTIL_EXPORT extern PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC
-    eglGetCompositorTimingSupportedANDROID;
-ANGLE_UTIL_EXPORT extern PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC
-    eglGetFrameTimestampSupportedANDROID;
-ANGLE_UTIL_EXPORT extern PFNEGLGETFRAMETIMESTAMPSANDROIDPROC eglGetFrameTimestampsANDROID;
-ANGLE_UTIL_EXPORT extern PFNEGLGETNEXTFRAMEIDANDROIDPROC eglGetNextFrameIdANDROID;
-ANGLE_UTIL_EXPORT extern PFNEGLPRESENTATIONTIMEANDROIDPROC eglPresentationTimeANDROID;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATEDEVICEANGLEPROC eglCreateDeviceANGLE;
-ANGLE_UTIL_EXPORT extern PFNEGLRELEASEDEVICEANGLEPROC eglReleaseDeviceANGLE;
-ANGLE_UTIL_EXPORT extern PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC eglProgramCacheGetAttribANGLE;
-ANGLE_UTIL_EXPORT extern PFNEGLPROGRAMCACHEPOPULATEANGLEPROC eglProgramCachePopulateANGLE;
-ANGLE_UTIL_EXPORT extern PFNEGLPROGRAMCACHEQUERYANGLEPROC eglProgramCacheQueryANGLE;
-ANGLE_UTIL_EXPORT extern PFNEGLPROGRAMCACHERESIZEANGLEPROC eglProgramCacheResizeANGLE;
-ANGLE_UTIL_EXPORT extern PFNEGLQUERYSURFACEPOINTERANGLEPROC eglQuerySurfacePointerANGLE;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATESTREAMPRODUCERD3DTEXTUREANGLEPROC
-    eglCreateStreamProducerD3DTextureANGLE;
-ANGLE_UTIL_EXPORT extern PFNEGLSTREAMPOSTD3DTEXTUREANGLEPROC eglStreamPostD3DTextureANGLE;
-ANGLE_UTIL_EXPORT extern PFNEGLGETSYNCVALUESCHROMIUMPROC eglGetSyncValuesCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNEGLQUERYDEVICEATTRIBEXTPROC eglQueryDeviceAttribEXT;
-ANGLE_UTIL_EXPORT extern PFNEGLQUERYDEVICESTRINGEXTPROC eglQueryDeviceStringEXT;
-ANGLE_UTIL_EXPORT extern PFNEGLQUERYDISPLAYATTRIBEXTPROC eglQueryDisplayAttribEXT;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC eglCreatePlatformPixmapSurfaceEXT;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC eglCreatePlatformWindowSurfaceEXT;
-ANGLE_UTIL_EXPORT extern PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT;
-ANGLE_UTIL_EXPORT extern PFNEGLDEBUGMESSAGECONTROLKHRPROC eglDebugMessageControlKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLLABELOBJECTKHRPROC eglLabelObjectKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLQUERYDEBUGKHRPROC eglQueryDebugKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLCREATESTREAMKHRPROC eglCreateStreamKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLDESTROYSTREAMKHRPROC eglDestroyStreamKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLQUERYSTREAMKHRPROC eglQueryStreamKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLQUERYSTREAMU64KHRPROC eglQueryStreamu64KHR;
-ANGLE_UTIL_EXPORT extern PFNEGLSTREAMATTRIBKHRPROC eglStreamAttribKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLSTREAMCONSUMERACQUIREKHRPROC eglStreamConsumerAcquireKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC
-    eglStreamConsumerGLTextureExternalKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLSTREAMCONSUMERRELEASEKHRPROC eglStreamConsumerReleaseKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC eglSwapBuffersWithDamageKHR;
-ANGLE_UTIL_EXPORT extern PFNEGLPOSTSUBBUFFERNVPROC eglPostSubBufferNV;
-ANGLE_UTIL_EXPORT extern PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC
-    eglStreamConsumerGLTextureExternalAttribsNV;
-
-namespace angle
-{
-using GenericProc = void (*)();
-using LoadProc    = GenericProc(KHRONOS_APIENTRY *)(const char *);
-ANGLE_UTIL_EXPORT void LoadEGL(LoadProc loadProc);
-}  // namespace angle
-
-#endif  // UTIL_EGL_LOADER_AUTOGEN_H_
diff --git a/util/geometry_utils.h b/util/geometry_utils.h
index e9089cf..7002647 100644
--- a/util/geometry_utils.h
+++ b/util/geometry_utils.h
@@ -13,12 +13,12 @@
 #include <cstddef>
 #include <vector>
 
+#include <export.h>
 #include <GLES2/gl2.h>
 
 #include "common/vector_utils.h"
-#include "util/util_export.h"
 
-struct ANGLE_UTIL_EXPORT SphereGeometry
+struct ANGLE_EXPORT SphereGeometry
 {
     SphereGeometry();
     ~SphereGeometry();
@@ -28,11 +28,9 @@
     std::vector<GLushort> indices;
 };
 
-ANGLE_UTIL_EXPORT void CreateSphereGeometry(size_t sliceCount,
-                                            float radius,
-                                            SphereGeometry *result);
+ANGLE_EXPORT void CreateSphereGeometry(size_t sliceCount, float radius, SphereGeometry *result);
 
-struct ANGLE_UTIL_EXPORT CubeGeometry
+struct ANGLE_EXPORT CubeGeometry
 {
     CubeGeometry();
     ~CubeGeometry();
@@ -43,6 +41,6 @@
     std::vector<GLushort> indices;
 };
 
-ANGLE_UTIL_EXPORT void GenerateCubeGeometry(float radius, CubeGeometry *result);
+ANGLE_EXPORT void GenerateCubeGeometry(float radius, CubeGeometry *result);
 
 #endif  // UTIL_GEOMETRY_UTILS_H
diff --git a/util/gles_loader_autogen.cpp b/util/gles_loader_autogen.cpp
deleted file mode 100644
index 9c4f0e2..0000000
--- a/util/gles_loader_autogen.cpp
+++ /dev/null
@@ -1,3866 +0,0 @@
-// GENERATED FILE - DO NOT EDIT.
-// Generated by generate_loader.py using data from gl.xml and gl_angle_ext.xml.
-//
-// Copyright 2018 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.
-//
-// gles_loader_autogen.cpp:
-//   Simple GLES function loader.
-
-#include "gles_loader_autogen.h"
-
-ANGLE_UTIL_EXPORT PFNGLALPHAFUNCPROC glAlphaFunc;
-ANGLE_UTIL_EXPORT PFNGLCLIPPLANEFPROC glClipPlanef;
-ANGLE_UTIL_EXPORT PFNGLCOLOR4FPROC glColor4f;
-ANGLE_UTIL_EXPORT PFNGLFOGFPROC glFogf;
-ANGLE_UTIL_EXPORT PFNGLFOGFVPROC glFogfv;
-ANGLE_UTIL_EXPORT PFNGLFRUSTUMFPROC glFrustumf;
-ANGLE_UTIL_EXPORT PFNGLGETCLIPPLANEFPROC glGetClipPlanef;
-ANGLE_UTIL_EXPORT PFNGLGETLIGHTFVPROC glGetLightfv;
-ANGLE_UTIL_EXPORT PFNGLGETMATERIALFVPROC glGetMaterialfv;
-ANGLE_UTIL_EXPORT PFNGLGETTEXENVFVPROC glGetTexEnvfv;
-ANGLE_UTIL_EXPORT PFNGLLIGHTMODELFPROC glLightModelf;
-ANGLE_UTIL_EXPORT PFNGLLIGHTMODELFVPROC glLightModelfv;
-ANGLE_UTIL_EXPORT PFNGLLIGHTFPROC glLightf;
-ANGLE_UTIL_EXPORT PFNGLLIGHTFVPROC glLightfv;
-ANGLE_UTIL_EXPORT PFNGLLOADMATRIXFPROC glLoadMatrixf;
-ANGLE_UTIL_EXPORT PFNGLMATERIALFPROC glMaterialf;
-ANGLE_UTIL_EXPORT PFNGLMATERIALFVPROC glMaterialfv;
-ANGLE_UTIL_EXPORT PFNGLMULTMATRIXFPROC glMultMatrixf;
-ANGLE_UTIL_EXPORT PFNGLMULTITEXCOORD4FPROC glMultiTexCoord4f;
-ANGLE_UTIL_EXPORT PFNGLNORMAL3FPROC glNormal3f;
-ANGLE_UTIL_EXPORT PFNGLORTHOFPROC glOrthof;
-ANGLE_UTIL_EXPORT PFNGLPOINTPARAMETERFPROC glPointParameterf;
-ANGLE_UTIL_EXPORT PFNGLPOINTPARAMETERFVPROC glPointParameterfv;
-ANGLE_UTIL_EXPORT PFNGLPOINTSIZEPROC glPointSize;
-ANGLE_UTIL_EXPORT PFNGLROTATEFPROC glRotatef;
-ANGLE_UTIL_EXPORT PFNGLSCALEFPROC glScalef;
-ANGLE_UTIL_EXPORT PFNGLTEXENVFPROC glTexEnvf;
-ANGLE_UTIL_EXPORT PFNGLTEXENVFVPROC glTexEnvfv;
-ANGLE_UTIL_EXPORT PFNGLTRANSLATEFPROC glTranslatef;
-ANGLE_UTIL_EXPORT PFNGLALPHAFUNCXPROC glAlphaFuncx;
-ANGLE_UTIL_EXPORT PFNGLCLEARCOLORXPROC glClearColorx;
-ANGLE_UTIL_EXPORT PFNGLCLEARDEPTHXPROC glClearDepthx;
-ANGLE_UTIL_EXPORT PFNGLCLIENTACTIVETEXTUREPROC glClientActiveTexture;
-ANGLE_UTIL_EXPORT PFNGLCLIPPLANEXPROC glClipPlanex;
-ANGLE_UTIL_EXPORT PFNGLCOLOR4UBPROC glColor4ub;
-ANGLE_UTIL_EXPORT PFNGLCOLOR4XPROC glColor4x;
-ANGLE_UTIL_EXPORT PFNGLCOLORPOINTERPROC glColorPointer;
-ANGLE_UTIL_EXPORT PFNGLDEPTHRANGEXPROC glDepthRangex;
-ANGLE_UTIL_EXPORT PFNGLDISABLECLIENTSTATEPROC glDisableClientState;
-ANGLE_UTIL_EXPORT PFNGLENABLECLIENTSTATEPROC glEnableClientState;
-ANGLE_UTIL_EXPORT PFNGLFOGXPROC glFogx;
-ANGLE_UTIL_EXPORT PFNGLFOGXVPROC glFogxv;
-ANGLE_UTIL_EXPORT PFNGLFRUSTUMXPROC glFrustumx;
-ANGLE_UTIL_EXPORT PFNGLGETCLIPPLANEXPROC glGetClipPlanex;
-ANGLE_UTIL_EXPORT PFNGLGETFIXEDVPROC glGetFixedv;
-ANGLE_UTIL_EXPORT PFNGLGETLIGHTXVPROC glGetLightxv;
-ANGLE_UTIL_EXPORT PFNGLGETMATERIALXVPROC glGetMaterialxv;
-ANGLE_UTIL_EXPORT PFNGLGETPOINTERVPROC glGetPointerv;
-ANGLE_UTIL_EXPORT PFNGLGETTEXENVIVPROC glGetTexEnviv;
-ANGLE_UTIL_EXPORT PFNGLGETTEXENVXVPROC glGetTexEnvxv;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERXVPROC glGetTexParameterxv;
-ANGLE_UTIL_EXPORT PFNGLLIGHTMODELXPROC glLightModelx;
-ANGLE_UTIL_EXPORT PFNGLLIGHTMODELXVPROC glLightModelxv;
-ANGLE_UTIL_EXPORT PFNGLLIGHTXPROC glLightx;
-ANGLE_UTIL_EXPORT PFNGLLIGHTXVPROC glLightxv;
-ANGLE_UTIL_EXPORT PFNGLLINEWIDTHXPROC glLineWidthx;
-ANGLE_UTIL_EXPORT PFNGLLOADIDENTITYPROC glLoadIdentity;
-ANGLE_UTIL_EXPORT PFNGLLOADMATRIXXPROC glLoadMatrixx;
-ANGLE_UTIL_EXPORT PFNGLLOGICOPPROC glLogicOp;
-ANGLE_UTIL_EXPORT PFNGLMATERIALXPROC glMaterialx;
-ANGLE_UTIL_EXPORT PFNGLMATERIALXVPROC glMaterialxv;
-ANGLE_UTIL_EXPORT PFNGLMATRIXMODEPROC glMatrixMode;
-ANGLE_UTIL_EXPORT PFNGLMULTMATRIXXPROC glMultMatrixx;
-ANGLE_UTIL_EXPORT PFNGLMULTITEXCOORD4XPROC glMultiTexCoord4x;
-ANGLE_UTIL_EXPORT PFNGLNORMAL3XPROC glNormal3x;
-ANGLE_UTIL_EXPORT PFNGLNORMALPOINTERPROC glNormalPointer;
-ANGLE_UTIL_EXPORT PFNGLORTHOXPROC glOrthox;
-ANGLE_UTIL_EXPORT PFNGLPOINTPARAMETERXPROC glPointParameterx;
-ANGLE_UTIL_EXPORT PFNGLPOINTPARAMETERXVPROC glPointParameterxv;
-ANGLE_UTIL_EXPORT PFNGLPOINTSIZEXPROC glPointSizex;
-ANGLE_UTIL_EXPORT PFNGLPOLYGONOFFSETXPROC glPolygonOffsetx;
-ANGLE_UTIL_EXPORT PFNGLPOPMATRIXPROC glPopMatrix;
-ANGLE_UTIL_EXPORT PFNGLPUSHMATRIXPROC glPushMatrix;
-ANGLE_UTIL_EXPORT PFNGLROTATEXPROC glRotatex;
-ANGLE_UTIL_EXPORT PFNGLSAMPLECOVERAGEXPROC glSampleCoveragex;
-ANGLE_UTIL_EXPORT PFNGLSCALEXPROC glScalex;
-ANGLE_UTIL_EXPORT PFNGLSHADEMODELPROC glShadeModel;
-ANGLE_UTIL_EXPORT PFNGLTEXCOORDPOINTERPROC glTexCoordPointer;
-ANGLE_UTIL_EXPORT PFNGLTEXENVIPROC glTexEnvi;
-ANGLE_UTIL_EXPORT PFNGLTEXENVXPROC glTexEnvx;
-ANGLE_UTIL_EXPORT PFNGLTEXENVIVPROC glTexEnviv;
-ANGLE_UTIL_EXPORT PFNGLTEXENVXVPROC glTexEnvxv;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERXPROC glTexParameterx;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERXVPROC glTexParameterxv;
-ANGLE_UTIL_EXPORT PFNGLTRANSLATEXPROC glTranslatex;
-ANGLE_UTIL_EXPORT PFNGLVERTEXPOINTERPROC glVertexPointer;
-ANGLE_UTIL_EXPORT PFNGLACTIVETEXTUREPROC glActiveTexture;
-ANGLE_UTIL_EXPORT PFNGLATTACHSHADERPROC glAttachShader;
-ANGLE_UTIL_EXPORT PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation;
-ANGLE_UTIL_EXPORT PFNGLBINDBUFFERPROC glBindBuffer;
-ANGLE_UTIL_EXPORT PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
-ANGLE_UTIL_EXPORT PFNGLBINDRENDERBUFFERPROC glBindRenderbuffer;
-ANGLE_UTIL_EXPORT PFNGLBINDTEXTUREPROC glBindTexture;
-ANGLE_UTIL_EXPORT PFNGLBLENDCOLORPROC glBlendColor;
-ANGLE_UTIL_EXPORT PFNGLBLENDEQUATIONPROC glBlendEquation;
-ANGLE_UTIL_EXPORT PFNGLBLENDEQUATIONSEPARATEPROC glBlendEquationSeparate;
-ANGLE_UTIL_EXPORT PFNGLBLENDFUNCPROC glBlendFunc;
-ANGLE_UTIL_EXPORT PFNGLBLENDFUNCSEPARATEPROC glBlendFuncSeparate;
-ANGLE_UTIL_EXPORT PFNGLBUFFERDATAPROC glBufferData;
-ANGLE_UTIL_EXPORT PFNGLBUFFERSUBDATAPROC glBufferSubData;
-ANGLE_UTIL_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
-ANGLE_UTIL_EXPORT PFNGLCLEARPROC glClear;
-ANGLE_UTIL_EXPORT PFNGLCLEARCOLORPROC glClearColor;
-ANGLE_UTIL_EXPORT PFNGLCLEARDEPTHFPROC glClearDepthf;
-ANGLE_UTIL_EXPORT PFNGLCLEARSTENCILPROC glClearStencil;
-ANGLE_UTIL_EXPORT PFNGLCOLORMASKPROC glColorMask;
-ANGLE_UTIL_EXPORT PFNGLCOMPILESHADERPROC glCompileShader;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DPROC glCompressedTexImage2D;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glCompressedTexSubImage2D;
-ANGLE_UTIL_EXPORT PFNGLCOPYTEXIMAGE2DPROC glCopyTexImage2D;
-ANGLE_UTIL_EXPORT PFNGLCOPYTEXSUBIMAGE2DPROC glCopyTexSubImage2D;
-ANGLE_UTIL_EXPORT PFNGLCREATEPROGRAMPROC glCreateProgram;
-ANGLE_UTIL_EXPORT PFNGLCREATESHADERPROC glCreateShader;
-ANGLE_UTIL_EXPORT PFNGLCULLFACEPROC glCullFace;
-ANGLE_UTIL_EXPORT PFNGLDELETEBUFFERSPROC glDeleteBuffers;
-ANGLE_UTIL_EXPORT PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
-ANGLE_UTIL_EXPORT PFNGLDELETEPROGRAMPROC glDeleteProgram;
-ANGLE_UTIL_EXPORT PFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers;
-ANGLE_UTIL_EXPORT PFNGLDELETESHADERPROC glDeleteShader;
-ANGLE_UTIL_EXPORT PFNGLDELETETEXTURESPROC glDeleteTextures;
-ANGLE_UTIL_EXPORT PFNGLDEPTHFUNCPROC glDepthFunc;
-ANGLE_UTIL_EXPORT PFNGLDEPTHMASKPROC glDepthMask;
-ANGLE_UTIL_EXPORT PFNGLDEPTHRANGEFPROC glDepthRangef;
-ANGLE_UTIL_EXPORT PFNGLDETACHSHADERPROC glDetachShader;
-ANGLE_UTIL_EXPORT PFNGLDISABLEPROC glDisable;
-ANGLE_UTIL_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray;
-ANGLE_UTIL_EXPORT PFNGLDRAWARRAYSPROC glDrawArrays;
-ANGLE_UTIL_EXPORT PFNGLDRAWELEMENTSPROC glDrawElements;
-ANGLE_UTIL_EXPORT PFNGLENABLEPROC glEnable;
-ANGLE_UTIL_EXPORT PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray;
-ANGLE_UTIL_EXPORT PFNGLFINISHPROC glFinish;
-ANGLE_UTIL_EXPORT PFNGLFLUSHPROC glFlush;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
-ANGLE_UTIL_EXPORT PFNGLFRONTFACEPROC glFrontFace;
-ANGLE_UTIL_EXPORT PFNGLGENBUFFERSPROC glGenBuffers;
-ANGLE_UTIL_EXPORT PFNGLGENERATEMIPMAPPROC glGenerateMipmap;
-ANGLE_UTIL_EXPORT PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
-ANGLE_UTIL_EXPORT PFNGLGENRENDERBUFFERSPROC glGenRenderbuffers;
-ANGLE_UTIL_EXPORT PFNGLGENTEXTURESPROC glGenTextures;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEATTRIBPROC glGetActiveAttrib;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEUNIFORMPROC glGetActiveUniform;
-ANGLE_UTIL_EXPORT PFNGLGETATTACHEDSHADERSPROC glGetAttachedShaders;
-ANGLE_UTIL_EXPORT PFNGLGETATTRIBLOCATIONPROC glGetAttribLocation;
-ANGLE_UTIL_EXPORT PFNGLGETBOOLEANVPROC glGetBooleanv;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPARAMETERIVPROC glGetBufferParameteriv;
-ANGLE_UTIL_EXPORT PFNGLGETERRORPROC glGetError;
-ANGLE_UTIL_EXPORT PFNGLGETFLOATVPROC glGetFloatv;
-ANGLE_UTIL_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC
-    glGetFramebufferAttachmentParameteriv;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGERVPROC glGetIntegerv;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMIVPROC glGetProgramiv;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog;
-ANGLE_UTIL_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVPROC glGetRenderbufferParameteriv;
-ANGLE_UTIL_EXPORT PFNGLGETSHADERIVPROC glGetShaderiv;
-ANGLE_UTIL_EXPORT PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog;
-ANGLE_UTIL_EXPORT PFNGLGETSHADERPRECISIONFORMATPROC glGetShaderPrecisionFormat;
-ANGLE_UTIL_EXPORT PFNGLGETSHADERSOURCEPROC glGetShaderSource;
-ANGLE_UTIL_EXPORT PFNGLGETSTRINGPROC glGetString;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERFVPROC glGetTexParameterfv;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIVPROC glGetTexParameteriv;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMFVPROC glGetUniformfv;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMIVPROC glGetUniformiv;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBFVPROC glGetVertexAttribfv;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIVPROC glGetVertexAttribiv;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBPOINTERVPROC glGetVertexAttribPointerv;
-ANGLE_UTIL_EXPORT PFNGLHINTPROC glHint;
-ANGLE_UTIL_EXPORT PFNGLISBUFFERPROC glIsBuffer;
-ANGLE_UTIL_EXPORT PFNGLISENABLEDPROC glIsEnabled;
-ANGLE_UTIL_EXPORT PFNGLISFRAMEBUFFERPROC glIsFramebuffer;
-ANGLE_UTIL_EXPORT PFNGLISPROGRAMPROC glIsProgram;
-ANGLE_UTIL_EXPORT PFNGLISRENDERBUFFERPROC glIsRenderbuffer;
-ANGLE_UTIL_EXPORT PFNGLISSHADERPROC glIsShader;
-ANGLE_UTIL_EXPORT PFNGLISTEXTUREPROC glIsTexture;
-ANGLE_UTIL_EXPORT PFNGLLINEWIDTHPROC glLineWidth;
-ANGLE_UTIL_EXPORT PFNGLLINKPROGRAMPROC glLinkProgram;
-ANGLE_UTIL_EXPORT PFNGLPIXELSTOREIPROC glPixelStorei;
-ANGLE_UTIL_EXPORT PFNGLPOLYGONOFFSETPROC glPolygonOffset;
-ANGLE_UTIL_EXPORT PFNGLREADPIXELSPROC glReadPixels;
-ANGLE_UTIL_EXPORT PFNGLRELEASESHADERCOMPILERPROC glReleaseShaderCompiler;
-ANGLE_UTIL_EXPORT PFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage;
-ANGLE_UTIL_EXPORT PFNGLSAMPLECOVERAGEPROC glSampleCoverage;
-ANGLE_UTIL_EXPORT PFNGLSCISSORPROC glScissor;
-ANGLE_UTIL_EXPORT PFNGLSHADERBINARYPROC glShaderBinary;
-ANGLE_UTIL_EXPORT PFNGLSHADERSOURCEPROC glShaderSource;
-ANGLE_UTIL_EXPORT PFNGLSTENCILFUNCPROC glStencilFunc;
-ANGLE_UTIL_EXPORT PFNGLSTENCILFUNCSEPARATEPROC glStencilFuncSeparate;
-ANGLE_UTIL_EXPORT PFNGLSTENCILMASKPROC glStencilMask;
-ANGLE_UTIL_EXPORT PFNGLSTENCILMASKSEPARATEPROC glStencilMaskSeparate;
-ANGLE_UTIL_EXPORT PFNGLSTENCILOPPROC glStencilOp;
-ANGLE_UTIL_EXPORT PFNGLSTENCILOPSEPARATEPROC glStencilOpSeparate;
-ANGLE_UTIL_EXPORT PFNGLTEXIMAGE2DPROC glTexImage2D;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERFPROC glTexParameterf;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERFVPROC glTexParameterfv;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIPROC glTexParameteri;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIVPROC glTexParameteriv;
-ANGLE_UTIL_EXPORT PFNGLTEXSUBIMAGE2DPROC glTexSubImage2D;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1FPROC glUniform1f;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1FVPROC glUniform1fv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1IPROC glUniform1i;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1IVPROC glUniform1iv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2FPROC glUniform2f;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2FVPROC glUniform2fv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2IPROC glUniform2i;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2IVPROC glUniform2iv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3FPROC glUniform3f;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3FVPROC glUniform3fv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3IPROC glUniform3i;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3IVPROC glUniform3iv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4FPROC glUniform4f;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4FVPROC glUniform4fv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4IPROC glUniform4i;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4IVPROC glUniform4iv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX2FVPROC glUniformMatrix2fv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX3FVPROC glUniformMatrix3fv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv;
-ANGLE_UTIL_EXPORT PFNGLUSEPROGRAMPROC glUseProgram;
-ANGLE_UTIL_EXPORT PFNGLVALIDATEPROGRAMPROC glValidateProgram;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB1FPROC glVertexAttrib1f;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB1FVPROC glVertexAttrib1fv;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB2FPROC glVertexAttrib2f;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB2FVPROC glVertexAttrib2fv;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB3FPROC glVertexAttrib3f;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB3FVPROC glVertexAttrib3fv;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB4FPROC glVertexAttrib4f;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer;
-ANGLE_UTIL_EXPORT PFNGLVIEWPORTPROC glViewport;
-ANGLE_UTIL_EXPORT PFNGLREADBUFFERPROC glReadBuffer;
-ANGLE_UTIL_EXPORT PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
-ANGLE_UTIL_EXPORT PFNGLTEXIMAGE3DPROC glTexImage3D;
-ANGLE_UTIL_EXPORT PFNGLTEXSUBIMAGE3DPROC glTexSubImage3D;
-ANGLE_UTIL_EXPORT PFNGLCOPYTEXSUBIMAGE3DPROC glCopyTexSubImage3D;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DPROC glCompressedTexImage3D;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glCompressedTexSubImage3D;
-ANGLE_UTIL_EXPORT PFNGLGENQUERIESPROC glGenQueries;
-ANGLE_UTIL_EXPORT PFNGLDELETEQUERIESPROC glDeleteQueries;
-ANGLE_UTIL_EXPORT PFNGLISQUERYPROC glIsQuery;
-ANGLE_UTIL_EXPORT PFNGLBEGINQUERYPROC glBeginQuery;
-ANGLE_UTIL_EXPORT PFNGLENDQUERYPROC glEndQuery;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYIVPROC glGetQueryiv;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv;
-ANGLE_UTIL_EXPORT PFNGLUNMAPBUFFERPROC glUnmapBuffer;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPOINTERVPROC glGetBufferPointerv;
-ANGLE_UTIL_EXPORT PFNGLDRAWBUFFERSPROC glDrawBuffers;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX2X3FVPROC glUniformMatrix2x3fv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX3X2FVPROC glUniformMatrix3x2fv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX2X4FVPROC glUniformMatrix2x4fv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX4X2FVPROC glUniformMatrix4x2fv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX3X4FVPROC glUniformMatrix3x4fv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX4X3FVPROC glUniformMatrix4x3fv;
-ANGLE_UTIL_EXPORT PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
-ANGLE_UTIL_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glRenderbufferStorageMultisample;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERPROC glFramebufferTextureLayer;
-ANGLE_UTIL_EXPORT PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
-ANGLE_UTIL_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEPROC glFlushMappedBufferRange;
-ANGLE_UTIL_EXPORT PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
-ANGLE_UTIL_EXPORT PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
-ANGLE_UTIL_EXPORT PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
-ANGLE_UTIL_EXPORT PFNGLISVERTEXARRAYPROC glIsVertexArray;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGERI_VPROC glGetIntegeri_v;
-ANGLE_UTIL_EXPORT PFNGLBEGINTRANSFORMFEEDBACKPROC glBeginTransformFeedback;
-ANGLE_UTIL_EXPORT PFNGLENDTRANSFORMFEEDBACKPROC glEndTransformFeedback;
-ANGLE_UTIL_EXPORT PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
-ANGLE_UTIL_EXPORT PFNGLBINDBUFFERBASEPROC glBindBufferBase;
-ANGLE_UTIL_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSPROC glTransformFeedbackVaryings;
-ANGLE_UTIL_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glGetTransformFeedbackVarying;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIIVPROC glGetVertexAttribIiv;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIUIVPROC glGetVertexAttribIuiv;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBI4IPROC glVertexAttribI4i;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBI4UIPROC glVertexAttribI4ui;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBI4IVPROC glVertexAttribI4iv;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBI4UIVPROC glVertexAttribI4uiv;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMUIVPROC glGetUniformuiv;
-ANGLE_UTIL_EXPORT PFNGLGETFRAGDATALOCATIONPROC glGetFragDataLocation;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1UIPROC glUniform1ui;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2UIPROC glUniform2ui;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3UIPROC glUniform3ui;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4UIPROC glUniform4ui;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1UIVPROC glUniform1uiv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2UIVPROC glUniform2uiv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3UIVPROC glUniform3uiv;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4UIVPROC glUniform4uiv;
-ANGLE_UTIL_EXPORT PFNGLCLEARBUFFERIVPROC glClearBufferiv;
-ANGLE_UTIL_EXPORT PFNGLCLEARBUFFERUIVPROC glClearBufferuiv;
-ANGLE_UTIL_EXPORT PFNGLCLEARBUFFERFVPROC glClearBufferfv;
-ANGLE_UTIL_EXPORT PFNGLCLEARBUFFERFIPROC glClearBufferfi;
-ANGLE_UTIL_EXPORT PFNGLGETSTRINGIPROC glGetStringi;
-ANGLE_UTIL_EXPORT PFNGLCOPYBUFFERSUBDATAPROC glCopyBufferSubData;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMINDICESPROC glGetUniformIndices;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEUNIFORMSIVPROC glGetActiveUniformsiv;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVPROC glGetActiveUniformBlockiv;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glGetActiveUniformBlockName;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;
-ANGLE_UTIL_EXPORT PFNGLDRAWARRAYSINSTANCEDPROC glDrawArraysInstanced;
-ANGLE_UTIL_EXPORT PFNGLDRAWELEMENTSINSTANCEDPROC glDrawElementsInstanced;
-ANGLE_UTIL_EXPORT PFNGLFENCESYNCPROC glFenceSync;
-ANGLE_UTIL_EXPORT PFNGLISSYNCPROC glIsSync;
-ANGLE_UTIL_EXPORT PFNGLDELETESYNCPROC glDeleteSync;
-ANGLE_UTIL_EXPORT PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
-ANGLE_UTIL_EXPORT PFNGLWAITSYNCPROC glWaitSync;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGER64VPROC glGetInteger64v;
-ANGLE_UTIL_EXPORT PFNGLGETSYNCIVPROC glGetSynciv;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGER64I_VPROC glGetInteger64i_v;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPARAMETERI64VPROC glGetBufferParameteri64v;
-ANGLE_UTIL_EXPORT PFNGLGENSAMPLERSPROC glGenSamplers;
-ANGLE_UTIL_EXPORT PFNGLDELETESAMPLERSPROC glDeleteSamplers;
-ANGLE_UTIL_EXPORT PFNGLISSAMPLERPROC glIsSampler;
-ANGLE_UTIL_EXPORT PFNGLBINDSAMPLERPROC glBindSampler;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIPROC glSamplerParameteri;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIVPROC glSamplerParameteriv;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERFPROC glSamplerParameterf;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERFVPROC glSamplerParameterfv;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIVPROC glGetSamplerParameteriv;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERFVPROC glGetSamplerParameterfv;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBDIVISORPROC glVertexAttribDivisor;
-ANGLE_UTIL_EXPORT PFNGLBINDTRANSFORMFEEDBACKPROC glBindTransformFeedback;
-ANGLE_UTIL_EXPORT PFNGLDELETETRANSFORMFEEDBACKSPROC glDeleteTransformFeedbacks;
-ANGLE_UTIL_EXPORT PFNGLGENTRANSFORMFEEDBACKSPROC glGenTransformFeedbacks;
-ANGLE_UTIL_EXPORT PFNGLISTRANSFORMFEEDBACKPROC glIsTransformFeedback;
-ANGLE_UTIL_EXPORT PFNGLPAUSETRANSFORMFEEDBACKPROC glPauseTransformFeedback;
-ANGLE_UTIL_EXPORT PFNGLRESUMETRANSFORMFEEDBACKPROC glResumeTransformFeedback;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMBINARYPROC glProgramBinary;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
-ANGLE_UTIL_EXPORT PFNGLINVALIDATEFRAMEBUFFERPROC glInvalidateFramebuffer;
-ANGLE_UTIL_EXPORT PFNGLINVALIDATESUBFRAMEBUFFERPROC glInvalidateSubFramebuffer;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE2DPROC glTexStorage2D;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE3DPROC glTexStorage3D;
-ANGLE_UTIL_EXPORT PFNGLGETINTERNALFORMATIVPROC glGetInternalformativ;
-ANGLE_UTIL_EXPORT PFNGLDISPATCHCOMPUTEPROC glDispatchCompute;
-ANGLE_UTIL_EXPORT PFNGLDISPATCHCOMPUTEINDIRECTPROC glDispatchComputeIndirect;
-ANGLE_UTIL_EXPORT PFNGLDRAWARRAYSINDIRECTPROC glDrawArraysIndirect;
-ANGLE_UTIL_EXPORT PFNGLDRAWELEMENTSINDIRECTPROC glDrawElementsIndirect;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERPARAMETERIPROC glFramebufferParameteri;
-ANGLE_UTIL_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVPROC glGetFramebufferParameteriv;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMINTERFACEIVPROC glGetProgramInterfaceiv;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMRESOURCEINDEXPROC glGetProgramResourceIndex;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMRESOURCENAMEPROC glGetProgramResourceName;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMRESOURCEIVPROC glGetProgramResourceiv;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMRESOURCELOCATIONPROC glGetProgramResourceLocation;
-ANGLE_UTIL_EXPORT PFNGLUSEPROGRAMSTAGESPROC glUseProgramStages;
-ANGLE_UTIL_EXPORT PFNGLACTIVESHADERPROGRAMPROC glActiveShaderProgram;
-ANGLE_UTIL_EXPORT PFNGLCREATESHADERPROGRAMVPROC glCreateShaderProgramv;
-ANGLE_UTIL_EXPORT PFNGLBINDPROGRAMPIPELINEPROC glBindProgramPipeline;
-ANGLE_UTIL_EXPORT PFNGLDELETEPROGRAMPIPELINESPROC glDeleteProgramPipelines;
-ANGLE_UTIL_EXPORT PFNGLGENPROGRAMPIPELINESPROC glGenProgramPipelines;
-ANGLE_UTIL_EXPORT PFNGLISPROGRAMPIPELINEPROC glIsProgramPipeline;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMPIPELINEIVPROC glGetProgramPipelineiv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1IPROC glProgramUniform1i;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2IPROC glProgramUniform2i;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3IPROC glProgramUniform3i;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4IPROC glProgramUniform4i;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1UIPROC glProgramUniform1ui;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2UIPROC glProgramUniform2ui;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3UIPROC glProgramUniform3ui;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4UIPROC glProgramUniform4ui;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1FPROC glProgramUniform1f;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2FPROC glProgramUniform2f;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3FPROC glProgramUniform3f;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4FPROC glProgramUniform4f;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1IVPROC glProgramUniform1iv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2IVPROC glProgramUniform2iv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3IVPROC glProgramUniform3iv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4IVPROC glProgramUniform4iv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1UIVPROC glProgramUniform1uiv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2UIVPROC glProgramUniform2uiv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3UIVPROC glProgramUniform3uiv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4UIVPROC glProgramUniform4uiv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1FVPROC glProgramUniform1fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2FVPROC glProgramUniform2fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3FVPROC glProgramUniform3fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4FVPROC glProgramUniform4fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVPROC glProgramUniformMatrix2fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVPROC glProgramUniformMatrix3fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVPROC glProgramUniformMatrix4fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glProgramUniformMatrix2x3fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glProgramUniformMatrix3x2fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glProgramUniformMatrix2x4fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glProgramUniformMatrix4x2fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glProgramUniformMatrix3x4fv;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glProgramUniformMatrix4x3fv;
-ANGLE_UTIL_EXPORT PFNGLVALIDATEPROGRAMPIPELINEPROC glValidateProgramPipeline;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMPIPELINEINFOLOGPROC glGetProgramPipelineInfoLog;
-ANGLE_UTIL_EXPORT PFNGLBINDIMAGETEXTUREPROC glBindImageTexture;
-ANGLE_UTIL_EXPORT PFNGLGETBOOLEANI_VPROC glGetBooleani_v;
-ANGLE_UTIL_EXPORT PFNGLMEMORYBARRIERPROC glMemoryBarrier;
-ANGLE_UTIL_EXPORT PFNGLMEMORYBARRIERBYREGIONPROC glMemoryBarrierByRegion;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE2DMULTISAMPLEPROC glTexStorage2DMultisample;
-ANGLE_UTIL_EXPORT PFNGLGETMULTISAMPLEFVPROC glGetMultisamplefv;
-ANGLE_UTIL_EXPORT PFNGLSAMPLEMASKIPROC glSampleMaski;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERIVPROC glGetTexLevelParameteriv;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERFVPROC glGetTexLevelParameterfv;
-ANGLE_UTIL_EXPORT PFNGLBINDVERTEXBUFFERPROC glBindVertexBuffer;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBFORMATPROC glVertexAttribFormat;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBIFORMATPROC glVertexAttribIFormat;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBBINDINGPROC glVertexAttribBinding;
-ANGLE_UTIL_EXPORT PFNGLVERTEXBINDINGDIVISORPROC glVertexBindingDivisor;
-ANGLE_UTIL_EXPORT PFNGLCOPYSUBTEXTURE3DANGLEPROC glCopySubTexture3DANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOPYTEXTURE3DANGLEPROC glCopyTexture3DANGLE;
-ANGLE_UTIL_EXPORT PFNGLBLITFRAMEBUFFERANGLEPROC glBlitFramebufferANGLE;
-ANGLE_UTIL_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC
-    glRenderbufferStorageMultisampleANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWARRAYSINSTANCEDANGLEPROC glDrawArraysInstancedANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWELEMENTSINSTANCEDANGLEPROC glDrawElementsInstancedANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBDIVISORANGLEPROC glVertexAttribDivisorANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTIDRAWARRAYSANGLEPROC glMultiDrawArraysANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTIDRAWARRAYSINSTANCEDANGLEPROC glMultiDrawArraysInstancedANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTIDRAWELEMENTSANGLEPROC glMultiDrawElementsANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTIDRAWELEMENTSINSTANCEDANGLEPROC glMultiDrawElementsInstancedANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTUREMULTIVIEWLAYEREDANGLEPROC
-    glFramebufferTextureMultiviewLayeredANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTUREMULTIVIEWSIDEBYSIDEANGLEPROC
-    glFramebufferTextureMultiviewSideBySideANGLE;
-ANGLE_UTIL_EXPORT PFNGLREQUESTEXTENSIONANGLEPROC glRequestExtensionANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLEPROC glCompressedTexImage2DRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLEPROC glCompressedTexImage3DRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLEPROC glCompressedTexSubImage2DRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLEPROC glCompressedTexSubImage3DRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLEPROC glGetActiveUniformBlockivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBOOLEANI_VROBUSTANGLEPROC glGetBooleani_vRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBOOLEANVROBUSTANGLEPROC glGetBooleanvRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPARAMETERI64VROBUSTANGLEPROC glGetBufferParameteri64vRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPARAMETERIVROBUSTANGLEPROC glGetBufferParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPOINTERVROBUSTANGLEPROC glGetBufferPointervRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFLOATVROBUSTANGLEPROC glGetFloatvRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLEPROC
-    glGetFramebufferAttachmentParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLEPROC
-    glGetFramebufferParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGER64I_VROBUSTANGLEPROC glGetInteger64i_vRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGER64VROBUSTANGLEPROC glGetInteger64vRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGERI_VROBUSTANGLEPROC glGetIntegeri_vRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGERVROBUSTANGLEPROC glGetIntegervRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTERNALFORMATIVROBUSTANGLEPROC glGetInternalformativRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETMULTISAMPLEFVROBUSTANGLEPROC glGetMultisamplefvRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLEPROC glGetPointervRobustANGLERobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMINTERFACEIVROBUSTANGLEPROC glGetProgramInterfaceivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMIVROBUSTANGLEPROC glGetProgramivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTI64VROBUSTANGLEPROC glGetQueryObjecti64vRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTIVROBUSTANGLEPROC glGetQueryObjectivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTUI64VROBUSTANGLEPROC glGetQueryObjectui64vRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTUIVROBUSTANGLEPROC glGetQueryObjectuivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYIVROBUSTANGLEPROC glGetQueryivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLEPROC
-    glGetRenderbufferParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLEPROC glGetSamplerParameterIivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLEPROC glGetSamplerParameterIuivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERFVROBUSTANGLEPROC glGetSamplerParameterfvRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIVROBUSTANGLEPROC glGetSamplerParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSHADERIVROBUSTANGLEPROC glGetShaderivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLEPROC glGetTexLevelParameterfvRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLEPROC glGetTexLevelParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIIVROBUSTANGLEPROC glGetTexParameterIivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIUIVROBUSTANGLEPROC glGetTexParameterIuivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERFVROBUSTANGLEPROC glGetTexParameterfvRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIVROBUSTANGLEPROC glGetTexParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMFVROBUSTANGLEPROC glGetUniformfvRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMIVROBUSTANGLEPROC glGetUniformivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMUIVROBUSTANGLEPROC glGetUniformuivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIIVROBUSTANGLEPROC glGetVertexAttribIivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIUIVROBUSTANGLEPROC glGetVertexAttribIuivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLEPROC glGetVertexAttribPointervRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBFVROBUSTANGLEPROC glGetVertexAttribfvRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIVROBUSTANGLEPROC glGetVertexAttribivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETNUNIFORMFVROBUSTANGLEPROC glGetnUniformfvRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETNUNIFORMIVROBUSTANGLEPROC glGetnUniformivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETNUNIFORMUIVROBUSTANGLEPROC glGetnUniformuivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLREADPIXELSROBUSTANGLEPROC glReadPixelsRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLREADNPIXELSROBUSTANGLEPROC glReadnPixelsRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIIVROBUSTANGLEPROC glSamplerParameterIivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIUIVROBUSTANGLEPROC glSamplerParameterIuivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERFVROBUSTANGLEPROC glSamplerParameterfvRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIVROBUSTANGLEPROC glSamplerParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXIMAGE2DROBUSTANGLEPROC glTexImage2DRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXIMAGE3DROBUSTANGLEPROC glTexImage3DRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIIVROBUSTANGLEPROC glTexParameterIivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIUIVROBUSTANGLEPROC glTexParameterIuivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERFVROBUSTANGLEPROC glTexParameterfvRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIVROBUSTANGLEPROC glTexParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSUBIMAGE2DROBUSTANGLEPROC glTexSubImage2DRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSUBIMAGE3DROBUSTANGLEPROC glTexSubImage3DRobustANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETMULTISAMPLEFVANGLEPROC glGetMultisamplefvANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERFVANGLEPROC glGetTexLevelParameterfvANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERIVANGLEPROC glGetTexLevelParameterivANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLEMASKIANGLEPROC glSampleMaskiANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE2DMULTISAMPLEANGLEPROC glTexStorage2DMultisampleANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC glGetTranslatedShaderSourceANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC glBindUniformLocationCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMPROC glCompressedCopyTextureCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLCOPYSUBTEXTURECHROMIUMPROC glCopySubTextureCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLCOPYTEXTURECHROMIUMPROC glCopyTextureCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLCOVERAGEMODULATIONCHROMIUMPROC glCoverageModulationCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLMATRIXLOADIDENTITYCHROMIUMPROC glMatrixLoadIdentityCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLMATRIXLOADFCHROMIUMPROC glMatrixLoadfCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLBINDFRAGMENTINPUTLOCATIONCHROMIUMPROC glBindFragmentInputLocationCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLCOVERFILLPATHCHROMIUMPROC glCoverFillPathCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLCOVERFILLPATHINSTANCEDCHROMIUMPROC glCoverFillPathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLCOVERSTROKEPATHCHROMIUMPROC glCoverStrokePathCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLCOVERSTROKEPATHINSTANCEDCHROMIUMPROC glCoverStrokePathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLDELETEPATHSCHROMIUMPROC glDeletePathsCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLGENPATHSCHROMIUMPROC glGenPathsCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLGETPATHPARAMETERFVCHROMIUMPROC glGetPathParameterfvCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLGETPATHPARAMETERIVCHROMIUMPROC glGetPathParameterivCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLISPATHCHROMIUMPROC glIsPathCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLPATHCOMMANDSCHROMIUMPROC glPathCommandsCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLPATHPARAMETERFCHROMIUMPROC glPathParameterfCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLPATHPARAMETERICHROMIUMPROC glPathParameteriCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLPATHSTENCILFUNCCHROMIUMPROC glPathStencilFuncCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMPATHFRAGMENTINPUTGENCHROMIUMPROC
-    glProgramPathFragmentInputGenCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLSTENCILFILLPATHCHROMIUMPROC glStencilFillPathCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLSTENCILFILLPATHINSTANCEDCHROMIUMPROC glStencilFillPathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLSTENCILSTROKEPATHCHROMIUMPROC glStencilStrokePathCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLSTENCILSTROKEPATHINSTANCEDCHROMIUMPROC glStencilStrokePathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLSTENCILTHENCOVERFILLPATHCHROMIUMPROC glStencilThenCoverFillPathCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDCHROMIUMPROC
-    glStencilThenCoverFillPathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLSTENCILTHENCOVERSTROKEPATHCHROMIUMPROC glStencilThenCoverStrokePathCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDCHROMIUMPROC
-    glStencilThenCoverStrokePathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT PFNGLBINDFRAGDATALOCATIONEXTPROC glBindFragDataLocationEXT;
-ANGLE_UTIL_EXPORT PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC glBindFragDataLocationIndexedEXT;
-ANGLE_UTIL_EXPORT PFNGLGETFRAGDATAINDEXEXTPROC glGetFragDataIndexEXT;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC glGetProgramResourceLocationIndexEXT;
-ANGLE_UTIL_EXPORT PFNGLINSERTEVENTMARKEREXTPROC glInsertEventMarkerEXT;
-ANGLE_UTIL_EXPORT PFNGLPOPGROUPMARKEREXTPROC glPopGroupMarkerEXT;
-ANGLE_UTIL_EXPORT PFNGLPUSHGROUPMARKEREXTPROC glPushGroupMarkerEXT;
-ANGLE_UTIL_EXPORT PFNGLDISCARDFRAMEBUFFEREXTPROC glDiscardFramebufferEXT;
-ANGLE_UTIL_EXPORT PFNGLBEGINQUERYEXTPROC glBeginQueryEXT;
-ANGLE_UTIL_EXPORT PFNGLDELETEQUERIESEXTPROC glDeleteQueriesEXT;
-ANGLE_UTIL_EXPORT PFNGLENDQUERYEXTPROC glEndQueryEXT;
-ANGLE_UTIL_EXPORT PFNGLGENQUERIESEXTPROC glGenQueriesEXT;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTI64VEXTPROC glGetQueryObjecti64vEXT;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTIVEXTPROC glGetQueryObjectivEXT;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTUI64VEXTPROC glGetQueryObjectui64vEXT;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTUIVEXTPROC glGetQueryObjectuivEXT;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYIVEXTPROC glGetQueryivEXT;
-ANGLE_UTIL_EXPORT PFNGLISQUERYEXTPROC glIsQueryEXT;
-ANGLE_UTIL_EXPORT PFNGLQUERYCOUNTEREXTPROC glQueryCounterEXT;
-ANGLE_UTIL_EXPORT PFNGLDRAWBUFFERSEXTPROC glDrawBuffersEXT;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC glFramebufferTextureEXT;
-ANGLE_UTIL_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC glFlushMappedBufferRangeEXT;
-ANGLE_UTIL_EXPORT PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRangeEXT;
-ANGLE_UTIL_EXPORT PFNGLGETGRAPHICSRESETSTATUSEXTPROC glGetGraphicsResetStatusEXT;
-ANGLE_UTIL_EXPORT PFNGLGETNUNIFORMFVEXTPROC glGetnUniformfvEXT;
-ANGLE_UTIL_EXPORT PFNGLGETNUNIFORMIVEXTPROC glGetnUniformivEXT;
-ANGLE_UTIL_EXPORT PFNGLREADNPIXELSEXTPROC glReadnPixelsEXT;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE1DEXTPROC glTexStorage1DEXT;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE2DEXTPROC glTexStorage2DEXT;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE3DEXTPROC glTexStorage3DEXT;
-ANGLE_UTIL_EXPORT PFNGLDEBUGMESSAGECALLBACKKHRPROC glDebugMessageCallbackKHR;
-ANGLE_UTIL_EXPORT PFNGLDEBUGMESSAGECONTROLKHRPROC glDebugMessageControlKHR;
-ANGLE_UTIL_EXPORT PFNGLDEBUGMESSAGEINSERTKHRPROC glDebugMessageInsertKHR;
-ANGLE_UTIL_EXPORT PFNGLGETDEBUGMESSAGELOGKHRPROC glGetDebugMessageLogKHR;
-ANGLE_UTIL_EXPORT PFNGLGETOBJECTLABELKHRPROC glGetObjectLabelKHR;
-ANGLE_UTIL_EXPORT PFNGLGETOBJECTPTRLABELKHRPROC glGetObjectPtrLabelKHR;
-ANGLE_UTIL_EXPORT PFNGLGETPOINTERVKHRPROC glGetPointervKHR;
-ANGLE_UTIL_EXPORT PFNGLOBJECTLABELKHRPROC glObjectLabelKHR;
-ANGLE_UTIL_EXPORT PFNGLOBJECTPTRLABELKHRPROC glObjectPtrLabelKHR;
-ANGLE_UTIL_EXPORT PFNGLPOPDEBUGGROUPKHRPROC glPopDebugGroupKHR;
-ANGLE_UTIL_EXPORT PFNGLPUSHDEBUGGROUPKHRPROC glPushDebugGroupKHR;
-ANGLE_UTIL_EXPORT PFNGLMAXSHADERCOMPILERTHREADSKHRPROC glMaxShaderCompilerThreadsKHR;
-ANGLE_UTIL_EXPORT PFNGLDELETEFENCESNVPROC glDeleteFencesNV;
-ANGLE_UTIL_EXPORT PFNGLFINISHFENCENVPROC glFinishFenceNV;
-ANGLE_UTIL_EXPORT PFNGLGENFENCESNVPROC glGenFencesNV;
-ANGLE_UTIL_EXPORT PFNGLGETFENCEIVNVPROC glGetFenceivNV;
-ANGLE_UTIL_EXPORT PFNGLISFENCENVPROC glIsFenceNV;
-ANGLE_UTIL_EXPORT PFNGLSETFENCENVPROC glSetFenceNV;
-ANGLE_UTIL_EXPORT PFNGLTESTFENCENVPROC glTestFenceNV;
-ANGLE_UTIL_EXPORT PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC
-    glEGLImageTargetRenderbufferStorageOES;
-ANGLE_UTIL_EXPORT PFNGLEGLIMAGETARGETTEXTURE2DOESPROC glEGLImageTargetTexture2DOES;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMBINARYOESPROC glGetProgramBinaryOES;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMBINARYOESPROC glProgramBinaryOES;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPOINTERVOESPROC glGetBufferPointervOES;
-ANGLE_UTIL_EXPORT PFNGLMAPBUFFEROESPROC glMapBufferOES;
-ANGLE_UTIL_EXPORT PFNGLUNMAPBUFFEROESPROC glUnmapBufferOES;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIIVOESPROC glGetSamplerParameterIivOES;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIUIVOESPROC glGetSamplerParameterIuivOES;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIIVOESPROC glGetTexParameterIivOES;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIUIVOESPROC glGetTexParameterIuivOES;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIIVOESPROC glSamplerParameterIivOES;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIUIVOESPROC glSamplerParameterIuivOES;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIIVOESPROC glTexParameterIivOES;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIUIVOESPROC glTexParameterIuivOES;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE3DMULTISAMPLEOESPROC glTexStorage3DMultisampleOES;
-ANGLE_UTIL_EXPORT PFNGLBINDVERTEXARRAYOESPROC glBindVertexArrayOES;
-ANGLE_UTIL_EXPORT PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArraysOES;
-ANGLE_UTIL_EXPORT PFNGLGENVERTEXARRAYSOESPROC glGenVertexArraysOES;
-ANGLE_UTIL_EXPORT PFNGLISVERTEXARRAYOESPROC glIsVertexArrayOES;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXFOESPROC glDrawTexfOES;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXFVOESPROC glDrawTexfvOES;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXIOESPROC glDrawTexiOES;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXIVOESPROC glDrawTexivOES;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXSOESPROC glDrawTexsOES;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXSVOESPROC glDrawTexsvOES;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXXOESPROC glDrawTexxOES;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXXVOESPROC glDrawTexxvOES;
-ANGLE_UTIL_EXPORT PFNGLBINDFRAMEBUFFEROESPROC glBindFramebufferOES;
-ANGLE_UTIL_EXPORT PFNGLBINDRENDERBUFFEROESPROC glBindRenderbufferOES;
-ANGLE_UTIL_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSOESPROC glCheckFramebufferStatusOES;
-ANGLE_UTIL_EXPORT PFNGLDELETEFRAMEBUFFERSOESPROC glDeleteFramebuffersOES;
-ANGLE_UTIL_EXPORT PFNGLDELETERENDERBUFFERSOESPROC glDeleteRenderbuffersOES;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERRENDERBUFFEROESPROC glFramebufferRenderbufferOES;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTURE2DOESPROC glFramebufferTexture2DOES;
-ANGLE_UTIL_EXPORT PFNGLGENFRAMEBUFFERSOESPROC glGenFramebuffersOES;
-ANGLE_UTIL_EXPORT PFNGLGENRENDERBUFFERSOESPROC glGenRenderbuffersOES;
-ANGLE_UTIL_EXPORT PFNGLGENERATEMIPMAPOESPROC glGenerateMipmapOES;
-ANGLE_UTIL_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC
-    glGetFramebufferAttachmentParameterivOES;
-ANGLE_UTIL_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVOESPROC glGetRenderbufferParameterivOES;
-ANGLE_UTIL_EXPORT PFNGLISFRAMEBUFFEROESPROC glIsFramebufferOES;
-ANGLE_UTIL_EXPORT PFNGLISRENDERBUFFEROESPROC glIsRenderbufferOES;
-ANGLE_UTIL_EXPORT PFNGLRENDERBUFFERSTORAGEOESPROC glRenderbufferStorageOES;
-ANGLE_UTIL_EXPORT PFNGLCURRENTPALETTEMATRIXOESPROC glCurrentPaletteMatrixOES;
-ANGLE_UTIL_EXPORT PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC glLoadPaletteFromModelViewMatrixOES;
-ANGLE_UTIL_EXPORT PFNGLMATRIXINDEXPOINTEROESPROC glMatrixIndexPointerOES;
-ANGLE_UTIL_EXPORT PFNGLWEIGHTPOINTEROESPROC glWeightPointerOES;
-ANGLE_UTIL_EXPORT PFNGLPOINTSIZEPOINTEROESPROC glPointSizePointerOES;
-ANGLE_UTIL_EXPORT PFNGLQUERYMATRIXXOESPROC glQueryMatrixxOES;
-ANGLE_UTIL_EXPORT PFNGLGETTEXGENFVOESPROC glGetTexGenfvOES;
-ANGLE_UTIL_EXPORT PFNGLGETTEXGENIVOESPROC glGetTexGenivOES;
-ANGLE_UTIL_EXPORT PFNGLGETTEXGENXVOESPROC glGetTexGenxvOES;
-ANGLE_UTIL_EXPORT PFNGLTEXGENFOESPROC glTexGenfOES;
-ANGLE_UTIL_EXPORT PFNGLTEXGENFVOESPROC glTexGenfvOES;
-ANGLE_UTIL_EXPORT PFNGLTEXGENIOESPROC glTexGeniOES;
-ANGLE_UTIL_EXPORT PFNGLTEXGENIVOESPROC glTexGenivOES;
-ANGLE_UTIL_EXPORT PFNGLTEXGENXOESPROC glTexGenxOES;
-ANGLE_UTIL_EXPORT PFNGLTEXGENXVOESPROC glTexGenxvOES;
-ANGLE_UTIL_EXPORT PFNGLALPHAFUNCCONTEXTANGLEPROC glAlphaFuncContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLIPPLANEFCONTEXTANGLEPROC glClipPlanefContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOLOR4FCONTEXTANGLEPROC glColor4fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFOGFCONTEXTANGLEPROC glFogfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFOGFVCONTEXTANGLEPROC glFogfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRUSTUMFCONTEXTANGLEPROC glFrustumfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETCLIPPLANEFCONTEXTANGLEPROC glGetClipPlanefContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETLIGHTFVCONTEXTANGLEPROC glGetLightfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETMATERIALFVCONTEXTANGLEPROC glGetMaterialfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXENVFVCONTEXTANGLEPROC glGetTexEnvfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLIGHTMODELFCONTEXTANGLEPROC glLightModelfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLIGHTMODELFVCONTEXTANGLEPROC glLightModelfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLIGHTFCONTEXTANGLEPROC glLightfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLIGHTFVCONTEXTANGLEPROC glLightfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLOADMATRIXFCONTEXTANGLEPROC glLoadMatrixfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMATERIALFCONTEXTANGLEPROC glMaterialfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMATERIALFVCONTEXTANGLEPROC glMaterialfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTMATRIXFCONTEXTANGLEPROC glMultMatrixfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTITEXCOORD4FCONTEXTANGLEPROC glMultiTexCoord4fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLNORMAL3FCONTEXTANGLEPROC glNormal3fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLORTHOFCONTEXTANGLEPROC glOrthofContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOINTPARAMETERFCONTEXTANGLEPROC glPointParameterfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOINTPARAMETERFVCONTEXTANGLEPROC glPointParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOINTSIZECONTEXTANGLEPROC glPointSizeContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLROTATEFCONTEXTANGLEPROC glRotatefContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSCALEFCONTEXTANGLEPROC glScalefContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXENVFCONTEXTANGLEPROC glTexEnvfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXENVFVCONTEXTANGLEPROC glTexEnvfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTRANSLATEFCONTEXTANGLEPROC glTranslatefContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLALPHAFUNCXCONTEXTANGLEPROC glAlphaFuncxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLEARCOLORXCONTEXTANGLEPROC glClearColorxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLEARDEPTHXCONTEXTANGLEPROC glClearDepthxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLIENTACTIVETEXTURECONTEXTANGLEPROC glClientActiveTextureContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLIPPLANEXCONTEXTANGLEPROC glClipPlanexContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOLOR4UBCONTEXTANGLEPROC glColor4ubContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOLOR4XCONTEXTANGLEPROC glColor4xContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOLORPOINTERCONTEXTANGLEPROC glColorPointerContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDEPTHRANGEXCONTEXTANGLEPROC glDepthRangexContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDISABLECLIENTSTATECONTEXTANGLEPROC glDisableClientStateContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLENABLECLIENTSTATECONTEXTANGLEPROC glEnableClientStateContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFOGXCONTEXTANGLEPROC glFogxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFOGXVCONTEXTANGLEPROC glFogxvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRUSTUMXCONTEXTANGLEPROC glFrustumxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETCLIPPLANEXCONTEXTANGLEPROC glGetClipPlanexContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFIXEDVCONTEXTANGLEPROC glGetFixedvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETLIGHTXVCONTEXTANGLEPROC glGetLightxvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETMATERIALXVCONTEXTANGLEPROC glGetMaterialxvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPOINTERVCONTEXTANGLEPROC glGetPointervContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXENVIVCONTEXTANGLEPROC glGetTexEnvivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXENVXVCONTEXTANGLEPROC glGetTexEnvxvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERXVCONTEXTANGLEPROC glGetTexParameterxvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLIGHTMODELXCONTEXTANGLEPROC glLightModelxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLIGHTMODELXVCONTEXTANGLEPROC glLightModelxvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLIGHTXCONTEXTANGLEPROC glLightxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLIGHTXVCONTEXTANGLEPROC glLightxvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLINEWIDTHXCONTEXTANGLEPROC glLineWidthxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLOADIDENTITYCONTEXTANGLEPROC glLoadIdentityContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLOADMATRIXXCONTEXTANGLEPROC glLoadMatrixxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLOGICOPCONTEXTANGLEPROC glLogicOpContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMATERIALXCONTEXTANGLEPROC glMaterialxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMATERIALXVCONTEXTANGLEPROC glMaterialxvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMATRIXMODECONTEXTANGLEPROC glMatrixModeContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTMATRIXXCONTEXTANGLEPROC glMultMatrixxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTITEXCOORD4XCONTEXTANGLEPROC glMultiTexCoord4xContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLNORMAL3XCONTEXTANGLEPROC glNormal3xContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLNORMALPOINTERCONTEXTANGLEPROC glNormalPointerContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLORTHOXCONTEXTANGLEPROC glOrthoxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOINTPARAMETERXCONTEXTANGLEPROC glPointParameterxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOINTPARAMETERXVCONTEXTANGLEPROC glPointParameterxvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOINTSIZEXCONTEXTANGLEPROC glPointSizexContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOLYGONOFFSETXCONTEXTANGLEPROC glPolygonOffsetxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOPMATRIXCONTEXTANGLEPROC glPopMatrixContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPUSHMATRIXCONTEXTANGLEPROC glPushMatrixContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLROTATEXCONTEXTANGLEPROC glRotatexContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLECOVERAGEXCONTEXTANGLEPROC glSampleCoveragexContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSCALEXCONTEXTANGLEPROC glScalexContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSHADEMODELCONTEXTANGLEPROC glShadeModelContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXCOORDPOINTERCONTEXTANGLEPROC glTexCoordPointerContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXENVICONTEXTANGLEPROC glTexEnviContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXENVXCONTEXTANGLEPROC glTexEnvxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXENVIVCONTEXTANGLEPROC glTexEnvivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXENVXVCONTEXTANGLEPROC glTexEnvxvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERXCONTEXTANGLEPROC glTexParameterxContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERXVCONTEXTANGLEPROC glTexParameterxvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTRANSLATEXCONTEXTANGLEPROC glTranslatexContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXPOINTERCONTEXTANGLEPROC glVertexPointerContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLACTIVETEXTURECONTEXTANGLEPROC glActiveTextureContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLATTACHSHADERCONTEXTANGLEPROC glAttachShaderContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDATTRIBLOCATIONCONTEXTANGLEPROC glBindAttribLocationContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDBUFFERCONTEXTANGLEPROC glBindBufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDFRAMEBUFFERCONTEXTANGLEPROC glBindFramebufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDRENDERBUFFERCONTEXTANGLEPROC glBindRenderbufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDTEXTURECONTEXTANGLEPROC glBindTextureContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBLENDCOLORCONTEXTANGLEPROC glBlendColorContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBLENDEQUATIONCONTEXTANGLEPROC glBlendEquationContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBLENDEQUATIONSEPARATECONTEXTANGLEPROC glBlendEquationSeparateContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBLENDFUNCCONTEXTANGLEPROC glBlendFuncContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBLENDFUNCSEPARATECONTEXTANGLEPROC glBlendFuncSeparateContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBUFFERDATACONTEXTANGLEPROC glBufferDataContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBUFFERSUBDATACONTEXTANGLEPROC glBufferSubDataContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSCONTEXTANGLEPROC glCheckFramebufferStatusContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLEARCONTEXTANGLEPROC glClearContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLEARCOLORCONTEXTANGLEPROC glClearColorContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLEARDEPTHFCONTEXTANGLEPROC glClearDepthfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLEARSTENCILCONTEXTANGLEPROC glClearStencilContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOLORMASKCONTEXTANGLEPROC glColorMaskContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPILESHADERCONTEXTANGLEPROC glCompileShaderContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DCONTEXTANGLEPROC glCompressedTexImage2DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DCONTEXTANGLEPROC
-    glCompressedTexSubImage2DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOPYTEXIMAGE2DCONTEXTANGLEPROC glCopyTexImage2DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOPYTEXSUBIMAGE2DCONTEXTANGLEPROC glCopyTexSubImage2DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCREATEPROGRAMCONTEXTANGLEPROC glCreateProgramContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCREATESHADERCONTEXTANGLEPROC glCreateShaderContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCULLFACECONTEXTANGLEPROC glCullFaceContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETEBUFFERSCONTEXTANGLEPROC glDeleteBuffersContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETEFRAMEBUFFERSCONTEXTANGLEPROC glDeleteFramebuffersContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETEPROGRAMCONTEXTANGLEPROC glDeleteProgramContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETERENDERBUFFERSCONTEXTANGLEPROC glDeleteRenderbuffersContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETESHADERCONTEXTANGLEPROC glDeleteShaderContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETETEXTURESCONTEXTANGLEPROC glDeleteTexturesContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDEPTHFUNCCONTEXTANGLEPROC glDepthFuncContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDEPTHMASKCONTEXTANGLEPROC glDepthMaskContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDEPTHRANGEFCONTEXTANGLEPROC glDepthRangefContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDETACHSHADERCONTEXTANGLEPROC glDetachShaderContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDISABLECONTEXTANGLEPROC glDisableContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYCONTEXTANGLEPROC
-    glDisableVertexAttribArrayContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWARRAYSCONTEXTANGLEPROC glDrawArraysContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWELEMENTSCONTEXTANGLEPROC glDrawElementsContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLENABLECONTEXTANGLEPROC glEnableContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLENABLEVERTEXATTRIBARRAYCONTEXTANGLEPROC
-    glEnableVertexAttribArrayContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFINISHCONTEXTANGLEPROC glFinishContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFLUSHCONTEXTANGLEPROC glFlushContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERCONTEXTANGLEPROC
-    glFramebufferRenderbufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTURE2DCONTEXTANGLEPROC glFramebufferTexture2DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRONTFACECONTEXTANGLEPROC glFrontFaceContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENBUFFERSCONTEXTANGLEPROC glGenBuffersContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENERATEMIPMAPCONTEXTANGLEPROC glGenerateMipmapContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENFRAMEBUFFERSCONTEXTANGLEPROC glGenFramebuffersContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENRENDERBUFFERSCONTEXTANGLEPROC glGenRenderbuffersContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENTEXTURESCONTEXTANGLEPROC glGenTexturesContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEATTRIBCONTEXTANGLEPROC glGetActiveAttribContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEUNIFORMCONTEXTANGLEPROC glGetActiveUniformContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETATTACHEDSHADERSCONTEXTANGLEPROC glGetAttachedShadersContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETATTRIBLOCATIONCONTEXTANGLEPROC glGetAttribLocationContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBOOLEANVCONTEXTANGLEPROC glGetBooleanvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPARAMETERIVCONTEXTANGLEPROC glGetBufferParameterivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETERRORCONTEXTANGLEPROC glGetErrorContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFLOATVCONTEXTANGLEPROC glGetFloatvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVCONTEXTANGLEPROC
-    glGetFramebufferAttachmentParameterivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGERVCONTEXTANGLEPROC glGetIntegervContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMIVCONTEXTANGLEPROC glGetProgramivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMINFOLOGCONTEXTANGLEPROC glGetProgramInfoLogContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVCONTEXTANGLEPROC
-    glGetRenderbufferParameterivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSHADERIVCONTEXTANGLEPROC glGetShaderivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSHADERINFOLOGCONTEXTANGLEPROC glGetShaderInfoLogContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSHADERPRECISIONFORMATCONTEXTANGLEPROC
-    glGetShaderPrecisionFormatContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSHADERSOURCECONTEXTANGLEPROC glGetShaderSourceContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSTRINGCONTEXTANGLEPROC glGetStringContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERFVCONTEXTANGLEPROC glGetTexParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIVCONTEXTANGLEPROC glGetTexParameterivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMFVCONTEXTANGLEPROC glGetUniformfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMIVCONTEXTANGLEPROC glGetUniformivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMLOCATIONCONTEXTANGLEPROC glGetUniformLocationContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBFVCONTEXTANGLEPROC glGetVertexAttribfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIVCONTEXTANGLEPROC glGetVertexAttribivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBPOINTERVCONTEXTANGLEPROC
-    glGetVertexAttribPointervContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLHINTCONTEXTANGLEPROC glHintContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISBUFFERCONTEXTANGLEPROC glIsBufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISENABLEDCONTEXTANGLEPROC glIsEnabledContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISFRAMEBUFFERCONTEXTANGLEPROC glIsFramebufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISPROGRAMCONTEXTANGLEPROC glIsProgramContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISRENDERBUFFERCONTEXTANGLEPROC glIsRenderbufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISSHADERCONTEXTANGLEPROC glIsShaderContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISTEXTURECONTEXTANGLEPROC glIsTextureContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLINEWIDTHCONTEXTANGLEPROC glLineWidthContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLINKPROGRAMCONTEXTANGLEPROC glLinkProgramContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPIXELSTOREICONTEXTANGLEPROC glPixelStoreiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOLYGONOFFSETCONTEXTANGLEPROC glPolygonOffsetContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLREADPIXELSCONTEXTANGLEPROC glReadPixelsContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLRELEASESHADERCOMPILERCONTEXTANGLEPROC glReleaseShaderCompilerContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLRENDERBUFFERSTORAGECONTEXTANGLEPROC glRenderbufferStorageContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLECOVERAGECONTEXTANGLEPROC glSampleCoverageContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSCISSORCONTEXTANGLEPROC glScissorContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSHADERBINARYCONTEXTANGLEPROC glShaderBinaryContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSHADERSOURCECONTEXTANGLEPROC glShaderSourceContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILFUNCCONTEXTANGLEPROC glStencilFuncContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILFUNCSEPARATECONTEXTANGLEPROC glStencilFuncSeparateContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILMASKCONTEXTANGLEPROC glStencilMaskContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILMASKSEPARATECONTEXTANGLEPROC glStencilMaskSeparateContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILOPCONTEXTANGLEPROC glStencilOpContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILOPSEPARATECONTEXTANGLEPROC glStencilOpSeparateContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXIMAGE2DCONTEXTANGLEPROC glTexImage2DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERFCONTEXTANGLEPROC glTexParameterfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERFVCONTEXTANGLEPROC glTexParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERICONTEXTANGLEPROC glTexParameteriContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIVCONTEXTANGLEPROC glTexParameterivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSUBIMAGE2DCONTEXTANGLEPROC glTexSubImage2DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1FCONTEXTANGLEPROC glUniform1fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1FVCONTEXTANGLEPROC glUniform1fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1ICONTEXTANGLEPROC glUniform1iContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1IVCONTEXTANGLEPROC glUniform1ivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2FCONTEXTANGLEPROC glUniform2fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2FVCONTEXTANGLEPROC glUniform2fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2ICONTEXTANGLEPROC glUniform2iContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2IVCONTEXTANGLEPROC glUniform2ivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3FCONTEXTANGLEPROC glUniform3fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3FVCONTEXTANGLEPROC glUniform3fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3ICONTEXTANGLEPROC glUniform3iContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3IVCONTEXTANGLEPROC glUniform3ivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4FCONTEXTANGLEPROC glUniform4fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4FVCONTEXTANGLEPROC glUniform4fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4ICONTEXTANGLEPROC glUniform4iContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4IVCONTEXTANGLEPROC glUniform4ivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX2FVCONTEXTANGLEPROC glUniformMatrix2fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX3FVCONTEXTANGLEPROC glUniformMatrix3fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX4FVCONTEXTANGLEPROC glUniformMatrix4fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUSEPROGRAMCONTEXTANGLEPROC glUseProgramContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVALIDATEPROGRAMCONTEXTANGLEPROC glValidateProgramContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB1FCONTEXTANGLEPROC glVertexAttrib1fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB1FVCONTEXTANGLEPROC glVertexAttrib1fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB2FCONTEXTANGLEPROC glVertexAttrib2fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB2FVCONTEXTANGLEPROC glVertexAttrib2fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB3FCONTEXTANGLEPROC glVertexAttrib3fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB3FVCONTEXTANGLEPROC glVertexAttrib3fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB4FCONTEXTANGLEPROC glVertexAttrib4fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIB4FVCONTEXTANGLEPROC glVertexAttrib4fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBPOINTERCONTEXTANGLEPROC glVertexAttribPointerContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVIEWPORTCONTEXTANGLEPROC glViewportContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLREADBUFFERCONTEXTANGLEPROC glReadBufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWRANGEELEMENTSCONTEXTANGLEPROC glDrawRangeElementsContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXIMAGE3DCONTEXTANGLEPROC glTexImage3DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSUBIMAGE3DCONTEXTANGLEPROC glTexSubImage3DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOPYTEXSUBIMAGE3DCONTEXTANGLEPROC glCopyTexSubImage3DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DCONTEXTANGLEPROC glCompressedTexImage3DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DCONTEXTANGLEPROC
-    glCompressedTexSubImage3DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENQUERIESCONTEXTANGLEPROC glGenQueriesContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETEQUERIESCONTEXTANGLEPROC glDeleteQueriesContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISQUERYCONTEXTANGLEPROC glIsQueryContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBEGINQUERYCONTEXTANGLEPROC glBeginQueryContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLENDQUERYCONTEXTANGLEPROC glEndQueryContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYIVCONTEXTANGLEPROC glGetQueryivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTUIVCONTEXTANGLEPROC glGetQueryObjectuivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNMAPBUFFERCONTEXTANGLEPROC glUnmapBufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPOINTERVCONTEXTANGLEPROC glGetBufferPointervContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWBUFFERSCONTEXTANGLEPROC glDrawBuffersContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX2X3FVCONTEXTANGLEPROC glUniformMatrix2x3fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX3X2FVCONTEXTANGLEPROC glUniformMatrix3x2fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX2X4FVCONTEXTANGLEPROC glUniformMatrix2x4fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX4X2FVCONTEXTANGLEPROC glUniformMatrix4x2fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX3X4FVCONTEXTANGLEPROC glUniformMatrix3x4fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMMATRIX4X3FVCONTEXTANGLEPROC glUniformMatrix4x3fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBLITFRAMEBUFFERCONTEXTANGLEPROC glBlitFramebufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLECONTEXTANGLEPROC
-    glRenderbufferStorageMultisampleContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERCONTEXTANGLEPROC
-    glFramebufferTextureLayerContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMAPBUFFERRANGECONTEXTANGLEPROC glMapBufferRangeContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGECONTEXTANGLEPROC glFlushMappedBufferRangeContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDVERTEXARRAYCONTEXTANGLEPROC glBindVertexArrayContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETEVERTEXARRAYSCONTEXTANGLEPROC glDeleteVertexArraysContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENVERTEXARRAYSCONTEXTANGLEPROC glGenVertexArraysContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISVERTEXARRAYCONTEXTANGLEPROC glIsVertexArrayContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGERI_VCONTEXTANGLEPROC glGetIntegeri_vContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBEGINTRANSFORMFEEDBACKCONTEXTANGLEPROC glBeginTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLENDTRANSFORMFEEDBACKCONTEXTANGLEPROC glEndTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDBUFFERRANGECONTEXTANGLEPROC glBindBufferRangeContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDBUFFERBASECONTEXTANGLEPROC glBindBufferBaseContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSCONTEXTANGLEPROC
-    glTransformFeedbackVaryingsContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGCONTEXTANGLEPROC
-    glGetTransformFeedbackVaryingContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBIPOINTERCONTEXTANGLEPROC glVertexAttribIPointerContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIIVCONTEXTANGLEPROC glGetVertexAttribIivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIUIVCONTEXTANGLEPROC glGetVertexAttribIuivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBI4ICONTEXTANGLEPROC glVertexAttribI4iContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBI4UICONTEXTANGLEPROC glVertexAttribI4uiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBI4IVCONTEXTANGLEPROC glVertexAttribI4ivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBI4UIVCONTEXTANGLEPROC glVertexAttribI4uivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMUIVCONTEXTANGLEPROC glGetUniformuivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFRAGDATALOCATIONCONTEXTANGLEPROC glGetFragDataLocationContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1UICONTEXTANGLEPROC glUniform1uiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2UICONTEXTANGLEPROC glUniform2uiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3UICONTEXTANGLEPROC glUniform3uiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4UICONTEXTANGLEPROC glUniform4uiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM1UIVCONTEXTANGLEPROC glUniform1uivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM2UIVCONTEXTANGLEPROC glUniform2uivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM3UIVCONTEXTANGLEPROC glUniform3uivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORM4UIVCONTEXTANGLEPROC glUniform4uivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLEARBUFFERIVCONTEXTANGLEPROC glClearBufferivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLEARBUFFERUIVCONTEXTANGLEPROC glClearBufferuivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLEARBUFFERFVCONTEXTANGLEPROC glClearBufferfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLEARBUFFERFICONTEXTANGLEPROC glClearBufferfiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSTRINGICONTEXTANGLEPROC glGetStringiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOPYBUFFERSUBDATACONTEXTANGLEPROC glCopyBufferSubDataContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMINDICESCONTEXTANGLEPROC glGetUniformIndicesContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEUNIFORMSIVCONTEXTANGLEPROC glGetActiveUniformsivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMBLOCKINDEXCONTEXTANGLEPROC glGetUniformBlockIndexContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVCONTEXTANGLEPROC
-    glGetActiveUniformBlockivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEUNIFORMBLOCKNAMECONTEXTANGLEPROC
-    glGetActiveUniformBlockNameContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNIFORMBLOCKBINDINGCONTEXTANGLEPROC glUniformBlockBindingContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWARRAYSINSTANCEDCONTEXTANGLEPROC glDrawArraysInstancedContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWELEMENTSINSTANCEDCONTEXTANGLEPROC glDrawElementsInstancedContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFENCESYNCCONTEXTANGLEPROC glFenceSyncContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISSYNCCONTEXTANGLEPROC glIsSyncContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETESYNCCONTEXTANGLEPROC glDeleteSyncContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCLIENTWAITSYNCCONTEXTANGLEPROC glClientWaitSyncContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLWAITSYNCCONTEXTANGLEPROC glWaitSyncContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGER64VCONTEXTANGLEPROC glGetInteger64vContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSYNCIVCONTEXTANGLEPROC glGetSyncivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGER64I_VCONTEXTANGLEPROC glGetInteger64i_vContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPARAMETERI64VCONTEXTANGLEPROC glGetBufferParameteri64vContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENSAMPLERSCONTEXTANGLEPROC glGenSamplersContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETESAMPLERSCONTEXTANGLEPROC glDeleteSamplersContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISSAMPLERCONTEXTANGLEPROC glIsSamplerContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDSAMPLERCONTEXTANGLEPROC glBindSamplerContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERICONTEXTANGLEPROC glSamplerParameteriContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIVCONTEXTANGLEPROC glSamplerParameterivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERFCONTEXTANGLEPROC glSamplerParameterfContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERFVCONTEXTANGLEPROC glSamplerParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIVCONTEXTANGLEPROC glGetSamplerParameterivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERFVCONTEXTANGLEPROC glGetSamplerParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBDIVISORCONTEXTANGLEPROC glVertexAttribDivisorContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDTRANSFORMFEEDBACKCONTEXTANGLEPROC glBindTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETETRANSFORMFEEDBACKSCONTEXTANGLEPROC
-    glDeleteTransformFeedbacksContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENTRANSFORMFEEDBACKSCONTEXTANGLEPROC glGenTransformFeedbacksContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISTRANSFORMFEEDBACKCONTEXTANGLEPROC glIsTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPAUSETRANSFORMFEEDBACKCONTEXTANGLEPROC glPauseTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLRESUMETRANSFORMFEEDBACKCONTEXTANGLEPROC
-    glResumeTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMBINARYCONTEXTANGLEPROC glGetProgramBinaryContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMBINARYCONTEXTANGLEPROC glProgramBinaryContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMPARAMETERICONTEXTANGLEPROC glProgramParameteriContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLINVALIDATEFRAMEBUFFERCONTEXTANGLEPROC glInvalidateFramebufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLINVALIDATESUBFRAMEBUFFERCONTEXTANGLEPROC
-    glInvalidateSubFramebufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE2DCONTEXTANGLEPROC glTexStorage2DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE3DCONTEXTANGLEPROC glTexStorage3DContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTERNALFORMATIVCONTEXTANGLEPROC glGetInternalformativContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDISPATCHCOMPUTECONTEXTANGLEPROC glDispatchComputeContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDISPATCHCOMPUTEINDIRECTCONTEXTANGLEPROC
-    glDispatchComputeIndirectContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWARRAYSINDIRECTCONTEXTANGLEPROC glDrawArraysIndirectContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWELEMENTSINDIRECTCONTEXTANGLEPROC glDrawElementsIndirectContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERPARAMETERICONTEXTANGLEPROC glFramebufferParameteriContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVCONTEXTANGLEPROC
-    glGetFramebufferParameterivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMINTERFACEIVCONTEXTANGLEPROC glGetProgramInterfaceivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMRESOURCEINDEXCONTEXTANGLEPROC
-    glGetProgramResourceIndexContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMRESOURCENAMECONTEXTANGLEPROC glGetProgramResourceNameContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMRESOURCEIVCONTEXTANGLEPROC glGetProgramResourceivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMRESOURCELOCATIONCONTEXTANGLEPROC
-    glGetProgramResourceLocationContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUSEPROGRAMSTAGESCONTEXTANGLEPROC glUseProgramStagesContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLACTIVESHADERPROGRAMCONTEXTANGLEPROC glActiveShaderProgramContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCREATESHADERPROGRAMVCONTEXTANGLEPROC glCreateShaderProgramvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDPROGRAMPIPELINECONTEXTANGLEPROC glBindProgramPipelineContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETEPROGRAMPIPELINESCONTEXTANGLEPROC glDeleteProgramPipelinesContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENPROGRAMPIPELINESCONTEXTANGLEPROC glGenProgramPipelinesContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISPROGRAMPIPELINECONTEXTANGLEPROC glIsProgramPipelineContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMPIPELINEIVCONTEXTANGLEPROC glGetProgramPipelineivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1ICONTEXTANGLEPROC glProgramUniform1iContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2ICONTEXTANGLEPROC glProgramUniform2iContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3ICONTEXTANGLEPROC glProgramUniform3iContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4ICONTEXTANGLEPROC glProgramUniform4iContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1UICONTEXTANGLEPROC glProgramUniform1uiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2UICONTEXTANGLEPROC glProgramUniform2uiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3UICONTEXTANGLEPROC glProgramUniform3uiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4UICONTEXTANGLEPROC glProgramUniform4uiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1FCONTEXTANGLEPROC glProgramUniform1fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2FCONTEXTANGLEPROC glProgramUniform2fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3FCONTEXTANGLEPROC glProgramUniform3fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4FCONTEXTANGLEPROC glProgramUniform4fContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1IVCONTEXTANGLEPROC glProgramUniform1ivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2IVCONTEXTANGLEPROC glProgramUniform2ivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3IVCONTEXTANGLEPROC glProgramUniform3ivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4IVCONTEXTANGLEPROC glProgramUniform4ivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1UIVCONTEXTANGLEPROC glProgramUniform1uivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2UIVCONTEXTANGLEPROC glProgramUniform2uivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3UIVCONTEXTANGLEPROC glProgramUniform3uivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4UIVCONTEXTANGLEPROC glProgramUniform4uivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM1FVCONTEXTANGLEPROC glProgramUniform1fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM2FVCONTEXTANGLEPROC glProgramUniform2fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM3FVCONTEXTANGLEPROC glProgramUniform3fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORM4FVCONTEXTANGLEPROC glProgramUniform4fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVCONTEXTANGLEPROC
-    glProgramUniformMatrix2fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVCONTEXTANGLEPROC
-    glProgramUniformMatrix3fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVCONTEXTANGLEPROC
-    glProgramUniformMatrix4fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVCONTEXTANGLEPROC
-    glProgramUniformMatrix2x3fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVCONTEXTANGLEPROC
-    glProgramUniformMatrix3x2fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVCONTEXTANGLEPROC
-    glProgramUniformMatrix2x4fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVCONTEXTANGLEPROC
-    glProgramUniformMatrix4x2fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVCONTEXTANGLEPROC
-    glProgramUniformMatrix3x4fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVCONTEXTANGLEPROC
-    glProgramUniformMatrix4x3fvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVALIDATEPROGRAMPIPELINECONTEXTANGLEPROC
-    glValidateProgramPipelineContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMPIPELINEINFOLOGCONTEXTANGLEPROC
-    glGetProgramPipelineInfoLogContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDIMAGETEXTURECONTEXTANGLEPROC glBindImageTextureContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBOOLEANI_VCONTEXTANGLEPROC glGetBooleani_vContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMEMORYBARRIERCONTEXTANGLEPROC glMemoryBarrierContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMEMORYBARRIERBYREGIONCONTEXTANGLEPROC glMemoryBarrierByRegionContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE2DMULTISAMPLECONTEXTANGLEPROC
-    glTexStorage2DMultisampleContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETMULTISAMPLEFVCONTEXTANGLEPROC glGetMultisamplefvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLEMASKICONTEXTANGLEPROC glSampleMaskiContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERIVCONTEXTANGLEPROC glGetTexLevelParameterivContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERFVCONTEXTANGLEPROC glGetTexLevelParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDVERTEXBUFFERCONTEXTANGLEPROC glBindVertexBufferContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBFORMATCONTEXTANGLEPROC glVertexAttribFormatContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBIFORMATCONTEXTANGLEPROC glVertexAttribIFormatContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBBINDINGCONTEXTANGLEPROC glVertexAttribBindingContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXBINDINGDIVISORCONTEXTANGLEPROC glVertexBindingDivisorContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOPYSUBTEXTURE3DANGLECONTEXTANGLEPROC glCopySubTexture3DANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOPYTEXTURE3DANGLECONTEXTANGLEPROC glCopyTexture3DANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBLITFRAMEBUFFERANGLECONTEXTANGLEPROC glBlitFramebufferANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLECONTEXTANGLEPROC
-    glRenderbufferStorageMultisampleANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWARRAYSINSTANCEDANGLECONTEXTANGLEPROC
-    glDrawArraysInstancedANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWELEMENTSINSTANCEDANGLECONTEXTANGLEPROC
-    glDrawElementsInstancedANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLVERTEXATTRIBDIVISORANGLECONTEXTANGLEPROC
-    glVertexAttribDivisorANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTIDRAWARRAYSANGLECONTEXTANGLEPROC glMultiDrawArraysANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTIDRAWARRAYSINSTANCEDANGLECONTEXTANGLEPROC
-    glMultiDrawArraysInstancedANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTIDRAWELEMENTSANGLECONTEXTANGLEPROC glMultiDrawElementsANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMULTIDRAWELEMENTSINSTANCEDANGLECONTEXTANGLEPROC
-    glMultiDrawElementsInstancedANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTUREMULTIVIEWLAYEREDANGLECONTEXTANGLEPROC
-    glFramebufferTextureMultiviewLayeredANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTUREMULTIVIEWSIDEBYSIDEANGLECONTEXTANGLEPROC
-    glFramebufferTextureMultiviewSideBySideANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLREQUESTEXTENSIONANGLECONTEXTANGLEPROC glRequestExtensionANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLECONTEXTANGLEPROC
-    glCompressedTexImage2DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLECONTEXTANGLEPROC
-    glCompressedTexImage3DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLECONTEXTANGLEPROC
-    glCompressedTexSubImage2DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLECONTEXTANGLEPROC
-    glCompressedTexSubImage3DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLECONTEXTANGLEPROC
-    glGetActiveUniformBlockivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBOOLEANI_VROBUSTANGLECONTEXTANGLEPROC
-    glGetBooleani_vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBOOLEANVROBUSTANGLECONTEXTANGLEPROC glGetBooleanvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPARAMETERI64VROBUSTANGLECONTEXTANGLEPROC
-    glGetBufferParameteri64vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetBufferParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPOINTERVROBUSTANGLECONTEXTANGLEPROC
-    glGetBufferPointervRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFLOATVROBUSTANGLECONTEXTANGLEPROC glGetFloatvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetFramebufferAttachmentParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetFramebufferParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGER64I_VROBUSTANGLECONTEXTANGLEPROC
-    glGetInteger64i_vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGER64VROBUSTANGLECONTEXTANGLEPROC
-    glGetInteger64vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGERI_VROBUSTANGLECONTEXTANGLEPROC
-    glGetIntegeri_vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTEGERVROBUSTANGLECONTEXTANGLEPROC glGetIntegervRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETINTERNALFORMATIVROBUSTANGLECONTEXTANGLEPROC
-    glGetInternalformativRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETMULTISAMPLEFVROBUSTANGLECONTEXTANGLEPROC
-    glGetMultisamplefvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLECONTEXTANGLEPROC
-    glGetPointervRobustANGLERobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMINTERFACEIVROBUSTANGLECONTEXTANGLEPROC
-    glGetProgramInterfaceivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMIVROBUSTANGLECONTEXTANGLEPROC
-    glGetProgramivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTI64VROBUSTANGLECONTEXTANGLEPROC
-    glGetQueryObjecti64vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTIVROBUSTANGLECONTEXTANGLEPROC
-    glGetQueryObjectivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTUI64VROBUSTANGLECONTEXTANGLEPROC
-    glGetQueryObjectui64vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetQueryObjectuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYIVROBUSTANGLECONTEXTANGLEPROC glGetQueryivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetRenderbufferParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC
-    glGetSamplerParameterIivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetSamplerParameterIuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERFVROBUSTANGLECONTEXTANGLEPROC
-    glGetSamplerParameterfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetSamplerParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSHADERIVROBUSTANGLECONTEXTANGLEPROC glGetShaderivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexLevelParameterfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexLevelParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexParameterIivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexParameterIuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERFVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexParameterfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMFVROBUSTANGLECONTEXTANGLEPROC
-    glGetUniformfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMIVROBUSTANGLECONTEXTANGLEPROC
-    glGetUniformivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETUNIFORMUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetUniformuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIIVROBUSTANGLECONTEXTANGLEPROC
-    glGetVertexAttribIivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetVertexAttribIuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLECONTEXTANGLEPROC
-    glGetVertexAttribPointervRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBFVROBUSTANGLECONTEXTANGLEPROC
-    glGetVertexAttribfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETVERTEXATTRIBIVROBUSTANGLECONTEXTANGLEPROC
-    glGetVertexAttribivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETNUNIFORMFVROBUSTANGLECONTEXTANGLEPROC
-    glGetnUniformfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETNUNIFORMIVROBUSTANGLECONTEXTANGLEPROC
-    glGetnUniformivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETNUNIFORMUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetnUniformuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLREADPIXELSROBUSTANGLECONTEXTANGLEPROC glReadPixelsRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLREADNPIXELSROBUSTANGLECONTEXTANGLEPROC glReadnPixelsRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC
-    glSamplerParameterIivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC
-    glSamplerParameterIuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERFVROBUSTANGLECONTEXTANGLEPROC
-    glSamplerParameterfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glSamplerParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXIMAGE2DROBUSTANGLECONTEXTANGLEPROC glTexImage2DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXIMAGE3DROBUSTANGLECONTEXTANGLEPROC glTexImage3DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC
-    glTexParameterIivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC
-    glTexParameterIuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERFVROBUSTANGLECONTEXTANGLEPROC
-    glTexParameterfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glTexParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSUBIMAGE2DROBUSTANGLECONTEXTANGLEPROC
-    glTexSubImage2DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSUBIMAGE3DROBUSTANGLECONTEXTANGLEPROC
-    glTexSubImage3DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETMULTISAMPLEFVANGLECONTEXTANGLEPROC glGetMultisamplefvANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERFVANGLECONTEXTANGLEPROC
-    glGetTexLevelParameterfvANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXLEVELPARAMETERIVANGLECONTEXTANGLEPROC
-    glGetTexLevelParameterivANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLEMASKIANGLECONTEXTANGLEPROC glSampleMaskiANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE2DMULTISAMPLEANGLECONTEXTANGLEPROC
-    glTexStorage2DMultisampleANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTRANSLATEDSHADERSOURCEANGLECONTEXTANGLEPROC
-    glGetTranslatedShaderSourceANGLEContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDUNIFORMLOCATIONCHROMIUMCONTEXTANGLEPROC
-    glBindUniformLocationCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMCONTEXTANGLEPROC
-    glCompressedCopyTextureCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOPYSUBTEXTURECHROMIUMCONTEXTANGLEPROC glCopySubTextureCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOPYTEXTURECHROMIUMCONTEXTANGLEPROC glCopyTextureCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOVERAGEMODULATIONCHROMIUMCONTEXTANGLEPROC
-    glCoverageModulationCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMATRIXLOADIDENTITYCHROMIUMCONTEXTANGLEPROC
-    glMatrixLoadIdentityCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMATRIXLOADFCHROMIUMCONTEXTANGLEPROC glMatrixLoadfCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDFRAGMENTINPUTLOCATIONCHROMIUMCONTEXTANGLEPROC
-    glBindFragmentInputLocationCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOVERFILLPATHCHROMIUMCONTEXTANGLEPROC glCoverFillPathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOVERFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glCoverFillPathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOVERSTROKEPATHCHROMIUMCONTEXTANGLEPROC
-    glCoverStrokePathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCOVERSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glCoverStrokePathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETEPATHSCHROMIUMCONTEXTANGLEPROC glDeletePathsCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENPATHSCHROMIUMCONTEXTANGLEPROC glGenPathsCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPATHPARAMETERFVCHROMIUMCONTEXTANGLEPROC
-    glGetPathParameterfvCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPATHPARAMETERIVCHROMIUMCONTEXTANGLEPROC
-    glGetPathParameterivCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISPATHCHROMIUMCONTEXTANGLEPROC glIsPathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPATHCOMMANDSCHROMIUMCONTEXTANGLEPROC glPathCommandsCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPATHPARAMETERFCHROMIUMCONTEXTANGLEPROC glPathParameterfCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPATHPARAMETERICHROMIUMCONTEXTANGLEPROC glPathParameteriCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPATHSTENCILFUNCCHROMIUMCONTEXTANGLEPROC
-    glPathStencilFuncCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMPATHFRAGMENTINPUTGENCHROMIUMCONTEXTANGLEPROC
-    glProgramPathFragmentInputGenCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILFILLPATHCHROMIUMCONTEXTANGLEPROC
-    glStencilFillPathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glStencilFillPathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILSTROKEPATHCHROMIUMCONTEXTANGLEPROC
-    glStencilStrokePathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glStencilStrokePathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILTHENCOVERFILLPATHCHROMIUMCONTEXTANGLEPROC
-    glStencilThenCoverFillPathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glStencilThenCoverFillPathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILTHENCOVERSTROKEPATHCHROMIUMCONTEXTANGLEPROC
-    glStencilThenCoverStrokePathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glStencilThenCoverStrokePathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDFRAGDATALOCATIONEXTCONTEXTANGLEPROC
-    glBindFragDataLocationEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDFRAGDATALOCATIONINDEXEDEXTCONTEXTANGLEPROC
-    glBindFragDataLocationIndexedEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFRAGDATAINDEXEXTCONTEXTANGLEPROC glGetFragDataIndexEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTCONTEXTANGLEPROC
-    glGetProgramResourceLocationIndexEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLINSERTEVENTMARKEREXTCONTEXTANGLEPROC glInsertEventMarkerEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOPGROUPMARKEREXTCONTEXTANGLEPROC glPopGroupMarkerEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPUSHGROUPMARKEREXTCONTEXTANGLEPROC glPushGroupMarkerEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDISCARDFRAMEBUFFEREXTCONTEXTANGLEPROC glDiscardFramebufferEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBEGINQUERYEXTCONTEXTANGLEPROC glBeginQueryEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETEQUERIESEXTCONTEXTANGLEPROC glDeleteQueriesEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLENDQUERYEXTCONTEXTANGLEPROC glEndQueryEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENQUERIESEXTCONTEXTANGLEPROC glGenQueriesEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTI64VEXTCONTEXTANGLEPROC glGetQueryObjecti64vEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTIVEXTCONTEXTANGLEPROC glGetQueryObjectivEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTUI64VEXTCONTEXTANGLEPROC glGetQueryObjectui64vEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYOBJECTUIVEXTCONTEXTANGLEPROC glGetQueryObjectuivEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETQUERYIVEXTCONTEXTANGLEPROC glGetQueryivEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISQUERYEXTCONTEXTANGLEPROC glIsQueryEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLQUERYCOUNTEREXTCONTEXTANGLEPROC glQueryCounterEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWBUFFERSEXTCONTEXTANGLEPROC glDrawBuffersEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTCONTEXTANGLEPROC glFramebufferTextureEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEEXTCONTEXTANGLEPROC
-    glFlushMappedBufferRangeEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMAPBUFFERRANGEEXTCONTEXTANGLEPROC glMapBufferRangeEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETGRAPHICSRESETSTATUSEXTCONTEXTANGLEPROC
-    glGetGraphicsResetStatusEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETNUNIFORMFVEXTCONTEXTANGLEPROC glGetnUniformfvEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETNUNIFORMIVEXTCONTEXTANGLEPROC glGetnUniformivEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLREADNPIXELSEXTCONTEXTANGLEPROC glReadnPixelsEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE1DEXTCONTEXTANGLEPROC glTexStorage1DEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE2DEXTCONTEXTANGLEPROC glTexStorage2DEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE3DEXTCONTEXTANGLEPROC glTexStorage3DEXTContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDEBUGMESSAGECALLBACKKHRCONTEXTANGLEPROC
-    glDebugMessageCallbackKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDEBUGMESSAGECONTROLKHRCONTEXTANGLEPROC glDebugMessageControlKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDEBUGMESSAGEINSERTKHRCONTEXTANGLEPROC glDebugMessageInsertKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETDEBUGMESSAGELOGKHRCONTEXTANGLEPROC glGetDebugMessageLogKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETOBJECTLABELKHRCONTEXTANGLEPROC glGetObjectLabelKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETOBJECTPTRLABELKHRCONTEXTANGLEPROC glGetObjectPtrLabelKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPOINTERVKHRCONTEXTANGLEPROC glGetPointervKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLOBJECTLABELKHRCONTEXTANGLEPROC glObjectLabelKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLOBJECTPTRLABELKHRCONTEXTANGLEPROC glObjectPtrLabelKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOPDEBUGGROUPKHRCONTEXTANGLEPROC glPopDebugGroupKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPUSHDEBUGGROUPKHRCONTEXTANGLEPROC glPushDebugGroupKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMAXSHADERCOMPILERTHREADSKHRCONTEXTANGLEPROC
-    glMaxShaderCompilerThreadsKHRContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETEFENCESNVCONTEXTANGLEPROC glDeleteFencesNVContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFINISHFENCENVCONTEXTANGLEPROC glFinishFenceNVContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENFENCESNVCONTEXTANGLEPROC glGenFencesNVContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFENCEIVNVCONTEXTANGLEPROC glGetFenceivNVContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISFENCENVCONTEXTANGLEPROC glIsFenceNVContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSETFENCENVCONTEXTANGLEPROC glSetFenceNVContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTESTFENCENVCONTEXTANGLEPROC glTestFenceNVContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESCONTEXTANGLEPROC
-    glEGLImageTargetRenderbufferStorageOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLEGLIMAGETARGETTEXTURE2DOESCONTEXTANGLEPROC
-    glEGLImageTargetTexture2DOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETPROGRAMBINARYOESCONTEXTANGLEPROC glGetProgramBinaryOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPROGRAMBINARYOESCONTEXTANGLEPROC glProgramBinaryOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETBUFFERPOINTERVOESCONTEXTANGLEPROC glGetBufferPointervOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMAPBUFFEROESCONTEXTANGLEPROC glMapBufferOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLUNMAPBUFFEROESCONTEXTANGLEPROC glUnmapBufferOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIIVOESCONTEXTANGLEPROC
-    glGetSamplerParameterIivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETSAMPLERPARAMETERIUIVOESCONTEXTANGLEPROC
-    glGetSamplerParameterIuivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIIVOESCONTEXTANGLEPROC glGetTexParameterIivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXPARAMETERIUIVOESCONTEXTANGLEPROC glGetTexParameterIuivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIIVOESCONTEXTANGLEPROC glSamplerParameterIivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLSAMPLERPARAMETERIUIVOESCONTEXTANGLEPROC
-    glSamplerParameterIuivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIIVOESCONTEXTANGLEPROC glTexParameterIivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXPARAMETERIUIVOESCONTEXTANGLEPROC glTexParameterIuivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXSTORAGE3DMULTISAMPLEOESCONTEXTANGLEPROC
-    glTexStorage3DMultisampleOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDVERTEXARRAYOESCONTEXTANGLEPROC glBindVertexArrayOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETEVERTEXARRAYSOESCONTEXTANGLEPROC glDeleteVertexArraysOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENVERTEXARRAYSOESCONTEXTANGLEPROC glGenVertexArraysOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISVERTEXARRAYOESCONTEXTANGLEPROC glIsVertexArrayOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXFOESCONTEXTANGLEPROC glDrawTexfOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXFVOESCONTEXTANGLEPROC glDrawTexfvOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXIOESCONTEXTANGLEPROC glDrawTexiOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXIVOESCONTEXTANGLEPROC glDrawTexivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXSOESCONTEXTANGLEPROC glDrawTexsOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXSVOESCONTEXTANGLEPROC glDrawTexsvOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXXOESCONTEXTANGLEPROC glDrawTexxOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDRAWTEXXVOESCONTEXTANGLEPROC glDrawTexxvOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDFRAMEBUFFEROESCONTEXTANGLEPROC glBindFramebufferOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLBINDRENDERBUFFEROESCONTEXTANGLEPROC glBindRenderbufferOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSOESCONTEXTANGLEPROC
-    glCheckFramebufferStatusOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETEFRAMEBUFFERSOESCONTEXTANGLEPROC glDeleteFramebuffersOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLDELETERENDERBUFFERSOESCONTEXTANGLEPROC glDeleteRenderbuffersOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERRENDERBUFFEROESCONTEXTANGLEPROC
-    glFramebufferRenderbufferOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLFRAMEBUFFERTEXTURE2DOESCONTEXTANGLEPROC
-    glFramebufferTexture2DOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENFRAMEBUFFERSOESCONTEXTANGLEPROC glGenFramebuffersOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENRENDERBUFFERSOESCONTEXTANGLEPROC glGenRenderbuffersOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGENERATEMIPMAPOESCONTEXTANGLEPROC glGenerateMipmapOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESCONTEXTANGLEPROC
-    glGetFramebufferAttachmentParameterivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVOESCONTEXTANGLEPROC
-    glGetRenderbufferParameterivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISFRAMEBUFFEROESCONTEXTANGLEPROC glIsFramebufferOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLISRENDERBUFFEROESCONTEXTANGLEPROC glIsRenderbufferOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLRENDERBUFFERSTORAGEOESCONTEXTANGLEPROC glRenderbufferStorageOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLCURRENTPALETTEMATRIXOESCONTEXTANGLEPROC
-    glCurrentPaletteMatrixOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESCONTEXTANGLEPROC
-    glLoadPaletteFromModelViewMatrixOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLMATRIXINDEXPOINTEROESCONTEXTANGLEPROC glMatrixIndexPointerOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLWEIGHTPOINTEROESCONTEXTANGLEPROC glWeightPointerOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLPOINTSIZEPOINTEROESCONTEXTANGLEPROC glPointSizePointerOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLQUERYMATRIXXOESCONTEXTANGLEPROC glQueryMatrixxOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXGENFVOESCONTEXTANGLEPROC glGetTexGenfvOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXGENIVOESCONTEXTANGLEPROC glGetTexGenivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLGETTEXGENXVOESCONTEXTANGLEPROC glGetTexGenxvOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXGENFOESCONTEXTANGLEPROC glTexGenfOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXGENFVOESCONTEXTANGLEPROC glTexGenfvOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXGENIOESCONTEXTANGLEPROC glTexGeniOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXGENIVOESCONTEXTANGLEPROC glTexGenivOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXGENXOESCONTEXTANGLEPROC glTexGenxOESContextANGLE;
-ANGLE_UTIL_EXPORT PFNGLTEXGENXVOESCONTEXTANGLEPROC glTexGenxvOESContextANGLE;
-
-namespace angle
-{
-void LoadGLES(LoadProc loadProc)
-{
-    glAlphaFunc       = reinterpret_cast<PFNGLALPHAFUNCPROC>(loadProc("glAlphaFunc"));
-    glClipPlanef      = reinterpret_cast<PFNGLCLIPPLANEFPROC>(loadProc("glClipPlanef"));
-    glColor4f         = reinterpret_cast<PFNGLCOLOR4FPROC>(loadProc("glColor4f"));
-    glFogf            = reinterpret_cast<PFNGLFOGFPROC>(loadProc("glFogf"));
-    glFogfv           = reinterpret_cast<PFNGLFOGFVPROC>(loadProc("glFogfv"));
-    glFrustumf        = reinterpret_cast<PFNGLFRUSTUMFPROC>(loadProc("glFrustumf"));
-    glGetClipPlanef   = reinterpret_cast<PFNGLGETCLIPPLANEFPROC>(loadProc("glGetClipPlanef"));
-    glGetLightfv      = reinterpret_cast<PFNGLGETLIGHTFVPROC>(loadProc("glGetLightfv"));
-    glGetMaterialfv   = reinterpret_cast<PFNGLGETMATERIALFVPROC>(loadProc("glGetMaterialfv"));
-    glGetTexEnvfv     = reinterpret_cast<PFNGLGETTEXENVFVPROC>(loadProc("glGetTexEnvfv"));
-    glLightModelf     = reinterpret_cast<PFNGLLIGHTMODELFPROC>(loadProc("glLightModelf"));
-    glLightModelfv    = reinterpret_cast<PFNGLLIGHTMODELFVPROC>(loadProc("glLightModelfv"));
-    glLightf          = reinterpret_cast<PFNGLLIGHTFPROC>(loadProc("glLightf"));
-    glLightfv         = reinterpret_cast<PFNGLLIGHTFVPROC>(loadProc("glLightfv"));
-    glLoadMatrixf     = reinterpret_cast<PFNGLLOADMATRIXFPROC>(loadProc("glLoadMatrixf"));
-    glMaterialf       = reinterpret_cast<PFNGLMATERIALFPROC>(loadProc("glMaterialf"));
-    glMaterialfv      = reinterpret_cast<PFNGLMATERIALFVPROC>(loadProc("glMaterialfv"));
-    glMultMatrixf     = reinterpret_cast<PFNGLMULTMATRIXFPROC>(loadProc("glMultMatrixf"));
-    glMultiTexCoord4f = reinterpret_cast<PFNGLMULTITEXCOORD4FPROC>(loadProc("glMultiTexCoord4f"));
-    glNormal3f        = reinterpret_cast<PFNGLNORMAL3FPROC>(loadProc("glNormal3f"));
-    glOrthof          = reinterpret_cast<PFNGLORTHOFPROC>(loadProc("glOrthof"));
-    glPointParameterf = reinterpret_cast<PFNGLPOINTPARAMETERFPROC>(loadProc("glPointParameterf"));
-    glPointParameterfv =
-        reinterpret_cast<PFNGLPOINTPARAMETERFVPROC>(loadProc("glPointParameterfv"));
-    glPointSize   = reinterpret_cast<PFNGLPOINTSIZEPROC>(loadProc("glPointSize"));
-    glRotatef     = reinterpret_cast<PFNGLROTATEFPROC>(loadProc("glRotatef"));
-    glScalef      = reinterpret_cast<PFNGLSCALEFPROC>(loadProc("glScalef"));
-    glTexEnvf     = reinterpret_cast<PFNGLTEXENVFPROC>(loadProc("glTexEnvf"));
-    glTexEnvfv    = reinterpret_cast<PFNGLTEXENVFVPROC>(loadProc("glTexEnvfv"));
-    glTranslatef  = reinterpret_cast<PFNGLTRANSLATEFPROC>(loadProc("glTranslatef"));
-    glAlphaFuncx  = reinterpret_cast<PFNGLALPHAFUNCXPROC>(loadProc("glAlphaFuncx"));
-    glClearColorx = reinterpret_cast<PFNGLCLEARCOLORXPROC>(loadProc("glClearColorx"));
-    glClearDepthx = reinterpret_cast<PFNGLCLEARDEPTHXPROC>(loadProc("glClearDepthx"));
-    glClientActiveTexture =
-        reinterpret_cast<PFNGLCLIENTACTIVETEXTUREPROC>(loadProc("glClientActiveTexture"));
-    glClipPlanex   = reinterpret_cast<PFNGLCLIPPLANEXPROC>(loadProc("glClipPlanex"));
-    glColor4ub     = reinterpret_cast<PFNGLCOLOR4UBPROC>(loadProc("glColor4ub"));
-    glColor4x      = reinterpret_cast<PFNGLCOLOR4XPROC>(loadProc("glColor4x"));
-    glColorPointer = reinterpret_cast<PFNGLCOLORPOINTERPROC>(loadProc("glColorPointer"));
-    glDepthRangex  = reinterpret_cast<PFNGLDEPTHRANGEXPROC>(loadProc("glDepthRangex"));
-    glDisableClientState =
-        reinterpret_cast<PFNGLDISABLECLIENTSTATEPROC>(loadProc("glDisableClientState"));
-    glEnableClientState =
-        reinterpret_cast<PFNGLENABLECLIENTSTATEPROC>(loadProc("glEnableClientState"));
-    glFogx          = reinterpret_cast<PFNGLFOGXPROC>(loadProc("glFogx"));
-    glFogxv         = reinterpret_cast<PFNGLFOGXVPROC>(loadProc("glFogxv"));
-    glFrustumx      = reinterpret_cast<PFNGLFRUSTUMXPROC>(loadProc("glFrustumx"));
-    glGetClipPlanex = reinterpret_cast<PFNGLGETCLIPPLANEXPROC>(loadProc("glGetClipPlanex"));
-    glGetFixedv     = reinterpret_cast<PFNGLGETFIXEDVPROC>(loadProc("glGetFixedv"));
-    glGetLightxv    = reinterpret_cast<PFNGLGETLIGHTXVPROC>(loadProc("glGetLightxv"));
-    glGetMaterialxv = reinterpret_cast<PFNGLGETMATERIALXVPROC>(loadProc("glGetMaterialxv"));
-    glGetPointerv   = reinterpret_cast<PFNGLGETPOINTERVPROC>(loadProc("glGetPointerv"));
-    glGetTexEnviv   = reinterpret_cast<PFNGLGETTEXENVIVPROC>(loadProc("glGetTexEnviv"));
-    glGetTexEnvxv   = reinterpret_cast<PFNGLGETTEXENVXVPROC>(loadProc("glGetTexEnvxv"));
-    glGetTexParameterxv =
-        reinterpret_cast<PFNGLGETTEXPARAMETERXVPROC>(loadProc("glGetTexParameterxv"));
-    glLightModelx     = reinterpret_cast<PFNGLLIGHTMODELXPROC>(loadProc("glLightModelx"));
-    glLightModelxv    = reinterpret_cast<PFNGLLIGHTMODELXVPROC>(loadProc("glLightModelxv"));
-    glLightx          = reinterpret_cast<PFNGLLIGHTXPROC>(loadProc("glLightx"));
-    glLightxv         = reinterpret_cast<PFNGLLIGHTXVPROC>(loadProc("glLightxv"));
-    glLineWidthx      = reinterpret_cast<PFNGLLINEWIDTHXPROC>(loadProc("glLineWidthx"));
-    glLoadIdentity    = reinterpret_cast<PFNGLLOADIDENTITYPROC>(loadProc("glLoadIdentity"));
-    glLoadMatrixx     = reinterpret_cast<PFNGLLOADMATRIXXPROC>(loadProc("glLoadMatrixx"));
-    glLogicOp         = reinterpret_cast<PFNGLLOGICOPPROC>(loadProc("glLogicOp"));
-    glMaterialx       = reinterpret_cast<PFNGLMATERIALXPROC>(loadProc("glMaterialx"));
-    glMaterialxv      = reinterpret_cast<PFNGLMATERIALXVPROC>(loadProc("glMaterialxv"));
-    glMatrixMode      = reinterpret_cast<PFNGLMATRIXMODEPROC>(loadProc("glMatrixMode"));
-    glMultMatrixx     = reinterpret_cast<PFNGLMULTMATRIXXPROC>(loadProc("glMultMatrixx"));
-    glMultiTexCoord4x = reinterpret_cast<PFNGLMULTITEXCOORD4XPROC>(loadProc("glMultiTexCoord4x"));
-    glNormal3x        = reinterpret_cast<PFNGLNORMAL3XPROC>(loadProc("glNormal3x"));
-    glNormalPointer   = reinterpret_cast<PFNGLNORMALPOINTERPROC>(loadProc("glNormalPointer"));
-    glOrthox          = reinterpret_cast<PFNGLORTHOXPROC>(loadProc("glOrthox"));
-    glPointParameterx = reinterpret_cast<PFNGLPOINTPARAMETERXPROC>(loadProc("glPointParameterx"));
-    glPointParameterxv =
-        reinterpret_cast<PFNGLPOINTPARAMETERXVPROC>(loadProc("glPointParameterxv"));
-    glPointSizex      = reinterpret_cast<PFNGLPOINTSIZEXPROC>(loadProc("glPointSizex"));
-    glPolygonOffsetx  = reinterpret_cast<PFNGLPOLYGONOFFSETXPROC>(loadProc("glPolygonOffsetx"));
-    glPopMatrix       = reinterpret_cast<PFNGLPOPMATRIXPROC>(loadProc("glPopMatrix"));
-    glPushMatrix      = reinterpret_cast<PFNGLPUSHMATRIXPROC>(loadProc("glPushMatrix"));
-    glRotatex         = reinterpret_cast<PFNGLROTATEXPROC>(loadProc("glRotatex"));
-    glSampleCoveragex = reinterpret_cast<PFNGLSAMPLECOVERAGEXPROC>(loadProc("glSampleCoveragex"));
-    glScalex          = reinterpret_cast<PFNGLSCALEXPROC>(loadProc("glScalex"));
-    glShadeModel      = reinterpret_cast<PFNGLSHADEMODELPROC>(loadProc("glShadeModel"));
-    glTexCoordPointer = reinterpret_cast<PFNGLTEXCOORDPOINTERPROC>(loadProc("glTexCoordPointer"));
-    glTexEnvi         = reinterpret_cast<PFNGLTEXENVIPROC>(loadProc("glTexEnvi"));
-    glTexEnvx         = reinterpret_cast<PFNGLTEXENVXPROC>(loadProc("glTexEnvx"));
-    glTexEnviv        = reinterpret_cast<PFNGLTEXENVIVPROC>(loadProc("glTexEnviv"));
-    glTexEnvxv        = reinterpret_cast<PFNGLTEXENVXVPROC>(loadProc("glTexEnvxv"));
-    glTexParameterx   = reinterpret_cast<PFNGLTEXPARAMETERXPROC>(loadProc("glTexParameterx"));
-    glTexParameterxv  = reinterpret_cast<PFNGLTEXPARAMETERXVPROC>(loadProc("glTexParameterxv"));
-    glTranslatex      = reinterpret_cast<PFNGLTRANSLATEXPROC>(loadProc("glTranslatex"));
-    glVertexPointer   = reinterpret_cast<PFNGLVERTEXPOINTERPROC>(loadProc("glVertexPointer"));
-    glActiveTexture   = reinterpret_cast<PFNGLACTIVETEXTUREPROC>(loadProc("glActiveTexture"));
-    glAttachShader    = reinterpret_cast<PFNGLATTACHSHADERPROC>(loadProc("glAttachShader"));
-    glBindAttribLocation =
-        reinterpret_cast<PFNGLBINDATTRIBLOCATIONPROC>(loadProc("glBindAttribLocation"));
-    glBindBuffer      = reinterpret_cast<PFNGLBINDBUFFERPROC>(loadProc("glBindBuffer"));
-    glBindFramebuffer = reinterpret_cast<PFNGLBINDFRAMEBUFFERPROC>(loadProc("glBindFramebuffer"));
-    glBindRenderbuffer =
-        reinterpret_cast<PFNGLBINDRENDERBUFFERPROC>(loadProc("glBindRenderbuffer"));
-    glBindTexture   = reinterpret_cast<PFNGLBINDTEXTUREPROC>(loadProc("glBindTexture"));
-    glBlendColor    = reinterpret_cast<PFNGLBLENDCOLORPROC>(loadProc("glBlendColor"));
-    glBlendEquation = reinterpret_cast<PFNGLBLENDEQUATIONPROC>(loadProc("glBlendEquation"));
-    glBlendEquationSeparate =
-        reinterpret_cast<PFNGLBLENDEQUATIONSEPARATEPROC>(loadProc("glBlendEquationSeparate"));
-    glBlendFunc = reinterpret_cast<PFNGLBLENDFUNCPROC>(loadProc("glBlendFunc"));
-    glBlendFuncSeparate =
-        reinterpret_cast<PFNGLBLENDFUNCSEPARATEPROC>(loadProc("glBlendFuncSeparate"));
-    glBufferData    = reinterpret_cast<PFNGLBUFFERDATAPROC>(loadProc("glBufferData"));
-    glBufferSubData = reinterpret_cast<PFNGLBUFFERSUBDATAPROC>(loadProc("glBufferSubData"));
-    glCheckFramebufferStatus =
-        reinterpret_cast<PFNGLCHECKFRAMEBUFFERSTATUSPROC>(loadProc("glCheckFramebufferStatus"));
-    glClear         = reinterpret_cast<PFNGLCLEARPROC>(loadProc("glClear"));
-    glClearColor    = reinterpret_cast<PFNGLCLEARCOLORPROC>(loadProc("glClearColor"));
-    glClearDepthf   = reinterpret_cast<PFNGLCLEARDEPTHFPROC>(loadProc("glClearDepthf"));
-    glClearStencil  = reinterpret_cast<PFNGLCLEARSTENCILPROC>(loadProc("glClearStencil"));
-    glColorMask     = reinterpret_cast<PFNGLCOLORMASKPROC>(loadProc("glColorMask"));
-    glCompileShader = reinterpret_cast<PFNGLCOMPILESHADERPROC>(loadProc("glCompileShader"));
-    glCompressedTexImage2D =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE2DPROC>(loadProc("glCompressedTexImage2D"));
-    glCompressedTexSubImage2D =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC>(loadProc("glCompressedTexSubImage2D"));
-    glCopyTexImage2D = reinterpret_cast<PFNGLCOPYTEXIMAGE2DPROC>(loadProc("glCopyTexImage2D"));
-    glCopyTexSubImage2D =
-        reinterpret_cast<PFNGLCOPYTEXSUBIMAGE2DPROC>(loadProc("glCopyTexSubImage2D"));
-    glCreateProgram = reinterpret_cast<PFNGLCREATEPROGRAMPROC>(loadProc("glCreateProgram"));
-    glCreateShader  = reinterpret_cast<PFNGLCREATESHADERPROC>(loadProc("glCreateShader"));
-    glCullFace      = reinterpret_cast<PFNGLCULLFACEPROC>(loadProc("glCullFace"));
-    glDeleteBuffers = reinterpret_cast<PFNGLDELETEBUFFERSPROC>(loadProc("glDeleteBuffers"));
-    glDeleteFramebuffers =
-        reinterpret_cast<PFNGLDELETEFRAMEBUFFERSPROC>(loadProc("glDeleteFramebuffers"));
-    glDeleteProgram = reinterpret_cast<PFNGLDELETEPROGRAMPROC>(loadProc("glDeleteProgram"));
-    glDeleteRenderbuffers =
-        reinterpret_cast<PFNGLDELETERENDERBUFFERSPROC>(loadProc("glDeleteRenderbuffers"));
-    glDeleteShader   = reinterpret_cast<PFNGLDELETESHADERPROC>(loadProc("glDeleteShader"));
-    glDeleteTextures = reinterpret_cast<PFNGLDELETETEXTURESPROC>(loadProc("glDeleteTextures"));
-    glDepthFunc      = reinterpret_cast<PFNGLDEPTHFUNCPROC>(loadProc("glDepthFunc"));
-    glDepthMask      = reinterpret_cast<PFNGLDEPTHMASKPROC>(loadProc("glDepthMask"));
-    glDepthRangef    = reinterpret_cast<PFNGLDEPTHRANGEFPROC>(loadProc("glDepthRangef"));
-    glDetachShader   = reinterpret_cast<PFNGLDETACHSHADERPROC>(loadProc("glDetachShader"));
-    glDisable        = reinterpret_cast<PFNGLDISABLEPROC>(loadProc("glDisable"));
-    glDisableVertexAttribArray =
-        reinterpret_cast<PFNGLDISABLEVERTEXATTRIBARRAYPROC>(loadProc("glDisableVertexAttribArray"));
-    glDrawArrays   = reinterpret_cast<PFNGLDRAWARRAYSPROC>(loadProc("glDrawArrays"));
-    glDrawElements = reinterpret_cast<PFNGLDRAWELEMENTSPROC>(loadProc("glDrawElements"));
-    glEnable       = reinterpret_cast<PFNGLENABLEPROC>(loadProc("glEnable"));
-    glEnableVertexAttribArray =
-        reinterpret_cast<PFNGLENABLEVERTEXATTRIBARRAYPROC>(loadProc("glEnableVertexAttribArray"));
-    glFinish = reinterpret_cast<PFNGLFINISHPROC>(loadProc("glFinish"));
-    glFlush  = reinterpret_cast<PFNGLFLUSHPROC>(loadProc("glFlush"));
-    glFramebufferRenderbuffer =
-        reinterpret_cast<PFNGLFRAMEBUFFERRENDERBUFFERPROC>(loadProc("glFramebufferRenderbuffer"));
-    glFramebufferTexture2D =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTURE2DPROC>(loadProc("glFramebufferTexture2D"));
-    glFrontFace       = reinterpret_cast<PFNGLFRONTFACEPROC>(loadProc("glFrontFace"));
-    glGenBuffers      = reinterpret_cast<PFNGLGENBUFFERSPROC>(loadProc("glGenBuffers"));
-    glGenerateMipmap  = reinterpret_cast<PFNGLGENERATEMIPMAPPROC>(loadProc("glGenerateMipmap"));
-    glGenFramebuffers = reinterpret_cast<PFNGLGENFRAMEBUFFERSPROC>(loadProc("glGenFramebuffers"));
-    glGenRenderbuffers =
-        reinterpret_cast<PFNGLGENRENDERBUFFERSPROC>(loadProc("glGenRenderbuffers"));
-    glGenTextures     = reinterpret_cast<PFNGLGENTEXTURESPROC>(loadProc("glGenTextures"));
-    glGetActiveAttrib = reinterpret_cast<PFNGLGETACTIVEATTRIBPROC>(loadProc("glGetActiveAttrib"));
-    glGetActiveUniform =
-        reinterpret_cast<PFNGLGETACTIVEUNIFORMPROC>(loadProc("glGetActiveUniform"));
-    glGetAttachedShaders =
-        reinterpret_cast<PFNGLGETATTACHEDSHADERSPROC>(loadProc("glGetAttachedShaders"));
-    glGetAttribLocation =
-        reinterpret_cast<PFNGLGETATTRIBLOCATIONPROC>(loadProc("glGetAttribLocation"));
-    glGetBooleanv = reinterpret_cast<PFNGLGETBOOLEANVPROC>(loadProc("glGetBooleanv"));
-    glGetBufferParameteriv =
-        reinterpret_cast<PFNGLGETBUFFERPARAMETERIVPROC>(loadProc("glGetBufferParameteriv"));
-    glGetError  = reinterpret_cast<PFNGLGETERRORPROC>(loadProc("glGetError"));
-    glGetFloatv = reinterpret_cast<PFNGLGETFLOATVPROC>(loadProc("glGetFloatv"));
-    glGetFramebufferAttachmentParameteriv =
-        reinterpret_cast<PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC>(
-            loadProc("glGetFramebufferAttachmentParameteriv"));
-    glGetIntegerv  = reinterpret_cast<PFNGLGETINTEGERVPROC>(loadProc("glGetIntegerv"));
-    glGetProgramiv = reinterpret_cast<PFNGLGETPROGRAMIVPROC>(loadProc("glGetProgramiv"));
-    glGetProgramInfoLog =
-        reinterpret_cast<PFNGLGETPROGRAMINFOLOGPROC>(loadProc("glGetProgramInfoLog"));
-    glGetRenderbufferParameteriv = reinterpret_cast<PFNGLGETRENDERBUFFERPARAMETERIVPROC>(
-        loadProc("glGetRenderbufferParameteriv"));
-    glGetShaderiv = reinterpret_cast<PFNGLGETSHADERIVPROC>(loadProc("glGetShaderiv"));
-    glGetShaderInfoLog =
-        reinterpret_cast<PFNGLGETSHADERINFOLOGPROC>(loadProc("glGetShaderInfoLog"));
-    glGetShaderPrecisionFormat =
-        reinterpret_cast<PFNGLGETSHADERPRECISIONFORMATPROC>(loadProc("glGetShaderPrecisionFormat"));
-    glGetShaderSource = reinterpret_cast<PFNGLGETSHADERSOURCEPROC>(loadProc("glGetShaderSource"));
-    glGetString       = reinterpret_cast<PFNGLGETSTRINGPROC>(loadProc("glGetString"));
-    glGetTexParameterfv =
-        reinterpret_cast<PFNGLGETTEXPARAMETERFVPROC>(loadProc("glGetTexParameterfv"));
-    glGetTexParameteriv =
-        reinterpret_cast<PFNGLGETTEXPARAMETERIVPROC>(loadProc("glGetTexParameteriv"));
-    glGetUniformfv = reinterpret_cast<PFNGLGETUNIFORMFVPROC>(loadProc("glGetUniformfv"));
-    glGetUniformiv = reinterpret_cast<PFNGLGETUNIFORMIVPROC>(loadProc("glGetUniformiv"));
-    glGetUniformLocation =
-        reinterpret_cast<PFNGLGETUNIFORMLOCATIONPROC>(loadProc("glGetUniformLocation"));
-    glGetVertexAttribfv =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBFVPROC>(loadProc("glGetVertexAttribfv"));
-    glGetVertexAttribiv =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBIVPROC>(loadProc("glGetVertexAttribiv"));
-    glGetVertexAttribPointerv =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBPOINTERVPROC>(loadProc("glGetVertexAttribPointerv"));
-    glHint           = reinterpret_cast<PFNGLHINTPROC>(loadProc("glHint"));
-    glIsBuffer       = reinterpret_cast<PFNGLISBUFFERPROC>(loadProc("glIsBuffer"));
-    glIsEnabled      = reinterpret_cast<PFNGLISENABLEDPROC>(loadProc("glIsEnabled"));
-    glIsFramebuffer  = reinterpret_cast<PFNGLISFRAMEBUFFERPROC>(loadProc("glIsFramebuffer"));
-    glIsProgram      = reinterpret_cast<PFNGLISPROGRAMPROC>(loadProc("glIsProgram"));
-    glIsRenderbuffer = reinterpret_cast<PFNGLISRENDERBUFFERPROC>(loadProc("glIsRenderbuffer"));
-    glIsShader       = reinterpret_cast<PFNGLISSHADERPROC>(loadProc("glIsShader"));
-    glIsTexture      = reinterpret_cast<PFNGLISTEXTUREPROC>(loadProc("glIsTexture"));
-    glLineWidth      = reinterpret_cast<PFNGLLINEWIDTHPROC>(loadProc("glLineWidth"));
-    glLinkProgram    = reinterpret_cast<PFNGLLINKPROGRAMPROC>(loadProc("glLinkProgram"));
-    glPixelStorei    = reinterpret_cast<PFNGLPIXELSTOREIPROC>(loadProc("glPixelStorei"));
-    glPolygonOffset  = reinterpret_cast<PFNGLPOLYGONOFFSETPROC>(loadProc("glPolygonOffset"));
-    glReadPixels     = reinterpret_cast<PFNGLREADPIXELSPROC>(loadProc("glReadPixels"));
-    glReleaseShaderCompiler =
-        reinterpret_cast<PFNGLRELEASESHADERCOMPILERPROC>(loadProc("glReleaseShaderCompiler"));
-    glRenderbufferStorage =
-        reinterpret_cast<PFNGLRENDERBUFFERSTORAGEPROC>(loadProc("glRenderbufferStorage"));
-    glSampleCoverage = reinterpret_cast<PFNGLSAMPLECOVERAGEPROC>(loadProc("glSampleCoverage"));
-    glScissor        = reinterpret_cast<PFNGLSCISSORPROC>(loadProc("glScissor"));
-    glShaderBinary   = reinterpret_cast<PFNGLSHADERBINARYPROC>(loadProc("glShaderBinary"));
-    glShaderSource   = reinterpret_cast<PFNGLSHADERSOURCEPROC>(loadProc("glShaderSource"));
-    glStencilFunc    = reinterpret_cast<PFNGLSTENCILFUNCPROC>(loadProc("glStencilFunc"));
-    glStencilFuncSeparate =
-        reinterpret_cast<PFNGLSTENCILFUNCSEPARATEPROC>(loadProc("glStencilFuncSeparate"));
-    glStencilMask = reinterpret_cast<PFNGLSTENCILMASKPROC>(loadProc("glStencilMask"));
-    glStencilMaskSeparate =
-        reinterpret_cast<PFNGLSTENCILMASKSEPARATEPROC>(loadProc("glStencilMaskSeparate"));
-    glStencilOp = reinterpret_cast<PFNGLSTENCILOPPROC>(loadProc("glStencilOp"));
-    glStencilOpSeparate =
-        reinterpret_cast<PFNGLSTENCILOPSEPARATEPROC>(loadProc("glStencilOpSeparate"));
-    glTexImage2D     = reinterpret_cast<PFNGLTEXIMAGE2DPROC>(loadProc("glTexImage2D"));
-    glTexParameterf  = reinterpret_cast<PFNGLTEXPARAMETERFPROC>(loadProc("glTexParameterf"));
-    glTexParameterfv = reinterpret_cast<PFNGLTEXPARAMETERFVPROC>(loadProc("glTexParameterfv"));
-    glTexParameteri  = reinterpret_cast<PFNGLTEXPARAMETERIPROC>(loadProc("glTexParameteri"));
-    glTexParameteriv = reinterpret_cast<PFNGLTEXPARAMETERIVPROC>(loadProc("glTexParameteriv"));
-    glTexSubImage2D  = reinterpret_cast<PFNGLTEXSUBIMAGE2DPROC>(loadProc("glTexSubImage2D"));
-    glUniform1f      = reinterpret_cast<PFNGLUNIFORM1FPROC>(loadProc("glUniform1f"));
-    glUniform1fv     = reinterpret_cast<PFNGLUNIFORM1FVPROC>(loadProc("glUniform1fv"));
-    glUniform1i      = reinterpret_cast<PFNGLUNIFORM1IPROC>(loadProc("glUniform1i"));
-    glUniform1iv     = reinterpret_cast<PFNGLUNIFORM1IVPROC>(loadProc("glUniform1iv"));
-    glUniform2f      = reinterpret_cast<PFNGLUNIFORM2FPROC>(loadProc("glUniform2f"));
-    glUniform2fv     = reinterpret_cast<PFNGLUNIFORM2FVPROC>(loadProc("glUniform2fv"));
-    glUniform2i      = reinterpret_cast<PFNGLUNIFORM2IPROC>(loadProc("glUniform2i"));
-    glUniform2iv     = reinterpret_cast<PFNGLUNIFORM2IVPROC>(loadProc("glUniform2iv"));
-    glUniform3f      = reinterpret_cast<PFNGLUNIFORM3FPROC>(loadProc("glUniform3f"));
-    glUniform3fv     = reinterpret_cast<PFNGLUNIFORM3FVPROC>(loadProc("glUniform3fv"));
-    glUniform3i      = reinterpret_cast<PFNGLUNIFORM3IPROC>(loadProc("glUniform3i"));
-    glUniform3iv     = reinterpret_cast<PFNGLUNIFORM3IVPROC>(loadProc("glUniform3iv"));
-    glUniform4f      = reinterpret_cast<PFNGLUNIFORM4FPROC>(loadProc("glUniform4f"));
-    glUniform4fv     = reinterpret_cast<PFNGLUNIFORM4FVPROC>(loadProc("glUniform4fv"));
-    glUniform4i      = reinterpret_cast<PFNGLUNIFORM4IPROC>(loadProc("glUniform4i"));
-    glUniform4iv     = reinterpret_cast<PFNGLUNIFORM4IVPROC>(loadProc("glUniform4iv"));
-    glUniformMatrix2fv =
-        reinterpret_cast<PFNGLUNIFORMMATRIX2FVPROC>(loadProc("glUniformMatrix2fv"));
-    glUniformMatrix3fv =
-        reinterpret_cast<PFNGLUNIFORMMATRIX3FVPROC>(loadProc("glUniformMatrix3fv"));
-    glUniformMatrix4fv =
-        reinterpret_cast<PFNGLUNIFORMMATRIX4FVPROC>(loadProc("glUniformMatrix4fv"));
-    glUseProgram      = reinterpret_cast<PFNGLUSEPROGRAMPROC>(loadProc("glUseProgram"));
-    glValidateProgram = reinterpret_cast<PFNGLVALIDATEPROGRAMPROC>(loadProc("glValidateProgram"));
-    glVertexAttrib1f  = reinterpret_cast<PFNGLVERTEXATTRIB1FPROC>(loadProc("glVertexAttrib1f"));
-    glVertexAttrib1fv = reinterpret_cast<PFNGLVERTEXATTRIB1FVPROC>(loadProc("glVertexAttrib1fv"));
-    glVertexAttrib2f  = reinterpret_cast<PFNGLVERTEXATTRIB2FPROC>(loadProc("glVertexAttrib2f"));
-    glVertexAttrib2fv = reinterpret_cast<PFNGLVERTEXATTRIB2FVPROC>(loadProc("glVertexAttrib2fv"));
-    glVertexAttrib3f  = reinterpret_cast<PFNGLVERTEXATTRIB3FPROC>(loadProc("glVertexAttrib3f"));
-    glVertexAttrib3fv = reinterpret_cast<PFNGLVERTEXATTRIB3FVPROC>(loadProc("glVertexAttrib3fv"));
-    glVertexAttrib4f  = reinterpret_cast<PFNGLVERTEXATTRIB4FPROC>(loadProc("glVertexAttrib4f"));
-    glVertexAttrib4fv = reinterpret_cast<PFNGLVERTEXATTRIB4FVPROC>(loadProc("glVertexAttrib4fv"));
-    glVertexAttribPointer =
-        reinterpret_cast<PFNGLVERTEXATTRIBPOINTERPROC>(loadProc("glVertexAttribPointer"));
-    glViewport   = reinterpret_cast<PFNGLVIEWPORTPROC>(loadProc("glViewport"));
-    glReadBuffer = reinterpret_cast<PFNGLREADBUFFERPROC>(loadProc("glReadBuffer"));
-    glDrawRangeElements =
-        reinterpret_cast<PFNGLDRAWRANGEELEMENTSPROC>(loadProc("glDrawRangeElements"));
-    glTexImage3D    = reinterpret_cast<PFNGLTEXIMAGE3DPROC>(loadProc("glTexImage3D"));
-    glTexSubImage3D = reinterpret_cast<PFNGLTEXSUBIMAGE3DPROC>(loadProc("glTexSubImage3D"));
-    glCopyTexSubImage3D =
-        reinterpret_cast<PFNGLCOPYTEXSUBIMAGE3DPROC>(loadProc("glCopyTexSubImage3D"));
-    glCompressedTexImage3D =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE3DPROC>(loadProc("glCompressedTexImage3D"));
-    glCompressedTexSubImage3D =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC>(loadProc("glCompressedTexSubImage3D"));
-    glGenQueries    = reinterpret_cast<PFNGLGENQUERIESPROC>(loadProc("glGenQueries"));
-    glDeleteQueries = reinterpret_cast<PFNGLDELETEQUERIESPROC>(loadProc("glDeleteQueries"));
-    glIsQuery       = reinterpret_cast<PFNGLISQUERYPROC>(loadProc("glIsQuery"));
-    glBeginQuery    = reinterpret_cast<PFNGLBEGINQUERYPROC>(loadProc("glBeginQuery"));
-    glEndQuery      = reinterpret_cast<PFNGLENDQUERYPROC>(loadProc("glEndQuery"));
-    glGetQueryiv    = reinterpret_cast<PFNGLGETQUERYIVPROC>(loadProc("glGetQueryiv"));
-    glGetQueryObjectuiv =
-        reinterpret_cast<PFNGLGETQUERYOBJECTUIVPROC>(loadProc("glGetQueryObjectuiv"));
-    glUnmapBuffer = reinterpret_cast<PFNGLUNMAPBUFFERPROC>(loadProc("glUnmapBuffer"));
-    glGetBufferPointerv =
-        reinterpret_cast<PFNGLGETBUFFERPOINTERVPROC>(loadProc("glGetBufferPointerv"));
-    glDrawBuffers = reinterpret_cast<PFNGLDRAWBUFFERSPROC>(loadProc("glDrawBuffers"));
-    glUniformMatrix2x3fv =
-        reinterpret_cast<PFNGLUNIFORMMATRIX2X3FVPROC>(loadProc("glUniformMatrix2x3fv"));
-    glUniformMatrix3x2fv =
-        reinterpret_cast<PFNGLUNIFORMMATRIX3X2FVPROC>(loadProc("glUniformMatrix3x2fv"));
-    glUniformMatrix2x4fv =
-        reinterpret_cast<PFNGLUNIFORMMATRIX2X4FVPROC>(loadProc("glUniformMatrix2x4fv"));
-    glUniformMatrix4x2fv =
-        reinterpret_cast<PFNGLUNIFORMMATRIX4X2FVPROC>(loadProc("glUniformMatrix4x2fv"));
-    glUniformMatrix3x4fv =
-        reinterpret_cast<PFNGLUNIFORMMATRIX3X4FVPROC>(loadProc("glUniformMatrix3x4fv"));
-    glUniformMatrix4x3fv =
-        reinterpret_cast<PFNGLUNIFORMMATRIX4X3FVPROC>(loadProc("glUniformMatrix4x3fv"));
-    glBlitFramebuffer = reinterpret_cast<PFNGLBLITFRAMEBUFFERPROC>(loadProc("glBlitFramebuffer"));
-    glRenderbufferStorageMultisample = reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC>(
-        loadProc("glRenderbufferStorageMultisample"));
-    glFramebufferTextureLayer =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTURELAYERPROC>(loadProc("glFramebufferTextureLayer"));
-    glMapBufferRange = reinterpret_cast<PFNGLMAPBUFFERRANGEPROC>(loadProc("glMapBufferRange"));
-    glFlushMappedBufferRange =
-        reinterpret_cast<PFNGLFLUSHMAPPEDBUFFERRANGEPROC>(loadProc("glFlushMappedBufferRange"));
-    glBindVertexArray = reinterpret_cast<PFNGLBINDVERTEXARRAYPROC>(loadProc("glBindVertexArray"));
-    glDeleteVertexArrays =
-        reinterpret_cast<PFNGLDELETEVERTEXARRAYSPROC>(loadProc("glDeleteVertexArrays"));
-    glGenVertexArrays = reinterpret_cast<PFNGLGENVERTEXARRAYSPROC>(loadProc("glGenVertexArrays"));
-    glIsVertexArray   = reinterpret_cast<PFNGLISVERTEXARRAYPROC>(loadProc("glIsVertexArray"));
-    glGetIntegeri_v   = reinterpret_cast<PFNGLGETINTEGERI_VPROC>(loadProc("glGetIntegeri_v"));
-    glBeginTransformFeedback =
-        reinterpret_cast<PFNGLBEGINTRANSFORMFEEDBACKPROC>(loadProc("glBeginTransformFeedback"));
-    glEndTransformFeedback =
-        reinterpret_cast<PFNGLENDTRANSFORMFEEDBACKPROC>(loadProc("glEndTransformFeedback"));
-    glBindBufferRange = reinterpret_cast<PFNGLBINDBUFFERRANGEPROC>(loadProc("glBindBufferRange"));
-    glBindBufferBase  = reinterpret_cast<PFNGLBINDBUFFERBASEPROC>(loadProc("glBindBufferBase"));
-    glTransformFeedbackVaryings = reinterpret_cast<PFNGLTRANSFORMFEEDBACKVARYINGSPROC>(
-        loadProc("glTransformFeedbackVaryings"));
-    glGetTransformFeedbackVarying = reinterpret_cast<PFNGLGETTRANSFORMFEEDBACKVARYINGPROC>(
-        loadProc("glGetTransformFeedbackVarying"));
-    glVertexAttribIPointer =
-        reinterpret_cast<PFNGLVERTEXATTRIBIPOINTERPROC>(loadProc("glVertexAttribIPointer"));
-    glGetVertexAttribIiv =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBIIVPROC>(loadProc("glGetVertexAttribIiv"));
-    glGetVertexAttribIuiv =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBIUIVPROC>(loadProc("glGetVertexAttribIuiv"));
-    glVertexAttribI4i = reinterpret_cast<PFNGLVERTEXATTRIBI4IPROC>(loadProc("glVertexAttribI4i"));
-    glVertexAttribI4ui =
-        reinterpret_cast<PFNGLVERTEXATTRIBI4UIPROC>(loadProc("glVertexAttribI4ui"));
-    glVertexAttribI4iv =
-        reinterpret_cast<PFNGLVERTEXATTRIBI4IVPROC>(loadProc("glVertexAttribI4iv"));
-    glVertexAttribI4uiv =
-        reinterpret_cast<PFNGLVERTEXATTRIBI4UIVPROC>(loadProc("glVertexAttribI4uiv"));
-    glGetUniformuiv = reinterpret_cast<PFNGLGETUNIFORMUIVPROC>(loadProc("glGetUniformuiv"));
-    glGetFragDataLocation =
-        reinterpret_cast<PFNGLGETFRAGDATALOCATIONPROC>(loadProc("glGetFragDataLocation"));
-    glUniform1ui     = reinterpret_cast<PFNGLUNIFORM1UIPROC>(loadProc("glUniform1ui"));
-    glUniform2ui     = reinterpret_cast<PFNGLUNIFORM2UIPROC>(loadProc("glUniform2ui"));
-    glUniform3ui     = reinterpret_cast<PFNGLUNIFORM3UIPROC>(loadProc("glUniform3ui"));
-    glUniform4ui     = reinterpret_cast<PFNGLUNIFORM4UIPROC>(loadProc("glUniform4ui"));
-    glUniform1uiv    = reinterpret_cast<PFNGLUNIFORM1UIVPROC>(loadProc("glUniform1uiv"));
-    glUniform2uiv    = reinterpret_cast<PFNGLUNIFORM2UIVPROC>(loadProc("glUniform2uiv"));
-    glUniform3uiv    = reinterpret_cast<PFNGLUNIFORM3UIVPROC>(loadProc("glUniform3uiv"));
-    glUniform4uiv    = reinterpret_cast<PFNGLUNIFORM4UIVPROC>(loadProc("glUniform4uiv"));
-    glClearBufferiv  = reinterpret_cast<PFNGLCLEARBUFFERIVPROC>(loadProc("glClearBufferiv"));
-    glClearBufferuiv = reinterpret_cast<PFNGLCLEARBUFFERUIVPROC>(loadProc("glClearBufferuiv"));
-    glClearBufferfv  = reinterpret_cast<PFNGLCLEARBUFFERFVPROC>(loadProc("glClearBufferfv"));
-    glClearBufferfi  = reinterpret_cast<PFNGLCLEARBUFFERFIPROC>(loadProc("glClearBufferfi"));
-    glGetStringi     = reinterpret_cast<PFNGLGETSTRINGIPROC>(loadProc("glGetStringi"));
-    glCopyBufferSubData =
-        reinterpret_cast<PFNGLCOPYBUFFERSUBDATAPROC>(loadProc("glCopyBufferSubData"));
-    glGetUniformIndices =
-        reinterpret_cast<PFNGLGETUNIFORMINDICESPROC>(loadProc("glGetUniformIndices"));
-    glGetActiveUniformsiv =
-        reinterpret_cast<PFNGLGETACTIVEUNIFORMSIVPROC>(loadProc("glGetActiveUniformsiv"));
-    glGetUniformBlockIndex =
-        reinterpret_cast<PFNGLGETUNIFORMBLOCKINDEXPROC>(loadProc("glGetUniformBlockIndex"));
-    glGetActiveUniformBlockiv =
-        reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKIVPROC>(loadProc("glGetActiveUniformBlockiv"));
-    glGetActiveUniformBlockName = reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC>(
-        loadProc("glGetActiveUniformBlockName"));
-    glUniformBlockBinding =
-        reinterpret_cast<PFNGLUNIFORMBLOCKBINDINGPROC>(loadProc("glUniformBlockBinding"));
-    glDrawArraysInstanced =
-        reinterpret_cast<PFNGLDRAWARRAYSINSTANCEDPROC>(loadProc("glDrawArraysInstanced"));
-    glDrawElementsInstanced =
-        reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDPROC>(loadProc("glDrawElementsInstanced"));
-    glFenceSync       = reinterpret_cast<PFNGLFENCESYNCPROC>(loadProc("glFenceSync"));
-    glIsSync          = reinterpret_cast<PFNGLISSYNCPROC>(loadProc("glIsSync"));
-    glDeleteSync      = reinterpret_cast<PFNGLDELETESYNCPROC>(loadProc("glDeleteSync"));
-    glClientWaitSync  = reinterpret_cast<PFNGLCLIENTWAITSYNCPROC>(loadProc("glClientWaitSync"));
-    glWaitSync        = reinterpret_cast<PFNGLWAITSYNCPROC>(loadProc("glWaitSync"));
-    glGetInteger64v   = reinterpret_cast<PFNGLGETINTEGER64VPROC>(loadProc("glGetInteger64v"));
-    glGetSynciv       = reinterpret_cast<PFNGLGETSYNCIVPROC>(loadProc("glGetSynciv"));
-    glGetInteger64i_v = reinterpret_cast<PFNGLGETINTEGER64I_VPROC>(loadProc("glGetInteger64i_v"));
-    glGetBufferParameteri64v =
-        reinterpret_cast<PFNGLGETBUFFERPARAMETERI64VPROC>(loadProc("glGetBufferParameteri64v"));
-    glGenSamplers    = reinterpret_cast<PFNGLGENSAMPLERSPROC>(loadProc("glGenSamplers"));
-    glDeleteSamplers = reinterpret_cast<PFNGLDELETESAMPLERSPROC>(loadProc("glDeleteSamplers"));
-    glIsSampler      = reinterpret_cast<PFNGLISSAMPLERPROC>(loadProc("glIsSampler"));
-    glBindSampler    = reinterpret_cast<PFNGLBINDSAMPLERPROC>(loadProc("glBindSampler"));
-    glSamplerParameteri =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERIPROC>(loadProc("glSamplerParameteri"));
-    glSamplerParameteriv =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERIVPROC>(loadProc("glSamplerParameteriv"));
-    glSamplerParameterf =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERFPROC>(loadProc("glSamplerParameterf"));
-    glSamplerParameterfv =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERFVPROC>(loadProc("glSamplerParameterfv"));
-    glGetSamplerParameteriv =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERIVPROC>(loadProc("glGetSamplerParameteriv"));
-    glGetSamplerParameterfv =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERFVPROC>(loadProc("glGetSamplerParameterfv"));
-    glVertexAttribDivisor =
-        reinterpret_cast<PFNGLVERTEXATTRIBDIVISORPROC>(loadProc("glVertexAttribDivisor"));
-    glBindTransformFeedback =
-        reinterpret_cast<PFNGLBINDTRANSFORMFEEDBACKPROC>(loadProc("glBindTransformFeedback"));
-    glDeleteTransformFeedbacks =
-        reinterpret_cast<PFNGLDELETETRANSFORMFEEDBACKSPROC>(loadProc("glDeleteTransformFeedbacks"));
-    glGenTransformFeedbacks =
-        reinterpret_cast<PFNGLGENTRANSFORMFEEDBACKSPROC>(loadProc("glGenTransformFeedbacks"));
-    glIsTransformFeedback =
-        reinterpret_cast<PFNGLISTRANSFORMFEEDBACKPROC>(loadProc("glIsTransformFeedback"));
-    glPauseTransformFeedback =
-        reinterpret_cast<PFNGLPAUSETRANSFORMFEEDBACKPROC>(loadProc("glPauseTransformFeedback"));
-    glResumeTransformFeedback =
-        reinterpret_cast<PFNGLRESUMETRANSFORMFEEDBACKPROC>(loadProc("glResumeTransformFeedback"));
-    glGetProgramBinary =
-        reinterpret_cast<PFNGLGETPROGRAMBINARYPROC>(loadProc("glGetProgramBinary"));
-    glProgramBinary = reinterpret_cast<PFNGLPROGRAMBINARYPROC>(loadProc("glProgramBinary"));
-    glProgramParameteri =
-        reinterpret_cast<PFNGLPROGRAMPARAMETERIPROC>(loadProc("glProgramParameteri"));
-    glInvalidateFramebuffer =
-        reinterpret_cast<PFNGLINVALIDATEFRAMEBUFFERPROC>(loadProc("glInvalidateFramebuffer"));
-    glInvalidateSubFramebuffer =
-        reinterpret_cast<PFNGLINVALIDATESUBFRAMEBUFFERPROC>(loadProc("glInvalidateSubFramebuffer"));
-    glTexStorage2D = reinterpret_cast<PFNGLTEXSTORAGE2DPROC>(loadProc("glTexStorage2D"));
-    glTexStorage3D = reinterpret_cast<PFNGLTEXSTORAGE3DPROC>(loadProc("glTexStorage3D"));
-    glGetInternalformativ =
-        reinterpret_cast<PFNGLGETINTERNALFORMATIVPROC>(loadProc("glGetInternalformativ"));
-    glDispatchCompute = reinterpret_cast<PFNGLDISPATCHCOMPUTEPROC>(loadProc("glDispatchCompute"));
-    glDispatchComputeIndirect =
-        reinterpret_cast<PFNGLDISPATCHCOMPUTEINDIRECTPROC>(loadProc("glDispatchComputeIndirect"));
-    glDrawArraysIndirect =
-        reinterpret_cast<PFNGLDRAWARRAYSINDIRECTPROC>(loadProc("glDrawArraysIndirect"));
-    glDrawElementsIndirect =
-        reinterpret_cast<PFNGLDRAWELEMENTSINDIRECTPROC>(loadProc("glDrawElementsIndirect"));
-    glFramebufferParameteri =
-        reinterpret_cast<PFNGLFRAMEBUFFERPARAMETERIPROC>(loadProc("glFramebufferParameteri"));
-    glGetFramebufferParameteriv = reinterpret_cast<PFNGLGETFRAMEBUFFERPARAMETERIVPROC>(
-        loadProc("glGetFramebufferParameteriv"));
-    glGetProgramInterfaceiv =
-        reinterpret_cast<PFNGLGETPROGRAMINTERFACEIVPROC>(loadProc("glGetProgramInterfaceiv"));
-    glGetProgramResourceIndex =
-        reinterpret_cast<PFNGLGETPROGRAMRESOURCEINDEXPROC>(loadProc("glGetProgramResourceIndex"));
-    glGetProgramResourceName =
-        reinterpret_cast<PFNGLGETPROGRAMRESOURCENAMEPROC>(loadProc("glGetProgramResourceName"));
-    glGetProgramResourceiv =
-        reinterpret_cast<PFNGLGETPROGRAMRESOURCEIVPROC>(loadProc("glGetProgramResourceiv"));
-    glGetProgramResourceLocation = reinterpret_cast<PFNGLGETPROGRAMRESOURCELOCATIONPROC>(
-        loadProc("glGetProgramResourceLocation"));
-    glUseProgramStages =
-        reinterpret_cast<PFNGLUSEPROGRAMSTAGESPROC>(loadProc("glUseProgramStages"));
-    glActiveShaderProgram =
-        reinterpret_cast<PFNGLACTIVESHADERPROGRAMPROC>(loadProc("glActiveShaderProgram"));
-    glCreateShaderProgramv =
-        reinterpret_cast<PFNGLCREATESHADERPROGRAMVPROC>(loadProc("glCreateShaderProgramv"));
-    glBindProgramPipeline =
-        reinterpret_cast<PFNGLBINDPROGRAMPIPELINEPROC>(loadProc("glBindProgramPipeline"));
-    glDeleteProgramPipelines =
-        reinterpret_cast<PFNGLDELETEPROGRAMPIPELINESPROC>(loadProc("glDeleteProgramPipelines"));
-    glGenProgramPipelines =
-        reinterpret_cast<PFNGLGENPROGRAMPIPELINESPROC>(loadProc("glGenProgramPipelines"));
-    glIsProgramPipeline =
-        reinterpret_cast<PFNGLISPROGRAMPIPELINEPROC>(loadProc("glIsProgramPipeline"));
-    glGetProgramPipelineiv =
-        reinterpret_cast<PFNGLGETPROGRAMPIPELINEIVPROC>(loadProc("glGetProgramPipelineiv"));
-    glProgramUniform1i =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM1IPROC>(loadProc("glProgramUniform1i"));
-    glProgramUniform2i =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM2IPROC>(loadProc("glProgramUniform2i"));
-    glProgramUniform3i =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM3IPROC>(loadProc("glProgramUniform3i"));
-    glProgramUniform4i =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM4IPROC>(loadProc("glProgramUniform4i"));
-    glProgramUniform1ui =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM1UIPROC>(loadProc("glProgramUniform1ui"));
-    glProgramUniform2ui =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM2UIPROC>(loadProc("glProgramUniform2ui"));
-    glProgramUniform3ui =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM3UIPROC>(loadProc("glProgramUniform3ui"));
-    glProgramUniform4ui =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM4UIPROC>(loadProc("glProgramUniform4ui"));
-    glProgramUniform1f =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM1FPROC>(loadProc("glProgramUniform1f"));
-    glProgramUniform2f =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM2FPROC>(loadProc("glProgramUniform2f"));
-    glProgramUniform3f =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM3FPROC>(loadProc("glProgramUniform3f"));
-    glProgramUniform4f =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM4FPROC>(loadProc("glProgramUniform4f"));
-    glProgramUniform1iv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM1IVPROC>(loadProc("glProgramUniform1iv"));
-    glProgramUniform2iv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM2IVPROC>(loadProc("glProgramUniform2iv"));
-    glProgramUniform3iv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM3IVPROC>(loadProc("glProgramUniform3iv"));
-    glProgramUniform4iv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM4IVPROC>(loadProc("glProgramUniform4iv"));
-    glProgramUniform1uiv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM1UIVPROC>(loadProc("glProgramUniform1uiv"));
-    glProgramUniform2uiv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM2UIVPROC>(loadProc("glProgramUniform2uiv"));
-    glProgramUniform3uiv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM3UIVPROC>(loadProc("glProgramUniform3uiv"));
-    glProgramUniform4uiv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM4UIVPROC>(loadProc("glProgramUniform4uiv"));
-    glProgramUniform1fv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM1FVPROC>(loadProc("glProgramUniform1fv"));
-    glProgramUniform2fv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM2FVPROC>(loadProc("glProgramUniform2fv"));
-    glProgramUniform3fv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM3FVPROC>(loadProc("glProgramUniform3fv"));
-    glProgramUniform4fv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORM4FVPROC>(loadProc("glProgramUniform4fv"));
-    glProgramUniformMatrix2fv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2FVPROC>(loadProc("glProgramUniformMatrix2fv"));
-    glProgramUniformMatrix3fv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3FVPROC>(loadProc("glProgramUniformMatrix3fv"));
-    glProgramUniformMatrix4fv =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4FVPROC>(loadProc("glProgramUniformMatrix4fv"));
-    glProgramUniformMatrix2x3fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC>(
-        loadProc("glProgramUniformMatrix2x3fv"));
-    glProgramUniformMatrix3x2fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC>(
-        loadProc("glProgramUniformMatrix3x2fv"));
-    glProgramUniformMatrix2x4fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC>(
-        loadProc("glProgramUniformMatrix2x4fv"));
-    glProgramUniformMatrix4x2fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC>(
-        loadProc("glProgramUniformMatrix4x2fv"));
-    glProgramUniformMatrix3x4fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC>(
-        loadProc("glProgramUniformMatrix3x4fv"));
-    glProgramUniformMatrix4x3fv = reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC>(
-        loadProc("glProgramUniformMatrix4x3fv"));
-    glValidateProgramPipeline =
-        reinterpret_cast<PFNGLVALIDATEPROGRAMPIPELINEPROC>(loadProc("glValidateProgramPipeline"));
-    glGetProgramPipelineInfoLog = reinterpret_cast<PFNGLGETPROGRAMPIPELINEINFOLOGPROC>(
-        loadProc("glGetProgramPipelineInfoLog"));
-    glBindImageTexture =
-        reinterpret_cast<PFNGLBINDIMAGETEXTUREPROC>(loadProc("glBindImageTexture"));
-    glGetBooleani_v = reinterpret_cast<PFNGLGETBOOLEANI_VPROC>(loadProc("glGetBooleani_v"));
-    glMemoryBarrier = reinterpret_cast<PFNGLMEMORYBARRIERPROC>(loadProc("glMemoryBarrier"));
-    glMemoryBarrierByRegion =
-        reinterpret_cast<PFNGLMEMORYBARRIERBYREGIONPROC>(loadProc("glMemoryBarrierByRegion"));
-    glTexStorage2DMultisample =
-        reinterpret_cast<PFNGLTEXSTORAGE2DMULTISAMPLEPROC>(loadProc("glTexStorage2DMultisample"));
-    glGetMultisamplefv =
-        reinterpret_cast<PFNGLGETMULTISAMPLEFVPROC>(loadProc("glGetMultisamplefv"));
-    glSampleMaski = reinterpret_cast<PFNGLSAMPLEMASKIPROC>(loadProc("glSampleMaski"));
-    glGetTexLevelParameteriv =
-        reinterpret_cast<PFNGLGETTEXLEVELPARAMETERIVPROC>(loadProc("glGetTexLevelParameteriv"));
-    glGetTexLevelParameterfv =
-        reinterpret_cast<PFNGLGETTEXLEVELPARAMETERFVPROC>(loadProc("glGetTexLevelParameterfv"));
-    glBindVertexBuffer =
-        reinterpret_cast<PFNGLBINDVERTEXBUFFERPROC>(loadProc("glBindVertexBuffer"));
-    glVertexAttribFormat =
-        reinterpret_cast<PFNGLVERTEXATTRIBFORMATPROC>(loadProc("glVertexAttribFormat"));
-    glVertexAttribIFormat =
-        reinterpret_cast<PFNGLVERTEXATTRIBIFORMATPROC>(loadProc("glVertexAttribIFormat"));
-    glVertexAttribBinding =
-        reinterpret_cast<PFNGLVERTEXATTRIBBINDINGPROC>(loadProc("glVertexAttribBinding"));
-    glVertexBindingDivisor =
-        reinterpret_cast<PFNGLVERTEXBINDINGDIVISORPROC>(loadProc("glVertexBindingDivisor"));
-    glCopySubTexture3DANGLE =
-        reinterpret_cast<PFNGLCOPYSUBTEXTURE3DANGLEPROC>(loadProc("glCopySubTexture3DANGLE"));
-    glCopyTexture3DANGLE =
-        reinterpret_cast<PFNGLCOPYTEXTURE3DANGLEPROC>(loadProc("glCopyTexture3DANGLE"));
-    glBlitFramebufferANGLE =
-        reinterpret_cast<PFNGLBLITFRAMEBUFFERANGLEPROC>(loadProc("glBlitFramebufferANGLE"));
-    glRenderbufferStorageMultisampleANGLE =
-        reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC>(
-            loadProc("glRenderbufferStorageMultisampleANGLE"));
-    glDrawArraysInstancedANGLE =
-        reinterpret_cast<PFNGLDRAWARRAYSINSTANCEDANGLEPROC>(loadProc("glDrawArraysInstancedANGLE"));
-    glDrawElementsInstancedANGLE = reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDANGLEPROC>(
-        loadProc("glDrawElementsInstancedANGLE"));
-    glVertexAttribDivisorANGLE =
-        reinterpret_cast<PFNGLVERTEXATTRIBDIVISORANGLEPROC>(loadProc("glVertexAttribDivisorANGLE"));
-    glMultiDrawArraysANGLE =
-        reinterpret_cast<PFNGLMULTIDRAWARRAYSANGLEPROC>(loadProc("glMultiDrawArraysANGLE"));
-    glMultiDrawArraysInstancedANGLE = reinterpret_cast<PFNGLMULTIDRAWARRAYSINSTANCEDANGLEPROC>(
-        loadProc("glMultiDrawArraysInstancedANGLE"));
-    glMultiDrawElementsANGLE =
-        reinterpret_cast<PFNGLMULTIDRAWELEMENTSANGLEPROC>(loadProc("glMultiDrawElementsANGLE"));
-    glMultiDrawElementsInstancedANGLE = reinterpret_cast<PFNGLMULTIDRAWELEMENTSINSTANCEDANGLEPROC>(
-        loadProc("glMultiDrawElementsInstancedANGLE"));
-    glFramebufferTextureMultiviewLayeredANGLE =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTUREMULTIVIEWLAYEREDANGLEPROC>(
-            loadProc("glFramebufferTextureMultiviewLayeredANGLE"));
-    glFramebufferTextureMultiviewSideBySideANGLE =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTUREMULTIVIEWSIDEBYSIDEANGLEPROC>(
-            loadProc("glFramebufferTextureMultiviewSideBySideANGLE"));
-    glRequestExtensionANGLE =
-        reinterpret_cast<PFNGLREQUESTEXTENSIONANGLEPROC>(loadProc("glRequestExtensionANGLE"));
-    glCompressedTexImage2DRobustANGLE = reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLEPROC>(
-        loadProc("glCompressedTexImage2DRobustANGLE"));
-    glCompressedTexImage3DRobustANGLE = reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLEPROC>(
-        loadProc("glCompressedTexImage3DRobustANGLE"));
-    glCompressedTexSubImage2DRobustANGLE =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLEPROC>(
-            loadProc("glCompressedTexSubImage2DRobustANGLE"));
-    glCompressedTexSubImage3DRobustANGLE =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLEPROC>(
-            loadProc("glCompressedTexSubImage3DRobustANGLE"));
-    glGetActiveUniformBlockivRobustANGLE =
-        reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLEPROC>(
-            loadProc("glGetActiveUniformBlockivRobustANGLE"));
-    glGetBooleani_vRobustANGLE =
-        reinterpret_cast<PFNGLGETBOOLEANI_VROBUSTANGLEPROC>(loadProc("glGetBooleani_vRobustANGLE"));
-    glGetBooleanvRobustANGLE =
-        reinterpret_cast<PFNGLGETBOOLEANVROBUSTANGLEPROC>(loadProc("glGetBooleanvRobustANGLE"));
-    glGetBufferParameteri64vRobustANGLE =
-        reinterpret_cast<PFNGLGETBUFFERPARAMETERI64VROBUSTANGLEPROC>(
-            loadProc("glGetBufferParameteri64vRobustANGLE"));
-    glGetBufferParameterivRobustANGLE = reinterpret_cast<PFNGLGETBUFFERPARAMETERIVROBUSTANGLEPROC>(
-        loadProc("glGetBufferParameterivRobustANGLE"));
-    glGetBufferPointervRobustANGLE = reinterpret_cast<PFNGLGETBUFFERPOINTERVROBUSTANGLEPROC>(
-        loadProc("glGetBufferPointervRobustANGLE"));
-    glGetFloatvRobustANGLE =
-        reinterpret_cast<PFNGLGETFLOATVROBUSTANGLEPROC>(loadProc("glGetFloatvRobustANGLE"));
-    glGetFramebufferAttachmentParameterivRobustANGLE =
-        reinterpret_cast<PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLEPROC>(
-            loadProc("glGetFramebufferAttachmentParameterivRobustANGLE"));
-    glGetFramebufferParameterivRobustANGLE =
-        reinterpret_cast<PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLEPROC>(
-            loadProc("glGetFramebufferParameterivRobustANGLE"));
-    glGetInteger64i_vRobustANGLE = reinterpret_cast<PFNGLGETINTEGER64I_VROBUSTANGLEPROC>(
-        loadProc("glGetInteger64i_vRobustANGLE"));
-    glGetInteger64vRobustANGLE =
-        reinterpret_cast<PFNGLGETINTEGER64VROBUSTANGLEPROC>(loadProc("glGetInteger64vRobustANGLE"));
-    glGetIntegeri_vRobustANGLE =
-        reinterpret_cast<PFNGLGETINTEGERI_VROBUSTANGLEPROC>(loadProc("glGetIntegeri_vRobustANGLE"));
-    glGetIntegervRobustANGLE =
-        reinterpret_cast<PFNGLGETINTEGERVROBUSTANGLEPROC>(loadProc("glGetIntegervRobustANGLE"));
-    glGetInternalformativRobustANGLE = reinterpret_cast<PFNGLGETINTERNALFORMATIVROBUSTANGLEPROC>(
-        loadProc("glGetInternalformativRobustANGLE"));
-    glGetMultisamplefvRobustANGLE = reinterpret_cast<PFNGLGETMULTISAMPLEFVROBUSTANGLEPROC>(
-        loadProc("glGetMultisamplefvRobustANGLE"));
-    glGetPointervRobustANGLERobustANGLE =
-        reinterpret_cast<PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLEPROC>(
-            loadProc("glGetPointervRobustANGLERobustANGLE"));
-    glGetProgramInterfaceivRobustANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMINTERFACEIVROBUSTANGLEPROC>(
-            loadProc("glGetProgramInterfaceivRobustANGLE"));
-    glGetProgramivRobustANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMIVROBUSTANGLEPROC>(loadProc("glGetProgramivRobustANGLE"));
-    glGetQueryObjecti64vRobustANGLE = reinterpret_cast<PFNGLGETQUERYOBJECTI64VROBUSTANGLEPROC>(
-        loadProc("glGetQueryObjecti64vRobustANGLE"));
-    glGetQueryObjectivRobustANGLE = reinterpret_cast<PFNGLGETQUERYOBJECTIVROBUSTANGLEPROC>(
-        loadProc("glGetQueryObjectivRobustANGLE"));
-    glGetQueryObjectui64vRobustANGLE = reinterpret_cast<PFNGLGETQUERYOBJECTUI64VROBUSTANGLEPROC>(
-        loadProc("glGetQueryObjectui64vRobustANGLE"));
-    glGetQueryObjectuivRobustANGLE = reinterpret_cast<PFNGLGETQUERYOBJECTUIVROBUSTANGLEPROC>(
-        loadProc("glGetQueryObjectuivRobustANGLE"));
-    glGetQueryivRobustANGLE =
-        reinterpret_cast<PFNGLGETQUERYIVROBUSTANGLEPROC>(loadProc("glGetQueryivRobustANGLE"));
-    glGetRenderbufferParameterivRobustANGLE =
-        reinterpret_cast<PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLEPROC>(
-            loadProc("glGetRenderbufferParameterivRobustANGLE"));
-    glGetSamplerParameterIivRobustANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLEPROC>(
-            loadProc("glGetSamplerParameterIivRobustANGLE"));
-    glGetSamplerParameterIuivRobustANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLEPROC>(
-            loadProc("glGetSamplerParameterIuivRobustANGLE"));
-    glGetSamplerParameterfvRobustANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERFVROBUSTANGLEPROC>(
-            loadProc("glGetSamplerParameterfvRobustANGLE"));
-    glGetSamplerParameterivRobustANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERIVROBUSTANGLEPROC>(
-            loadProc("glGetSamplerParameterivRobustANGLE"));
-    glGetShaderivRobustANGLE =
-        reinterpret_cast<PFNGLGETSHADERIVROBUSTANGLEPROC>(loadProc("glGetShaderivRobustANGLE"));
-    glGetTexLevelParameterfvRobustANGLE =
-        reinterpret_cast<PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLEPROC>(
-            loadProc("glGetTexLevelParameterfvRobustANGLE"));
-    glGetTexLevelParameterivRobustANGLE =
-        reinterpret_cast<PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLEPROC>(
-            loadProc("glGetTexLevelParameterivRobustANGLE"));
-    glGetTexParameterIivRobustANGLE = reinterpret_cast<PFNGLGETTEXPARAMETERIIVROBUSTANGLEPROC>(
-        loadProc("glGetTexParameterIivRobustANGLE"));
-    glGetTexParameterIuivRobustANGLE = reinterpret_cast<PFNGLGETTEXPARAMETERIUIVROBUSTANGLEPROC>(
-        loadProc("glGetTexParameterIuivRobustANGLE"));
-    glGetTexParameterfvRobustANGLE = reinterpret_cast<PFNGLGETTEXPARAMETERFVROBUSTANGLEPROC>(
-        loadProc("glGetTexParameterfvRobustANGLE"));
-    glGetTexParameterivRobustANGLE = reinterpret_cast<PFNGLGETTEXPARAMETERIVROBUSTANGLEPROC>(
-        loadProc("glGetTexParameterivRobustANGLE"));
-    glGetUniformfvRobustANGLE =
-        reinterpret_cast<PFNGLGETUNIFORMFVROBUSTANGLEPROC>(loadProc("glGetUniformfvRobustANGLE"));
-    glGetUniformivRobustANGLE =
-        reinterpret_cast<PFNGLGETUNIFORMIVROBUSTANGLEPROC>(loadProc("glGetUniformivRobustANGLE"));
-    glGetUniformuivRobustANGLE =
-        reinterpret_cast<PFNGLGETUNIFORMUIVROBUSTANGLEPROC>(loadProc("glGetUniformuivRobustANGLE"));
-    glGetVertexAttribIivRobustANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBIIVROBUSTANGLEPROC>(
-        loadProc("glGetVertexAttribIivRobustANGLE"));
-    glGetVertexAttribIuivRobustANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBIUIVROBUSTANGLEPROC>(
-        loadProc("glGetVertexAttribIuivRobustANGLE"));
-    glGetVertexAttribPointervRobustANGLE =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLEPROC>(
-            loadProc("glGetVertexAttribPointervRobustANGLE"));
-    glGetVertexAttribfvRobustANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBFVROBUSTANGLEPROC>(
-        loadProc("glGetVertexAttribfvRobustANGLE"));
-    glGetVertexAttribivRobustANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBIVROBUSTANGLEPROC>(
-        loadProc("glGetVertexAttribivRobustANGLE"));
-    glGetnUniformfvRobustANGLE =
-        reinterpret_cast<PFNGLGETNUNIFORMFVROBUSTANGLEPROC>(loadProc("glGetnUniformfvRobustANGLE"));
-    glGetnUniformivRobustANGLE =
-        reinterpret_cast<PFNGLGETNUNIFORMIVROBUSTANGLEPROC>(loadProc("glGetnUniformivRobustANGLE"));
-    glGetnUniformuivRobustANGLE = reinterpret_cast<PFNGLGETNUNIFORMUIVROBUSTANGLEPROC>(
-        loadProc("glGetnUniformuivRobustANGLE"));
-    glReadPixelsRobustANGLE =
-        reinterpret_cast<PFNGLREADPIXELSROBUSTANGLEPROC>(loadProc("glReadPixelsRobustANGLE"));
-    glReadnPixelsRobustANGLE =
-        reinterpret_cast<PFNGLREADNPIXELSROBUSTANGLEPROC>(loadProc("glReadnPixelsRobustANGLE"));
-    glSamplerParameterIivRobustANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERIIVROBUSTANGLEPROC>(
-        loadProc("glSamplerParameterIivRobustANGLE"));
-    glSamplerParameterIuivRobustANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERIUIVROBUSTANGLEPROC>(
-        loadProc("glSamplerParameterIuivRobustANGLE"));
-    glSamplerParameterfvRobustANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERFVROBUSTANGLEPROC>(
-        loadProc("glSamplerParameterfvRobustANGLE"));
-    glSamplerParameterivRobustANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERIVROBUSTANGLEPROC>(
-        loadProc("glSamplerParameterivRobustANGLE"));
-    glTexImage2DRobustANGLE =
-        reinterpret_cast<PFNGLTEXIMAGE2DROBUSTANGLEPROC>(loadProc("glTexImage2DRobustANGLE"));
-    glTexImage3DRobustANGLE =
-        reinterpret_cast<PFNGLTEXIMAGE3DROBUSTANGLEPROC>(loadProc("glTexImage3DRobustANGLE"));
-    glTexParameterIivRobustANGLE = reinterpret_cast<PFNGLTEXPARAMETERIIVROBUSTANGLEPROC>(
-        loadProc("glTexParameterIivRobustANGLE"));
-    glTexParameterIuivRobustANGLE = reinterpret_cast<PFNGLTEXPARAMETERIUIVROBUSTANGLEPROC>(
-        loadProc("glTexParameterIuivRobustANGLE"));
-    glTexParameterfvRobustANGLE = reinterpret_cast<PFNGLTEXPARAMETERFVROBUSTANGLEPROC>(
-        loadProc("glTexParameterfvRobustANGLE"));
-    glTexParameterivRobustANGLE = reinterpret_cast<PFNGLTEXPARAMETERIVROBUSTANGLEPROC>(
-        loadProc("glTexParameterivRobustANGLE"));
-    glTexSubImage2DRobustANGLE =
-        reinterpret_cast<PFNGLTEXSUBIMAGE2DROBUSTANGLEPROC>(loadProc("glTexSubImage2DRobustANGLE"));
-    glTexSubImage3DRobustANGLE =
-        reinterpret_cast<PFNGLTEXSUBIMAGE3DROBUSTANGLEPROC>(loadProc("glTexSubImage3DRobustANGLE"));
-    glGetMultisamplefvANGLE =
-        reinterpret_cast<PFNGLGETMULTISAMPLEFVANGLEPROC>(loadProc("glGetMultisamplefvANGLE"));
-    glGetTexLevelParameterfvANGLE = reinterpret_cast<PFNGLGETTEXLEVELPARAMETERFVANGLEPROC>(
-        loadProc("glGetTexLevelParameterfvANGLE"));
-    glGetTexLevelParameterivANGLE = reinterpret_cast<PFNGLGETTEXLEVELPARAMETERIVANGLEPROC>(
-        loadProc("glGetTexLevelParameterivANGLE"));
-    glSampleMaskiANGLE =
-        reinterpret_cast<PFNGLSAMPLEMASKIANGLEPROC>(loadProc("glSampleMaskiANGLE"));
-    glTexStorage2DMultisampleANGLE = reinterpret_cast<PFNGLTEXSTORAGE2DMULTISAMPLEANGLEPROC>(
-        loadProc("glTexStorage2DMultisampleANGLE"));
-    glGetTranslatedShaderSourceANGLE = reinterpret_cast<PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC>(
-        loadProc("glGetTranslatedShaderSourceANGLE"));
-    glBindUniformLocationCHROMIUM = reinterpret_cast<PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC>(
-        loadProc("glBindUniformLocationCHROMIUM"));
-    glCompressedCopyTextureCHROMIUM = reinterpret_cast<PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMPROC>(
-        loadProc("glCompressedCopyTextureCHROMIUM"));
-    glCopySubTextureCHROMIUM =
-        reinterpret_cast<PFNGLCOPYSUBTEXTURECHROMIUMPROC>(loadProc("glCopySubTextureCHROMIUM"));
-    glCopyTextureCHROMIUM =
-        reinterpret_cast<PFNGLCOPYTEXTURECHROMIUMPROC>(loadProc("glCopyTextureCHROMIUM"));
-    glCoverageModulationCHROMIUM = reinterpret_cast<PFNGLCOVERAGEMODULATIONCHROMIUMPROC>(
-        loadProc("glCoverageModulationCHROMIUM"));
-    glMatrixLoadIdentityCHROMIUM = reinterpret_cast<PFNGLMATRIXLOADIDENTITYCHROMIUMPROC>(
-        loadProc("glMatrixLoadIdentityCHROMIUM"));
-    glMatrixLoadfCHROMIUM =
-        reinterpret_cast<PFNGLMATRIXLOADFCHROMIUMPROC>(loadProc("glMatrixLoadfCHROMIUM"));
-    glBindFragmentInputLocationCHROMIUM =
-        reinterpret_cast<PFNGLBINDFRAGMENTINPUTLOCATIONCHROMIUMPROC>(
-            loadProc("glBindFragmentInputLocationCHROMIUM"));
-    glCoverFillPathCHROMIUM =
-        reinterpret_cast<PFNGLCOVERFILLPATHCHROMIUMPROC>(loadProc("glCoverFillPathCHROMIUM"));
-    glCoverFillPathInstancedCHROMIUM = reinterpret_cast<PFNGLCOVERFILLPATHINSTANCEDCHROMIUMPROC>(
-        loadProc("glCoverFillPathInstancedCHROMIUM"));
-    glCoverStrokePathCHROMIUM =
-        reinterpret_cast<PFNGLCOVERSTROKEPATHCHROMIUMPROC>(loadProc("glCoverStrokePathCHROMIUM"));
-    glCoverStrokePathInstancedCHROMIUM =
-        reinterpret_cast<PFNGLCOVERSTROKEPATHINSTANCEDCHROMIUMPROC>(
-            loadProc("glCoverStrokePathInstancedCHROMIUM"));
-    glDeletePathsCHROMIUM =
-        reinterpret_cast<PFNGLDELETEPATHSCHROMIUMPROC>(loadProc("glDeletePathsCHROMIUM"));
-    glGenPathsCHROMIUM =
-        reinterpret_cast<PFNGLGENPATHSCHROMIUMPROC>(loadProc("glGenPathsCHROMIUM"));
-    glGetPathParameterfvCHROMIUM = reinterpret_cast<PFNGLGETPATHPARAMETERFVCHROMIUMPROC>(
-        loadProc("glGetPathParameterfvCHROMIUM"));
-    glGetPathParameterivCHROMIUM = reinterpret_cast<PFNGLGETPATHPARAMETERIVCHROMIUMPROC>(
-        loadProc("glGetPathParameterivCHROMIUM"));
-    glIsPathCHROMIUM = reinterpret_cast<PFNGLISPATHCHROMIUMPROC>(loadProc("glIsPathCHROMIUM"));
-    glPathCommandsCHROMIUM =
-        reinterpret_cast<PFNGLPATHCOMMANDSCHROMIUMPROC>(loadProc("glPathCommandsCHROMIUM"));
-    glPathParameterfCHROMIUM =
-        reinterpret_cast<PFNGLPATHPARAMETERFCHROMIUMPROC>(loadProc("glPathParameterfCHROMIUM"));
-    glPathParameteriCHROMIUM =
-        reinterpret_cast<PFNGLPATHPARAMETERICHROMIUMPROC>(loadProc("glPathParameteriCHROMIUM"));
-    glPathStencilFuncCHROMIUM =
-        reinterpret_cast<PFNGLPATHSTENCILFUNCCHROMIUMPROC>(loadProc("glPathStencilFuncCHROMIUM"));
-    glProgramPathFragmentInputGenCHROMIUM =
-        reinterpret_cast<PFNGLPROGRAMPATHFRAGMENTINPUTGENCHROMIUMPROC>(
-            loadProc("glProgramPathFragmentInputGenCHROMIUM"));
-    glStencilFillPathCHROMIUM =
-        reinterpret_cast<PFNGLSTENCILFILLPATHCHROMIUMPROC>(loadProc("glStencilFillPathCHROMIUM"));
-    glStencilFillPathInstancedCHROMIUM =
-        reinterpret_cast<PFNGLSTENCILFILLPATHINSTANCEDCHROMIUMPROC>(
-            loadProc("glStencilFillPathInstancedCHROMIUM"));
-    glStencilStrokePathCHROMIUM = reinterpret_cast<PFNGLSTENCILSTROKEPATHCHROMIUMPROC>(
-        loadProc("glStencilStrokePathCHROMIUM"));
-    glStencilStrokePathInstancedCHROMIUM =
-        reinterpret_cast<PFNGLSTENCILSTROKEPATHINSTANCEDCHROMIUMPROC>(
-            loadProc("glStencilStrokePathInstancedCHROMIUM"));
-    glStencilThenCoverFillPathCHROMIUM =
-        reinterpret_cast<PFNGLSTENCILTHENCOVERFILLPATHCHROMIUMPROC>(
-            loadProc("glStencilThenCoverFillPathCHROMIUM"));
-    glStencilThenCoverFillPathInstancedCHROMIUM =
-        reinterpret_cast<PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDCHROMIUMPROC>(
-            loadProc("glStencilThenCoverFillPathInstancedCHROMIUM"));
-    glStencilThenCoverStrokePathCHROMIUM =
-        reinterpret_cast<PFNGLSTENCILTHENCOVERSTROKEPATHCHROMIUMPROC>(
-            loadProc("glStencilThenCoverStrokePathCHROMIUM"));
-    glStencilThenCoverStrokePathInstancedCHROMIUM =
-        reinterpret_cast<PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDCHROMIUMPROC>(
-            loadProc("glStencilThenCoverStrokePathInstancedCHROMIUM"));
-    glBindFragDataLocationEXT =
-        reinterpret_cast<PFNGLBINDFRAGDATALOCATIONEXTPROC>(loadProc("glBindFragDataLocationEXT"));
-    glBindFragDataLocationIndexedEXT = reinterpret_cast<PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC>(
-        loadProc("glBindFragDataLocationIndexedEXT"));
-    glGetFragDataIndexEXT =
-        reinterpret_cast<PFNGLGETFRAGDATAINDEXEXTPROC>(loadProc("glGetFragDataIndexEXT"));
-    glGetProgramResourceLocationIndexEXT =
-        reinterpret_cast<PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC>(
-            loadProc("glGetProgramResourceLocationIndexEXT"));
-    glInsertEventMarkerEXT =
-        reinterpret_cast<PFNGLINSERTEVENTMARKEREXTPROC>(loadProc("glInsertEventMarkerEXT"));
-    glPopGroupMarkerEXT =
-        reinterpret_cast<PFNGLPOPGROUPMARKEREXTPROC>(loadProc("glPopGroupMarkerEXT"));
-    glPushGroupMarkerEXT =
-        reinterpret_cast<PFNGLPUSHGROUPMARKEREXTPROC>(loadProc("glPushGroupMarkerEXT"));
-    glDiscardFramebufferEXT =
-        reinterpret_cast<PFNGLDISCARDFRAMEBUFFEREXTPROC>(loadProc("glDiscardFramebufferEXT"));
-    glBeginQueryEXT = reinterpret_cast<PFNGLBEGINQUERYEXTPROC>(loadProc("glBeginQueryEXT"));
-    glDeleteQueriesEXT =
-        reinterpret_cast<PFNGLDELETEQUERIESEXTPROC>(loadProc("glDeleteQueriesEXT"));
-    glEndQueryEXT   = reinterpret_cast<PFNGLENDQUERYEXTPROC>(loadProc("glEndQueryEXT"));
-    glGenQueriesEXT = reinterpret_cast<PFNGLGENQUERIESEXTPROC>(loadProc("glGenQueriesEXT"));
-    glGetQueryObjecti64vEXT =
-        reinterpret_cast<PFNGLGETQUERYOBJECTI64VEXTPROC>(loadProc("glGetQueryObjecti64vEXT"));
-    glGetQueryObjectivEXT =
-        reinterpret_cast<PFNGLGETQUERYOBJECTIVEXTPROC>(loadProc("glGetQueryObjectivEXT"));
-    glGetQueryObjectui64vEXT =
-        reinterpret_cast<PFNGLGETQUERYOBJECTUI64VEXTPROC>(loadProc("glGetQueryObjectui64vEXT"));
-    glGetQueryObjectuivEXT =
-        reinterpret_cast<PFNGLGETQUERYOBJECTUIVEXTPROC>(loadProc("glGetQueryObjectuivEXT"));
-    glGetQueryivEXT   = reinterpret_cast<PFNGLGETQUERYIVEXTPROC>(loadProc("glGetQueryivEXT"));
-    glIsQueryEXT      = reinterpret_cast<PFNGLISQUERYEXTPROC>(loadProc("glIsQueryEXT"));
-    glQueryCounterEXT = reinterpret_cast<PFNGLQUERYCOUNTEREXTPROC>(loadProc("glQueryCounterEXT"));
-    glDrawBuffersEXT  = reinterpret_cast<PFNGLDRAWBUFFERSEXTPROC>(loadProc("glDrawBuffersEXT"));
-    glFramebufferTextureEXT =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTUREEXTPROC>(loadProc("glFramebufferTextureEXT"));
-    glFlushMappedBufferRangeEXT = reinterpret_cast<PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC>(
-        loadProc("glFlushMappedBufferRangeEXT"));
-    glMapBufferRangeEXT =
-        reinterpret_cast<PFNGLMAPBUFFERRANGEEXTPROC>(loadProc("glMapBufferRangeEXT"));
-    glGetGraphicsResetStatusEXT = reinterpret_cast<PFNGLGETGRAPHICSRESETSTATUSEXTPROC>(
-        loadProc("glGetGraphicsResetStatusEXT"));
-    glGetnUniformfvEXT =
-        reinterpret_cast<PFNGLGETNUNIFORMFVEXTPROC>(loadProc("glGetnUniformfvEXT"));
-    glGetnUniformivEXT =
-        reinterpret_cast<PFNGLGETNUNIFORMIVEXTPROC>(loadProc("glGetnUniformivEXT"));
-    glReadnPixelsEXT  = reinterpret_cast<PFNGLREADNPIXELSEXTPROC>(loadProc("glReadnPixelsEXT"));
-    glTexStorage1DEXT = reinterpret_cast<PFNGLTEXSTORAGE1DEXTPROC>(loadProc("glTexStorage1DEXT"));
-    glTexStorage2DEXT = reinterpret_cast<PFNGLTEXSTORAGE2DEXTPROC>(loadProc("glTexStorage2DEXT"));
-    glTexStorage3DEXT = reinterpret_cast<PFNGLTEXSTORAGE3DEXTPROC>(loadProc("glTexStorage3DEXT"));
-    glDebugMessageCallbackKHR =
-        reinterpret_cast<PFNGLDEBUGMESSAGECALLBACKKHRPROC>(loadProc("glDebugMessageCallbackKHR"));
-    glDebugMessageControlKHR =
-        reinterpret_cast<PFNGLDEBUGMESSAGECONTROLKHRPROC>(loadProc("glDebugMessageControlKHR"));
-    glDebugMessageInsertKHR =
-        reinterpret_cast<PFNGLDEBUGMESSAGEINSERTKHRPROC>(loadProc("glDebugMessageInsertKHR"));
-    glGetDebugMessageLogKHR =
-        reinterpret_cast<PFNGLGETDEBUGMESSAGELOGKHRPROC>(loadProc("glGetDebugMessageLogKHR"));
-    glGetObjectLabelKHR =
-        reinterpret_cast<PFNGLGETOBJECTLABELKHRPROC>(loadProc("glGetObjectLabelKHR"));
-    glGetObjectPtrLabelKHR =
-        reinterpret_cast<PFNGLGETOBJECTPTRLABELKHRPROC>(loadProc("glGetObjectPtrLabelKHR"));
-    glGetPointervKHR = reinterpret_cast<PFNGLGETPOINTERVKHRPROC>(loadProc("glGetPointervKHR"));
-    glObjectLabelKHR = reinterpret_cast<PFNGLOBJECTLABELKHRPROC>(loadProc("glObjectLabelKHR"));
-    glObjectPtrLabelKHR =
-        reinterpret_cast<PFNGLOBJECTPTRLABELKHRPROC>(loadProc("glObjectPtrLabelKHR"));
-    glPopDebugGroupKHR =
-        reinterpret_cast<PFNGLPOPDEBUGGROUPKHRPROC>(loadProc("glPopDebugGroupKHR"));
-    glPushDebugGroupKHR =
-        reinterpret_cast<PFNGLPUSHDEBUGGROUPKHRPROC>(loadProc("glPushDebugGroupKHR"));
-    glMaxShaderCompilerThreadsKHR = reinterpret_cast<PFNGLMAXSHADERCOMPILERTHREADSKHRPROC>(
-        loadProc("glMaxShaderCompilerThreadsKHR"));
-    glDeleteFencesNV = reinterpret_cast<PFNGLDELETEFENCESNVPROC>(loadProc("glDeleteFencesNV"));
-    glFinishFenceNV  = reinterpret_cast<PFNGLFINISHFENCENVPROC>(loadProc("glFinishFenceNV"));
-    glGenFencesNV    = reinterpret_cast<PFNGLGENFENCESNVPROC>(loadProc("glGenFencesNV"));
-    glGetFenceivNV   = reinterpret_cast<PFNGLGETFENCEIVNVPROC>(loadProc("glGetFenceivNV"));
-    glIsFenceNV      = reinterpret_cast<PFNGLISFENCENVPROC>(loadProc("glIsFenceNV"));
-    glSetFenceNV     = reinterpret_cast<PFNGLSETFENCENVPROC>(loadProc("glSetFenceNV"));
-    glTestFenceNV    = reinterpret_cast<PFNGLTESTFENCENVPROC>(loadProc("glTestFenceNV"));
-    glEGLImageTargetRenderbufferStorageOES =
-        reinterpret_cast<PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC>(
-            loadProc("glEGLImageTargetRenderbufferStorageOES"));
-    glEGLImageTargetTexture2DOES = reinterpret_cast<PFNGLEGLIMAGETARGETTEXTURE2DOESPROC>(
-        loadProc("glEGLImageTargetTexture2DOES"));
-    glGetProgramBinaryOES =
-        reinterpret_cast<PFNGLGETPROGRAMBINARYOESPROC>(loadProc("glGetProgramBinaryOES"));
-    glProgramBinaryOES =
-        reinterpret_cast<PFNGLPROGRAMBINARYOESPROC>(loadProc("glProgramBinaryOES"));
-    glGetBufferPointervOES =
-        reinterpret_cast<PFNGLGETBUFFERPOINTERVOESPROC>(loadProc("glGetBufferPointervOES"));
-    glMapBufferOES   = reinterpret_cast<PFNGLMAPBUFFEROESPROC>(loadProc("glMapBufferOES"));
-    glUnmapBufferOES = reinterpret_cast<PFNGLUNMAPBUFFEROESPROC>(loadProc("glUnmapBufferOES"));
-    glGetSamplerParameterIivOES = reinterpret_cast<PFNGLGETSAMPLERPARAMETERIIVOESPROC>(
-        loadProc("glGetSamplerParameterIivOES"));
-    glGetSamplerParameterIuivOES = reinterpret_cast<PFNGLGETSAMPLERPARAMETERIUIVOESPROC>(
-        loadProc("glGetSamplerParameterIuivOES"));
-    glGetTexParameterIivOES =
-        reinterpret_cast<PFNGLGETTEXPARAMETERIIVOESPROC>(loadProc("glGetTexParameterIivOES"));
-    glGetTexParameterIuivOES =
-        reinterpret_cast<PFNGLGETTEXPARAMETERIUIVOESPROC>(loadProc("glGetTexParameterIuivOES"));
-    glSamplerParameterIivOES =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERIIVOESPROC>(loadProc("glSamplerParameterIivOES"));
-    glSamplerParameterIuivOES =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERIUIVOESPROC>(loadProc("glSamplerParameterIuivOES"));
-    glTexParameterIivOES =
-        reinterpret_cast<PFNGLTEXPARAMETERIIVOESPROC>(loadProc("glTexParameterIivOES"));
-    glTexParameterIuivOES =
-        reinterpret_cast<PFNGLTEXPARAMETERIUIVOESPROC>(loadProc("glTexParameterIuivOES"));
-    glTexStorage3DMultisampleOES = reinterpret_cast<PFNGLTEXSTORAGE3DMULTISAMPLEOESPROC>(
-        loadProc("glTexStorage3DMultisampleOES"));
-    glBindVertexArrayOES =
-        reinterpret_cast<PFNGLBINDVERTEXARRAYOESPROC>(loadProc("glBindVertexArrayOES"));
-    glDeleteVertexArraysOES =
-        reinterpret_cast<PFNGLDELETEVERTEXARRAYSOESPROC>(loadProc("glDeleteVertexArraysOES"));
-    glGenVertexArraysOES =
-        reinterpret_cast<PFNGLGENVERTEXARRAYSOESPROC>(loadProc("glGenVertexArraysOES"));
-    glIsVertexArrayOES =
-        reinterpret_cast<PFNGLISVERTEXARRAYOESPROC>(loadProc("glIsVertexArrayOES"));
-    glDrawTexfOES  = reinterpret_cast<PFNGLDRAWTEXFOESPROC>(loadProc("glDrawTexfOES"));
-    glDrawTexfvOES = reinterpret_cast<PFNGLDRAWTEXFVOESPROC>(loadProc("glDrawTexfvOES"));
-    glDrawTexiOES  = reinterpret_cast<PFNGLDRAWTEXIOESPROC>(loadProc("glDrawTexiOES"));
-    glDrawTexivOES = reinterpret_cast<PFNGLDRAWTEXIVOESPROC>(loadProc("glDrawTexivOES"));
-    glDrawTexsOES  = reinterpret_cast<PFNGLDRAWTEXSOESPROC>(loadProc("glDrawTexsOES"));
-    glDrawTexsvOES = reinterpret_cast<PFNGLDRAWTEXSVOESPROC>(loadProc("glDrawTexsvOES"));
-    glDrawTexxOES  = reinterpret_cast<PFNGLDRAWTEXXOESPROC>(loadProc("glDrawTexxOES"));
-    glDrawTexxvOES = reinterpret_cast<PFNGLDRAWTEXXVOESPROC>(loadProc("glDrawTexxvOES"));
-    glBindFramebufferOES =
-        reinterpret_cast<PFNGLBINDFRAMEBUFFEROESPROC>(loadProc("glBindFramebufferOES"));
-    glBindRenderbufferOES =
-        reinterpret_cast<PFNGLBINDRENDERBUFFEROESPROC>(loadProc("glBindRenderbufferOES"));
-    glCheckFramebufferStatusOES = reinterpret_cast<PFNGLCHECKFRAMEBUFFERSTATUSOESPROC>(
-        loadProc("glCheckFramebufferStatusOES"));
-    glDeleteFramebuffersOES =
-        reinterpret_cast<PFNGLDELETEFRAMEBUFFERSOESPROC>(loadProc("glDeleteFramebuffersOES"));
-    glDeleteRenderbuffersOES =
-        reinterpret_cast<PFNGLDELETERENDERBUFFERSOESPROC>(loadProc("glDeleteRenderbuffersOES"));
-    glFramebufferRenderbufferOES = reinterpret_cast<PFNGLFRAMEBUFFERRENDERBUFFEROESPROC>(
-        loadProc("glFramebufferRenderbufferOES"));
-    glFramebufferTexture2DOES =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTURE2DOESPROC>(loadProc("glFramebufferTexture2DOES"));
-    glGenFramebuffersOES =
-        reinterpret_cast<PFNGLGENFRAMEBUFFERSOESPROC>(loadProc("glGenFramebuffersOES"));
-    glGenRenderbuffersOES =
-        reinterpret_cast<PFNGLGENRENDERBUFFERSOESPROC>(loadProc("glGenRenderbuffersOES"));
-    glGenerateMipmapOES =
-        reinterpret_cast<PFNGLGENERATEMIPMAPOESPROC>(loadProc("glGenerateMipmapOES"));
-    glGetFramebufferAttachmentParameterivOES =
-        reinterpret_cast<PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC>(
-            loadProc("glGetFramebufferAttachmentParameterivOES"));
-    glGetRenderbufferParameterivOES = reinterpret_cast<PFNGLGETRENDERBUFFERPARAMETERIVOESPROC>(
-        loadProc("glGetRenderbufferParameterivOES"));
-    glIsFramebufferOES =
-        reinterpret_cast<PFNGLISFRAMEBUFFEROESPROC>(loadProc("glIsFramebufferOES"));
-    glIsRenderbufferOES =
-        reinterpret_cast<PFNGLISRENDERBUFFEROESPROC>(loadProc("glIsRenderbufferOES"));
-    glRenderbufferStorageOES =
-        reinterpret_cast<PFNGLRENDERBUFFERSTORAGEOESPROC>(loadProc("glRenderbufferStorageOES"));
-    glCurrentPaletteMatrixOES =
-        reinterpret_cast<PFNGLCURRENTPALETTEMATRIXOESPROC>(loadProc("glCurrentPaletteMatrixOES"));
-    glLoadPaletteFromModelViewMatrixOES =
-        reinterpret_cast<PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC>(
-            loadProc("glLoadPaletteFromModelViewMatrixOES"));
-    glMatrixIndexPointerOES =
-        reinterpret_cast<PFNGLMATRIXINDEXPOINTEROESPROC>(loadProc("glMatrixIndexPointerOES"));
-    glWeightPointerOES =
-        reinterpret_cast<PFNGLWEIGHTPOINTEROESPROC>(loadProc("glWeightPointerOES"));
-    glPointSizePointerOES =
-        reinterpret_cast<PFNGLPOINTSIZEPOINTEROESPROC>(loadProc("glPointSizePointerOES"));
-    glQueryMatrixxOES = reinterpret_cast<PFNGLQUERYMATRIXXOESPROC>(loadProc("glQueryMatrixxOES"));
-    glGetTexGenfvOES  = reinterpret_cast<PFNGLGETTEXGENFVOESPROC>(loadProc("glGetTexGenfvOES"));
-    glGetTexGenivOES  = reinterpret_cast<PFNGLGETTEXGENIVOESPROC>(loadProc("glGetTexGenivOES"));
-    glGetTexGenxvOES  = reinterpret_cast<PFNGLGETTEXGENXVOESPROC>(loadProc("glGetTexGenxvOES"));
-    glTexGenfOES      = reinterpret_cast<PFNGLTEXGENFOESPROC>(loadProc("glTexGenfOES"));
-    glTexGenfvOES     = reinterpret_cast<PFNGLTEXGENFVOESPROC>(loadProc("glTexGenfvOES"));
-    glTexGeniOES      = reinterpret_cast<PFNGLTEXGENIOESPROC>(loadProc("glTexGeniOES"));
-    glTexGenivOES     = reinterpret_cast<PFNGLTEXGENIVOESPROC>(loadProc("glTexGenivOES"));
-    glTexGenxOES      = reinterpret_cast<PFNGLTEXGENXOESPROC>(loadProc("glTexGenxOES"));
-    glTexGenxvOES     = reinterpret_cast<PFNGLTEXGENXVOESPROC>(loadProc("glTexGenxvOES"));
-    glAlphaFuncContextANGLE =
-        reinterpret_cast<PFNGLALPHAFUNCCONTEXTANGLEPROC>(loadProc("glAlphaFuncContextANGLE"));
-    glClipPlanefContextANGLE =
-        reinterpret_cast<PFNGLCLIPPLANEFCONTEXTANGLEPROC>(loadProc("glClipPlanefContextANGLE"));
-    glColor4fContextANGLE =
-        reinterpret_cast<PFNGLCOLOR4FCONTEXTANGLEPROC>(loadProc("glColor4fContextANGLE"));
-    glFogfContextANGLE =
-        reinterpret_cast<PFNGLFOGFCONTEXTANGLEPROC>(loadProc("glFogfContextANGLE"));
-    glFogfvContextANGLE =
-        reinterpret_cast<PFNGLFOGFVCONTEXTANGLEPROC>(loadProc("glFogfvContextANGLE"));
-    glFrustumfContextANGLE =
-        reinterpret_cast<PFNGLFRUSTUMFCONTEXTANGLEPROC>(loadProc("glFrustumfContextANGLE"));
-    glGetClipPlanefContextANGLE = reinterpret_cast<PFNGLGETCLIPPLANEFCONTEXTANGLEPROC>(
-        loadProc("glGetClipPlanefContextANGLE"));
-    glGetLightfvContextANGLE =
-        reinterpret_cast<PFNGLGETLIGHTFVCONTEXTANGLEPROC>(loadProc("glGetLightfvContextANGLE"));
-    glGetMaterialfvContextANGLE = reinterpret_cast<PFNGLGETMATERIALFVCONTEXTANGLEPROC>(
-        loadProc("glGetMaterialfvContextANGLE"));
-    glGetTexEnvfvContextANGLE =
-        reinterpret_cast<PFNGLGETTEXENVFVCONTEXTANGLEPROC>(loadProc("glGetTexEnvfvContextANGLE"));
-    glLightModelfContextANGLE =
-        reinterpret_cast<PFNGLLIGHTMODELFCONTEXTANGLEPROC>(loadProc("glLightModelfContextANGLE"));
-    glLightModelfvContextANGLE =
-        reinterpret_cast<PFNGLLIGHTMODELFVCONTEXTANGLEPROC>(loadProc("glLightModelfvContextANGLE"));
-    glLightfContextANGLE =
-        reinterpret_cast<PFNGLLIGHTFCONTEXTANGLEPROC>(loadProc("glLightfContextANGLE"));
-    glLightfvContextANGLE =
-        reinterpret_cast<PFNGLLIGHTFVCONTEXTANGLEPROC>(loadProc("glLightfvContextANGLE"));
-    glLoadMatrixfContextANGLE =
-        reinterpret_cast<PFNGLLOADMATRIXFCONTEXTANGLEPROC>(loadProc("glLoadMatrixfContextANGLE"));
-    glMaterialfContextANGLE =
-        reinterpret_cast<PFNGLMATERIALFCONTEXTANGLEPROC>(loadProc("glMaterialfContextANGLE"));
-    glMaterialfvContextANGLE =
-        reinterpret_cast<PFNGLMATERIALFVCONTEXTANGLEPROC>(loadProc("glMaterialfvContextANGLE"));
-    glMultMatrixfContextANGLE =
-        reinterpret_cast<PFNGLMULTMATRIXFCONTEXTANGLEPROC>(loadProc("glMultMatrixfContextANGLE"));
-    glMultiTexCoord4fContextANGLE = reinterpret_cast<PFNGLMULTITEXCOORD4FCONTEXTANGLEPROC>(
-        loadProc("glMultiTexCoord4fContextANGLE"));
-    glNormal3fContextANGLE =
-        reinterpret_cast<PFNGLNORMAL3FCONTEXTANGLEPROC>(loadProc("glNormal3fContextANGLE"));
-    glOrthofContextANGLE =
-        reinterpret_cast<PFNGLORTHOFCONTEXTANGLEPROC>(loadProc("glOrthofContextANGLE"));
-    glPointParameterfContextANGLE = reinterpret_cast<PFNGLPOINTPARAMETERFCONTEXTANGLEPROC>(
-        loadProc("glPointParameterfContextANGLE"));
-    glPointParameterfvContextANGLE = reinterpret_cast<PFNGLPOINTPARAMETERFVCONTEXTANGLEPROC>(
-        loadProc("glPointParameterfvContextANGLE"));
-    glPointSizeContextANGLE =
-        reinterpret_cast<PFNGLPOINTSIZECONTEXTANGLEPROC>(loadProc("glPointSizeContextANGLE"));
-    glRotatefContextANGLE =
-        reinterpret_cast<PFNGLROTATEFCONTEXTANGLEPROC>(loadProc("glRotatefContextANGLE"));
-    glScalefContextANGLE =
-        reinterpret_cast<PFNGLSCALEFCONTEXTANGLEPROC>(loadProc("glScalefContextANGLE"));
-    glTexEnvfContextANGLE =
-        reinterpret_cast<PFNGLTEXENVFCONTEXTANGLEPROC>(loadProc("glTexEnvfContextANGLE"));
-    glTexEnvfvContextANGLE =
-        reinterpret_cast<PFNGLTEXENVFVCONTEXTANGLEPROC>(loadProc("glTexEnvfvContextANGLE"));
-    glTranslatefContextANGLE =
-        reinterpret_cast<PFNGLTRANSLATEFCONTEXTANGLEPROC>(loadProc("glTranslatefContextANGLE"));
-    glAlphaFuncxContextANGLE =
-        reinterpret_cast<PFNGLALPHAFUNCXCONTEXTANGLEPROC>(loadProc("glAlphaFuncxContextANGLE"));
-    glClearColorxContextANGLE =
-        reinterpret_cast<PFNGLCLEARCOLORXCONTEXTANGLEPROC>(loadProc("glClearColorxContextANGLE"));
-    glClearDepthxContextANGLE =
-        reinterpret_cast<PFNGLCLEARDEPTHXCONTEXTANGLEPROC>(loadProc("glClearDepthxContextANGLE"));
-    glClientActiveTextureContextANGLE = reinterpret_cast<PFNGLCLIENTACTIVETEXTURECONTEXTANGLEPROC>(
-        loadProc("glClientActiveTextureContextANGLE"));
-    glClipPlanexContextANGLE =
-        reinterpret_cast<PFNGLCLIPPLANEXCONTEXTANGLEPROC>(loadProc("glClipPlanexContextANGLE"));
-    glColor4ubContextANGLE =
-        reinterpret_cast<PFNGLCOLOR4UBCONTEXTANGLEPROC>(loadProc("glColor4ubContextANGLE"));
-    glColor4xContextANGLE =
-        reinterpret_cast<PFNGLCOLOR4XCONTEXTANGLEPROC>(loadProc("glColor4xContextANGLE"));
-    glColorPointerContextANGLE =
-        reinterpret_cast<PFNGLCOLORPOINTERCONTEXTANGLEPROC>(loadProc("glColorPointerContextANGLE"));
-    glDepthRangexContextANGLE =
-        reinterpret_cast<PFNGLDEPTHRANGEXCONTEXTANGLEPROC>(loadProc("glDepthRangexContextANGLE"));
-    glDisableClientStateContextANGLE = reinterpret_cast<PFNGLDISABLECLIENTSTATECONTEXTANGLEPROC>(
-        loadProc("glDisableClientStateContextANGLE"));
-    glEnableClientStateContextANGLE = reinterpret_cast<PFNGLENABLECLIENTSTATECONTEXTANGLEPROC>(
-        loadProc("glEnableClientStateContextANGLE"));
-    glFogxContextANGLE =
-        reinterpret_cast<PFNGLFOGXCONTEXTANGLEPROC>(loadProc("glFogxContextANGLE"));
-    glFogxvContextANGLE =
-        reinterpret_cast<PFNGLFOGXVCONTEXTANGLEPROC>(loadProc("glFogxvContextANGLE"));
-    glFrustumxContextANGLE =
-        reinterpret_cast<PFNGLFRUSTUMXCONTEXTANGLEPROC>(loadProc("glFrustumxContextANGLE"));
-    glGetClipPlanexContextANGLE = reinterpret_cast<PFNGLGETCLIPPLANEXCONTEXTANGLEPROC>(
-        loadProc("glGetClipPlanexContextANGLE"));
-    glGetFixedvContextANGLE =
-        reinterpret_cast<PFNGLGETFIXEDVCONTEXTANGLEPROC>(loadProc("glGetFixedvContextANGLE"));
-    glGetLightxvContextANGLE =
-        reinterpret_cast<PFNGLGETLIGHTXVCONTEXTANGLEPROC>(loadProc("glGetLightxvContextANGLE"));
-    glGetMaterialxvContextANGLE = reinterpret_cast<PFNGLGETMATERIALXVCONTEXTANGLEPROC>(
-        loadProc("glGetMaterialxvContextANGLE"));
-    glGetPointervContextANGLE =
-        reinterpret_cast<PFNGLGETPOINTERVCONTEXTANGLEPROC>(loadProc("glGetPointervContextANGLE"));
-    glGetTexEnvivContextANGLE =
-        reinterpret_cast<PFNGLGETTEXENVIVCONTEXTANGLEPROC>(loadProc("glGetTexEnvivContextANGLE"));
-    glGetTexEnvxvContextANGLE =
-        reinterpret_cast<PFNGLGETTEXENVXVCONTEXTANGLEPROC>(loadProc("glGetTexEnvxvContextANGLE"));
-    glGetTexParameterxvContextANGLE = reinterpret_cast<PFNGLGETTEXPARAMETERXVCONTEXTANGLEPROC>(
-        loadProc("glGetTexParameterxvContextANGLE"));
-    glLightModelxContextANGLE =
-        reinterpret_cast<PFNGLLIGHTMODELXCONTEXTANGLEPROC>(loadProc("glLightModelxContextANGLE"));
-    glLightModelxvContextANGLE =
-        reinterpret_cast<PFNGLLIGHTMODELXVCONTEXTANGLEPROC>(loadProc("glLightModelxvContextANGLE"));
-    glLightxContextANGLE =
-        reinterpret_cast<PFNGLLIGHTXCONTEXTANGLEPROC>(loadProc("glLightxContextANGLE"));
-    glLightxvContextANGLE =
-        reinterpret_cast<PFNGLLIGHTXVCONTEXTANGLEPROC>(loadProc("glLightxvContextANGLE"));
-    glLineWidthxContextANGLE =
-        reinterpret_cast<PFNGLLINEWIDTHXCONTEXTANGLEPROC>(loadProc("glLineWidthxContextANGLE"));
-    glLoadIdentityContextANGLE =
-        reinterpret_cast<PFNGLLOADIDENTITYCONTEXTANGLEPROC>(loadProc("glLoadIdentityContextANGLE"));
-    glLoadMatrixxContextANGLE =
-        reinterpret_cast<PFNGLLOADMATRIXXCONTEXTANGLEPROC>(loadProc("glLoadMatrixxContextANGLE"));
-    glLogicOpContextANGLE =
-        reinterpret_cast<PFNGLLOGICOPCONTEXTANGLEPROC>(loadProc("glLogicOpContextANGLE"));
-    glMaterialxContextANGLE =
-        reinterpret_cast<PFNGLMATERIALXCONTEXTANGLEPROC>(loadProc("glMaterialxContextANGLE"));
-    glMaterialxvContextANGLE =
-        reinterpret_cast<PFNGLMATERIALXVCONTEXTANGLEPROC>(loadProc("glMaterialxvContextANGLE"));
-    glMatrixModeContextANGLE =
-        reinterpret_cast<PFNGLMATRIXMODECONTEXTANGLEPROC>(loadProc("glMatrixModeContextANGLE"));
-    glMultMatrixxContextANGLE =
-        reinterpret_cast<PFNGLMULTMATRIXXCONTEXTANGLEPROC>(loadProc("glMultMatrixxContextANGLE"));
-    glMultiTexCoord4xContextANGLE = reinterpret_cast<PFNGLMULTITEXCOORD4XCONTEXTANGLEPROC>(
-        loadProc("glMultiTexCoord4xContextANGLE"));
-    glNormal3xContextANGLE =
-        reinterpret_cast<PFNGLNORMAL3XCONTEXTANGLEPROC>(loadProc("glNormal3xContextANGLE"));
-    glNormalPointerContextANGLE = reinterpret_cast<PFNGLNORMALPOINTERCONTEXTANGLEPROC>(
-        loadProc("glNormalPointerContextANGLE"));
-    glOrthoxContextANGLE =
-        reinterpret_cast<PFNGLORTHOXCONTEXTANGLEPROC>(loadProc("glOrthoxContextANGLE"));
-    glPointParameterxContextANGLE = reinterpret_cast<PFNGLPOINTPARAMETERXCONTEXTANGLEPROC>(
-        loadProc("glPointParameterxContextANGLE"));
-    glPointParameterxvContextANGLE = reinterpret_cast<PFNGLPOINTPARAMETERXVCONTEXTANGLEPROC>(
-        loadProc("glPointParameterxvContextANGLE"));
-    glPointSizexContextANGLE =
-        reinterpret_cast<PFNGLPOINTSIZEXCONTEXTANGLEPROC>(loadProc("glPointSizexContextANGLE"));
-    glPolygonOffsetxContextANGLE = reinterpret_cast<PFNGLPOLYGONOFFSETXCONTEXTANGLEPROC>(
-        loadProc("glPolygonOffsetxContextANGLE"));
-    glPopMatrixContextANGLE =
-        reinterpret_cast<PFNGLPOPMATRIXCONTEXTANGLEPROC>(loadProc("glPopMatrixContextANGLE"));
-    glPushMatrixContextANGLE =
-        reinterpret_cast<PFNGLPUSHMATRIXCONTEXTANGLEPROC>(loadProc("glPushMatrixContextANGLE"));
-    glRotatexContextANGLE =
-        reinterpret_cast<PFNGLROTATEXCONTEXTANGLEPROC>(loadProc("glRotatexContextANGLE"));
-    glSampleCoveragexContextANGLE = reinterpret_cast<PFNGLSAMPLECOVERAGEXCONTEXTANGLEPROC>(
-        loadProc("glSampleCoveragexContextANGLE"));
-    glScalexContextANGLE =
-        reinterpret_cast<PFNGLSCALEXCONTEXTANGLEPROC>(loadProc("glScalexContextANGLE"));
-    glShadeModelContextANGLE =
-        reinterpret_cast<PFNGLSHADEMODELCONTEXTANGLEPROC>(loadProc("glShadeModelContextANGLE"));
-    glTexCoordPointerContextANGLE = reinterpret_cast<PFNGLTEXCOORDPOINTERCONTEXTANGLEPROC>(
-        loadProc("glTexCoordPointerContextANGLE"));
-    glTexEnviContextANGLE =
-        reinterpret_cast<PFNGLTEXENVICONTEXTANGLEPROC>(loadProc("glTexEnviContextANGLE"));
-    glTexEnvxContextANGLE =
-        reinterpret_cast<PFNGLTEXENVXCONTEXTANGLEPROC>(loadProc("glTexEnvxContextANGLE"));
-    glTexEnvivContextANGLE =
-        reinterpret_cast<PFNGLTEXENVIVCONTEXTANGLEPROC>(loadProc("glTexEnvivContextANGLE"));
-    glTexEnvxvContextANGLE =
-        reinterpret_cast<PFNGLTEXENVXVCONTEXTANGLEPROC>(loadProc("glTexEnvxvContextANGLE"));
-    glTexParameterxContextANGLE = reinterpret_cast<PFNGLTEXPARAMETERXCONTEXTANGLEPROC>(
-        loadProc("glTexParameterxContextANGLE"));
-    glTexParameterxvContextANGLE = reinterpret_cast<PFNGLTEXPARAMETERXVCONTEXTANGLEPROC>(
-        loadProc("glTexParameterxvContextANGLE"));
-    glTranslatexContextANGLE =
-        reinterpret_cast<PFNGLTRANSLATEXCONTEXTANGLEPROC>(loadProc("glTranslatexContextANGLE"));
-    glVertexPointerContextANGLE = reinterpret_cast<PFNGLVERTEXPOINTERCONTEXTANGLEPROC>(
-        loadProc("glVertexPointerContextANGLE"));
-    glActiveTextureContextANGLE = reinterpret_cast<PFNGLACTIVETEXTURECONTEXTANGLEPROC>(
-        loadProc("glActiveTextureContextANGLE"));
-    glAttachShaderContextANGLE =
-        reinterpret_cast<PFNGLATTACHSHADERCONTEXTANGLEPROC>(loadProc("glAttachShaderContextANGLE"));
-    glBindAttribLocationContextANGLE = reinterpret_cast<PFNGLBINDATTRIBLOCATIONCONTEXTANGLEPROC>(
-        loadProc("glBindAttribLocationContextANGLE"));
-    glBindBufferContextANGLE =
-        reinterpret_cast<PFNGLBINDBUFFERCONTEXTANGLEPROC>(loadProc("glBindBufferContextANGLE"));
-    glBindFramebufferContextANGLE = reinterpret_cast<PFNGLBINDFRAMEBUFFERCONTEXTANGLEPROC>(
-        loadProc("glBindFramebufferContextANGLE"));
-    glBindRenderbufferContextANGLE = reinterpret_cast<PFNGLBINDRENDERBUFFERCONTEXTANGLEPROC>(
-        loadProc("glBindRenderbufferContextANGLE"));
-    glBindTextureContextANGLE =
-        reinterpret_cast<PFNGLBINDTEXTURECONTEXTANGLEPROC>(loadProc("glBindTextureContextANGLE"));
-    glBlendColorContextANGLE =
-        reinterpret_cast<PFNGLBLENDCOLORCONTEXTANGLEPROC>(loadProc("glBlendColorContextANGLE"));
-    glBlendEquationContextANGLE = reinterpret_cast<PFNGLBLENDEQUATIONCONTEXTANGLEPROC>(
-        loadProc("glBlendEquationContextANGLE"));
-    glBlendEquationSeparateContextANGLE =
-        reinterpret_cast<PFNGLBLENDEQUATIONSEPARATECONTEXTANGLEPROC>(
-            loadProc("glBlendEquationSeparateContextANGLE"));
-    glBlendFuncContextANGLE =
-        reinterpret_cast<PFNGLBLENDFUNCCONTEXTANGLEPROC>(loadProc("glBlendFuncContextANGLE"));
-    glBlendFuncSeparateContextANGLE = reinterpret_cast<PFNGLBLENDFUNCSEPARATECONTEXTANGLEPROC>(
-        loadProc("glBlendFuncSeparateContextANGLE"));
-    glBufferDataContextANGLE =
-        reinterpret_cast<PFNGLBUFFERDATACONTEXTANGLEPROC>(loadProc("glBufferDataContextANGLE"));
-    glBufferSubDataContextANGLE = reinterpret_cast<PFNGLBUFFERSUBDATACONTEXTANGLEPROC>(
-        loadProc("glBufferSubDataContextANGLE"));
-    glCheckFramebufferStatusContextANGLE =
-        reinterpret_cast<PFNGLCHECKFRAMEBUFFERSTATUSCONTEXTANGLEPROC>(
-            loadProc("glCheckFramebufferStatusContextANGLE"));
-    glClearContextANGLE =
-        reinterpret_cast<PFNGLCLEARCONTEXTANGLEPROC>(loadProc("glClearContextANGLE"));
-    glClearColorContextANGLE =
-        reinterpret_cast<PFNGLCLEARCOLORCONTEXTANGLEPROC>(loadProc("glClearColorContextANGLE"));
-    glClearDepthfContextANGLE =
-        reinterpret_cast<PFNGLCLEARDEPTHFCONTEXTANGLEPROC>(loadProc("glClearDepthfContextANGLE"));
-    glClearStencilContextANGLE =
-        reinterpret_cast<PFNGLCLEARSTENCILCONTEXTANGLEPROC>(loadProc("glClearStencilContextANGLE"));
-    glColorMaskContextANGLE =
-        reinterpret_cast<PFNGLCOLORMASKCONTEXTANGLEPROC>(loadProc("glColorMaskContextANGLE"));
-    glCompileShaderContextANGLE = reinterpret_cast<PFNGLCOMPILESHADERCONTEXTANGLEPROC>(
-        loadProc("glCompileShaderContextANGLE"));
-    glCompressedTexImage2DContextANGLE =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE2DCONTEXTANGLEPROC>(
-            loadProc("glCompressedTexImage2DContextANGLE"));
-    glCompressedTexSubImage2DContextANGLE =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE2DCONTEXTANGLEPROC>(
-            loadProc("glCompressedTexSubImage2DContextANGLE"));
-    glCopyTexImage2DContextANGLE = reinterpret_cast<PFNGLCOPYTEXIMAGE2DCONTEXTANGLEPROC>(
-        loadProc("glCopyTexImage2DContextANGLE"));
-    glCopyTexSubImage2DContextANGLE = reinterpret_cast<PFNGLCOPYTEXSUBIMAGE2DCONTEXTANGLEPROC>(
-        loadProc("glCopyTexSubImage2DContextANGLE"));
-    glCreateProgramContextANGLE = reinterpret_cast<PFNGLCREATEPROGRAMCONTEXTANGLEPROC>(
-        loadProc("glCreateProgramContextANGLE"));
-    glCreateShaderContextANGLE =
-        reinterpret_cast<PFNGLCREATESHADERCONTEXTANGLEPROC>(loadProc("glCreateShaderContextANGLE"));
-    glCullFaceContextANGLE =
-        reinterpret_cast<PFNGLCULLFACECONTEXTANGLEPROC>(loadProc("glCullFaceContextANGLE"));
-    glDeleteBuffersContextANGLE = reinterpret_cast<PFNGLDELETEBUFFERSCONTEXTANGLEPROC>(
-        loadProc("glDeleteBuffersContextANGLE"));
-    glDeleteFramebuffersContextANGLE = reinterpret_cast<PFNGLDELETEFRAMEBUFFERSCONTEXTANGLEPROC>(
-        loadProc("glDeleteFramebuffersContextANGLE"));
-    glDeleteProgramContextANGLE = reinterpret_cast<PFNGLDELETEPROGRAMCONTEXTANGLEPROC>(
-        loadProc("glDeleteProgramContextANGLE"));
-    glDeleteRenderbuffersContextANGLE = reinterpret_cast<PFNGLDELETERENDERBUFFERSCONTEXTANGLEPROC>(
-        loadProc("glDeleteRenderbuffersContextANGLE"));
-    glDeleteShaderContextANGLE =
-        reinterpret_cast<PFNGLDELETESHADERCONTEXTANGLEPROC>(loadProc("glDeleteShaderContextANGLE"));
-    glDeleteTexturesContextANGLE = reinterpret_cast<PFNGLDELETETEXTURESCONTEXTANGLEPROC>(
-        loadProc("glDeleteTexturesContextANGLE"));
-    glDepthFuncContextANGLE =
-        reinterpret_cast<PFNGLDEPTHFUNCCONTEXTANGLEPROC>(loadProc("glDepthFuncContextANGLE"));
-    glDepthMaskContextANGLE =
-        reinterpret_cast<PFNGLDEPTHMASKCONTEXTANGLEPROC>(loadProc("glDepthMaskContextANGLE"));
-    glDepthRangefContextANGLE =
-        reinterpret_cast<PFNGLDEPTHRANGEFCONTEXTANGLEPROC>(loadProc("glDepthRangefContextANGLE"));
-    glDetachShaderContextANGLE =
-        reinterpret_cast<PFNGLDETACHSHADERCONTEXTANGLEPROC>(loadProc("glDetachShaderContextANGLE"));
-    glDisableContextANGLE =
-        reinterpret_cast<PFNGLDISABLECONTEXTANGLEPROC>(loadProc("glDisableContextANGLE"));
-    glDisableVertexAttribArrayContextANGLE =
-        reinterpret_cast<PFNGLDISABLEVERTEXATTRIBARRAYCONTEXTANGLEPROC>(
-            loadProc("glDisableVertexAttribArrayContextANGLE"));
-    glDrawArraysContextANGLE =
-        reinterpret_cast<PFNGLDRAWARRAYSCONTEXTANGLEPROC>(loadProc("glDrawArraysContextANGLE"));
-    glDrawElementsContextANGLE =
-        reinterpret_cast<PFNGLDRAWELEMENTSCONTEXTANGLEPROC>(loadProc("glDrawElementsContextANGLE"));
-    glEnableContextANGLE =
-        reinterpret_cast<PFNGLENABLECONTEXTANGLEPROC>(loadProc("glEnableContextANGLE"));
-    glEnableVertexAttribArrayContextANGLE =
-        reinterpret_cast<PFNGLENABLEVERTEXATTRIBARRAYCONTEXTANGLEPROC>(
-            loadProc("glEnableVertexAttribArrayContextANGLE"));
-    glFinishContextANGLE =
-        reinterpret_cast<PFNGLFINISHCONTEXTANGLEPROC>(loadProc("glFinishContextANGLE"));
-    glFlushContextANGLE =
-        reinterpret_cast<PFNGLFLUSHCONTEXTANGLEPROC>(loadProc("glFlushContextANGLE"));
-    glFramebufferRenderbufferContextANGLE =
-        reinterpret_cast<PFNGLFRAMEBUFFERRENDERBUFFERCONTEXTANGLEPROC>(
-            loadProc("glFramebufferRenderbufferContextANGLE"));
-    glFramebufferTexture2DContextANGLE =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTURE2DCONTEXTANGLEPROC>(
-            loadProc("glFramebufferTexture2DContextANGLE"));
-    glFrontFaceContextANGLE =
-        reinterpret_cast<PFNGLFRONTFACECONTEXTANGLEPROC>(loadProc("glFrontFaceContextANGLE"));
-    glGenBuffersContextANGLE =
-        reinterpret_cast<PFNGLGENBUFFERSCONTEXTANGLEPROC>(loadProc("glGenBuffersContextANGLE"));
-    glGenerateMipmapContextANGLE = reinterpret_cast<PFNGLGENERATEMIPMAPCONTEXTANGLEPROC>(
-        loadProc("glGenerateMipmapContextANGLE"));
-    glGenFramebuffersContextANGLE = reinterpret_cast<PFNGLGENFRAMEBUFFERSCONTEXTANGLEPROC>(
-        loadProc("glGenFramebuffersContextANGLE"));
-    glGenRenderbuffersContextANGLE = reinterpret_cast<PFNGLGENRENDERBUFFERSCONTEXTANGLEPROC>(
-        loadProc("glGenRenderbuffersContextANGLE"));
-    glGenTexturesContextANGLE =
-        reinterpret_cast<PFNGLGENTEXTURESCONTEXTANGLEPROC>(loadProc("glGenTexturesContextANGLE"));
-    glGetActiveAttribContextANGLE = reinterpret_cast<PFNGLGETACTIVEATTRIBCONTEXTANGLEPROC>(
-        loadProc("glGetActiveAttribContextANGLE"));
-    glGetActiveUniformContextANGLE = reinterpret_cast<PFNGLGETACTIVEUNIFORMCONTEXTANGLEPROC>(
-        loadProc("glGetActiveUniformContextANGLE"));
-    glGetAttachedShadersContextANGLE = reinterpret_cast<PFNGLGETATTACHEDSHADERSCONTEXTANGLEPROC>(
-        loadProc("glGetAttachedShadersContextANGLE"));
-    glGetAttribLocationContextANGLE = reinterpret_cast<PFNGLGETATTRIBLOCATIONCONTEXTANGLEPROC>(
-        loadProc("glGetAttribLocationContextANGLE"));
-    glGetBooleanvContextANGLE =
-        reinterpret_cast<PFNGLGETBOOLEANVCONTEXTANGLEPROC>(loadProc("glGetBooleanvContextANGLE"));
-    glGetBufferParameterivContextANGLE =
-        reinterpret_cast<PFNGLGETBUFFERPARAMETERIVCONTEXTANGLEPROC>(
-            loadProc("glGetBufferParameterivContextANGLE"));
-    glGetErrorContextANGLE =
-        reinterpret_cast<PFNGLGETERRORCONTEXTANGLEPROC>(loadProc("glGetErrorContextANGLE"));
-    glGetFloatvContextANGLE =
-        reinterpret_cast<PFNGLGETFLOATVCONTEXTANGLEPROC>(loadProc("glGetFloatvContextANGLE"));
-    glGetFramebufferAttachmentParameterivContextANGLE =
-        reinterpret_cast<PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVCONTEXTANGLEPROC>(
-            loadProc("glGetFramebufferAttachmentParameterivContextANGLE"));
-    glGetIntegervContextANGLE =
-        reinterpret_cast<PFNGLGETINTEGERVCONTEXTANGLEPROC>(loadProc("glGetIntegervContextANGLE"));
-    glGetProgramivContextANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMIVCONTEXTANGLEPROC>(loadProc("glGetProgramivContextANGLE"));
-    glGetProgramInfoLogContextANGLE = reinterpret_cast<PFNGLGETPROGRAMINFOLOGCONTEXTANGLEPROC>(
-        loadProc("glGetProgramInfoLogContextANGLE"));
-    glGetRenderbufferParameterivContextANGLE =
-        reinterpret_cast<PFNGLGETRENDERBUFFERPARAMETERIVCONTEXTANGLEPROC>(
-            loadProc("glGetRenderbufferParameterivContextANGLE"));
-    glGetShaderivContextANGLE =
-        reinterpret_cast<PFNGLGETSHADERIVCONTEXTANGLEPROC>(loadProc("glGetShaderivContextANGLE"));
-    glGetShaderInfoLogContextANGLE = reinterpret_cast<PFNGLGETSHADERINFOLOGCONTEXTANGLEPROC>(
-        loadProc("glGetShaderInfoLogContextANGLE"));
-    glGetShaderPrecisionFormatContextANGLE =
-        reinterpret_cast<PFNGLGETSHADERPRECISIONFORMATCONTEXTANGLEPROC>(
-            loadProc("glGetShaderPrecisionFormatContextANGLE"));
-    glGetShaderSourceContextANGLE = reinterpret_cast<PFNGLGETSHADERSOURCECONTEXTANGLEPROC>(
-        loadProc("glGetShaderSourceContextANGLE"));
-    glGetStringContextANGLE =
-        reinterpret_cast<PFNGLGETSTRINGCONTEXTANGLEPROC>(loadProc("glGetStringContextANGLE"));
-    glGetTexParameterfvContextANGLE = reinterpret_cast<PFNGLGETTEXPARAMETERFVCONTEXTANGLEPROC>(
-        loadProc("glGetTexParameterfvContextANGLE"));
-    glGetTexParameterivContextANGLE = reinterpret_cast<PFNGLGETTEXPARAMETERIVCONTEXTANGLEPROC>(
-        loadProc("glGetTexParameterivContextANGLE"));
-    glGetUniformfvContextANGLE =
-        reinterpret_cast<PFNGLGETUNIFORMFVCONTEXTANGLEPROC>(loadProc("glGetUniformfvContextANGLE"));
-    glGetUniformivContextANGLE =
-        reinterpret_cast<PFNGLGETUNIFORMIVCONTEXTANGLEPROC>(loadProc("glGetUniformivContextANGLE"));
-    glGetUniformLocationContextANGLE = reinterpret_cast<PFNGLGETUNIFORMLOCATIONCONTEXTANGLEPROC>(
-        loadProc("glGetUniformLocationContextANGLE"));
-    glGetVertexAttribfvContextANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBFVCONTEXTANGLEPROC>(
-        loadProc("glGetVertexAttribfvContextANGLE"));
-    glGetVertexAttribivContextANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBIVCONTEXTANGLEPROC>(
-        loadProc("glGetVertexAttribivContextANGLE"));
-    glGetVertexAttribPointervContextANGLE =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBPOINTERVCONTEXTANGLEPROC>(
-            loadProc("glGetVertexAttribPointervContextANGLE"));
-    glHintContextANGLE =
-        reinterpret_cast<PFNGLHINTCONTEXTANGLEPROC>(loadProc("glHintContextANGLE"));
-    glIsBufferContextANGLE =
-        reinterpret_cast<PFNGLISBUFFERCONTEXTANGLEPROC>(loadProc("glIsBufferContextANGLE"));
-    glIsEnabledContextANGLE =
-        reinterpret_cast<PFNGLISENABLEDCONTEXTANGLEPROC>(loadProc("glIsEnabledContextANGLE"));
-    glIsFramebufferContextANGLE = reinterpret_cast<PFNGLISFRAMEBUFFERCONTEXTANGLEPROC>(
-        loadProc("glIsFramebufferContextANGLE"));
-    glIsProgramContextANGLE =
-        reinterpret_cast<PFNGLISPROGRAMCONTEXTANGLEPROC>(loadProc("glIsProgramContextANGLE"));
-    glIsRenderbufferContextANGLE = reinterpret_cast<PFNGLISRENDERBUFFERCONTEXTANGLEPROC>(
-        loadProc("glIsRenderbufferContextANGLE"));
-    glIsShaderContextANGLE =
-        reinterpret_cast<PFNGLISSHADERCONTEXTANGLEPROC>(loadProc("glIsShaderContextANGLE"));
-    glIsTextureContextANGLE =
-        reinterpret_cast<PFNGLISTEXTURECONTEXTANGLEPROC>(loadProc("glIsTextureContextANGLE"));
-    glLineWidthContextANGLE =
-        reinterpret_cast<PFNGLLINEWIDTHCONTEXTANGLEPROC>(loadProc("glLineWidthContextANGLE"));
-    glLinkProgramContextANGLE =
-        reinterpret_cast<PFNGLLINKPROGRAMCONTEXTANGLEPROC>(loadProc("glLinkProgramContextANGLE"));
-    glPixelStoreiContextANGLE =
-        reinterpret_cast<PFNGLPIXELSTOREICONTEXTANGLEPROC>(loadProc("glPixelStoreiContextANGLE"));
-    glPolygonOffsetContextANGLE = reinterpret_cast<PFNGLPOLYGONOFFSETCONTEXTANGLEPROC>(
-        loadProc("glPolygonOffsetContextANGLE"));
-    glReadPixelsContextANGLE =
-        reinterpret_cast<PFNGLREADPIXELSCONTEXTANGLEPROC>(loadProc("glReadPixelsContextANGLE"));
-    glReleaseShaderCompilerContextANGLE =
-        reinterpret_cast<PFNGLRELEASESHADERCOMPILERCONTEXTANGLEPROC>(
-            loadProc("glReleaseShaderCompilerContextANGLE"));
-    glRenderbufferStorageContextANGLE = reinterpret_cast<PFNGLRENDERBUFFERSTORAGECONTEXTANGLEPROC>(
-        loadProc("glRenderbufferStorageContextANGLE"));
-    glSampleCoverageContextANGLE = reinterpret_cast<PFNGLSAMPLECOVERAGECONTEXTANGLEPROC>(
-        loadProc("glSampleCoverageContextANGLE"));
-    glScissorContextANGLE =
-        reinterpret_cast<PFNGLSCISSORCONTEXTANGLEPROC>(loadProc("glScissorContextANGLE"));
-    glShaderBinaryContextANGLE =
-        reinterpret_cast<PFNGLSHADERBINARYCONTEXTANGLEPROC>(loadProc("glShaderBinaryContextANGLE"));
-    glShaderSourceContextANGLE =
-        reinterpret_cast<PFNGLSHADERSOURCECONTEXTANGLEPROC>(loadProc("glShaderSourceContextANGLE"));
-    glStencilFuncContextANGLE =
-        reinterpret_cast<PFNGLSTENCILFUNCCONTEXTANGLEPROC>(loadProc("glStencilFuncContextANGLE"));
-    glStencilFuncSeparateContextANGLE = reinterpret_cast<PFNGLSTENCILFUNCSEPARATECONTEXTANGLEPROC>(
-        loadProc("glStencilFuncSeparateContextANGLE"));
-    glStencilMaskContextANGLE =
-        reinterpret_cast<PFNGLSTENCILMASKCONTEXTANGLEPROC>(loadProc("glStencilMaskContextANGLE"));
-    glStencilMaskSeparateContextANGLE = reinterpret_cast<PFNGLSTENCILMASKSEPARATECONTEXTANGLEPROC>(
-        loadProc("glStencilMaskSeparateContextANGLE"));
-    glStencilOpContextANGLE =
-        reinterpret_cast<PFNGLSTENCILOPCONTEXTANGLEPROC>(loadProc("glStencilOpContextANGLE"));
-    glStencilOpSeparateContextANGLE = reinterpret_cast<PFNGLSTENCILOPSEPARATECONTEXTANGLEPROC>(
-        loadProc("glStencilOpSeparateContextANGLE"));
-    glTexImage2DContextANGLE =
-        reinterpret_cast<PFNGLTEXIMAGE2DCONTEXTANGLEPROC>(loadProc("glTexImage2DContextANGLE"));
-    glTexParameterfContextANGLE = reinterpret_cast<PFNGLTEXPARAMETERFCONTEXTANGLEPROC>(
-        loadProc("glTexParameterfContextANGLE"));
-    glTexParameterfvContextANGLE = reinterpret_cast<PFNGLTEXPARAMETERFVCONTEXTANGLEPROC>(
-        loadProc("glTexParameterfvContextANGLE"));
-    glTexParameteriContextANGLE = reinterpret_cast<PFNGLTEXPARAMETERICONTEXTANGLEPROC>(
-        loadProc("glTexParameteriContextANGLE"));
-    glTexParameterivContextANGLE = reinterpret_cast<PFNGLTEXPARAMETERIVCONTEXTANGLEPROC>(
-        loadProc("glTexParameterivContextANGLE"));
-    glTexSubImage2DContextANGLE = reinterpret_cast<PFNGLTEXSUBIMAGE2DCONTEXTANGLEPROC>(
-        loadProc("glTexSubImage2DContextANGLE"));
-    glUniform1fContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM1FCONTEXTANGLEPROC>(loadProc("glUniform1fContextANGLE"));
-    glUniform1fvContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM1FVCONTEXTANGLEPROC>(loadProc("glUniform1fvContextANGLE"));
-    glUniform1iContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM1ICONTEXTANGLEPROC>(loadProc("glUniform1iContextANGLE"));
-    glUniform1ivContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM1IVCONTEXTANGLEPROC>(loadProc("glUniform1ivContextANGLE"));
-    glUniform2fContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM2FCONTEXTANGLEPROC>(loadProc("glUniform2fContextANGLE"));
-    glUniform2fvContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM2FVCONTEXTANGLEPROC>(loadProc("glUniform2fvContextANGLE"));
-    glUniform2iContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM2ICONTEXTANGLEPROC>(loadProc("glUniform2iContextANGLE"));
-    glUniform2ivContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM2IVCONTEXTANGLEPROC>(loadProc("glUniform2ivContextANGLE"));
-    glUniform3fContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM3FCONTEXTANGLEPROC>(loadProc("glUniform3fContextANGLE"));
-    glUniform3fvContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM3FVCONTEXTANGLEPROC>(loadProc("glUniform3fvContextANGLE"));
-    glUniform3iContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM3ICONTEXTANGLEPROC>(loadProc("glUniform3iContextANGLE"));
-    glUniform3ivContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM3IVCONTEXTANGLEPROC>(loadProc("glUniform3ivContextANGLE"));
-    glUniform4fContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM4FCONTEXTANGLEPROC>(loadProc("glUniform4fContextANGLE"));
-    glUniform4fvContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM4FVCONTEXTANGLEPROC>(loadProc("glUniform4fvContextANGLE"));
-    glUniform4iContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM4ICONTEXTANGLEPROC>(loadProc("glUniform4iContextANGLE"));
-    glUniform4ivContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM4IVCONTEXTANGLEPROC>(loadProc("glUniform4ivContextANGLE"));
-    glUniformMatrix2fvContextANGLE = reinterpret_cast<PFNGLUNIFORMMATRIX2FVCONTEXTANGLEPROC>(
-        loadProc("glUniformMatrix2fvContextANGLE"));
-    glUniformMatrix3fvContextANGLE = reinterpret_cast<PFNGLUNIFORMMATRIX3FVCONTEXTANGLEPROC>(
-        loadProc("glUniformMatrix3fvContextANGLE"));
-    glUniformMatrix4fvContextANGLE = reinterpret_cast<PFNGLUNIFORMMATRIX4FVCONTEXTANGLEPROC>(
-        loadProc("glUniformMatrix4fvContextANGLE"));
-    glUseProgramContextANGLE =
-        reinterpret_cast<PFNGLUSEPROGRAMCONTEXTANGLEPROC>(loadProc("glUseProgramContextANGLE"));
-    glValidateProgramContextANGLE = reinterpret_cast<PFNGLVALIDATEPROGRAMCONTEXTANGLEPROC>(
-        loadProc("glValidateProgramContextANGLE"));
-    glVertexAttrib1fContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIB1FCONTEXTANGLEPROC>(
-        loadProc("glVertexAttrib1fContextANGLE"));
-    glVertexAttrib1fvContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIB1FVCONTEXTANGLEPROC>(
-        loadProc("glVertexAttrib1fvContextANGLE"));
-    glVertexAttrib2fContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIB2FCONTEXTANGLEPROC>(
-        loadProc("glVertexAttrib2fContextANGLE"));
-    glVertexAttrib2fvContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIB2FVCONTEXTANGLEPROC>(
-        loadProc("glVertexAttrib2fvContextANGLE"));
-    glVertexAttrib3fContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIB3FCONTEXTANGLEPROC>(
-        loadProc("glVertexAttrib3fContextANGLE"));
-    glVertexAttrib3fvContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIB3FVCONTEXTANGLEPROC>(
-        loadProc("glVertexAttrib3fvContextANGLE"));
-    glVertexAttrib4fContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIB4FCONTEXTANGLEPROC>(
-        loadProc("glVertexAttrib4fContextANGLE"));
-    glVertexAttrib4fvContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIB4FVCONTEXTANGLEPROC>(
-        loadProc("glVertexAttrib4fvContextANGLE"));
-    glVertexAttribPointerContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIBPOINTERCONTEXTANGLEPROC>(
-        loadProc("glVertexAttribPointerContextANGLE"));
-    glViewportContextANGLE =
-        reinterpret_cast<PFNGLVIEWPORTCONTEXTANGLEPROC>(loadProc("glViewportContextANGLE"));
-    glReadBufferContextANGLE =
-        reinterpret_cast<PFNGLREADBUFFERCONTEXTANGLEPROC>(loadProc("glReadBufferContextANGLE"));
-    glDrawRangeElementsContextANGLE = reinterpret_cast<PFNGLDRAWRANGEELEMENTSCONTEXTANGLEPROC>(
-        loadProc("glDrawRangeElementsContextANGLE"));
-    glTexImage3DContextANGLE =
-        reinterpret_cast<PFNGLTEXIMAGE3DCONTEXTANGLEPROC>(loadProc("glTexImage3DContextANGLE"));
-    glTexSubImage3DContextANGLE = reinterpret_cast<PFNGLTEXSUBIMAGE3DCONTEXTANGLEPROC>(
-        loadProc("glTexSubImage3DContextANGLE"));
-    glCopyTexSubImage3DContextANGLE = reinterpret_cast<PFNGLCOPYTEXSUBIMAGE3DCONTEXTANGLEPROC>(
-        loadProc("glCopyTexSubImage3DContextANGLE"));
-    glCompressedTexImage3DContextANGLE =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE3DCONTEXTANGLEPROC>(
-            loadProc("glCompressedTexImage3DContextANGLE"));
-    glCompressedTexSubImage3DContextANGLE =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE3DCONTEXTANGLEPROC>(
-            loadProc("glCompressedTexSubImage3DContextANGLE"));
-    glGenQueriesContextANGLE =
-        reinterpret_cast<PFNGLGENQUERIESCONTEXTANGLEPROC>(loadProc("glGenQueriesContextANGLE"));
-    glDeleteQueriesContextANGLE = reinterpret_cast<PFNGLDELETEQUERIESCONTEXTANGLEPROC>(
-        loadProc("glDeleteQueriesContextANGLE"));
-    glIsQueryContextANGLE =
-        reinterpret_cast<PFNGLISQUERYCONTEXTANGLEPROC>(loadProc("glIsQueryContextANGLE"));
-    glBeginQueryContextANGLE =
-        reinterpret_cast<PFNGLBEGINQUERYCONTEXTANGLEPROC>(loadProc("glBeginQueryContextANGLE"));
-    glEndQueryContextANGLE =
-        reinterpret_cast<PFNGLENDQUERYCONTEXTANGLEPROC>(loadProc("glEndQueryContextANGLE"));
-    glGetQueryivContextANGLE =
-        reinterpret_cast<PFNGLGETQUERYIVCONTEXTANGLEPROC>(loadProc("glGetQueryivContextANGLE"));
-    glGetQueryObjectuivContextANGLE = reinterpret_cast<PFNGLGETQUERYOBJECTUIVCONTEXTANGLEPROC>(
-        loadProc("glGetQueryObjectuivContextANGLE"));
-    glUnmapBufferContextANGLE =
-        reinterpret_cast<PFNGLUNMAPBUFFERCONTEXTANGLEPROC>(loadProc("glUnmapBufferContextANGLE"));
-    glGetBufferPointervContextANGLE = reinterpret_cast<PFNGLGETBUFFERPOINTERVCONTEXTANGLEPROC>(
-        loadProc("glGetBufferPointervContextANGLE"));
-    glDrawBuffersContextANGLE =
-        reinterpret_cast<PFNGLDRAWBUFFERSCONTEXTANGLEPROC>(loadProc("glDrawBuffersContextANGLE"));
-    glUniformMatrix2x3fvContextANGLE = reinterpret_cast<PFNGLUNIFORMMATRIX2X3FVCONTEXTANGLEPROC>(
-        loadProc("glUniformMatrix2x3fvContextANGLE"));
-    glUniformMatrix3x2fvContextANGLE = reinterpret_cast<PFNGLUNIFORMMATRIX3X2FVCONTEXTANGLEPROC>(
-        loadProc("glUniformMatrix3x2fvContextANGLE"));
-    glUniformMatrix2x4fvContextANGLE = reinterpret_cast<PFNGLUNIFORMMATRIX2X4FVCONTEXTANGLEPROC>(
-        loadProc("glUniformMatrix2x4fvContextANGLE"));
-    glUniformMatrix4x2fvContextANGLE = reinterpret_cast<PFNGLUNIFORMMATRIX4X2FVCONTEXTANGLEPROC>(
-        loadProc("glUniformMatrix4x2fvContextANGLE"));
-    glUniformMatrix3x4fvContextANGLE = reinterpret_cast<PFNGLUNIFORMMATRIX3X4FVCONTEXTANGLEPROC>(
-        loadProc("glUniformMatrix3x4fvContextANGLE"));
-    glUniformMatrix4x3fvContextANGLE = reinterpret_cast<PFNGLUNIFORMMATRIX4X3FVCONTEXTANGLEPROC>(
-        loadProc("glUniformMatrix4x3fvContextANGLE"));
-    glBlitFramebufferContextANGLE = reinterpret_cast<PFNGLBLITFRAMEBUFFERCONTEXTANGLEPROC>(
-        loadProc("glBlitFramebufferContextANGLE"));
-    glRenderbufferStorageMultisampleContextANGLE =
-        reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLECONTEXTANGLEPROC>(
-            loadProc("glRenderbufferStorageMultisampleContextANGLE"));
-    glFramebufferTextureLayerContextANGLE =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTURELAYERCONTEXTANGLEPROC>(
-            loadProc("glFramebufferTextureLayerContextANGLE"));
-    glMapBufferRangeContextANGLE = reinterpret_cast<PFNGLMAPBUFFERRANGECONTEXTANGLEPROC>(
-        loadProc("glMapBufferRangeContextANGLE"));
-    glFlushMappedBufferRangeContextANGLE =
-        reinterpret_cast<PFNGLFLUSHMAPPEDBUFFERRANGECONTEXTANGLEPROC>(
-            loadProc("glFlushMappedBufferRangeContextANGLE"));
-    glBindVertexArrayContextANGLE = reinterpret_cast<PFNGLBINDVERTEXARRAYCONTEXTANGLEPROC>(
-        loadProc("glBindVertexArrayContextANGLE"));
-    glDeleteVertexArraysContextANGLE = reinterpret_cast<PFNGLDELETEVERTEXARRAYSCONTEXTANGLEPROC>(
-        loadProc("glDeleteVertexArraysContextANGLE"));
-    glGenVertexArraysContextANGLE = reinterpret_cast<PFNGLGENVERTEXARRAYSCONTEXTANGLEPROC>(
-        loadProc("glGenVertexArraysContextANGLE"));
-    glIsVertexArrayContextANGLE = reinterpret_cast<PFNGLISVERTEXARRAYCONTEXTANGLEPROC>(
-        loadProc("glIsVertexArrayContextANGLE"));
-    glGetIntegeri_vContextANGLE = reinterpret_cast<PFNGLGETINTEGERI_VCONTEXTANGLEPROC>(
-        loadProc("glGetIntegeri_vContextANGLE"));
-    glBeginTransformFeedbackContextANGLE =
-        reinterpret_cast<PFNGLBEGINTRANSFORMFEEDBACKCONTEXTANGLEPROC>(
-            loadProc("glBeginTransformFeedbackContextANGLE"));
-    glEndTransformFeedbackContextANGLE =
-        reinterpret_cast<PFNGLENDTRANSFORMFEEDBACKCONTEXTANGLEPROC>(
-            loadProc("glEndTransformFeedbackContextANGLE"));
-    glBindBufferRangeContextANGLE = reinterpret_cast<PFNGLBINDBUFFERRANGECONTEXTANGLEPROC>(
-        loadProc("glBindBufferRangeContextANGLE"));
-    glBindBufferBaseContextANGLE = reinterpret_cast<PFNGLBINDBUFFERBASECONTEXTANGLEPROC>(
-        loadProc("glBindBufferBaseContextANGLE"));
-    glTransformFeedbackVaryingsContextANGLE =
-        reinterpret_cast<PFNGLTRANSFORMFEEDBACKVARYINGSCONTEXTANGLEPROC>(
-            loadProc("glTransformFeedbackVaryingsContextANGLE"));
-    glGetTransformFeedbackVaryingContextANGLE =
-        reinterpret_cast<PFNGLGETTRANSFORMFEEDBACKVARYINGCONTEXTANGLEPROC>(
-            loadProc("glGetTransformFeedbackVaryingContextANGLE"));
-    glVertexAttribIPointerContextANGLE =
-        reinterpret_cast<PFNGLVERTEXATTRIBIPOINTERCONTEXTANGLEPROC>(
-            loadProc("glVertexAttribIPointerContextANGLE"));
-    glGetVertexAttribIivContextANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBIIVCONTEXTANGLEPROC>(
-        loadProc("glGetVertexAttribIivContextANGLE"));
-    glGetVertexAttribIuivContextANGLE = reinterpret_cast<PFNGLGETVERTEXATTRIBIUIVCONTEXTANGLEPROC>(
-        loadProc("glGetVertexAttribIuivContextANGLE"));
-    glVertexAttribI4iContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIBI4ICONTEXTANGLEPROC>(
-        loadProc("glVertexAttribI4iContextANGLE"));
-    glVertexAttribI4uiContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIBI4UICONTEXTANGLEPROC>(
-        loadProc("glVertexAttribI4uiContextANGLE"));
-    glVertexAttribI4ivContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIBI4IVCONTEXTANGLEPROC>(
-        loadProc("glVertexAttribI4ivContextANGLE"));
-    glVertexAttribI4uivContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIBI4UIVCONTEXTANGLEPROC>(
-        loadProc("glVertexAttribI4uivContextANGLE"));
-    glGetUniformuivContextANGLE = reinterpret_cast<PFNGLGETUNIFORMUIVCONTEXTANGLEPROC>(
-        loadProc("glGetUniformuivContextANGLE"));
-    glGetFragDataLocationContextANGLE = reinterpret_cast<PFNGLGETFRAGDATALOCATIONCONTEXTANGLEPROC>(
-        loadProc("glGetFragDataLocationContextANGLE"));
-    glUniform1uiContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM1UICONTEXTANGLEPROC>(loadProc("glUniform1uiContextANGLE"));
-    glUniform2uiContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM2UICONTEXTANGLEPROC>(loadProc("glUniform2uiContextANGLE"));
-    glUniform3uiContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM3UICONTEXTANGLEPROC>(loadProc("glUniform3uiContextANGLE"));
-    glUniform4uiContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM4UICONTEXTANGLEPROC>(loadProc("glUniform4uiContextANGLE"));
-    glUniform1uivContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM1UIVCONTEXTANGLEPROC>(loadProc("glUniform1uivContextANGLE"));
-    glUniform2uivContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM2UIVCONTEXTANGLEPROC>(loadProc("glUniform2uivContextANGLE"));
-    glUniform3uivContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM3UIVCONTEXTANGLEPROC>(loadProc("glUniform3uivContextANGLE"));
-    glUniform4uivContextANGLE =
-        reinterpret_cast<PFNGLUNIFORM4UIVCONTEXTANGLEPROC>(loadProc("glUniform4uivContextANGLE"));
-    glClearBufferivContextANGLE = reinterpret_cast<PFNGLCLEARBUFFERIVCONTEXTANGLEPROC>(
-        loadProc("glClearBufferivContextANGLE"));
-    glClearBufferuivContextANGLE = reinterpret_cast<PFNGLCLEARBUFFERUIVCONTEXTANGLEPROC>(
-        loadProc("glClearBufferuivContextANGLE"));
-    glClearBufferfvContextANGLE = reinterpret_cast<PFNGLCLEARBUFFERFVCONTEXTANGLEPROC>(
-        loadProc("glClearBufferfvContextANGLE"));
-    glClearBufferfiContextANGLE = reinterpret_cast<PFNGLCLEARBUFFERFICONTEXTANGLEPROC>(
-        loadProc("glClearBufferfiContextANGLE"));
-    glGetStringiContextANGLE =
-        reinterpret_cast<PFNGLGETSTRINGICONTEXTANGLEPROC>(loadProc("glGetStringiContextANGLE"));
-    glCopyBufferSubDataContextANGLE = reinterpret_cast<PFNGLCOPYBUFFERSUBDATACONTEXTANGLEPROC>(
-        loadProc("glCopyBufferSubDataContextANGLE"));
-    glGetUniformIndicesContextANGLE = reinterpret_cast<PFNGLGETUNIFORMINDICESCONTEXTANGLEPROC>(
-        loadProc("glGetUniformIndicesContextANGLE"));
-    glGetActiveUniformsivContextANGLE = reinterpret_cast<PFNGLGETACTIVEUNIFORMSIVCONTEXTANGLEPROC>(
-        loadProc("glGetActiveUniformsivContextANGLE"));
-    glGetUniformBlockIndexContextANGLE =
-        reinterpret_cast<PFNGLGETUNIFORMBLOCKINDEXCONTEXTANGLEPROC>(
-            loadProc("glGetUniformBlockIndexContextANGLE"));
-    glGetActiveUniformBlockivContextANGLE =
-        reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKIVCONTEXTANGLEPROC>(
-            loadProc("glGetActiveUniformBlockivContextANGLE"));
-    glGetActiveUniformBlockNameContextANGLE =
-        reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKNAMECONTEXTANGLEPROC>(
-            loadProc("glGetActiveUniformBlockNameContextANGLE"));
-    glUniformBlockBindingContextANGLE = reinterpret_cast<PFNGLUNIFORMBLOCKBINDINGCONTEXTANGLEPROC>(
-        loadProc("glUniformBlockBindingContextANGLE"));
-    glDrawArraysInstancedContextANGLE = reinterpret_cast<PFNGLDRAWARRAYSINSTANCEDCONTEXTANGLEPROC>(
-        loadProc("glDrawArraysInstancedContextANGLE"));
-    glDrawElementsInstancedContextANGLE =
-        reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDCONTEXTANGLEPROC>(
-            loadProc("glDrawElementsInstancedContextANGLE"));
-    glFenceSyncContextANGLE =
-        reinterpret_cast<PFNGLFENCESYNCCONTEXTANGLEPROC>(loadProc("glFenceSyncContextANGLE"));
-    glIsSyncContextANGLE =
-        reinterpret_cast<PFNGLISSYNCCONTEXTANGLEPROC>(loadProc("glIsSyncContextANGLE"));
-    glDeleteSyncContextANGLE =
-        reinterpret_cast<PFNGLDELETESYNCCONTEXTANGLEPROC>(loadProc("glDeleteSyncContextANGLE"));
-    glClientWaitSyncContextANGLE = reinterpret_cast<PFNGLCLIENTWAITSYNCCONTEXTANGLEPROC>(
-        loadProc("glClientWaitSyncContextANGLE"));
-    glWaitSyncContextANGLE =
-        reinterpret_cast<PFNGLWAITSYNCCONTEXTANGLEPROC>(loadProc("glWaitSyncContextANGLE"));
-    glGetInteger64vContextANGLE = reinterpret_cast<PFNGLGETINTEGER64VCONTEXTANGLEPROC>(
-        loadProc("glGetInteger64vContextANGLE"));
-    glGetSyncivContextANGLE =
-        reinterpret_cast<PFNGLGETSYNCIVCONTEXTANGLEPROC>(loadProc("glGetSyncivContextANGLE"));
-    glGetInteger64i_vContextANGLE = reinterpret_cast<PFNGLGETINTEGER64I_VCONTEXTANGLEPROC>(
-        loadProc("glGetInteger64i_vContextANGLE"));
-    glGetBufferParameteri64vContextANGLE =
-        reinterpret_cast<PFNGLGETBUFFERPARAMETERI64VCONTEXTANGLEPROC>(
-            loadProc("glGetBufferParameteri64vContextANGLE"));
-    glGenSamplersContextANGLE =
-        reinterpret_cast<PFNGLGENSAMPLERSCONTEXTANGLEPROC>(loadProc("glGenSamplersContextANGLE"));
-    glDeleteSamplersContextANGLE = reinterpret_cast<PFNGLDELETESAMPLERSCONTEXTANGLEPROC>(
-        loadProc("glDeleteSamplersContextANGLE"));
-    glIsSamplerContextANGLE =
-        reinterpret_cast<PFNGLISSAMPLERCONTEXTANGLEPROC>(loadProc("glIsSamplerContextANGLE"));
-    glBindSamplerContextANGLE =
-        reinterpret_cast<PFNGLBINDSAMPLERCONTEXTANGLEPROC>(loadProc("glBindSamplerContextANGLE"));
-    glSamplerParameteriContextANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERICONTEXTANGLEPROC>(
-        loadProc("glSamplerParameteriContextANGLE"));
-    glSamplerParameterivContextANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERIVCONTEXTANGLEPROC>(
-        loadProc("glSamplerParameterivContextANGLE"));
-    glSamplerParameterfContextANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERFCONTEXTANGLEPROC>(
-        loadProc("glSamplerParameterfContextANGLE"));
-    glSamplerParameterfvContextANGLE = reinterpret_cast<PFNGLSAMPLERPARAMETERFVCONTEXTANGLEPROC>(
-        loadProc("glSamplerParameterfvContextANGLE"));
-    glGetSamplerParameterivContextANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERIVCONTEXTANGLEPROC>(
-            loadProc("glGetSamplerParameterivContextANGLE"));
-    glGetSamplerParameterfvContextANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERFVCONTEXTANGLEPROC>(
-            loadProc("glGetSamplerParameterfvContextANGLE"));
-    glVertexAttribDivisorContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIBDIVISORCONTEXTANGLEPROC>(
-        loadProc("glVertexAttribDivisorContextANGLE"));
-    glBindTransformFeedbackContextANGLE =
-        reinterpret_cast<PFNGLBINDTRANSFORMFEEDBACKCONTEXTANGLEPROC>(
-            loadProc("glBindTransformFeedbackContextANGLE"));
-    glDeleteTransformFeedbacksContextANGLE =
-        reinterpret_cast<PFNGLDELETETRANSFORMFEEDBACKSCONTEXTANGLEPROC>(
-            loadProc("glDeleteTransformFeedbacksContextANGLE"));
-    glGenTransformFeedbacksContextANGLE =
-        reinterpret_cast<PFNGLGENTRANSFORMFEEDBACKSCONTEXTANGLEPROC>(
-            loadProc("glGenTransformFeedbacksContextANGLE"));
-    glIsTransformFeedbackContextANGLE = reinterpret_cast<PFNGLISTRANSFORMFEEDBACKCONTEXTANGLEPROC>(
-        loadProc("glIsTransformFeedbackContextANGLE"));
-    glPauseTransformFeedbackContextANGLE =
-        reinterpret_cast<PFNGLPAUSETRANSFORMFEEDBACKCONTEXTANGLEPROC>(
-            loadProc("glPauseTransformFeedbackContextANGLE"));
-    glResumeTransformFeedbackContextANGLE =
-        reinterpret_cast<PFNGLRESUMETRANSFORMFEEDBACKCONTEXTANGLEPROC>(
-            loadProc("glResumeTransformFeedbackContextANGLE"));
-    glGetProgramBinaryContextANGLE = reinterpret_cast<PFNGLGETPROGRAMBINARYCONTEXTANGLEPROC>(
-        loadProc("glGetProgramBinaryContextANGLE"));
-    glProgramBinaryContextANGLE = reinterpret_cast<PFNGLPROGRAMBINARYCONTEXTANGLEPROC>(
-        loadProc("glProgramBinaryContextANGLE"));
-    glProgramParameteriContextANGLE = reinterpret_cast<PFNGLPROGRAMPARAMETERICONTEXTANGLEPROC>(
-        loadProc("glProgramParameteriContextANGLE"));
-    glInvalidateFramebufferContextANGLE =
-        reinterpret_cast<PFNGLINVALIDATEFRAMEBUFFERCONTEXTANGLEPROC>(
-            loadProc("glInvalidateFramebufferContextANGLE"));
-    glInvalidateSubFramebufferContextANGLE =
-        reinterpret_cast<PFNGLINVALIDATESUBFRAMEBUFFERCONTEXTANGLEPROC>(
-            loadProc("glInvalidateSubFramebufferContextANGLE"));
-    glTexStorage2DContextANGLE =
-        reinterpret_cast<PFNGLTEXSTORAGE2DCONTEXTANGLEPROC>(loadProc("glTexStorage2DContextANGLE"));
-    glTexStorage3DContextANGLE =
-        reinterpret_cast<PFNGLTEXSTORAGE3DCONTEXTANGLEPROC>(loadProc("glTexStorage3DContextANGLE"));
-    glGetInternalformativContextANGLE = reinterpret_cast<PFNGLGETINTERNALFORMATIVCONTEXTANGLEPROC>(
-        loadProc("glGetInternalformativContextANGLE"));
-    glDispatchComputeContextANGLE = reinterpret_cast<PFNGLDISPATCHCOMPUTECONTEXTANGLEPROC>(
-        loadProc("glDispatchComputeContextANGLE"));
-    glDispatchComputeIndirectContextANGLE =
-        reinterpret_cast<PFNGLDISPATCHCOMPUTEINDIRECTCONTEXTANGLEPROC>(
-            loadProc("glDispatchComputeIndirectContextANGLE"));
-    glDrawArraysIndirectContextANGLE = reinterpret_cast<PFNGLDRAWARRAYSINDIRECTCONTEXTANGLEPROC>(
-        loadProc("glDrawArraysIndirectContextANGLE"));
-    glDrawElementsIndirectContextANGLE =
-        reinterpret_cast<PFNGLDRAWELEMENTSINDIRECTCONTEXTANGLEPROC>(
-            loadProc("glDrawElementsIndirectContextANGLE"));
-    glFramebufferParameteriContextANGLE =
-        reinterpret_cast<PFNGLFRAMEBUFFERPARAMETERICONTEXTANGLEPROC>(
-            loadProc("glFramebufferParameteriContextANGLE"));
-    glGetFramebufferParameterivContextANGLE =
-        reinterpret_cast<PFNGLGETFRAMEBUFFERPARAMETERIVCONTEXTANGLEPROC>(
-            loadProc("glGetFramebufferParameterivContextANGLE"));
-    glGetProgramInterfaceivContextANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMINTERFACEIVCONTEXTANGLEPROC>(
-            loadProc("glGetProgramInterfaceivContextANGLE"));
-    glGetProgramResourceIndexContextANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMRESOURCEINDEXCONTEXTANGLEPROC>(
-            loadProc("glGetProgramResourceIndexContextANGLE"));
-    glGetProgramResourceNameContextANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMRESOURCENAMECONTEXTANGLEPROC>(
-            loadProc("glGetProgramResourceNameContextANGLE"));
-    glGetProgramResourceivContextANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMRESOURCEIVCONTEXTANGLEPROC>(
-            loadProc("glGetProgramResourceivContextANGLE"));
-    glGetProgramResourceLocationContextANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMRESOURCELOCATIONCONTEXTANGLEPROC>(
-            loadProc("glGetProgramResourceLocationContextANGLE"));
-    glUseProgramStagesContextANGLE = reinterpret_cast<PFNGLUSEPROGRAMSTAGESCONTEXTANGLEPROC>(
-        loadProc("glUseProgramStagesContextANGLE"));
-    glActiveShaderProgramContextANGLE = reinterpret_cast<PFNGLACTIVESHADERPROGRAMCONTEXTANGLEPROC>(
-        loadProc("glActiveShaderProgramContextANGLE"));
-    glCreateShaderProgramvContextANGLE =
-        reinterpret_cast<PFNGLCREATESHADERPROGRAMVCONTEXTANGLEPROC>(
-            loadProc("glCreateShaderProgramvContextANGLE"));
-    glBindProgramPipelineContextANGLE = reinterpret_cast<PFNGLBINDPROGRAMPIPELINECONTEXTANGLEPROC>(
-        loadProc("glBindProgramPipelineContextANGLE"));
-    glDeleteProgramPipelinesContextANGLE =
-        reinterpret_cast<PFNGLDELETEPROGRAMPIPELINESCONTEXTANGLEPROC>(
-            loadProc("glDeleteProgramPipelinesContextANGLE"));
-    glGenProgramPipelinesContextANGLE = reinterpret_cast<PFNGLGENPROGRAMPIPELINESCONTEXTANGLEPROC>(
-        loadProc("glGenProgramPipelinesContextANGLE"));
-    glIsProgramPipelineContextANGLE = reinterpret_cast<PFNGLISPROGRAMPIPELINECONTEXTANGLEPROC>(
-        loadProc("glIsProgramPipelineContextANGLE"));
-    glGetProgramPipelineivContextANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMPIPELINEIVCONTEXTANGLEPROC>(
-            loadProc("glGetProgramPipelineivContextANGLE"));
-    glProgramUniform1iContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM1ICONTEXTANGLEPROC>(
-        loadProc("glProgramUniform1iContextANGLE"));
-    glProgramUniform2iContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM2ICONTEXTANGLEPROC>(
-        loadProc("glProgramUniform2iContextANGLE"));
-    glProgramUniform3iContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM3ICONTEXTANGLEPROC>(
-        loadProc("glProgramUniform3iContextANGLE"));
-    glProgramUniform4iContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM4ICONTEXTANGLEPROC>(
-        loadProc("glProgramUniform4iContextANGLE"));
-    glProgramUniform1uiContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM1UICONTEXTANGLEPROC>(
-        loadProc("glProgramUniform1uiContextANGLE"));
-    glProgramUniform2uiContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM2UICONTEXTANGLEPROC>(
-        loadProc("glProgramUniform2uiContextANGLE"));
-    glProgramUniform3uiContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM3UICONTEXTANGLEPROC>(
-        loadProc("glProgramUniform3uiContextANGLE"));
-    glProgramUniform4uiContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM4UICONTEXTANGLEPROC>(
-        loadProc("glProgramUniform4uiContextANGLE"));
-    glProgramUniform1fContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM1FCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform1fContextANGLE"));
-    glProgramUniform2fContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM2FCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform2fContextANGLE"));
-    glProgramUniform3fContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM3FCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform3fContextANGLE"));
-    glProgramUniform4fContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM4FCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform4fContextANGLE"));
-    glProgramUniform1ivContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM1IVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform1ivContextANGLE"));
-    glProgramUniform2ivContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM2IVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform2ivContextANGLE"));
-    glProgramUniform3ivContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM3IVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform3ivContextANGLE"));
-    glProgramUniform4ivContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM4IVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform4ivContextANGLE"));
-    glProgramUniform1uivContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM1UIVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform1uivContextANGLE"));
-    glProgramUniform2uivContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM2UIVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform2uivContextANGLE"));
-    glProgramUniform3uivContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM3UIVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform3uivContextANGLE"));
-    glProgramUniform4uivContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM4UIVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform4uivContextANGLE"));
-    glProgramUniform1fvContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM1FVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform1fvContextANGLE"));
-    glProgramUniform2fvContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM2FVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform2fvContextANGLE"));
-    glProgramUniform3fvContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM3FVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform3fvContextANGLE"));
-    glProgramUniform4fvContextANGLE = reinterpret_cast<PFNGLPROGRAMUNIFORM4FVCONTEXTANGLEPROC>(
-        loadProc("glProgramUniform4fvContextANGLE"));
-    glProgramUniformMatrix2fvContextANGLE =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2FVCONTEXTANGLEPROC>(
-            loadProc("glProgramUniformMatrix2fvContextANGLE"));
-    glProgramUniformMatrix3fvContextANGLE =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3FVCONTEXTANGLEPROC>(
-            loadProc("glProgramUniformMatrix3fvContextANGLE"));
-    glProgramUniformMatrix4fvContextANGLE =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4FVCONTEXTANGLEPROC>(
-            loadProc("glProgramUniformMatrix4fvContextANGLE"));
-    glProgramUniformMatrix2x3fvContextANGLE =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X3FVCONTEXTANGLEPROC>(
-            loadProc("glProgramUniformMatrix2x3fvContextANGLE"));
-    glProgramUniformMatrix3x2fvContextANGLE =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X2FVCONTEXTANGLEPROC>(
-            loadProc("glProgramUniformMatrix3x2fvContextANGLE"));
-    glProgramUniformMatrix2x4fvContextANGLE =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X4FVCONTEXTANGLEPROC>(
-            loadProc("glProgramUniformMatrix2x4fvContextANGLE"));
-    glProgramUniformMatrix4x2fvContextANGLE =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X2FVCONTEXTANGLEPROC>(
-            loadProc("glProgramUniformMatrix4x2fvContextANGLE"));
-    glProgramUniformMatrix3x4fvContextANGLE =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X4FVCONTEXTANGLEPROC>(
-            loadProc("glProgramUniformMatrix3x4fvContextANGLE"));
-    glProgramUniformMatrix4x3fvContextANGLE =
-        reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X3FVCONTEXTANGLEPROC>(
-            loadProc("glProgramUniformMatrix4x3fvContextANGLE"));
-    glValidateProgramPipelineContextANGLE =
-        reinterpret_cast<PFNGLVALIDATEPROGRAMPIPELINECONTEXTANGLEPROC>(
-            loadProc("glValidateProgramPipelineContextANGLE"));
-    glGetProgramPipelineInfoLogContextANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMPIPELINEINFOLOGCONTEXTANGLEPROC>(
-            loadProc("glGetProgramPipelineInfoLogContextANGLE"));
-    glBindImageTextureContextANGLE = reinterpret_cast<PFNGLBINDIMAGETEXTURECONTEXTANGLEPROC>(
-        loadProc("glBindImageTextureContextANGLE"));
-    glGetBooleani_vContextANGLE = reinterpret_cast<PFNGLGETBOOLEANI_VCONTEXTANGLEPROC>(
-        loadProc("glGetBooleani_vContextANGLE"));
-    glMemoryBarrierContextANGLE = reinterpret_cast<PFNGLMEMORYBARRIERCONTEXTANGLEPROC>(
-        loadProc("glMemoryBarrierContextANGLE"));
-    glMemoryBarrierByRegionContextANGLE =
-        reinterpret_cast<PFNGLMEMORYBARRIERBYREGIONCONTEXTANGLEPROC>(
-            loadProc("glMemoryBarrierByRegionContextANGLE"));
-    glTexStorage2DMultisampleContextANGLE =
-        reinterpret_cast<PFNGLTEXSTORAGE2DMULTISAMPLECONTEXTANGLEPROC>(
-            loadProc("glTexStorage2DMultisampleContextANGLE"));
-    glGetMultisamplefvContextANGLE = reinterpret_cast<PFNGLGETMULTISAMPLEFVCONTEXTANGLEPROC>(
-        loadProc("glGetMultisamplefvContextANGLE"));
-    glSampleMaskiContextANGLE =
-        reinterpret_cast<PFNGLSAMPLEMASKICONTEXTANGLEPROC>(loadProc("glSampleMaskiContextANGLE"));
-    glGetTexLevelParameterivContextANGLE =
-        reinterpret_cast<PFNGLGETTEXLEVELPARAMETERIVCONTEXTANGLEPROC>(
-            loadProc("glGetTexLevelParameterivContextANGLE"));
-    glGetTexLevelParameterfvContextANGLE =
-        reinterpret_cast<PFNGLGETTEXLEVELPARAMETERFVCONTEXTANGLEPROC>(
-            loadProc("glGetTexLevelParameterfvContextANGLE"));
-    glBindVertexBufferContextANGLE = reinterpret_cast<PFNGLBINDVERTEXBUFFERCONTEXTANGLEPROC>(
-        loadProc("glBindVertexBufferContextANGLE"));
-    glVertexAttribFormatContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIBFORMATCONTEXTANGLEPROC>(
-        loadProc("glVertexAttribFormatContextANGLE"));
-    glVertexAttribIFormatContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIBIFORMATCONTEXTANGLEPROC>(
-        loadProc("glVertexAttribIFormatContextANGLE"));
-    glVertexAttribBindingContextANGLE = reinterpret_cast<PFNGLVERTEXATTRIBBINDINGCONTEXTANGLEPROC>(
-        loadProc("glVertexAttribBindingContextANGLE"));
-    glVertexBindingDivisorContextANGLE =
-        reinterpret_cast<PFNGLVERTEXBINDINGDIVISORCONTEXTANGLEPROC>(
-            loadProc("glVertexBindingDivisorContextANGLE"));
-    glCopySubTexture3DANGLEContextANGLE =
-        reinterpret_cast<PFNGLCOPYSUBTEXTURE3DANGLECONTEXTANGLEPROC>(
-            loadProc("glCopySubTexture3DANGLEContextANGLE"));
-    glCopyTexture3DANGLEContextANGLE = reinterpret_cast<PFNGLCOPYTEXTURE3DANGLECONTEXTANGLEPROC>(
-        loadProc("glCopyTexture3DANGLEContextANGLE"));
-    glBlitFramebufferANGLEContextANGLE =
-        reinterpret_cast<PFNGLBLITFRAMEBUFFERANGLECONTEXTANGLEPROC>(
-            loadProc("glBlitFramebufferANGLEContextANGLE"));
-    glRenderbufferStorageMultisampleANGLEContextANGLE =
-        reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLECONTEXTANGLEPROC>(
-            loadProc("glRenderbufferStorageMultisampleANGLEContextANGLE"));
-    glDrawArraysInstancedANGLEContextANGLE =
-        reinterpret_cast<PFNGLDRAWARRAYSINSTANCEDANGLECONTEXTANGLEPROC>(
-            loadProc("glDrawArraysInstancedANGLEContextANGLE"));
-    glDrawElementsInstancedANGLEContextANGLE =
-        reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDANGLECONTEXTANGLEPROC>(
-            loadProc("glDrawElementsInstancedANGLEContextANGLE"));
-    glVertexAttribDivisorANGLEContextANGLE =
-        reinterpret_cast<PFNGLVERTEXATTRIBDIVISORANGLECONTEXTANGLEPROC>(
-            loadProc("glVertexAttribDivisorANGLEContextANGLE"));
-    glMultiDrawArraysANGLEContextANGLE =
-        reinterpret_cast<PFNGLMULTIDRAWARRAYSANGLECONTEXTANGLEPROC>(
-            loadProc("glMultiDrawArraysANGLEContextANGLE"));
-    glMultiDrawArraysInstancedANGLEContextANGLE =
-        reinterpret_cast<PFNGLMULTIDRAWARRAYSINSTANCEDANGLECONTEXTANGLEPROC>(
-            loadProc("glMultiDrawArraysInstancedANGLEContextANGLE"));
-    glMultiDrawElementsANGLEContextANGLE =
-        reinterpret_cast<PFNGLMULTIDRAWELEMENTSANGLECONTEXTANGLEPROC>(
-            loadProc("glMultiDrawElementsANGLEContextANGLE"));
-    glMultiDrawElementsInstancedANGLEContextANGLE =
-        reinterpret_cast<PFNGLMULTIDRAWELEMENTSINSTANCEDANGLECONTEXTANGLEPROC>(
-            loadProc("glMultiDrawElementsInstancedANGLEContextANGLE"));
-    glFramebufferTextureMultiviewLayeredANGLEContextANGLE =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTUREMULTIVIEWLAYEREDANGLECONTEXTANGLEPROC>(
-            loadProc("glFramebufferTextureMultiviewLayeredANGLEContextANGLE"));
-    glFramebufferTextureMultiviewSideBySideANGLEContextANGLE =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTUREMULTIVIEWSIDEBYSIDEANGLECONTEXTANGLEPROC>(
-            loadProc("glFramebufferTextureMultiviewSideBySideANGLEContextANGLE"));
-    glRequestExtensionANGLEContextANGLE =
-        reinterpret_cast<PFNGLREQUESTEXTENSIONANGLECONTEXTANGLEPROC>(
-            loadProc("glRequestExtensionANGLEContextANGLE"));
-    glCompressedTexImage2DRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glCompressedTexImage2DRobustANGLEContextANGLE"));
-    glCompressedTexImage3DRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glCompressedTexImage3DRobustANGLEContextANGLE"));
-    glCompressedTexSubImage2DRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glCompressedTexSubImage2DRobustANGLEContextANGLE"));
-    glCompressedTexSubImage3DRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glCompressedTexSubImage3DRobustANGLEContextANGLE"));
-    glGetActiveUniformBlockivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetActiveUniformBlockivRobustANGLEContextANGLE"));
-    glGetBooleani_vRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETBOOLEANI_VROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetBooleani_vRobustANGLEContextANGLE"));
-    glGetBooleanvRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETBOOLEANVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetBooleanvRobustANGLEContextANGLE"));
-    glGetBufferParameteri64vRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETBUFFERPARAMETERI64VROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetBufferParameteri64vRobustANGLEContextANGLE"));
-    glGetBufferParameterivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetBufferParameterivRobustANGLEContextANGLE"));
-    glGetBufferPointervRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETBUFFERPOINTERVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetBufferPointervRobustANGLEContextANGLE"));
-    glGetFloatvRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETFLOATVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetFloatvRobustANGLEContextANGLE"));
-    glGetFramebufferAttachmentParameterivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetFramebufferAttachmentParameterivRobustANGLEContextANGLE"));
-    glGetFramebufferParameterivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetFramebufferParameterivRobustANGLEContextANGLE"));
-    glGetInteger64i_vRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETINTEGER64I_VROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetInteger64i_vRobustANGLEContextANGLE"));
-    glGetInteger64vRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETINTEGER64VROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetInteger64vRobustANGLEContextANGLE"));
-    glGetIntegeri_vRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETINTEGERI_VROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetIntegeri_vRobustANGLEContextANGLE"));
-    glGetIntegervRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETINTEGERVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetIntegervRobustANGLEContextANGLE"));
-    glGetInternalformativRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETINTERNALFORMATIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetInternalformativRobustANGLEContextANGLE"));
-    glGetMultisamplefvRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETMULTISAMPLEFVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetMultisamplefvRobustANGLEContextANGLE"));
-    glGetPointervRobustANGLERobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetPointervRobustANGLERobustANGLEContextANGLE"));
-    glGetProgramInterfaceivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMINTERFACEIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetProgramInterfaceivRobustANGLEContextANGLE"));
-    glGetProgramivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetProgramivRobustANGLEContextANGLE"));
-    glGetQueryObjecti64vRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETQUERYOBJECTI64VROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetQueryObjecti64vRobustANGLEContextANGLE"));
-    glGetQueryObjectivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETQUERYOBJECTIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetQueryObjectivRobustANGLEContextANGLE"));
-    glGetQueryObjectui64vRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETQUERYOBJECTUI64VROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetQueryObjectui64vRobustANGLEContextANGLE"));
-    glGetQueryObjectuivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETQUERYOBJECTUIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetQueryObjectuivRobustANGLEContextANGLE"));
-    glGetQueryivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETQUERYIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetQueryivRobustANGLEContextANGLE"));
-    glGetRenderbufferParameterivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetRenderbufferParameterivRobustANGLEContextANGLE"));
-    glGetSamplerParameterIivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetSamplerParameterIivRobustANGLEContextANGLE"));
-    glGetSamplerParameterIuivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetSamplerParameterIuivRobustANGLEContextANGLE"));
-    glGetSamplerParameterfvRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERFVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetSamplerParameterfvRobustANGLEContextANGLE"));
-    glGetSamplerParameterivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetSamplerParameterivRobustANGLEContextANGLE"));
-    glGetShaderivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETSHADERIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetShaderivRobustANGLEContextANGLE"));
-    glGetTexLevelParameterfvRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetTexLevelParameterfvRobustANGLEContextANGLE"));
-    glGetTexLevelParameterivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetTexLevelParameterivRobustANGLEContextANGLE"));
-    glGetTexParameterIivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETTEXPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetTexParameterIivRobustANGLEContextANGLE"));
-    glGetTexParameterIuivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETTEXPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetTexParameterIuivRobustANGLEContextANGLE"));
-    glGetTexParameterfvRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETTEXPARAMETERFVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetTexParameterfvRobustANGLEContextANGLE"));
-    glGetTexParameterivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETTEXPARAMETERIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetTexParameterivRobustANGLEContextANGLE"));
-    glGetUniformfvRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETUNIFORMFVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetUniformfvRobustANGLEContextANGLE"));
-    glGetUniformivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETUNIFORMIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetUniformivRobustANGLEContextANGLE"));
-    glGetUniformuivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETUNIFORMUIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetUniformuivRobustANGLEContextANGLE"));
-    glGetVertexAttribIivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBIIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetVertexAttribIivRobustANGLEContextANGLE"));
-    glGetVertexAttribIuivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBIUIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetVertexAttribIuivRobustANGLEContextANGLE"));
-    glGetVertexAttribPointervRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetVertexAttribPointervRobustANGLEContextANGLE"));
-    glGetVertexAttribfvRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBFVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetVertexAttribfvRobustANGLEContextANGLE"));
-    glGetVertexAttribivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETVERTEXATTRIBIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetVertexAttribivRobustANGLEContextANGLE"));
-    glGetnUniformfvRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETNUNIFORMFVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetnUniformfvRobustANGLEContextANGLE"));
-    glGetnUniformivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETNUNIFORMIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetnUniformivRobustANGLEContextANGLE"));
-    glGetnUniformuivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETNUNIFORMUIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glGetnUniformuivRobustANGLEContextANGLE"));
-    glReadPixelsRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLREADPIXELSROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glReadPixelsRobustANGLEContextANGLE"));
-    glReadnPixelsRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLREADNPIXELSROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glReadnPixelsRobustANGLEContextANGLE"));
-    glSamplerParameterIivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glSamplerParameterIivRobustANGLEContextANGLE"));
-    glSamplerParameterIuivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glSamplerParameterIuivRobustANGLEContextANGLE"));
-    glSamplerParameterfvRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERFVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glSamplerParameterfvRobustANGLEContextANGLE"));
-    glSamplerParameterivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glSamplerParameterivRobustANGLEContextANGLE"));
-    glTexImage2DRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLTEXIMAGE2DROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glTexImage2DRobustANGLEContextANGLE"));
-    glTexImage3DRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLTEXIMAGE3DROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glTexImage3DRobustANGLEContextANGLE"));
-    glTexParameterIivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLTEXPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glTexParameterIivRobustANGLEContextANGLE"));
-    glTexParameterIuivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLTEXPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glTexParameterIuivRobustANGLEContextANGLE"));
-    glTexParameterfvRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLTEXPARAMETERFVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glTexParameterfvRobustANGLEContextANGLE"));
-    glTexParameterivRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLTEXPARAMETERIVROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glTexParameterivRobustANGLEContextANGLE"));
-    glTexSubImage2DRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLTEXSUBIMAGE2DROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glTexSubImage2DRobustANGLEContextANGLE"));
-    glTexSubImage3DRobustANGLEContextANGLE =
-        reinterpret_cast<PFNGLTEXSUBIMAGE3DROBUSTANGLECONTEXTANGLEPROC>(
-            loadProc("glTexSubImage3DRobustANGLEContextANGLE"));
-    glGetMultisamplefvANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETMULTISAMPLEFVANGLECONTEXTANGLEPROC>(
-            loadProc("glGetMultisamplefvANGLEContextANGLE"));
-    glGetTexLevelParameterfvANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETTEXLEVELPARAMETERFVANGLECONTEXTANGLEPROC>(
-            loadProc("glGetTexLevelParameterfvANGLEContextANGLE"));
-    glGetTexLevelParameterivANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETTEXLEVELPARAMETERIVANGLECONTEXTANGLEPROC>(
-            loadProc("glGetTexLevelParameterivANGLEContextANGLE"));
-    glSampleMaskiANGLEContextANGLE = reinterpret_cast<PFNGLSAMPLEMASKIANGLECONTEXTANGLEPROC>(
-        loadProc("glSampleMaskiANGLEContextANGLE"));
-    glTexStorage2DMultisampleANGLEContextANGLE =
-        reinterpret_cast<PFNGLTEXSTORAGE2DMULTISAMPLEANGLECONTEXTANGLEPROC>(
-            loadProc("glTexStorage2DMultisampleANGLEContextANGLE"));
-    glGetTranslatedShaderSourceANGLEContextANGLE =
-        reinterpret_cast<PFNGLGETTRANSLATEDSHADERSOURCEANGLECONTEXTANGLEPROC>(
-            loadProc("glGetTranslatedShaderSourceANGLEContextANGLE"));
-    glBindUniformLocationCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLBINDUNIFORMLOCATIONCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glBindUniformLocationCHROMIUMContextANGLE"));
-    glCompressedCopyTextureCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glCompressedCopyTextureCHROMIUMContextANGLE"));
-    glCopySubTextureCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLCOPYSUBTEXTURECHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glCopySubTextureCHROMIUMContextANGLE"));
-    glCopyTextureCHROMIUMContextANGLE = reinterpret_cast<PFNGLCOPYTEXTURECHROMIUMCONTEXTANGLEPROC>(
-        loadProc("glCopyTextureCHROMIUMContextANGLE"));
-    glCoverageModulationCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLCOVERAGEMODULATIONCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glCoverageModulationCHROMIUMContextANGLE"));
-    glMatrixLoadIdentityCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLMATRIXLOADIDENTITYCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glMatrixLoadIdentityCHROMIUMContextANGLE"));
-    glMatrixLoadfCHROMIUMContextANGLE = reinterpret_cast<PFNGLMATRIXLOADFCHROMIUMCONTEXTANGLEPROC>(
-        loadProc("glMatrixLoadfCHROMIUMContextANGLE"));
-    glBindFragmentInputLocationCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLBINDFRAGMENTINPUTLOCATIONCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glBindFragmentInputLocationCHROMIUMContextANGLE"));
-    glCoverFillPathCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLCOVERFILLPATHCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glCoverFillPathCHROMIUMContextANGLE"));
-    glCoverFillPathInstancedCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLCOVERFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glCoverFillPathInstancedCHROMIUMContextANGLE"));
-    glCoverStrokePathCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLCOVERSTROKEPATHCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glCoverStrokePathCHROMIUMContextANGLE"));
-    glCoverStrokePathInstancedCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLCOVERSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glCoverStrokePathInstancedCHROMIUMContextANGLE"));
-    glDeletePathsCHROMIUMContextANGLE = reinterpret_cast<PFNGLDELETEPATHSCHROMIUMCONTEXTANGLEPROC>(
-        loadProc("glDeletePathsCHROMIUMContextANGLE"));
-    glGenPathsCHROMIUMContextANGLE = reinterpret_cast<PFNGLGENPATHSCHROMIUMCONTEXTANGLEPROC>(
-        loadProc("glGenPathsCHROMIUMContextANGLE"));
-    glGetPathParameterfvCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLGETPATHPARAMETERFVCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glGetPathParameterfvCHROMIUMContextANGLE"));
-    glGetPathParameterivCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLGETPATHPARAMETERIVCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glGetPathParameterivCHROMIUMContextANGLE"));
-    glIsPathCHROMIUMContextANGLE = reinterpret_cast<PFNGLISPATHCHROMIUMCONTEXTANGLEPROC>(
-        loadProc("glIsPathCHROMIUMContextANGLE"));
-    glPathCommandsCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLPATHCOMMANDSCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glPathCommandsCHROMIUMContextANGLE"));
-    glPathParameterfCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLPATHPARAMETERFCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glPathParameterfCHROMIUMContextANGLE"));
-    glPathParameteriCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLPATHPARAMETERICHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glPathParameteriCHROMIUMContextANGLE"));
-    glPathStencilFuncCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLPATHSTENCILFUNCCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glPathStencilFuncCHROMIUMContextANGLE"));
-    glProgramPathFragmentInputGenCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLPROGRAMPATHFRAGMENTINPUTGENCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glProgramPathFragmentInputGenCHROMIUMContextANGLE"));
-    glStencilFillPathCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLSTENCILFILLPATHCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glStencilFillPathCHROMIUMContextANGLE"));
-    glStencilFillPathInstancedCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLSTENCILFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glStencilFillPathInstancedCHROMIUMContextANGLE"));
-    glStencilStrokePathCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLSTENCILSTROKEPATHCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glStencilStrokePathCHROMIUMContextANGLE"));
-    glStencilStrokePathInstancedCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLSTENCILSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glStencilStrokePathInstancedCHROMIUMContextANGLE"));
-    glStencilThenCoverFillPathCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLSTENCILTHENCOVERFILLPATHCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glStencilThenCoverFillPathCHROMIUMContextANGLE"));
-    glStencilThenCoverFillPathInstancedCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glStencilThenCoverFillPathInstancedCHROMIUMContextANGLE"));
-    glStencilThenCoverStrokePathCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLSTENCILTHENCOVERSTROKEPATHCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glStencilThenCoverStrokePathCHROMIUMContextANGLE"));
-    glStencilThenCoverStrokePathInstancedCHROMIUMContextANGLE =
-        reinterpret_cast<PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC>(
-            loadProc("glStencilThenCoverStrokePathInstancedCHROMIUMContextANGLE"));
-    glBindFragDataLocationEXTContextANGLE =
-        reinterpret_cast<PFNGLBINDFRAGDATALOCATIONEXTCONTEXTANGLEPROC>(
-            loadProc("glBindFragDataLocationEXTContextANGLE"));
-    glBindFragDataLocationIndexedEXTContextANGLE =
-        reinterpret_cast<PFNGLBINDFRAGDATALOCATIONINDEXEDEXTCONTEXTANGLEPROC>(
-            loadProc("glBindFragDataLocationIndexedEXTContextANGLE"));
-    glGetFragDataIndexEXTContextANGLE = reinterpret_cast<PFNGLGETFRAGDATAINDEXEXTCONTEXTANGLEPROC>(
-        loadProc("glGetFragDataIndexEXTContextANGLE"));
-    glGetProgramResourceLocationIndexEXTContextANGLE =
-        reinterpret_cast<PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTCONTEXTANGLEPROC>(
-            loadProc("glGetProgramResourceLocationIndexEXTContextANGLE"));
-    glInsertEventMarkerEXTContextANGLE =
-        reinterpret_cast<PFNGLINSERTEVENTMARKEREXTCONTEXTANGLEPROC>(
-            loadProc("glInsertEventMarkerEXTContextANGLE"));
-    glPopGroupMarkerEXTContextANGLE = reinterpret_cast<PFNGLPOPGROUPMARKEREXTCONTEXTANGLEPROC>(
-        loadProc("glPopGroupMarkerEXTContextANGLE"));
-    glPushGroupMarkerEXTContextANGLE = reinterpret_cast<PFNGLPUSHGROUPMARKEREXTCONTEXTANGLEPROC>(
-        loadProc("glPushGroupMarkerEXTContextANGLE"));
-    glDiscardFramebufferEXTContextANGLE =
-        reinterpret_cast<PFNGLDISCARDFRAMEBUFFEREXTCONTEXTANGLEPROC>(
-            loadProc("glDiscardFramebufferEXTContextANGLE"));
-    glBeginQueryEXTContextANGLE = reinterpret_cast<PFNGLBEGINQUERYEXTCONTEXTANGLEPROC>(
-        loadProc("glBeginQueryEXTContextANGLE"));
-    glDeleteQueriesEXTContextANGLE = reinterpret_cast<PFNGLDELETEQUERIESEXTCONTEXTANGLEPROC>(
-        loadProc("glDeleteQueriesEXTContextANGLE"));
-    glEndQueryEXTContextANGLE =
-        reinterpret_cast<PFNGLENDQUERYEXTCONTEXTANGLEPROC>(loadProc("glEndQueryEXTContextANGLE"));
-    glGenQueriesEXTContextANGLE = reinterpret_cast<PFNGLGENQUERIESEXTCONTEXTANGLEPROC>(
-        loadProc("glGenQueriesEXTContextANGLE"));
-    glGetQueryObjecti64vEXTContextANGLE =
-        reinterpret_cast<PFNGLGETQUERYOBJECTI64VEXTCONTEXTANGLEPROC>(
-            loadProc("glGetQueryObjecti64vEXTContextANGLE"));
-    glGetQueryObjectivEXTContextANGLE = reinterpret_cast<PFNGLGETQUERYOBJECTIVEXTCONTEXTANGLEPROC>(
-        loadProc("glGetQueryObjectivEXTContextANGLE"));
-    glGetQueryObjectui64vEXTContextANGLE =
-        reinterpret_cast<PFNGLGETQUERYOBJECTUI64VEXTCONTEXTANGLEPROC>(
-            loadProc("glGetQueryObjectui64vEXTContextANGLE"));
-    glGetQueryObjectuivEXTContextANGLE =
-        reinterpret_cast<PFNGLGETQUERYOBJECTUIVEXTCONTEXTANGLEPROC>(
-            loadProc("glGetQueryObjectuivEXTContextANGLE"));
-    glGetQueryivEXTContextANGLE = reinterpret_cast<PFNGLGETQUERYIVEXTCONTEXTANGLEPROC>(
-        loadProc("glGetQueryivEXTContextANGLE"));
-    glIsQueryEXTContextANGLE =
-        reinterpret_cast<PFNGLISQUERYEXTCONTEXTANGLEPROC>(loadProc("glIsQueryEXTContextANGLE"));
-    glQueryCounterEXTContextANGLE = reinterpret_cast<PFNGLQUERYCOUNTEREXTCONTEXTANGLEPROC>(
-        loadProc("glQueryCounterEXTContextANGLE"));
-    glDrawBuffersEXTContextANGLE = reinterpret_cast<PFNGLDRAWBUFFERSEXTCONTEXTANGLEPROC>(
-        loadProc("glDrawBuffersEXTContextANGLE"));
-    glFramebufferTextureEXTContextANGLE =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTUREEXTCONTEXTANGLEPROC>(
-            loadProc("glFramebufferTextureEXTContextANGLE"));
-    glFlushMappedBufferRangeEXTContextANGLE =
-        reinterpret_cast<PFNGLFLUSHMAPPEDBUFFERRANGEEXTCONTEXTANGLEPROC>(
-            loadProc("glFlushMappedBufferRangeEXTContextANGLE"));
-    glMapBufferRangeEXTContextANGLE = reinterpret_cast<PFNGLMAPBUFFERRANGEEXTCONTEXTANGLEPROC>(
-        loadProc("glMapBufferRangeEXTContextANGLE"));
-    glGetGraphicsResetStatusEXTContextANGLE =
-        reinterpret_cast<PFNGLGETGRAPHICSRESETSTATUSEXTCONTEXTANGLEPROC>(
-            loadProc("glGetGraphicsResetStatusEXTContextANGLE"));
-    glGetnUniformfvEXTContextANGLE = reinterpret_cast<PFNGLGETNUNIFORMFVEXTCONTEXTANGLEPROC>(
-        loadProc("glGetnUniformfvEXTContextANGLE"));
-    glGetnUniformivEXTContextANGLE = reinterpret_cast<PFNGLGETNUNIFORMIVEXTCONTEXTANGLEPROC>(
-        loadProc("glGetnUniformivEXTContextANGLE"));
-    glReadnPixelsEXTContextANGLE = reinterpret_cast<PFNGLREADNPIXELSEXTCONTEXTANGLEPROC>(
-        loadProc("glReadnPixelsEXTContextANGLE"));
-    glTexStorage1DEXTContextANGLE = reinterpret_cast<PFNGLTEXSTORAGE1DEXTCONTEXTANGLEPROC>(
-        loadProc("glTexStorage1DEXTContextANGLE"));
-    glTexStorage2DEXTContextANGLE = reinterpret_cast<PFNGLTEXSTORAGE2DEXTCONTEXTANGLEPROC>(
-        loadProc("glTexStorage2DEXTContextANGLE"));
-    glTexStorage3DEXTContextANGLE = reinterpret_cast<PFNGLTEXSTORAGE3DEXTCONTEXTANGLEPROC>(
-        loadProc("glTexStorage3DEXTContextANGLE"));
-    glDebugMessageCallbackKHRContextANGLE =
-        reinterpret_cast<PFNGLDEBUGMESSAGECALLBACKKHRCONTEXTANGLEPROC>(
-            loadProc("glDebugMessageCallbackKHRContextANGLE"));
-    glDebugMessageControlKHRContextANGLE =
-        reinterpret_cast<PFNGLDEBUGMESSAGECONTROLKHRCONTEXTANGLEPROC>(
-            loadProc("glDebugMessageControlKHRContextANGLE"));
-    glDebugMessageInsertKHRContextANGLE =
-        reinterpret_cast<PFNGLDEBUGMESSAGEINSERTKHRCONTEXTANGLEPROC>(
-            loadProc("glDebugMessageInsertKHRContextANGLE"));
-    glGetDebugMessageLogKHRContextANGLE =
-        reinterpret_cast<PFNGLGETDEBUGMESSAGELOGKHRCONTEXTANGLEPROC>(
-            loadProc("glGetDebugMessageLogKHRContextANGLE"));
-    glGetObjectLabelKHRContextANGLE = reinterpret_cast<PFNGLGETOBJECTLABELKHRCONTEXTANGLEPROC>(
-        loadProc("glGetObjectLabelKHRContextANGLE"));
-    glGetObjectPtrLabelKHRContextANGLE =
-        reinterpret_cast<PFNGLGETOBJECTPTRLABELKHRCONTEXTANGLEPROC>(
-            loadProc("glGetObjectPtrLabelKHRContextANGLE"));
-    glGetPointervKHRContextANGLE = reinterpret_cast<PFNGLGETPOINTERVKHRCONTEXTANGLEPROC>(
-        loadProc("glGetPointervKHRContextANGLE"));
-    glObjectLabelKHRContextANGLE = reinterpret_cast<PFNGLOBJECTLABELKHRCONTEXTANGLEPROC>(
-        loadProc("glObjectLabelKHRContextANGLE"));
-    glObjectPtrLabelKHRContextANGLE = reinterpret_cast<PFNGLOBJECTPTRLABELKHRCONTEXTANGLEPROC>(
-        loadProc("glObjectPtrLabelKHRContextANGLE"));
-    glPopDebugGroupKHRContextANGLE = reinterpret_cast<PFNGLPOPDEBUGGROUPKHRCONTEXTANGLEPROC>(
-        loadProc("glPopDebugGroupKHRContextANGLE"));
-    glPushDebugGroupKHRContextANGLE = reinterpret_cast<PFNGLPUSHDEBUGGROUPKHRCONTEXTANGLEPROC>(
-        loadProc("glPushDebugGroupKHRContextANGLE"));
-    glMaxShaderCompilerThreadsKHRContextANGLE =
-        reinterpret_cast<PFNGLMAXSHADERCOMPILERTHREADSKHRCONTEXTANGLEPROC>(
-            loadProc("glMaxShaderCompilerThreadsKHRContextANGLE"));
-    glDeleteFencesNVContextANGLE = reinterpret_cast<PFNGLDELETEFENCESNVCONTEXTANGLEPROC>(
-        loadProc("glDeleteFencesNVContextANGLE"));
-    glFinishFenceNVContextANGLE = reinterpret_cast<PFNGLFINISHFENCENVCONTEXTANGLEPROC>(
-        loadProc("glFinishFenceNVContextANGLE"));
-    glGenFencesNVContextANGLE =
-        reinterpret_cast<PFNGLGENFENCESNVCONTEXTANGLEPROC>(loadProc("glGenFencesNVContextANGLE"));
-    glGetFenceivNVContextANGLE =
-        reinterpret_cast<PFNGLGETFENCEIVNVCONTEXTANGLEPROC>(loadProc("glGetFenceivNVContextANGLE"));
-    glIsFenceNVContextANGLE =
-        reinterpret_cast<PFNGLISFENCENVCONTEXTANGLEPROC>(loadProc("glIsFenceNVContextANGLE"));
-    glSetFenceNVContextANGLE =
-        reinterpret_cast<PFNGLSETFENCENVCONTEXTANGLEPROC>(loadProc("glSetFenceNVContextANGLE"));
-    glTestFenceNVContextANGLE =
-        reinterpret_cast<PFNGLTESTFENCENVCONTEXTANGLEPROC>(loadProc("glTestFenceNVContextANGLE"));
-    glEGLImageTargetRenderbufferStorageOESContextANGLE =
-        reinterpret_cast<PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESCONTEXTANGLEPROC>(
-            loadProc("glEGLImageTargetRenderbufferStorageOESContextANGLE"));
-    glEGLImageTargetTexture2DOESContextANGLE =
-        reinterpret_cast<PFNGLEGLIMAGETARGETTEXTURE2DOESCONTEXTANGLEPROC>(
-            loadProc("glEGLImageTargetTexture2DOESContextANGLE"));
-    glGetProgramBinaryOESContextANGLE = reinterpret_cast<PFNGLGETPROGRAMBINARYOESCONTEXTANGLEPROC>(
-        loadProc("glGetProgramBinaryOESContextANGLE"));
-    glProgramBinaryOESContextANGLE = reinterpret_cast<PFNGLPROGRAMBINARYOESCONTEXTANGLEPROC>(
-        loadProc("glProgramBinaryOESContextANGLE"));
-    glGetBufferPointervOESContextANGLE =
-        reinterpret_cast<PFNGLGETBUFFERPOINTERVOESCONTEXTANGLEPROC>(
-            loadProc("glGetBufferPointervOESContextANGLE"));
-    glMapBufferOESContextANGLE =
-        reinterpret_cast<PFNGLMAPBUFFEROESCONTEXTANGLEPROC>(loadProc("glMapBufferOESContextANGLE"));
-    glUnmapBufferOESContextANGLE = reinterpret_cast<PFNGLUNMAPBUFFEROESCONTEXTANGLEPROC>(
-        loadProc("glUnmapBufferOESContextANGLE"));
-    glGetSamplerParameterIivOESContextANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERIIVOESCONTEXTANGLEPROC>(
-            loadProc("glGetSamplerParameterIivOESContextANGLE"));
-    glGetSamplerParameterIuivOESContextANGLE =
-        reinterpret_cast<PFNGLGETSAMPLERPARAMETERIUIVOESCONTEXTANGLEPROC>(
-            loadProc("glGetSamplerParameterIuivOESContextANGLE"));
-    glGetTexParameterIivOESContextANGLE =
-        reinterpret_cast<PFNGLGETTEXPARAMETERIIVOESCONTEXTANGLEPROC>(
-            loadProc("glGetTexParameterIivOESContextANGLE"));
-    glGetTexParameterIuivOESContextANGLE =
-        reinterpret_cast<PFNGLGETTEXPARAMETERIUIVOESCONTEXTANGLEPROC>(
-            loadProc("glGetTexParameterIuivOESContextANGLE"));
-    glSamplerParameterIivOESContextANGLE =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERIIVOESCONTEXTANGLEPROC>(
-            loadProc("glSamplerParameterIivOESContextANGLE"));
-    glSamplerParameterIuivOESContextANGLE =
-        reinterpret_cast<PFNGLSAMPLERPARAMETERIUIVOESCONTEXTANGLEPROC>(
-            loadProc("glSamplerParameterIuivOESContextANGLE"));
-    glTexParameterIivOESContextANGLE = reinterpret_cast<PFNGLTEXPARAMETERIIVOESCONTEXTANGLEPROC>(
-        loadProc("glTexParameterIivOESContextANGLE"));
-    glTexParameterIuivOESContextANGLE = reinterpret_cast<PFNGLTEXPARAMETERIUIVOESCONTEXTANGLEPROC>(
-        loadProc("glTexParameterIuivOESContextANGLE"));
-    glTexStorage3DMultisampleOESContextANGLE =
-        reinterpret_cast<PFNGLTEXSTORAGE3DMULTISAMPLEOESCONTEXTANGLEPROC>(
-            loadProc("glTexStorage3DMultisampleOESContextANGLE"));
-    glBindVertexArrayOESContextANGLE = reinterpret_cast<PFNGLBINDVERTEXARRAYOESCONTEXTANGLEPROC>(
-        loadProc("glBindVertexArrayOESContextANGLE"));
-    glDeleteVertexArraysOESContextANGLE =
-        reinterpret_cast<PFNGLDELETEVERTEXARRAYSOESCONTEXTANGLEPROC>(
-            loadProc("glDeleteVertexArraysOESContextANGLE"));
-    glGenVertexArraysOESContextANGLE = reinterpret_cast<PFNGLGENVERTEXARRAYSOESCONTEXTANGLEPROC>(
-        loadProc("glGenVertexArraysOESContextANGLE"));
-    glIsVertexArrayOESContextANGLE = reinterpret_cast<PFNGLISVERTEXARRAYOESCONTEXTANGLEPROC>(
-        loadProc("glIsVertexArrayOESContextANGLE"));
-    glDrawTexfOESContextANGLE =
-        reinterpret_cast<PFNGLDRAWTEXFOESCONTEXTANGLEPROC>(loadProc("glDrawTexfOESContextANGLE"));
-    glDrawTexfvOESContextANGLE =
-        reinterpret_cast<PFNGLDRAWTEXFVOESCONTEXTANGLEPROC>(loadProc("glDrawTexfvOESContextANGLE"));
-    glDrawTexiOESContextANGLE =
-        reinterpret_cast<PFNGLDRAWTEXIOESCONTEXTANGLEPROC>(loadProc("glDrawTexiOESContextANGLE"));
-    glDrawTexivOESContextANGLE =
-        reinterpret_cast<PFNGLDRAWTEXIVOESCONTEXTANGLEPROC>(loadProc("glDrawTexivOESContextANGLE"));
-    glDrawTexsOESContextANGLE =
-        reinterpret_cast<PFNGLDRAWTEXSOESCONTEXTANGLEPROC>(loadProc("glDrawTexsOESContextANGLE"));
-    glDrawTexsvOESContextANGLE =
-        reinterpret_cast<PFNGLDRAWTEXSVOESCONTEXTANGLEPROC>(loadProc("glDrawTexsvOESContextANGLE"));
-    glDrawTexxOESContextANGLE =
-        reinterpret_cast<PFNGLDRAWTEXXOESCONTEXTANGLEPROC>(loadProc("glDrawTexxOESContextANGLE"));
-    glDrawTexxvOESContextANGLE =
-        reinterpret_cast<PFNGLDRAWTEXXVOESCONTEXTANGLEPROC>(loadProc("glDrawTexxvOESContextANGLE"));
-    glBindFramebufferOESContextANGLE = reinterpret_cast<PFNGLBINDFRAMEBUFFEROESCONTEXTANGLEPROC>(
-        loadProc("glBindFramebufferOESContextANGLE"));
-    glBindRenderbufferOESContextANGLE = reinterpret_cast<PFNGLBINDRENDERBUFFEROESCONTEXTANGLEPROC>(
-        loadProc("glBindRenderbufferOESContextANGLE"));
-    glCheckFramebufferStatusOESContextANGLE =
-        reinterpret_cast<PFNGLCHECKFRAMEBUFFERSTATUSOESCONTEXTANGLEPROC>(
-            loadProc("glCheckFramebufferStatusOESContextANGLE"));
-    glDeleteFramebuffersOESContextANGLE =
-        reinterpret_cast<PFNGLDELETEFRAMEBUFFERSOESCONTEXTANGLEPROC>(
-            loadProc("glDeleteFramebuffersOESContextANGLE"));
-    glDeleteRenderbuffersOESContextANGLE =
-        reinterpret_cast<PFNGLDELETERENDERBUFFERSOESCONTEXTANGLEPROC>(
-            loadProc("glDeleteRenderbuffersOESContextANGLE"));
-    glFramebufferRenderbufferOESContextANGLE =
-        reinterpret_cast<PFNGLFRAMEBUFFERRENDERBUFFEROESCONTEXTANGLEPROC>(
-            loadProc("glFramebufferRenderbufferOESContextANGLE"));
-    glFramebufferTexture2DOESContextANGLE =
-        reinterpret_cast<PFNGLFRAMEBUFFERTEXTURE2DOESCONTEXTANGLEPROC>(
-            loadProc("glFramebufferTexture2DOESContextANGLE"));
-    glGenFramebuffersOESContextANGLE = reinterpret_cast<PFNGLGENFRAMEBUFFERSOESCONTEXTANGLEPROC>(
-        loadProc("glGenFramebuffersOESContextANGLE"));
-    glGenRenderbuffersOESContextANGLE = reinterpret_cast<PFNGLGENRENDERBUFFERSOESCONTEXTANGLEPROC>(
-        loadProc("glGenRenderbuffersOESContextANGLE"));
-    glGenerateMipmapOESContextANGLE = reinterpret_cast<PFNGLGENERATEMIPMAPOESCONTEXTANGLEPROC>(
-        loadProc("glGenerateMipmapOESContextANGLE"));
-    glGetFramebufferAttachmentParameterivOESContextANGLE =
-        reinterpret_cast<PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESCONTEXTANGLEPROC>(
-            loadProc("glGetFramebufferAttachmentParameterivOESContextANGLE"));
-    glGetRenderbufferParameterivOESContextANGLE =
-        reinterpret_cast<PFNGLGETRENDERBUFFERPARAMETERIVOESCONTEXTANGLEPROC>(
-            loadProc("glGetRenderbufferParameterivOESContextANGLE"));
-    glIsFramebufferOESContextANGLE = reinterpret_cast<PFNGLISFRAMEBUFFEROESCONTEXTANGLEPROC>(
-        loadProc("glIsFramebufferOESContextANGLE"));
-    glIsRenderbufferOESContextANGLE = reinterpret_cast<PFNGLISRENDERBUFFEROESCONTEXTANGLEPROC>(
-        loadProc("glIsRenderbufferOESContextANGLE"));
-    glRenderbufferStorageOESContextANGLE =
-        reinterpret_cast<PFNGLRENDERBUFFERSTORAGEOESCONTEXTANGLEPROC>(
-            loadProc("glRenderbufferStorageOESContextANGLE"));
-    glCurrentPaletteMatrixOESContextANGLE =
-        reinterpret_cast<PFNGLCURRENTPALETTEMATRIXOESCONTEXTANGLEPROC>(
-            loadProc("glCurrentPaletteMatrixOESContextANGLE"));
-    glLoadPaletteFromModelViewMatrixOESContextANGLE =
-        reinterpret_cast<PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESCONTEXTANGLEPROC>(
-            loadProc("glLoadPaletteFromModelViewMatrixOESContextANGLE"));
-    glMatrixIndexPointerOESContextANGLE =
-        reinterpret_cast<PFNGLMATRIXINDEXPOINTEROESCONTEXTANGLEPROC>(
-            loadProc("glMatrixIndexPointerOESContextANGLE"));
-    glWeightPointerOESContextANGLE = reinterpret_cast<PFNGLWEIGHTPOINTEROESCONTEXTANGLEPROC>(
-        loadProc("glWeightPointerOESContextANGLE"));
-    glPointSizePointerOESContextANGLE = reinterpret_cast<PFNGLPOINTSIZEPOINTEROESCONTEXTANGLEPROC>(
-        loadProc("glPointSizePointerOESContextANGLE"));
-    glQueryMatrixxOESContextANGLE = reinterpret_cast<PFNGLQUERYMATRIXXOESCONTEXTANGLEPROC>(
-        loadProc("glQueryMatrixxOESContextANGLE"));
-    glGetTexGenfvOESContextANGLE = reinterpret_cast<PFNGLGETTEXGENFVOESCONTEXTANGLEPROC>(
-        loadProc("glGetTexGenfvOESContextANGLE"));
-    glGetTexGenivOESContextANGLE = reinterpret_cast<PFNGLGETTEXGENIVOESCONTEXTANGLEPROC>(
-        loadProc("glGetTexGenivOESContextANGLE"));
-    glGetTexGenxvOESContextANGLE = reinterpret_cast<PFNGLGETTEXGENXVOESCONTEXTANGLEPROC>(
-        loadProc("glGetTexGenxvOESContextANGLE"));
-    glTexGenfOESContextANGLE =
-        reinterpret_cast<PFNGLTEXGENFOESCONTEXTANGLEPROC>(loadProc("glTexGenfOESContextANGLE"));
-    glTexGenfvOESContextANGLE =
-        reinterpret_cast<PFNGLTEXGENFVOESCONTEXTANGLEPROC>(loadProc("glTexGenfvOESContextANGLE"));
-    glTexGeniOESContextANGLE =
-        reinterpret_cast<PFNGLTEXGENIOESCONTEXTANGLEPROC>(loadProc("glTexGeniOESContextANGLE"));
-    glTexGenivOESContextANGLE =
-        reinterpret_cast<PFNGLTEXGENIVOESCONTEXTANGLEPROC>(loadProc("glTexGenivOESContextANGLE"));
-    glTexGenxOESContextANGLE =
-        reinterpret_cast<PFNGLTEXGENXOESCONTEXTANGLEPROC>(loadProc("glTexGenxOESContextANGLE"));
-    glTexGenxvOESContextANGLE =
-        reinterpret_cast<PFNGLTEXGENXVOESCONTEXTANGLEPROC>(loadProc("glTexGenxvOESContextANGLE"));
-}
-}  // namespace angle
diff --git a/util/gles_loader_autogen.h b/util/gles_loader_autogen.h
deleted file mode 100644
index 91bdb40..0000000
--- a/util/gles_loader_autogen.h
+++ /dev/null
@@ -1,1516 +0,0 @@
-// GENERATED FILE - DO NOT EDIT.
-// Generated by generate_loader.py using data from gl.xml and gl_angle_ext.xml.
-//
-// Copyright 2018 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.
-//
-// gles_loader_autogen.h:
-//   Simple GLES function loader.
-
-#ifndef UTIL_GLES_LOADER_AUTOGEN_H_
-#define UTIL_GLES_LOADER_AUTOGEN_H_
-
-#if defined(GL_GLES_PROTOTYPES) && GL_GLES_PROTOTYPES
-#    error Don't define GL prototypes if you want to use a loader!
-#endif  // defined(GL_GLES_PROTOTYPES)
-
-#include "angle_gl.h"
-#include "util/util_export.h"
-
-ANGLE_UTIL_EXPORT extern PFNGLALPHAFUNCPROC glAlphaFunc;
-ANGLE_UTIL_EXPORT extern PFNGLCLIPPLANEFPROC glClipPlanef;
-ANGLE_UTIL_EXPORT extern PFNGLCOLOR4FPROC glColor4f;
-ANGLE_UTIL_EXPORT extern PFNGLFOGFPROC glFogf;
-ANGLE_UTIL_EXPORT extern PFNGLFOGFVPROC glFogfv;
-ANGLE_UTIL_EXPORT extern PFNGLFRUSTUMFPROC glFrustumf;
-ANGLE_UTIL_EXPORT extern PFNGLGETCLIPPLANEFPROC glGetClipPlanef;
-ANGLE_UTIL_EXPORT extern PFNGLGETLIGHTFVPROC glGetLightfv;
-ANGLE_UTIL_EXPORT extern PFNGLGETMATERIALFVPROC glGetMaterialfv;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXENVFVPROC glGetTexEnvfv;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTMODELFPROC glLightModelf;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTMODELFVPROC glLightModelfv;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTFPROC glLightf;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTFVPROC glLightfv;
-ANGLE_UTIL_EXPORT extern PFNGLLOADMATRIXFPROC glLoadMatrixf;
-ANGLE_UTIL_EXPORT extern PFNGLMATERIALFPROC glMaterialf;
-ANGLE_UTIL_EXPORT extern PFNGLMATERIALFVPROC glMaterialfv;
-ANGLE_UTIL_EXPORT extern PFNGLMULTMATRIXFPROC glMultMatrixf;
-ANGLE_UTIL_EXPORT extern PFNGLMULTITEXCOORD4FPROC glMultiTexCoord4f;
-ANGLE_UTIL_EXPORT extern PFNGLNORMAL3FPROC glNormal3f;
-ANGLE_UTIL_EXPORT extern PFNGLORTHOFPROC glOrthof;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTPARAMETERFPROC glPointParameterf;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTPARAMETERFVPROC glPointParameterfv;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTSIZEPROC glPointSize;
-ANGLE_UTIL_EXPORT extern PFNGLROTATEFPROC glRotatef;
-ANGLE_UTIL_EXPORT extern PFNGLSCALEFPROC glScalef;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVFPROC glTexEnvf;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVFVPROC glTexEnvfv;
-ANGLE_UTIL_EXPORT extern PFNGLTRANSLATEFPROC glTranslatef;
-ANGLE_UTIL_EXPORT extern PFNGLALPHAFUNCXPROC glAlphaFuncx;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARCOLORXPROC glClearColorx;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARDEPTHXPROC glClearDepthx;
-ANGLE_UTIL_EXPORT extern PFNGLCLIENTACTIVETEXTUREPROC glClientActiveTexture;
-ANGLE_UTIL_EXPORT extern PFNGLCLIPPLANEXPROC glClipPlanex;
-ANGLE_UTIL_EXPORT extern PFNGLCOLOR4UBPROC glColor4ub;
-ANGLE_UTIL_EXPORT extern PFNGLCOLOR4XPROC glColor4x;
-ANGLE_UTIL_EXPORT extern PFNGLCOLORPOINTERPROC glColorPointer;
-ANGLE_UTIL_EXPORT extern PFNGLDEPTHRANGEXPROC glDepthRangex;
-ANGLE_UTIL_EXPORT extern PFNGLDISABLECLIENTSTATEPROC glDisableClientState;
-ANGLE_UTIL_EXPORT extern PFNGLENABLECLIENTSTATEPROC glEnableClientState;
-ANGLE_UTIL_EXPORT extern PFNGLFOGXPROC glFogx;
-ANGLE_UTIL_EXPORT extern PFNGLFOGXVPROC glFogxv;
-ANGLE_UTIL_EXPORT extern PFNGLFRUSTUMXPROC glFrustumx;
-ANGLE_UTIL_EXPORT extern PFNGLGETCLIPPLANEXPROC glGetClipPlanex;
-ANGLE_UTIL_EXPORT extern PFNGLGETFIXEDVPROC glGetFixedv;
-ANGLE_UTIL_EXPORT extern PFNGLGETLIGHTXVPROC glGetLightxv;
-ANGLE_UTIL_EXPORT extern PFNGLGETMATERIALXVPROC glGetMaterialxv;
-ANGLE_UTIL_EXPORT extern PFNGLGETPOINTERVPROC glGetPointerv;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXENVIVPROC glGetTexEnviv;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXENVXVPROC glGetTexEnvxv;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERXVPROC glGetTexParameterxv;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTMODELXPROC glLightModelx;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTMODELXVPROC glLightModelxv;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTXPROC glLightx;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTXVPROC glLightxv;
-ANGLE_UTIL_EXPORT extern PFNGLLINEWIDTHXPROC glLineWidthx;
-ANGLE_UTIL_EXPORT extern PFNGLLOADIDENTITYPROC glLoadIdentity;
-ANGLE_UTIL_EXPORT extern PFNGLLOADMATRIXXPROC glLoadMatrixx;
-ANGLE_UTIL_EXPORT extern PFNGLLOGICOPPROC glLogicOp;
-ANGLE_UTIL_EXPORT extern PFNGLMATERIALXPROC glMaterialx;
-ANGLE_UTIL_EXPORT extern PFNGLMATERIALXVPROC glMaterialxv;
-ANGLE_UTIL_EXPORT extern PFNGLMATRIXMODEPROC glMatrixMode;
-ANGLE_UTIL_EXPORT extern PFNGLMULTMATRIXXPROC glMultMatrixx;
-ANGLE_UTIL_EXPORT extern PFNGLMULTITEXCOORD4XPROC glMultiTexCoord4x;
-ANGLE_UTIL_EXPORT extern PFNGLNORMAL3XPROC glNormal3x;
-ANGLE_UTIL_EXPORT extern PFNGLNORMALPOINTERPROC glNormalPointer;
-ANGLE_UTIL_EXPORT extern PFNGLORTHOXPROC glOrthox;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTPARAMETERXPROC glPointParameterx;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTPARAMETERXVPROC glPointParameterxv;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTSIZEXPROC glPointSizex;
-ANGLE_UTIL_EXPORT extern PFNGLPOLYGONOFFSETXPROC glPolygonOffsetx;
-ANGLE_UTIL_EXPORT extern PFNGLPOPMATRIXPROC glPopMatrix;
-ANGLE_UTIL_EXPORT extern PFNGLPUSHMATRIXPROC glPushMatrix;
-ANGLE_UTIL_EXPORT extern PFNGLROTATEXPROC glRotatex;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLECOVERAGEXPROC glSampleCoveragex;
-ANGLE_UTIL_EXPORT extern PFNGLSCALEXPROC glScalex;
-ANGLE_UTIL_EXPORT extern PFNGLSHADEMODELPROC glShadeModel;
-ANGLE_UTIL_EXPORT extern PFNGLTEXCOORDPOINTERPROC glTexCoordPointer;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVIPROC glTexEnvi;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVXPROC glTexEnvx;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVIVPROC glTexEnviv;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVXVPROC glTexEnvxv;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERXPROC glTexParameterx;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERXVPROC glTexParameterxv;
-ANGLE_UTIL_EXPORT extern PFNGLTRANSLATEXPROC glTranslatex;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXPOINTERPROC glVertexPointer;
-ANGLE_UTIL_EXPORT extern PFNGLACTIVETEXTUREPROC glActiveTexture;
-ANGLE_UTIL_EXPORT extern PFNGLATTACHSHADERPROC glAttachShader;
-ANGLE_UTIL_EXPORT extern PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation;
-ANGLE_UTIL_EXPORT extern PFNGLBINDBUFFERPROC glBindBuffer;
-ANGLE_UTIL_EXPORT extern PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
-ANGLE_UTIL_EXPORT extern PFNGLBINDRENDERBUFFERPROC glBindRenderbuffer;
-ANGLE_UTIL_EXPORT extern PFNGLBINDTEXTUREPROC glBindTexture;
-ANGLE_UTIL_EXPORT extern PFNGLBLENDCOLORPROC glBlendColor;
-ANGLE_UTIL_EXPORT extern PFNGLBLENDEQUATIONPROC glBlendEquation;
-ANGLE_UTIL_EXPORT extern PFNGLBLENDEQUATIONSEPARATEPROC glBlendEquationSeparate;
-ANGLE_UTIL_EXPORT extern PFNGLBLENDFUNCPROC glBlendFunc;
-ANGLE_UTIL_EXPORT extern PFNGLBLENDFUNCSEPARATEPROC glBlendFuncSeparate;
-ANGLE_UTIL_EXPORT extern PFNGLBUFFERDATAPROC glBufferData;
-ANGLE_UTIL_EXPORT extern PFNGLBUFFERSUBDATAPROC glBufferSubData;
-ANGLE_UTIL_EXPORT extern PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARPROC glClear;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARCOLORPROC glClearColor;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARDEPTHFPROC glClearDepthf;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARSTENCILPROC glClearStencil;
-ANGLE_UTIL_EXPORT extern PFNGLCOLORMASKPROC glColorMask;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPILESHADERPROC glCompileShader;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXIMAGE2DPROC glCompressedTexImage2D;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glCompressedTexSubImage2D;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYTEXIMAGE2DPROC glCopyTexImage2D;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYTEXSUBIMAGE2DPROC glCopyTexSubImage2D;
-ANGLE_UTIL_EXPORT extern PFNGLCREATEPROGRAMPROC glCreateProgram;
-ANGLE_UTIL_EXPORT extern PFNGLCREATESHADERPROC glCreateShader;
-ANGLE_UTIL_EXPORT extern PFNGLCULLFACEPROC glCullFace;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEBUFFERSPROC glDeleteBuffers;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEPROGRAMPROC glDeleteProgram;
-ANGLE_UTIL_EXPORT extern PFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers;
-ANGLE_UTIL_EXPORT extern PFNGLDELETESHADERPROC glDeleteShader;
-ANGLE_UTIL_EXPORT extern PFNGLDELETETEXTURESPROC glDeleteTextures;
-ANGLE_UTIL_EXPORT extern PFNGLDEPTHFUNCPROC glDepthFunc;
-ANGLE_UTIL_EXPORT extern PFNGLDEPTHMASKPROC glDepthMask;
-ANGLE_UTIL_EXPORT extern PFNGLDEPTHRANGEFPROC glDepthRangef;
-ANGLE_UTIL_EXPORT extern PFNGLDETACHSHADERPROC glDetachShader;
-ANGLE_UTIL_EXPORT extern PFNGLDISABLEPROC glDisable;
-ANGLE_UTIL_EXPORT extern PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWARRAYSPROC glDrawArrays;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWELEMENTSPROC glDrawElements;
-ANGLE_UTIL_EXPORT extern PFNGLENABLEPROC glEnable;
-ANGLE_UTIL_EXPORT extern PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray;
-ANGLE_UTIL_EXPORT extern PFNGLFINISHPROC glFinish;
-ANGLE_UTIL_EXPORT extern PFNGLFLUSHPROC glFlush;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
-ANGLE_UTIL_EXPORT extern PFNGLFRONTFACEPROC glFrontFace;
-ANGLE_UTIL_EXPORT extern PFNGLGENBUFFERSPROC glGenBuffers;
-ANGLE_UTIL_EXPORT extern PFNGLGENERATEMIPMAPPROC glGenerateMipmap;
-ANGLE_UTIL_EXPORT extern PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
-ANGLE_UTIL_EXPORT extern PFNGLGENRENDERBUFFERSPROC glGenRenderbuffers;
-ANGLE_UTIL_EXPORT extern PFNGLGENTEXTURESPROC glGenTextures;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEATTRIBPROC glGetActiveAttrib;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEUNIFORMPROC glGetActiveUniform;
-ANGLE_UTIL_EXPORT extern PFNGLGETATTACHEDSHADERSPROC glGetAttachedShaders;
-ANGLE_UTIL_EXPORT extern PFNGLGETATTRIBLOCATIONPROC glGetAttribLocation;
-ANGLE_UTIL_EXPORT extern PFNGLGETBOOLEANVPROC glGetBooleanv;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPARAMETERIVPROC glGetBufferParameteriv;
-ANGLE_UTIL_EXPORT extern PFNGLGETERRORPROC glGetError;
-ANGLE_UTIL_EXPORT extern PFNGLGETFLOATVPROC glGetFloatv;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC
-    glGetFramebufferAttachmentParameteriv;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGERVPROC glGetIntegerv;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMIVPROC glGetProgramiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog;
-ANGLE_UTIL_EXPORT extern PFNGLGETRENDERBUFFERPARAMETERIVPROC glGetRenderbufferParameteriv;
-ANGLE_UTIL_EXPORT extern PFNGLGETSHADERIVPROC glGetShaderiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog;
-ANGLE_UTIL_EXPORT extern PFNGLGETSHADERPRECISIONFORMATPROC glGetShaderPrecisionFormat;
-ANGLE_UTIL_EXPORT extern PFNGLGETSHADERSOURCEPROC glGetShaderSource;
-ANGLE_UTIL_EXPORT extern PFNGLGETSTRINGPROC glGetString;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERFVPROC glGetTexParameterfv;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIVPROC glGetTexParameteriv;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMFVPROC glGetUniformfv;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMIVPROC glGetUniformiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBFVPROC glGetVertexAttribfv;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIVPROC glGetVertexAttribiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBPOINTERVPROC glGetVertexAttribPointerv;
-ANGLE_UTIL_EXPORT extern PFNGLHINTPROC glHint;
-ANGLE_UTIL_EXPORT extern PFNGLISBUFFERPROC glIsBuffer;
-ANGLE_UTIL_EXPORT extern PFNGLISENABLEDPROC glIsEnabled;
-ANGLE_UTIL_EXPORT extern PFNGLISFRAMEBUFFERPROC glIsFramebuffer;
-ANGLE_UTIL_EXPORT extern PFNGLISPROGRAMPROC glIsProgram;
-ANGLE_UTIL_EXPORT extern PFNGLISRENDERBUFFERPROC glIsRenderbuffer;
-ANGLE_UTIL_EXPORT extern PFNGLISSHADERPROC glIsShader;
-ANGLE_UTIL_EXPORT extern PFNGLISTEXTUREPROC glIsTexture;
-ANGLE_UTIL_EXPORT extern PFNGLLINEWIDTHPROC glLineWidth;
-ANGLE_UTIL_EXPORT extern PFNGLLINKPROGRAMPROC glLinkProgram;
-ANGLE_UTIL_EXPORT extern PFNGLPIXELSTOREIPROC glPixelStorei;
-ANGLE_UTIL_EXPORT extern PFNGLPOLYGONOFFSETPROC glPolygonOffset;
-ANGLE_UTIL_EXPORT extern PFNGLREADPIXELSPROC glReadPixels;
-ANGLE_UTIL_EXPORT extern PFNGLRELEASESHADERCOMPILERPROC glReleaseShaderCompiler;
-ANGLE_UTIL_EXPORT extern PFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLECOVERAGEPROC glSampleCoverage;
-ANGLE_UTIL_EXPORT extern PFNGLSCISSORPROC glScissor;
-ANGLE_UTIL_EXPORT extern PFNGLSHADERBINARYPROC glShaderBinary;
-ANGLE_UTIL_EXPORT extern PFNGLSHADERSOURCEPROC glShaderSource;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILFUNCPROC glStencilFunc;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILFUNCSEPARATEPROC glStencilFuncSeparate;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILMASKPROC glStencilMask;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILMASKSEPARATEPROC glStencilMaskSeparate;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILOPPROC glStencilOp;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILOPSEPARATEPROC glStencilOpSeparate;
-ANGLE_UTIL_EXPORT extern PFNGLTEXIMAGE2DPROC glTexImage2D;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERFPROC glTexParameterf;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERFVPROC glTexParameterfv;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIPROC glTexParameteri;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIVPROC glTexParameteriv;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSUBIMAGE2DPROC glTexSubImage2D;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1FPROC glUniform1f;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1FVPROC glUniform1fv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1IPROC glUniform1i;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1IVPROC glUniform1iv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2FPROC glUniform2f;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2FVPROC glUniform2fv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2IPROC glUniform2i;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2IVPROC glUniform2iv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3FPROC glUniform3f;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3FVPROC glUniform3fv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3IPROC glUniform3i;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3IVPROC glUniform3iv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4FPROC glUniform4f;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4FVPROC glUniform4fv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4IPROC glUniform4i;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4IVPROC glUniform4iv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX2FVPROC glUniformMatrix2fv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX3FVPROC glUniformMatrix3fv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv;
-ANGLE_UTIL_EXPORT extern PFNGLUSEPROGRAMPROC glUseProgram;
-ANGLE_UTIL_EXPORT extern PFNGLVALIDATEPROGRAMPROC glValidateProgram;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB1FPROC glVertexAttrib1f;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB1FVPROC glVertexAttrib1fv;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB2FPROC glVertexAttrib2f;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB2FVPROC glVertexAttrib2fv;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB3FPROC glVertexAttrib3f;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB3FVPROC glVertexAttrib3fv;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB4FPROC glVertexAttrib4f;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer;
-ANGLE_UTIL_EXPORT extern PFNGLVIEWPORTPROC glViewport;
-ANGLE_UTIL_EXPORT extern PFNGLREADBUFFERPROC glReadBuffer;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
-ANGLE_UTIL_EXPORT extern PFNGLTEXIMAGE3DPROC glTexImage3D;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSUBIMAGE3DPROC glTexSubImage3D;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYTEXSUBIMAGE3DPROC glCopyTexSubImage3D;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXIMAGE3DPROC glCompressedTexImage3D;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glCompressedTexSubImage3D;
-ANGLE_UTIL_EXPORT extern PFNGLGENQUERIESPROC glGenQueries;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEQUERIESPROC glDeleteQueries;
-ANGLE_UTIL_EXPORT extern PFNGLISQUERYPROC glIsQuery;
-ANGLE_UTIL_EXPORT extern PFNGLBEGINQUERYPROC glBeginQuery;
-ANGLE_UTIL_EXPORT extern PFNGLENDQUERYPROC glEndQuery;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYIVPROC glGetQueryiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv;
-ANGLE_UTIL_EXPORT extern PFNGLUNMAPBUFFERPROC glUnmapBuffer;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPOINTERVPROC glGetBufferPointerv;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWBUFFERSPROC glDrawBuffers;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX2X3FVPROC glUniformMatrix2x3fv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX3X2FVPROC glUniformMatrix3x2fv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX2X4FVPROC glUniformMatrix2x4fv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX4X2FVPROC glUniformMatrix4x2fv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX3X4FVPROC glUniformMatrix3x4fv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX4X3FVPROC glUniformMatrix4x3fv;
-ANGLE_UTIL_EXPORT extern PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
-ANGLE_UTIL_EXPORT extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glRenderbufferStorageMultisample;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTURELAYERPROC glFramebufferTextureLayer;
-ANGLE_UTIL_EXPORT extern PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
-ANGLE_UTIL_EXPORT extern PFNGLFLUSHMAPPEDBUFFERRANGEPROC glFlushMappedBufferRange;
-ANGLE_UTIL_EXPORT extern PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
-ANGLE_UTIL_EXPORT extern PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
-ANGLE_UTIL_EXPORT extern PFNGLISVERTEXARRAYPROC glIsVertexArray;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGERI_VPROC glGetIntegeri_v;
-ANGLE_UTIL_EXPORT extern PFNGLBEGINTRANSFORMFEEDBACKPROC glBeginTransformFeedback;
-ANGLE_UTIL_EXPORT extern PFNGLENDTRANSFORMFEEDBACKPROC glEndTransformFeedback;
-ANGLE_UTIL_EXPORT extern PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
-ANGLE_UTIL_EXPORT extern PFNGLBINDBUFFERBASEPROC glBindBufferBase;
-ANGLE_UTIL_EXPORT extern PFNGLTRANSFORMFEEDBACKVARYINGSPROC glTransformFeedbackVaryings;
-ANGLE_UTIL_EXPORT extern PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glGetTransformFeedbackVarying;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIIVPROC glGetVertexAttribIiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIUIVPROC glGetVertexAttribIuiv;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBI4IPROC glVertexAttribI4i;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBI4UIPROC glVertexAttribI4ui;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBI4IVPROC glVertexAttribI4iv;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBI4UIVPROC glVertexAttribI4uiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMUIVPROC glGetUniformuiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAGDATALOCATIONPROC glGetFragDataLocation;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1UIPROC glUniform1ui;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2UIPROC glUniform2ui;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3UIPROC glUniform3ui;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4UIPROC glUniform4ui;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1UIVPROC glUniform1uiv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2UIVPROC glUniform2uiv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3UIVPROC glUniform3uiv;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4UIVPROC glUniform4uiv;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARBUFFERIVPROC glClearBufferiv;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARBUFFERUIVPROC glClearBufferuiv;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARBUFFERFVPROC glClearBufferfv;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARBUFFERFIPROC glClearBufferfi;
-ANGLE_UTIL_EXPORT extern PFNGLGETSTRINGIPROC glGetStringi;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYBUFFERSUBDATAPROC glCopyBufferSubData;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMINDICESPROC glGetUniformIndices;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEUNIFORMSIVPROC glGetActiveUniformsiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEUNIFORMBLOCKIVPROC glGetActiveUniformBlockiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glGetActiveUniformBlockName;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWARRAYSINSTANCEDPROC glDrawArraysInstanced;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWELEMENTSINSTANCEDPROC glDrawElementsInstanced;
-ANGLE_UTIL_EXPORT extern PFNGLFENCESYNCPROC glFenceSync;
-ANGLE_UTIL_EXPORT extern PFNGLISSYNCPROC glIsSync;
-ANGLE_UTIL_EXPORT extern PFNGLDELETESYNCPROC glDeleteSync;
-ANGLE_UTIL_EXPORT extern PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
-ANGLE_UTIL_EXPORT extern PFNGLWAITSYNCPROC glWaitSync;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGER64VPROC glGetInteger64v;
-ANGLE_UTIL_EXPORT extern PFNGLGETSYNCIVPROC glGetSynciv;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGER64I_VPROC glGetInteger64i_v;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPARAMETERI64VPROC glGetBufferParameteri64v;
-ANGLE_UTIL_EXPORT extern PFNGLGENSAMPLERSPROC glGenSamplers;
-ANGLE_UTIL_EXPORT extern PFNGLDELETESAMPLERSPROC glDeleteSamplers;
-ANGLE_UTIL_EXPORT extern PFNGLISSAMPLERPROC glIsSampler;
-ANGLE_UTIL_EXPORT extern PFNGLBINDSAMPLERPROC glBindSampler;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIPROC glSamplerParameteri;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIVPROC glSamplerParameteriv;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERFPROC glSamplerParameterf;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERFVPROC glSamplerParameterfv;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIVPROC glGetSamplerParameteriv;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERFVPROC glGetSamplerParameterfv;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBDIVISORPROC glVertexAttribDivisor;
-ANGLE_UTIL_EXPORT extern PFNGLBINDTRANSFORMFEEDBACKPROC glBindTransformFeedback;
-ANGLE_UTIL_EXPORT extern PFNGLDELETETRANSFORMFEEDBACKSPROC glDeleteTransformFeedbacks;
-ANGLE_UTIL_EXPORT extern PFNGLGENTRANSFORMFEEDBACKSPROC glGenTransformFeedbacks;
-ANGLE_UTIL_EXPORT extern PFNGLISTRANSFORMFEEDBACKPROC glIsTransformFeedback;
-ANGLE_UTIL_EXPORT extern PFNGLPAUSETRANSFORMFEEDBACKPROC glPauseTransformFeedback;
-ANGLE_UTIL_EXPORT extern PFNGLRESUMETRANSFORMFEEDBACKPROC glResumeTransformFeedback;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMBINARYPROC glProgramBinary;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
-ANGLE_UTIL_EXPORT extern PFNGLINVALIDATEFRAMEBUFFERPROC glInvalidateFramebuffer;
-ANGLE_UTIL_EXPORT extern PFNGLINVALIDATESUBFRAMEBUFFERPROC glInvalidateSubFramebuffer;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE2DPROC glTexStorage2D;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE3DPROC glTexStorage3D;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTERNALFORMATIVPROC glGetInternalformativ;
-ANGLE_UTIL_EXPORT extern PFNGLDISPATCHCOMPUTEPROC glDispatchCompute;
-ANGLE_UTIL_EXPORT extern PFNGLDISPATCHCOMPUTEINDIRECTPROC glDispatchComputeIndirect;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWARRAYSINDIRECTPROC glDrawArraysIndirect;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWELEMENTSINDIRECTPROC glDrawElementsIndirect;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERPARAMETERIPROC glFramebufferParameteri;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAMEBUFFERPARAMETERIVPROC glGetFramebufferParameteriv;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMINTERFACEIVPROC glGetProgramInterfaceiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMRESOURCEINDEXPROC glGetProgramResourceIndex;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMRESOURCENAMEPROC glGetProgramResourceName;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMRESOURCEIVPROC glGetProgramResourceiv;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMRESOURCELOCATIONPROC glGetProgramResourceLocation;
-ANGLE_UTIL_EXPORT extern PFNGLUSEPROGRAMSTAGESPROC glUseProgramStages;
-ANGLE_UTIL_EXPORT extern PFNGLACTIVESHADERPROGRAMPROC glActiveShaderProgram;
-ANGLE_UTIL_EXPORT extern PFNGLCREATESHADERPROGRAMVPROC glCreateShaderProgramv;
-ANGLE_UTIL_EXPORT extern PFNGLBINDPROGRAMPIPELINEPROC glBindProgramPipeline;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEPROGRAMPIPELINESPROC glDeleteProgramPipelines;
-ANGLE_UTIL_EXPORT extern PFNGLGENPROGRAMPIPELINESPROC glGenProgramPipelines;
-ANGLE_UTIL_EXPORT extern PFNGLISPROGRAMPIPELINEPROC glIsProgramPipeline;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMPIPELINEIVPROC glGetProgramPipelineiv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1IPROC glProgramUniform1i;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2IPROC glProgramUniform2i;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3IPROC glProgramUniform3i;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4IPROC glProgramUniform4i;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1UIPROC glProgramUniform1ui;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2UIPROC glProgramUniform2ui;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3UIPROC glProgramUniform3ui;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4UIPROC glProgramUniform4ui;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1FPROC glProgramUniform1f;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2FPROC glProgramUniform2f;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3FPROC glProgramUniform3f;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4FPROC glProgramUniform4f;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1IVPROC glProgramUniform1iv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2IVPROC glProgramUniform2iv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3IVPROC glProgramUniform3iv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4IVPROC glProgramUniform4iv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1UIVPROC glProgramUniform1uiv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2UIVPROC glProgramUniform2uiv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3UIVPROC glProgramUniform3uiv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4UIVPROC glProgramUniform4uiv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1FVPROC glProgramUniform1fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2FVPROC glProgramUniform2fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3FVPROC glProgramUniform3fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4FVPROC glProgramUniform4fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX2FVPROC glProgramUniformMatrix2fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX3FVPROC glProgramUniformMatrix3fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX4FVPROC glProgramUniformMatrix4fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC glProgramUniformMatrix2x3fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC glProgramUniformMatrix3x2fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC glProgramUniformMatrix2x4fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC glProgramUniformMatrix4x2fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC glProgramUniformMatrix3x4fv;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC glProgramUniformMatrix4x3fv;
-ANGLE_UTIL_EXPORT extern PFNGLVALIDATEPROGRAMPIPELINEPROC glValidateProgramPipeline;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMPIPELINEINFOLOGPROC glGetProgramPipelineInfoLog;
-ANGLE_UTIL_EXPORT extern PFNGLBINDIMAGETEXTUREPROC glBindImageTexture;
-ANGLE_UTIL_EXPORT extern PFNGLGETBOOLEANI_VPROC glGetBooleani_v;
-ANGLE_UTIL_EXPORT extern PFNGLMEMORYBARRIERPROC glMemoryBarrier;
-ANGLE_UTIL_EXPORT extern PFNGLMEMORYBARRIERBYREGIONPROC glMemoryBarrierByRegion;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE2DMULTISAMPLEPROC glTexStorage2DMultisample;
-ANGLE_UTIL_EXPORT extern PFNGLGETMULTISAMPLEFVPROC glGetMultisamplefv;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLEMASKIPROC glSampleMaski;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERIVPROC glGetTexLevelParameteriv;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERFVPROC glGetTexLevelParameterfv;
-ANGLE_UTIL_EXPORT extern PFNGLBINDVERTEXBUFFERPROC glBindVertexBuffer;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBFORMATPROC glVertexAttribFormat;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBIFORMATPROC glVertexAttribIFormat;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBBINDINGPROC glVertexAttribBinding;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXBINDINGDIVISORPROC glVertexBindingDivisor;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYSUBTEXTURE3DANGLEPROC glCopySubTexture3DANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYTEXTURE3DANGLEPROC glCopyTexture3DANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBLITFRAMEBUFFERANGLEPROC glBlitFramebufferANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC
-    glRenderbufferStorageMultisampleANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWARRAYSINSTANCEDANGLEPROC glDrawArraysInstancedANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWELEMENTSINSTANCEDANGLEPROC glDrawElementsInstancedANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBDIVISORANGLEPROC glVertexAttribDivisorANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTIDRAWARRAYSANGLEPROC glMultiDrawArraysANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTIDRAWARRAYSINSTANCEDANGLEPROC glMultiDrawArraysInstancedANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTIDRAWELEMENTSANGLEPROC glMultiDrawElementsANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTIDRAWELEMENTSINSTANCEDANGLEPROC glMultiDrawElementsInstancedANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTUREMULTIVIEWLAYEREDANGLEPROC
-    glFramebufferTextureMultiviewLayeredANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTUREMULTIVIEWSIDEBYSIDEANGLEPROC
-    glFramebufferTextureMultiviewSideBySideANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLREQUESTEXTENSIONANGLEPROC glRequestExtensionANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLEPROC glCompressedTexImage2DRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLEPROC glCompressedTexImage3DRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLEPROC
-    glCompressedTexSubImage2DRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLEPROC
-    glCompressedTexSubImage3DRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLEPROC
-    glGetActiveUniformBlockivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBOOLEANI_VROBUSTANGLEPROC glGetBooleani_vRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBOOLEANVROBUSTANGLEPROC glGetBooleanvRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPARAMETERI64VROBUSTANGLEPROC
-    glGetBufferParameteri64vRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPARAMETERIVROBUSTANGLEPROC glGetBufferParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPOINTERVROBUSTANGLEPROC glGetBufferPointervRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFLOATVROBUSTANGLEPROC glGetFloatvRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLEPROC
-    glGetFramebufferAttachmentParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLEPROC
-    glGetFramebufferParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGER64I_VROBUSTANGLEPROC glGetInteger64i_vRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGER64VROBUSTANGLEPROC glGetInteger64vRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGERI_VROBUSTANGLEPROC glGetIntegeri_vRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGERVROBUSTANGLEPROC glGetIntegervRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTERNALFORMATIVROBUSTANGLEPROC glGetInternalformativRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETMULTISAMPLEFVROBUSTANGLEPROC glGetMultisamplefvRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLEPROC
-    glGetPointervRobustANGLERobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMINTERFACEIVROBUSTANGLEPROC
-    glGetProgramInterfaceivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMIVROBUSTANGLEPROC glGetProgramivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTI64VROBUSTANGLEPROC glGetQueryObjecti64vRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTIVROBUSTANGLEPROC glGetQueryObjectivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTUI64VROBUSTANGLEPROC glGetQueryObjectui64vRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTUIVROBUSTANGLEPROC glGetQueryObjectuivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYIVROBUSTANGLEPROC glGetQueryivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLEPROC
-    glGetRenderbufferParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLEPROC
-    glGetSamplerParameterIivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLEPROC
-    glGetSamplerParameterIuivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERFVROBUSTANGLEPROC
-    glGetSamplerParameterfvRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIVROBUSTANGLEPROC
-    glGetSamplerParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSHADERIVROBUSTANGLEPROC glGetShaderivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLEPROC
-    glGetTexLevelParameterfvRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLEPROC
-    glGetTexLevelParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIIVROBUSTANGLEPROC glGetTexParameterIivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIUIVROBUSTANGLEPROC glGetTexParameterIuivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERFVROBUSTANGLEPROC glGetTexParameterfvRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIVROBUSTANGLEPROC glGetTexParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMFVROBUSTANGLEPROC glGetUniformfvRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMIVROBUSTANGLEPROC glGetUniformivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMUIVROBUSTANGLEPROC glGetUniformuivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIIVROBUSTANGLEPROC glGetVertexAttribIivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIUIVROBUSTANGLEPROC glGetVertexAttribIuivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLEPROC
-    glGetVertexAttribPointervRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBFVROBUSTANGLEPROC glGetVertexAttribfvRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIVROBUSTANGLEPROC glGetVertexAttribivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMFVROBUSTANGLEPROC glGetnUniformfvRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMIVROBUSTANGLEPROC glGetnUniformivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMUIVROBUSTANGLEPROC glGetnUniformuivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLREADPIXELSROBUSTANGLEPROC glReadPixelsRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLREADNPIXELSROBUSTANGLEPROC glReadnPixelsRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIIVROBUSTANGLEPROC glSamplerParameterIivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIUIVROBUSTANGLEPROC glSamplerParameterIuivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERFVROBUSTANGLEPROC glSamplerParameterfvRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIVROBUSTANGLEPROC glSamplerParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXIMAGE2DROBUSTANGLEPROC glTexImage2DRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXIMAGE3DROBUSTANGLEPROC glTexImage3DRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIIVROBUSTANGLEPROC glTexParameterIivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIUIVROBUSTANGLEPROC glTexParameterIuivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERFVROBUSTANGLEPROC glTexParameterfvRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIVROBUSTANGLEPROC glTexParameterivRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSUBIMAGE2DROBUSTANGLEPROC glTexSubImage2DRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSUBIMAGE3DROBUSTANGLEPROC glTexSubImage3DRobustANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETMULTISAMPLEFVANGLEPROC glGetMultisamplefvANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERFVANGLEPROC glGetTexLevelParameterfvANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERIVANGLEPROC glGetTexLevelParameterivANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLEMASKIANGLEPROC glSampleMaskiANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE2DMULTISAMPLEANGLEPROC glTexStorage2DMultisampleANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC glGetTranslatedShaderSourceANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC glBindUniformLocationCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMPROC glCompressedCopyTextureCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYSUBTEXTURECHROMIUMPROC glCopySubTextureCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYTEXTURECHROMIUMPROC glCopyTextureCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLCOVERAGEMODULATIONCHROMIUMPROC glCoverageModulationCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLMATRIXLOADIDENTITYCHROMIUMPROC glMatrixLoadIdentityCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLMATRIXLOADFCHROMIUMPROC glMatrixLoadfCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLBINDFRAGMENTINPUTLOCATIONCHROMIUMPROC
-    glBindFragmentInputLocationCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLCOVERFILLPATHCHROMIUMPROC glCoverFillPathCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLCOVERFILLPATHINSTANCEDCHROMIUMPROC glCoverFillPathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLCOVERSTROKEPATHCHROMIUMPROC glCoverStrokePathCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLCOVERSTROKEPATHINSTANCEDCHROMIUMPROC
-    glCoverStrokePathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEPATHSCHROMIUMPROC glDeletePathsCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLGENPATHSCHROMIUMPROC glGenPathsCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLGETPATHPARAMETERFVCHROMIUMPROC glGetPathParameterfvCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLGETPATHPARAMETERIVCHROMIUMPROC glGetPathParameterivCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLISPATHCHROMIUMPROC glIsPathCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLPATHCOMMANDSCHROMIUMPROC glPathCommandsCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLPATHPARAMETERFCHROMIUMPROC glPathParameterfCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLPATHPARAMETERICHROMIUMPROC glPathParameteriCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLPATHSTENCILFUNCCHROMIUMPROC glPathStencilFuncCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMPATHFRAGMENTINPUTGENCHROMIUMPROC
-    glProgramPathFragmentInputGenCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILFILLPATHCHROMIUMPROC glStencilFillPathCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILFILLPATHINSTANCEDCHROMIUMPROC
-    glStencilFillPathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILSTROKEPATHCHROMIUMPROC glStencilStrokePathCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILSTROKEPATHINSTANCEDCHROMIUMPROC
-    glStencilStrokePathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILTHENCOVERFILLPATHCHROMIUMPROC
-    glStencilThenCoverFillPathCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDCHROMIUMPROC
-    glStencilThenCoverFillPathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILTHENCOVERSTROKEPATHCHROMIUMPROC
-    glStencilThenCoverStrokePathCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDCHROMIUMPROC
-    glStencilThenCoverStrokePathInstancedCHROMIUM;
-ANGLE_UTIL_EXPORT extern PFNGLBINDFRAGDATALOCATIONEXTPROC glBindFragDataLocationEXT;
-ANGLE_UTIL_EXPORT extern PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC glBindFragDataLocationIndexedEXT;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAGDATAINDEXEXTPROC glGetFragDataIndexEXT;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC
-    glGetProgramResourceLocationIndexEXT;
-ANGLE_UTIL_EXPORT extern PFNGLINSERTEVENTMARKEREXTPROC glInsertEventMarkerEXT;
-ANGLE_UTIL_EXPORT extern PFNGLPOPGROUPMARKEREXTPROC glPopGroupMarkerEXT;
-ANGLE_UTIL_EXPORT extern PFNGLPUSHGROUPMARKEREXTPROC glPushGroupMarkerEXT;
-ANGLE_UTIL_EXPORT extern PFNGLDISCARDFRAMEBUFFEREXTPROC glDiscardFramebufferEXT;
-ANGLE_UTIL_EXPORT extern PFNGLBEGINQUERYEXTPROC glBeginQueryEXT;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEQUERIESEXTPROC glDeleteQueriesEXT;
-ANGLE_UTIL_EXPORT extern PFNGLENDQUERYEXTPROC glEndQueryEXT;
-ANGLE_UTIL_EXPORT extern PFNGLGENQUERIESEXTPROC glGenQueriesEXT;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTI64VEXTPROC glGetQueryObjecti64vEXT;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTIVEXTPROC glGetQueryObjectivEXT;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTUI64VEXTPROC glGetQueryObjectui64vEXT;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTUIVEXTPROC glGetQueryObjectuivEXT;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYIVEXTPROC glGetQueryivEXT;
-ANGLE_UTIL_EXPORT extern PFNGLISQUERYEXTPROC glIsQueryEXT;
-ANGLE_UTIL_EXPORT extern PFNGLQUERYCOUNTEREXTPROC glQueryCounterEXT;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWBUFFERSEXTPROC glDrawBuffersEXT;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTUREEXTPROC glFramebufferTextureEXT;
-ANGLE_UTIL_EXPORT extern PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC glFlushMappedBufferRangeEXT;
-ANGLE_UTIL_EXPORT extern PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRangeEXT;
-ANGLE_UTIL_EXPORT extern PFNGLGETGRAPHICSRESETSTATUSEXTPROC glGetGraphicsResetStatusEXT;
-ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMFVEXTPROC glGetnUniformfvEXT;
-ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMIVEXTPROC glGetnUniformivEXT;
-ANGLE_UTIL_EXPORT extern PFNGLREADNPIXELSEXTPROC glReadnPixelsEXT;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE1DEXTPROC glTexStorage1DEXT;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE2DEXTPROC glTexStorage2DEXT;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE3DEXTPROC glTexStorage3DEXT;
-ANGLE_UTIL_EXPORT extern PFNGLDEBUGMESSAGECALLBACKKHRPROC glDebugMessageCallbackKHR;
-ANGLE_UTIL_EXPORT extern PFNGLDEBUGMESSAGECONTROLKHRPROC glDebugMessageControlKHR;
-ANGLE_UTIL_EXPORT extern PFNGLDEBUGMESSAGEINSERTKHRPROC glDebugMessageInsertKHR;
-ANGLE_UTIL_EXPORT extern PFNGLGETDEBUGMESSAGELOGKHRPROC glGetDebugMessageLogKHR;
-ANGLE_UTIL_EXPORT extern PFNGLGETOBJECTLABELKHRPROC glGetObjectLabelKHR;
-ANGLE_UTIL_EXPORT extern PFNGLGETOBJECTPTRLABELKHRPROC glGetObjectPtrLabelKHR;
-ANGLE_UTIL_EXPORT extern PFNGLGETPOINTERVKHRPROC glGetPointervKHR;
-ANGLE_UTIL_EXPORT extern PFNGLOBJECTLABELKHRPROC glObjectLabelKHR;
-ANGLE_UTIL_EXPORT extern PFNGLOBJECTPTRLABELKHRPROC glObjectPtrLabelKHR;
-ANGLE_UTIL_EXPORT extern PFNGLPOPDEBUGGROUPKHRPROC glPopDebugGroupKHR;
-ANGLE_UTIL_EXPORT extern PFNGLPUSHDEBUGGROUPKHRPROC glPushDebugGroupKHR;
-ANGLE_UTIL_EXPORT extern PFNGLMAXSHADERCOMPILERTHREADSKHRPROC glMaxShaderCompilerThreadsKHR;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEFENCESNVPROC glDeleteFencesNV;
-ANGLE_UTIL_EXPORT extern PFNGLFINISHFENCENVPROC glFinishFenceNV;
-ANGLE_UTIL_EXPORT extern PFNGLGENFENCESNVPROC glGenFencesNV;
-ANGLE_UTIL_EXPORT extern PFNGLGETFENCEIVNVPROC glGetFenceivNV;
-ANGLE_UTIL_EXPORT extern PFNGLISFENCENVPROC glIsFenceNV;
-ANGLE_UTIL_EXPORT extern PFNGLSETFENCENVPROC glSetFenceNV;
-ANGLE_UTIL_EXPORT extern PFNGLTESTFENCENVPROC glTestFenceNV;
-ANGLE_UTIL_EXPORT extern PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC
-    glEGLImageTargetRenderbufferStorageOES;
-ANGLE_UTIL_EXPORT extern PFNGLEGLIMAGETARGETTEXTURE2DOESPROC glEGLImageTargetTexture2DOES;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMBINARYOESPROC glGetProgramBinaryOES;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMBINARYOESPROC glProgramBinaryOES;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPOINTERVOESPROC glGetBufferPointervOES;
-ANGLE_UTIL_EXPORT extern PFNGLMAPBUFFEROESPROC glMapBufferOES;
-ANGLE_UTIL_EXPORT extern PFNGLUNMAPBUFFEROESPROC glUnmapBufferOES;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIIVOESPROC glGetSamplerParameterIivOES;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIUIVOESPROC glGetSamplerParameterIuivOES;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIIVOESPROC glGetTexParameterIivOES;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIUIVOESPROC glGetTexParameterIuivOES;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIIVOESPROC glSamplerParameterIivOES;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIUIVOESPROC glSamplerParameterIuivOES;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIIVOESPROC glTexParameterIivOES;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIUIVOESPROC glTexParameterIuivOES;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE3DMULTISAMPLEOESPROC glTexStorage3DMultisampleOES;
-ANGLE_UTIL_EXPORT extern PFNGLBINDVERTEXARRAYOESPROC glBindVertexArrayOES;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArraysOES;
-ANGLE_UTIL_EXPORT extern PFNGLGENVERTEXARRAYSOESPROC glGenVertexArraysOES;
-ANGLE_UTIL_EXPORT extern PFNGLISVERTEXARRAYOESPROC glIsVertexArrayOES;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXFOESPROC glDrawTexfOES;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXFVOESPROC glDrawTexfvOES;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXIOESPROC glDrawTexiOES;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXIVOESPROC glDrawTexivOES;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXSOESPROC glDrawTexsOES;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXSVOESPROC glDrawTexsvOES;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXXOESPROC glDrawTexxOES;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXXVOESPROC glDrawTexxvOES;
-ANGLE_UTIL_EXPORT extern PFNGLBINDFRAMEBUFFEROESPROC glBindFramebufferOES;
-ANGLE_UTIL_EXPORT extern PFNGLBINDRENDERBUFFEROESPROC glBindRenderbufferOES;
-ANGLE_UTIL_EXPORT extern PFNGLCHECKFRAMEBUFFERSTATUSOESPROC glCheckFramebufferStatusOES;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEFRAMEBUFFERSOESPROC glDeleteFramebuffersOES;
-ANGLE_UTIL_EXPORT extern PFNGLDELETERENDERBUFFERSOESPROC glDeleteRenderbuffersOES;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERRENDERBUFFEROESPROC glFramebufferRenderbufferOES;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTURE2DOESPROC glFramebufferTexture2DOES;
-ANGLE_UTIL_EXPORT extern PFNGLGENFRAMEBUFFERSOESPROC glGenFramebuffersOES;
-ANGLE_UTIL_EXPORT extern PFNGLGENRENDERBUFFERSOESPROC glGenRenderbuffersOES;
-ANGLE_UTIL_EXPORT extern PFNGLGENERATEMIPMAPOESPROC glGenerateMipmapOES;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC
-    glGetFramebufferAttachmentParameterivOES;
-ANGLE_UTIL_EXPORT extern PFNGLGETRENDERBUFFERPARAMETERIVOESPROC glGetRenderbufferParameterivOES;
-ANGLE_UTIL_EXPORT extern PFNGLISFRAMEBUFFEROESPROC glIsFramebufferOES;
-ANGLE_UTIL_EXPORT extern PFNGLISRENDERBUFFEROESPROC glIsRenderbufferOES;
-ANGLE_UTIL_EXPORT extern PFNGLRENDERBUFFERSTORAGEOESPROC glRenderbufferStorageOES;
-ANGLE_UTIL_EXPORT extern PFNGLCURRENTPALETTEMATRIXOESPROC glCurrentPaletteMatrixOES;
-ANGLE_UTIL_EXPORT extern PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC
-    glLoadPaletteFromModelViewMatrixOES;
-ANGLE_UTIL_EXPORT extern PFNGLMATRIXINDEXPOINTEROESPROC glMatrixIndexPointerOES;
-ANGLE_UTIL_EXPORT extern PFNGLWEIGHTPOINTEROESPROC glWeightPointerOES;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTSIZEPOINTEROESPROC glPointSizePointerOES;
-ANGLE_UTIL_EXPORT extern PFNGLQUERYMATRIXXOESPROC glQueryMatrixxOES;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXGENFVOESPROC glGetTexGenfvOES;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXGENIVOESPROC glGetTexGenivOES;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXGENXVOESPROC glGetTexGenxvOES;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENFOESPROC glTexGenfOES;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENFVOESPROC glTexGenfvOES;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENIOESPROC glTexGeniOES;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENIVOESPROC glTexGenivOES;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENXOESPROC glTexGenxOES;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENXVOESPROC glTexGenxvOES;
-ANGLE_UTIL_EXPORT extern PFNGLALPHAFUNCCONTEXTANGLEPROC glAlphaFuncContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLIPPLANEFCONTEXTANGLEPROC glClipPlanefContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOLOR4FCONTEXTANGLEPROC glColor4fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFOGFCONTEXTANGLEPROC glFogfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFOGFVCONTEXTANGLEPROC glFogfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRUSTUMFCONTEXTANGLEPROC glFrustumfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETCLIPPLANEFCONTEXTANGLEPROC glGetClipPlanefContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETLIGHTFVCONTEXTANGLEPROC glGetLightfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETMATERIALFVCONTEXTANGLEPROC glGetMaterialfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXENVFVCONTEXTANGLEPROC glGetTexEnvfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTMODELFCONTEXTANGLEPROC glLightModelfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTMODELFVCONTEXTANGLEPROC glLightModelfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTFCONTEXTANGLEPROC glLightfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTFVCONTEXTANGLEPROC glLightfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLOADMATRIXFCONTEXTANGLEPROC glLoadMatrixfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMATERIALFCONTEXTANGLEPROC glMaterialfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMATERIALFVCONTEXTANGLEPROC glMaterialfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTMATRIXFCONTEXTANGLEPROC glMultMatrixfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTITEXCOORD4FCONTEXTANGLEPROC glMultiTexCoord4fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLNORMAL3FCONTEXTANGLEPROC glNormal3fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLORTHOFCONTEXTANGLEPROC glOrthofContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTPARAMETERFCONTEXTANGLEPROC glPointParameterfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTPARAMETERFVCONTEXTANGLEPROC glPointParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTSIZECONTEXTANGLEPROC glPointSizeContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLROTATEFCONTEXTANGLEPROC glRotatefContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSCALEFCONTEXTANGLEPROC glScalefContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVFCONTEXTANGLEPROC glTexEnvfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVFVCONTEXTANGLEPROC glTexEnvfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTRANSLATEFCONTEXTANGLEPROC glTranslatefContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLALPHAFUNCXCONTEXTANGLEPROC glAlphaFuncxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARCOLORXCONTEXTANGLEPROC glClearColorxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARDEPTHXCONTEXTANGLEPROC glClearDepthxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLIENTACTIVETEXTURECONTEXTANGLEPROC glClientActiveTextureContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLIPPLANEXCONTEXTANGLEPROC glClipPlanexContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOLOR4UBCONTEXTANGLEPROC glColor4ubContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOLOR4XCONTEXTANGLEPROC glColor4xContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOLORPOINTERCONTEXTANGLEPROC glColorPointerContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDEPTHRANGEXCONTEXTANGLEPROC glDepthRangexContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDISABLECLIENTSTATECONTEXTANGLEPROC glDisableClientStateContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLENABLECLIENTSTATECONTEXTANGLEPROC glEnableClientStateContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFOGXCONTEXTANGLEPROC glFogxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFOGXVCONTEXTANGLEPROC glFogxvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRUSTUMXCONTEXTANGLEPROC glFrustumxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETCLIPPLANEXCONTEXTANGLEPROC glGetClipPlanexContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFIXEDVCONTEXTANGLEPROC glGetFixedvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETLIGHTXVCONTEXTANGLEPROC glGetLightxvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETMATERIALXVCONTEXTANGLEPROC glGetMaterialxvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPOINTERVCONTEXTANGLEPROC glGetPointervContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXENVIVCONTEXTANGLEPROC glGetTexEnvivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXENVXVCONTEXTANGLEPROC glGetTexEnvxvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERXVCONTEXTANGLEPROC glGetTexParameterxvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTMODELXCONTEXTANGLEPROC glLightModelxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTMODELXVCONTEXTANGLEPROC glLightModelxvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTXCONTEXTANGLEPROC glLightxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLIGHTXVCONTEXTANGLEPROC glLightxvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLINEWIDTHXCONTEXTANGLEPROC glLineWidthxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLOADIDENTITYCONTEXTANGLEPROC glLoadIdentityContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLOADMATRIXXCONTEXTANGLEPROC glLoadMatrixxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLOGICOPCONTEXTANGLEPROC glLogicOpContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMATERIALXCONTEXTANGLEPROC glMaterialxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMATERIALXVCONTEXTANGLEPROC glMaterialxvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMATRIXMODECONTEXTANGLEPROC glMatrixModeContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTMATRIXXCONTEXTANGLEPROC glMultMatrixxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTITEXCOORD4XCONTEXTANGLEPROC glMultiTexCoord4xContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLNORMAL3XCONTEXTANGLEPROC glNormal3xContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLNORMALPOINTERCONTEXTANGLEPROC glNormalPointerContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLORTHOXCONTEXTANGLEPROC glOrthoxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTPARAMETERXCONTEXTANGLEPROC glPointParameterxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTPARAMETERXVCONTEXTANGLEPROC glPointParameterxvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTSIZEXCONTEXTANGLEPROC glPointSizexContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOLYGONOFFSETXCONTEXTANGLEPROC glPolygonOffsetxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOPMATRIXCONTEXTANGLEPROC glPopMatrixContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPUSHMATRIXCONTEXTANGLEPROC glPushMatrixContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLROTATEXCONTEXTANGLEPROC glRotatexContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLECOVERAGEXCONTEXTANGLEPROC glSampleCoveragexContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSCALEXCONTEXTANGLEPROC glScalexContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSHADEMODELCONTEXTANGLEPROC glShadeModelContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXCOORDPOINTERCONTEXTANGLEPROC glTexCoordPointerContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVICONTEXTANGLEPROC glTexEnviContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVXCONTEXTANGLEPROC glTexEnvxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVIVCONTEXTANGLEPROC glTexEnvivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXENVXVCONTEXTANGLEPROC glTexEnvxvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERXCONTEXTANGLEPROC glTexParameterxContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERXVCONTEXTANGLEPROC glTexParameterxvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTRANSLATEXCONTEXTANGLEPROC glTranslatexContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXPOINTERCONTEXTANGLEPROC glVertexPointerContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLACTIVETEXTURECONTEXTANGLEPROC glActiveTextureContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLATTACHSHADERCONTEXTANGLEPROC glAttachShaderContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDATTRIBLOCATIONCONTEXTANGLEPROC glBindAttribLocationContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDBUFFERCONTEXTANGLEPROC glBindBufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDFRAMEBUFFERCONTEXTANGLEPROC glBindFramebufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDRENDERBUFFERCONTEXTANGLEPROC glBindRenderbufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDTEXTURECONTEXTANGLEPROC glBindTextureContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBLENDCOLORCONTEXTANGLEPROC glBlendColorContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBLENDEQUATIONCONTEXTANGLEPROC glBlendEquationContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBLENDEQUATIONSEPARATECONTEXTANGLEPROC
-    glBlendEquationSeparateContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBLENDFUNCCONTEXTANGLEPROC glBlendFuncContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBLENDFUNCSEPARATECONTEXTANGLEPROC glBlendFuncSeparateContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBUFFERDATACONTEXTANGLEPROC glBufferDataContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBUFFERSUBDATACONTEXTANGLEPROC glBufferSubDataContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCHECKFRAMEBUFFERSTATUSCONTEXTANGLEPROC
-    glCheckFramebufferStatusContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARCONTEXTANGLEPROC glClearContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARCOLORCONTEXTANGLEPROC glClearColorContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARDEPTHFCONTEXTANGLEPROC glClearDepthfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARSTENCILCONTEXTANGLEPROC glClearStencilContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOLORMASKCONTEXTANGLEPROC glColorMaskContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPILESHADERCONTEXTANGLEPROC glCompileShaderContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXIMAGE2DCONTEXTANGLEPROC
-    glCompressedTexImage2DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXSUBIMAGE2DCONTEXTANGLEPROC
-    glCompressedTexSubImage2DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYTEXIMAGE2DCONTEXTANGLEPROC glCopyTexImage2DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYTEXSUBIMAGE2DCONTEXTANGLEPROC glCopyTexSubImage2DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCREATEPROGRAMCONTEXTANGLEPROC glCreateProgramContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCREATESHADERCONTEXTANGLEPROC glCreateShaderContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCULLFACECONTEXTANGLEPROC glCullFaceContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEBUFFERSCONTEXTANGLEPROC glDeleteBuffersContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEFRAMEBUFFERSCONTEXTANGLEPROC glDeleteFramebuffersContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEPROGRAMCONTEXTANGLEPROC glDeleteProgramContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETERENDERBUFFERSCONTEXTANGLEPROC glDeleteRenderbuffersContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETESHADERCONTEXTANGLEPROC glDeleteShaderContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETETEXTURESCONTEXTANGLEPROC glDeleteTexturesContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDEPTHFUNCCONTEXTANGLEPROC glDepthFuncContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDEPTHMASKCONTEXTANGLEPROC glDepthMaskContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDEPTHRANGEFCONTEXTANGLEPROC glDepthRangefContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDETACHSHADERCONTEXTANGLEPROC glDetachShaderContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDISABLECONTEXTANGLEPROC glDisableContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDISABLEVERTEXATTRIBARRAYCONTEXTANGLEPROC
-    glDisableVertexAttribArrayContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWARRAYSCONTEXTANGLEPROC glDrawArraysContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWELEMENTSCONTEXTANGLEPROC glDrawElementsContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLENABLECONTEXTANGLEPROC glEnableContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLENABLEVERTEXATTRIBARRAYCONTEXTANGLEPROC
-    glEnableVertexAttribArrayContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFINISHCONTEXTANGLEPROC glFinishContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFLUSHCONTEXTANGLEPROC glFlushContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERRENDERBUFFERCONTEXTANGLEPROC
-    glFramebufferRenderbufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTURE2DCONTEXTANGLEPROC
-    glFramebufferTexture2DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRONTFACECONTEXTANGLEPROC glFrontFaceContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENBUFFERSCONTEXTANGLEPROC glGenBuffersContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENERATEMIPMAPCONTEXTANGLEPROC glGenerateMipmapContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENFRAMEBUFFERSCONTEXTANGLEPROC glGenFramebuffersContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENRENDERBUFFERSCONTEXTANGLEPROC glGenRenderbuffersContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENTEXTURESCONTEXTANGLEPROC glGenTexturesContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEATTRIBCONTEXTANGLEPROC glGetActiveAttribContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEUNIFORMCONTEXTANGLEPROC glGetActiveUniformContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETATTACHEDSHADERSCONTEXTANGLEPROC glGetAttachedShadersContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETATTRIBLOCATIONCONTEXTANGLEPROC glGetAttribLocationContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBOOLEANVCONTEXTANGLEPROC glGetBooleanvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPARAMETERIVCONTEXTANGLEPROC
-    glGetBufferParameterivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETERRORCONTEXTANGLEPROC glGetErrorContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFLOATVCONTEXTANGLEPROC glGetFloatvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVCONTEXTANGLEPROC
-    glGetFramebufferAttachmentParameterivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGERVCONTEXTANGLEPROC glGetIntegervContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMIVCONTEXTANGLEPROC glGetProgramivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMINFOLOGCONTEXTANGLEPROC glGetProgramInfoLogContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETRENDERBUFFERPARAMETERIVCONTEXTANGLEPROC
-    glGetRenderbufferParameterivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSHADERIVCONTEXTANGLEPROC glGetShaderivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSHADERINFOLOGCONTEXTANGLEPROC glGetShaderInfoLogContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSHADERPRECISIONFORMATCONTEXTANGLEPROC
-    glGetShaderPrecisionFormatContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSHADERSOURCECONTEXTANGLEPROC glGetShaderSourceContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSTRINGCONTEXTANGLEPROC glGetStringContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERFVCONTEXTANGLEPROC glGetTexParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIVCONTEXTANGLEPROC glGetTexParameterivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMFVCONTEXTANGLEPROC glGetUniformfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMIVCONTEXTANGLEPROC glGetUniformivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMLOCATIONCONTEXTANGLEPROC glGetUniformLocationContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBFVCONTEXTANGLEPROC glGetVertexAttribfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIVCONTEXTANGLEPROC glGetVertexAttribivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBPOINTERVCONTEXTANGLEPROC
-    glGetVertexAttribPointervContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLHINTCONTEXTANGLEPROC glHintContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISBUFFERCONTEXTANGLEPROC glIsBufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISENABLEDCONTEXTANGLEPROC glIsEnabledContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISFRAMEBUFFERCONTEXTANGLEPROC glIsFramebufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISPROGRAMCONTEXTANGLEPROC glIsProgramContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISRENDERBUFFERCONTEXTANGLEPROC glIsRenderbufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISSHADERCONTEXTANGLEPROC glIsShaderContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISTEXTURECONTEXTANGLEPROC glIsTextureContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLINEWIDTHCONTEXTANGLEPROC glLineWidthContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLINKPROGRAMCONTEXTANGLEPROC glLinkProgramContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPIXELSTOREICONTEXTANGLEPROC glPixelStoreiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOLYGONOFFSETCONTEXTANGLEPROC glPolygonOffsetContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLREADPIXELSCONTEXTANGLEPROC glReadPixelsContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLRELEASESHADERCOMPILERCONTEXTANGLEPROC
-    glReleaseShaderCompilerContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLRENDERBUFFERSTORAGECONTEXTANGLEPROC glRenderbufferStorageContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLECOVERAGECONTEXTANGLEPROC glSampleCoverageContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSCISSORCONTEXTANGLEPROC glScissorContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSHADERBINARYCONTEXTANGLEPROC glShaderBinaryContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSHADERSOURCECONTEXTANGLEPROC glShaderSourceContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILFUNCCONTEXTANGLEPROC glStencilFuncContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILFUNCSEPARATECONTEXTANGLEPROC glStencilFuncSeparateContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILMASKCONTEXTANGLEPROC glStencilMaskContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILMASKSEPARATECONTEXTANGLEPROC glStencilMaskSeparateContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILOPCONTEXTANGLEPROC glStencilOpContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILOPSEPARATECONTEXTANGLEPROC glStencilOpSeparateContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXIMAGE2DCONTEXTANGLEPROC glTexImage2DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERFCONTEXTANGLEPROC glTexParameterfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERFVCONTEXTANGLEPROC glTexParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERICONTEXTANGLEPROC glTexParameteriContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIVCONTEXTANGLEPROC glTexParameterivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSUBIMAGE2DCONTEXTANGLEPROC glTexSubImage2DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1FCONTEXTANGLEPROC glUniform1fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1FVCONTEXTANGLEPROC glUniform1fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1ICONTEXTANGLEPROC glUniform1iContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1IVCONTEXTANGLEPROC glUniform1ivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2FCONTEXTANGLEPROC glUniform2fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2FVCONTEXTANGLEPROC glUniform2fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2ICONTEXTANGLEPROC glUniform2iContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2IVCONTEXTANGLEPROC glUniform2ivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3FCONTEXTANGLEPROC glUniform3fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3FVCONTEXTANGLEPROC glUniform3fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3ICONTEXTANGLEPROC glUniform3iContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3IVCONTEXTANGLEPROC glUniform3ivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4FCONTEXTANGLEPROC glUniform4fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4FVCONTEXTANGLEPROC glUniform4fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4ICONTEXTANGLEPROC glUniform4iContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4IVCONTEXTANGLEPROC glUniform4ivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX2FVCONTEXTANGLEPROC glUniformMatrix2fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX3FVCONTEXTANGLEPROC glUniformMatrix3fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX4FVCONTEXTANGLEPROC glUniformMatrix4fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUSEPROGRAMCONTEXTANGLEPROC glUseProgramContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVALIDATEPROGRAMCONTEXTANGLEPROC glValidateProgramContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB1FCONTEXTANGLEPROC glVertexAttrib1fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB1FVCONTEXTANGLEPROC glVertexAttrib1fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB2FCONTEXTANGLEPROC glVertexAttrib2fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB2FVCONTEXTANGLEPROC glVertexAttrib2fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB3FCONTEXTANGLEPROC glVertexAttrib3fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB3FVCONTEXTANGLEPROC glVertexAttrib3fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB4FCONTEXTANGLEPROC glVertexAttrib4fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIB4FVCONTEXTANGLEPROC glVertexAttrib4fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBPOINTERCONTEXTANGLEPROC glVertexAttribPointerContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVIEWPORTCONTEXTANGLEPROC glViewportContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLREADBUFFERCONTEXTANGLEPROC glReadBufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWRANGEELEMENTSCONTEXTANGLEPROC glDrawRangeElementsContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXIMAGE3DCONTEXTANGLEPROC glTexImage3DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSUBIMAGE3DCONTEXTANGLEPROC glTexSubImage3DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYTEXSUBIMAGE3DCONTEXTANGLEPROC glCopyTexSubImage3DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXIMAGE3DCONTEXTANGLEPROC
-    glCompressedTexImage3DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXSUBIMAGE3DCONTEXTANGLEPROC
-    glCompressedTexSubImage3DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENQUERIESCONTEXTANGLEPROC glGenQueriesContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEQUERIESCONTEXTANGLEPROC glDeleteQueriesContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISQUERYCONTEXTANGLEPROC glIsQueryContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBEGINQUERYCONTEXTANGLEPROC glBeginQueryContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLENDQUERYCONTEXTANGLEPROC glEndQueryContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYIVCONTEXTANGLEPROC glGetQueryivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTUIVCONTEXTANGLEPROC glGetQueryObjectuivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNMAPBUFFERCONTEXTANGLEPROC glUnmapBufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPOINTERVCONTEXTANGLEPROC glGetBufferPointervContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWBUFFERSCONTEXTANGLEPROC glDrawBuffersContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX2X3FVCONTEXTANGLEPROC glUniformMatrix2x3fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX3X2FVCONTEXTANGLEPROC glUniformMatrix3x2fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX2X4FVCONTEXTANGLEPROC glUniformMatrix2x4fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX4X2FVCONTEXTANGLEPROC glUniformMatrix4x2fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX3X4FVCONTEXTANGLEPROC glUniformMatrix3x4fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMMATRIX4X3FVCONTEXTANGLEPROC glUniformMatrix4x3fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBLITFRAMEBUFFERCONTEXTANGLEPROC glBlitFramebufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLECONTEXTANGLEPROC
-    glRenderbufferStorageMultisampleContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTURELAYERCONTEXTANGLEPROC
-    glFramebufferTextureLayerContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMAPBUFFERRANGECONTEXTANGLEPROC glMapBufferRangeContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFLUSHMAPPEDBUFFERRANGECONTEXTANGLEPROC
-    glFlushMappedBufferRangeContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDVERTEXARRAYCONTEXTANGLEPROC glBindVertexArrayContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEVERTEXARRAYSCONTEXTANGLEPROC glDeleteVertexArraysContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENVERTEXARRAYSCONTEXTANGLEPROC glGenVertexArraysContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISVERTEXARRAYCONTEXTANGLEPROC glIsVertexArrayContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGERI_VCONTEXTANGLEPROC glGetIntegeri_vContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBEGINTRANSFORMFEEDBACKCONTEXTANGLEPROC
-    glBeginTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLENDTRANSFORMFEEDBACKCONTEXTANGLEPROC
-    glEndTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDBUFFERRANGECONTEXTANGLEPROC glBindBufferRangeContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDBUFFERBASECONTEXTANGLEPROC glBindBufferBaseContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTRANSFORMFEEDBACKVARYINGSCONTEXTANGLEPROC
-    glTransformFeedbackVaryingsContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTRANSFORMFEEDBACKVARYINGCONTEXTANGLEPROC
-    glGetTransformFeedbackVaryingContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBIPOINTERCONTEXTANGLEPROC
-    glVertexAttribIPointerContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIIVCONTEXTANGLEPROC glGetVertexAttribIivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIUIVCONTEXTANGLEPROC glGetVertexAttribIuivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBI4ICONTEXTANGLEPROC glVertexAttribI4iContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBI4UICONTEXTANGLEPROC glVertexAttribI4uiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBI4IVCONTEXTANGLEPROC glVertexAttribI4ivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBI4UIVCONTEXTANGLEPROC glVertexAttribI4uivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMUIVCONTEXTANGLEPROC glGetUniformuivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAGDATALOCATIONCONTEXTANGLEPROC glGetFragDataLocationContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1UICONTEXTANGLEPROC glUniform1uiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2UICONTEXTANGLEPROC glUniform2uiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3UICONTEXTANGLEPROC glUniform3uiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4UICONTEXTANGLEPROC glUniform4uiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM1UIVCONTEXTANGLEPROC glUniform1uivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM2UIVCONTEXTANGLEPROC glUniform2uivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM3UIVCONTEXTANGLEPROC glUniform3uivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORM4UIVCONTEXTANGLEPROC glUniform4uivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARBUFFERIVCONTEXTANGLEPROC glClearBufferivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARBUFFERUIVCONTEXTANGLEPROC glClearBufferuivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARBUFFERFVCONTEXTANGLEPROC glClearBufferfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLEARBUFFERFICONTEXTANGLEPROC glClearBufferfiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSTRINGICONTEXTANGLEPROC glGetStringiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYBUFFERSUBDATACONTEXTANGLEPROC glCopyBufferSubDataContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMINDICESCONTEXTANGLEPROC glGetUniformIndicesContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEUNIFORMSIVCONTEXTANGLEPROC glGetActiveUniformsivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMBLOCKINDEXCONTEXTANGLEPROC
-    glGetUniformBlockIndexContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEUNIFORMBLOCKIVCONTEXTANGLEPROC
-    glGetActiveUniformBlockivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEUNIFORMBLOCKNAMECONTEXTANGLEPROC
-    glGetActiveUniformBlockNameContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNIFORMBLOCKBINDINGCONTEXTANGLEPROC glUniformBlockBindingContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWARRAYSINSTANCEDCONTEXTANGLEPROC glDrawArraysInstancedContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWELEMENTSINSTANCEDCONTEXTANGLEPROC
-    glDrawElementsInstancedContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFENCESYNCCONTEXTANGLEPROC glFenceSyncContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISSYNCCONTEXTANGLEPROC glIsSyncContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETESYNCCONTEXTANGLEPROC glDeleteSyncContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCLIENTWAITSYNCCONTEXTANGLEPROC glClientWaitSyncContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLWAITSYNCCONTEXTANGLEPROC glWaitSyncContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGER64VCONTEXTANGLEPROC glGetInteger64vContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSYNCIVCONTEXTANGLEPROC glGetSyncivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGER64I_VCONTEXTANGLEPROC glGetInteger64i_vContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPARAMETERI64VCONTEXTANGLEPROC
-    glGetBufferParameteri64vContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENSAMPLERSCONTEXTANGLEPROC glGenSamplersContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETESAMPLERSCONTEXTANGLEPROC glDeleteSamplersContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISSAMPLERCONTEXTANGLEPROC glIsSamplerContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDSAMPLERCONTEXTANGLEPROC glBindSamplerContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERICONTEXTANGLEPROC glSamplerParameteriContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIVCONTEXTANGLEPROC glSamplerParameterivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERFCONTEXTANGLEPROC glSamplerParameterfContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERFVCONTEXTANGLEPROC glSamplerParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIVCONTEXTANGLEPROC
-    glGetSamplerParameterivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERFVCONTEXTANGLEPROC
-    glGetSamplerParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBDIVISORCONTEXTANGLEPROC glVertexAttribDivisorContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDTRANSFORMFEEDBACKCONTEXTANGLEPROC
-    glBindTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETETRANSFORMFEEDBACKSCONTEXTANGLEPROC
-    glDeleteTransformFeedbacksContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENTRANSFORMFEEDBACKSCONTEXTANGLEPROC
-    glGenTransformFeedbacksContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISTRANSFORMFEEDBACKCONTEXTANGLEPROC glIsTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPAUSETRANSFORMFEEDBACKCONTEXTANGLEPROC
-    glPauseTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLRESUMETRANSFORMFEEDBACKCONTEXTANGLEPROC
-    glResumeTransformFeedbackContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMBINARYCONTEXTANGLEPROC glGetProgramBinaryContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMBINARYCONTEXTANGLEPROC glProgramBinaryContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMPARAMETERICONTEXTANGLEPROC glProgramParameteriContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLINVALIDATEFRAMEBUFFERCONTEXTANGLEPROC
-    glInvalidateFramebufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLINVALIDATESUBFRAMEBUFFERCONTEXTANGLEPROC
-    glInvalidateSubFramebufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE2DCONTEXTANGLEPROC glTexStorage2DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE3DCONTEXTANGLEPROC glTexStorage3DContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTERNALFORMATIVCONTEXTANGLEPROC glGetInternalformativContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDISPATCHCOMPUTECONTEXTANGLEPROC glDispatchComputeContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDISPATCHCOMPUTEINDIRECTCONTEXTANGLEPROC
-    glDispatchComputeIndirectContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWARRAYSINDIRECTCONTEXTANGLEPROC glDrawArraysIndirectContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWELEMENTSINDIRECTCONTEXTANGLEPROC
-    glDrawElementsIndirectContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERPARAMETERICONTEXTANGLEPROC
-    glFramebufferParameteriContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAMEBUFFERPARAMETERIVCONTEXTANGLEPROC
-    glGetFramebufferParameterivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMINTERFACEIVCONTEXTANGLEPROC
-    glGetProgramInterfaceivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMRESOURCEINDEXCONTEXTANGLEPROC
-    glGetProgramResourceIndexContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMRESOURCENAMECONTEXTANGLEPROC
-    glGetProgramResourceNameContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMRESOURCEIVCONTEXTANGLEPROC
-    glGetProgramResourceivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMRESOURCELOCATIONCONTEXTANGLEPROC
-    glGetProgramResourceLocationContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUSEPROGRAMSTAGESCONTEXTANGLEPROC glUseProgramStagesContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLACTIVESHADERPROGRAMCONTEXTANGLEPROC glActiveShaderProgramContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCREATESHADERPROGRAMVCONTEXTANGLEPROC
-    glCreateShaderProgramvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDPROGRAMPIPELINECONTEXTANGLEPROC glBindProgramPipelineContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEPROGRAMPIPELINESCONTEXTANGLEPROC
-    glDeleteProgramPipelinesContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENPROGRAMPIPELINESCONTEXTANGLEPROC glGenProgramPipelinesContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISPROGRAMPIPELINECONTEXTANGLEPROC glIsProgramPipelineContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMPIPELINEIVCONTEXTANGLEPROC
-    glGetProgramPipelineivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1ICONTEXTANGLEPROC glProgramUniform1iContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2ICONTEXTANGLEPROC glProgramUniform2iContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3ICONTEXTANGLEPROC glProgramUniform3iContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4ICONTEXTANGLEPROC glProgramUniform4iContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1UICONTEXTANGLEPROC glProgramUniform1uiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2UICONTEXTANGLEPROC glProgramUniform2uiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3UICONTEXTANGLEPROC glProgramUniform3uiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4UICONTEXTANGLEPROC glProgramUniform4uiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1FCONTEXTANGLEPROC glProgramUniform1fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2FCONTEXTANGLEPROC glProgramUniform2fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3FCONTEXTANGLEPROC glProgramUniform3fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4FCONTEXTANGLEPROC glProgramUniform4fContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1IVCONTEXTANGLEPROC glProgramUniform1ivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2IVCONTEXTANGLEPROC glProgramUniform2ivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3IVCONTEXTANGLEPROC glProgramUniform3ivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4IVCONTEXTANGLEPROC glProgramUniform4ivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1UIVCONTEXTANGLEPROC glProgramUniform1uivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2UIVCONTEXTANGLEPROC glProgramUniform2uivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3UIVCONTEXTANGLEPROC glProgramUniform3uivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4UIVCONTEXTANGLEPROC glProgramUniform4uivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM1FVCONTEXTANGLEPROC glProgramUniform1fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM2FVCONTEXTANGLEPROC glProgramUniform2fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM3FVCONTEXTANGLEPROC glProgramUniform3fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORM4FVCONTEXTANGLEPROC glProgramUniform4fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX2FVCONTEXTANGLEPROC
-    glProgramUniformMatrix2fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX3FVCONTEXTANGLEPROC
-    glProgramUniformMatrix3fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX4FVCONTEXTANGLEPROC
-    glProgramUniformMatrix4fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX2X3FVCONTEXTANGLEPROC
-    glProgramUniformMatrix2x3fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX3X2FVCONTEXTANGLEPROC
-    glProgramUniformMatrix3x2fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX2X4FVCONTEXTANGLEPROC
-    glProgramUniformMatrix2x4fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX4X2FVCONTEXTANGLEPROC
-    glProgramUniformMatrix4x2fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX3X4FVCONTEXTANGLEPROC
-    glProgramUniformMatrix3x4fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMUNIFORMMATRIX4X3FVCONTEXTANGLEPROC
-    glProgramUniformMatrix4x3fvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVALIDATEPROGRAMPIPELINECONTEXTANGLEPROC
-    glValidateProgramPipelineContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMPIPELINEINFOLOGCONTEXTANGLEPROC
-    glGetProgramPipelineInfoLogContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDIMAGETEXTURECONTEXTANGLEPROC glBindImageTextureContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBOOLEANI_VCONTEXTANGLEPROC glGetBooleani_vContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMEMORYBARRIERCONTEXTANGLEPROC glMemoryBarrierContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMEMORYBARRIERBYREGIONCONTEXTANGLEPROC
-    glMemoryBarrierByRegionContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE2DMULTISAMPLECONTEXTANGLEPROC
-    glTexStorage2DMultisampleContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETMULTISAMPLEFVCONTEXTANGLEPROC glGetMultisamplefvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLEMASKICONTEXTANGLEPROC glSampleMaskiContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERIVCONTEXTANGLEPROC
-    glGetTexLevelParameterivContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERFVCONTEXTANGLEPROC
-    glGetTexLevelParameterfvContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDVERTEXBUFFERCONTEXTANGLEPROC glBindVertexBufferContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBFORMATCONTEXTANGLEPROC glVertexAttribFormatContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBIFORMATCONTEXTANGLEPROC glVertexAttribIFormatContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBBINDINGCONTEXTANGLEPROC glVertexAttribBindingContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXBINDINGDIVISORCONTEXTANGLEPROC
-    glVertexBindingDivisorContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYSUBTEXTURE3DANGLECONTEXTANGLEPROC
-    glCopySubTexture3DANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYTEXTURE3DANGLECONTEXTANGLEPROC glCopyTexture3DANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBLITFRAMEBUFFERANGLECONTEXTANGLEPROC
-    glBlitFramebufferANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLECONTEXTANGLEPROC
-    glRenderbufferStorageMultisampleANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWARRAYSINSTANCEDANGLECONTEXTANGLEPROC
-    glDrawArraysInstancedANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWELEMENTSINSTANCEDANGLECONTEXTANGLEPROC
-    glDrawElementsInstancedANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLVERTEXATTRIBDIVISORANGLECONTEXTANGLEPROC
-    glVertexAttribDivisorANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTIDRAWARRAYSANGLECONTEXTANGLEPROC
-    glMultiDrawArraysANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTIDRAWARRAYSINSTANCEDANGLECONTEXTANGLEPROC
-    glMultiDrawArraysInstancedANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTIDRAWELEMENTSANGLECONTEXTANGLEPROC
-    glMultiDrawElementsANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMULTIDRAWELEMENTSINSTANCEDANGLECONTEXTANGLEPROC
-    glMultiDrawElementsInstancedANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTUREMULTIVIEWLAYEREDANGLECONTEXTANGLEPROC
-    glFramebufferTextureMultiviewLayeredANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTUREMULTIVIEWSIDEBYSIDEANGLECONTEXTANGLEPROC
-    glFramebufferTextureMultiviewSideBySideANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLREQUESTEXTENSIONANGLECONTEXTANGLEPROC
-    glRequestExtensionANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLECONTEXTANGLEPROC
-    glCompressedTexImage2DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLECONTEXTANGLEPROC
-    glCompressedTexImage3DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLECONTEXTANGLEPROC
-    glCompressedTexSubImage2DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLECONTEXTANGLEPROC
-    glCompressedTexSubImage3DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLECONTEXTANGLEPROC
-    glGetActiveUniformBlockivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBOOLEANI_VROBUSTANGLECONTEXTANGLEPROC
-    glGetBooleani_vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBOOLEANVROBUSTANGLECONTEXTANGLEPROC
-    glGetBooleanvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPARAMETERI64VROBUSTANGLECONTEXTANGLEPROC
-    glGetBufferParameteri64vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetBufferParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPOINTERVROBUSTANGLECONTEXTANGLEPROC
-    glGetBufferPointervRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFLOATVROBUSTANGLECONTEXTANGLEPROC
-    glGetFloatvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetFramebufferAttachmentParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetFramebufferParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGER64I_VROBUSTANGLECONTEXTANGLEPROC
-    glGetInteger64i_vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGER64VROBUSTANGLECONTEXTANGLEPROC
-    glGetInteger64vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGERI_VROBUSTANGLECONTEXTANGLEPROC
-    glGetIntegeri_vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTEGERVROBUSTANGLECONTEXTANGLEPROC
-    glGetIntegervRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETINTERNALFORMATIVROBUSTANGLECONTEXTANGLEPROC
-    glGetInternalformativRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETMULTISAMPLEFVROBUSTANGLECONTEXTANGLEPROC
-    glGetMultisamplefvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLECONTEXTANGLEPROC
-    glGetPointervRobustANGLERobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMINTERFACEIVROBUSTANGLECONTEXTANGLEPROC
-    glGetProgramInterfaceivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMIVROBUSTANGLECONTEXTANGLEPROC
-    glGetProgramivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTI64VROBUSTANGLECONTEXTANGLEPROC
-    glGetQueryObjecti64vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTIVROBUSTANGLECONTEXTANGLEPROC
-    glGetQueryObjectivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTUI64VROBUSTANGLECONTEXTANGLEPROC
-    glGetQueryObjectui64vRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetQueryObjectuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYIVROBUSTANGLECONTEXTANGLEPROC
-    glGetQueryivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetRenderbufferParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC
-    glGetSamplerParameterIivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetSamplerParameterIuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERFVROBUSTANGLECONTEXTANGLEPROC
-    glGetSamplerParameterfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetSamplerParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSHADERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetShaderivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexLevelParameterfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexLevelParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexParameterIivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexParameterIuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERFVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexParameterfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glGetTexParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMFVROBUSTANGLECONTEXTANGLEPROC
-    glGetUniformfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMIVROBUSTANGLECONTEXTANGLEPROC
-    glGetUniformivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETUNIFORMUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetUniformuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIIVROBUSTANGLECONTEXTANGLEPROC
-    glGetVertexAttribIivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetVertexAttribIuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLECONTEXTANGLEPROC
-    glGetVertexAttribPointervRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBFVROBUSTANGLECONTEXTANGLEPROC
-    glGetVertexAttribfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETVERTEXATTRIBIVROBUSTANGLECONTEXTANGLEPROC
-    glGetVertexAttribivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMFVROBUSTANGLECONTEXTANGLEPROC
-    glGetnUniformfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMIVROBUSTANGLECONTEXTANGLEPROC
-    glGetnUniformivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMUIVROBUSTANGLECONTEXTANGLEPROC
-    glGetnUniformuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLREADPIXELSROBUSTANGLECONTEXTANGLEPROC
-    glReadPixelsRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLREADNPIXELSROBUSTANGLECONTEXTANGLEPROC
-    glReadnPixelsRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC
-    glSamplerParameterIivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC
-    glSamplerParameterIuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERFVROBUSTANGLECONTEXTANGLEPROC
-    glSamplerParameterfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glSamplerParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXIMAGE2DROBUSTANGLECONTEXTANGLEPROC
-    glTexImage2DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXIMAGE3DROBUSTANGLECONTEXTANGLEPROC
-    glTexImage3DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC
-    glTexParameterIivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC
-    glTexParameterIuivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERFVROBUSTANGLECONTEXTANGLEPROC
-    glTexParameterfvRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIVROBUSTANGLECONTEXTANGLEPROC
-    glTexParameterivRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSUBIMAGE2DROBUSTANGLECONTEXTANGLEPROC
-    glTexSubImage2DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSUBIMAGE3DROBUSTANGLECONTEXTANGLEPROC
-    glTexSubImage3DRobustANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETMULTISAMPLEFVANGLECONTEXTANGLEPROC
-    glGetMultisamplefvANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERFVANGLECONTEXTANGLEPROC
-    glGetTexLevelParameterfvANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXLEVELPARAMETERIVANGLECONTEXTANGLEPROC
-    glGetTexLevelParameterivANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLEMASKIANGLECONTEXTANGLEPROC glSampleMaskiANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE2DMULTISAMPLEANGLECONTEXTANGLEPROC
-    glTexStorage2DMultisampleANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTRANSLATEDSHADERSOURCEANGLECONTEXTANGLEPROC
-    glGetTranslatedShaderSourceANGLEContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDUNIFORMLOCATIONCHROMIUMCONTEXTANGLEPROC
-    glBindUniformLocationCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMCONTEXTANGLEPROC
-    glCompressedCopyTextureCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYSUBTEXTURECHROMIUMCONTEXTANGLEPROC
-    glCopySubTextureCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOPYTEXTURECHROMIUMCONTEXTANGLEPROC glCopyTextureCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOVERAGEMODULATIONCHROMIUMCONTEXTANGLEPROC
-    glCoverageModulationCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMATRIXLOADIDENTITYCHROMIUMCONTEXTANGLEPROC
-    glMatrixLoadIdentityCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMATRIXLOADFCHROMIUMCONTEXTANGLEPROC glMatrixLoadfCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDFRAGMENTINPUTLOCATIONCHROMIUMCONTEXTANGLEPROC
-    glBindFragmentInputLocationCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOVERFILLPATHCHROMIUMCONTEXTANGLEPROC
-    glCoverFillPathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOVERFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glCoverFillPathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOVERSTROKEPATHCHROMIUMCONTEXTANGLEPROC
-    glCoverStrokePathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCOVERSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glCoverStrokePathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEPATHSCHROMIUMCONTEXTANGLEPROC glDeletePathsCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENPATHSCHROMIUMCONTEXTANGLEPROC glGenPathsCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPATHPARAMETERFVCHROMIUMCONTEXTANGLEPROC
-    glGetPathParameterfvCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPATHPARAMETERIVCHROMIUMCONTEXTANGLEPROC
-    glGetPathParameterivCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISPATHCHROMIUMCONTEXTANGLEPROC glIsPathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPATHCOMMANDSCHROMIUMCONTEXTANGLEPROC
-    glPathCommandsCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPATHPARAMETERFCHROMIUMCONTEXTANGLEPROC
-    glPathParameterfCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPATHPARAMETERICHROMIUMCONTEXTANGLEPROC
-    glPathParameteriCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPATHSTENCILFUNCCHROMIUMCONTEXTANGLEPROC
-    glPathStencilFuncCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMPATHFRAGMENTINPUTGENCHROMIUMCONTEXTANGLEPROC
-    glProgramPathFragmentInputGenCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILFILLPATHCHROMIUMCONTEXTANGLEPROC
-    glStencilFillPathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glStencilFillPathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILSTROKEPATHCHROMIUMCONTEXTANGLEPROC
-    glStencilStrokePathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glStencilStrokePathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILTHENCOVERFILLPATHCHROMIUMCONTEXTANGLEPROC
-    glStencilThenCoverFillPathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glStencilThenCoverFillPathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILTHENCOVERSTROKEPATHCHROMIUMCONTEXTANGLEPROC
-    glStencilThenCoverStrokePathCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC
-    glStencilThenCoverStrokePathInstancedCHROMIUMContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDFRAGDATALOCATIONEXTCONTEXTANGLEPROC
-    glBindFragDataLocationEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDFRAGDATALOCATIONINDEXEDEXTCONTEXTANGLEPROC
-    glBindFragDataLocationIndexedEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAGDATAINDEXEXTCONTEXTANGLEPROC glGetFragDataIndexEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTCONTEXTANGLEPROC
-    glGetProgramResourceLocationIndexEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLINSERTEVENTMARKEREXTCONTEXTANGLEPROC
-    glInsertEventMarkerEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOPGROUPMARKEREXTCONTEXTANGLEPROC glPopGroupMarkerEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPUSHGROUPMARKEREXTCONTEXTANGLEPROC glPushGroupMarkerEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDISCARDFRAMEBUFFEREXTCONTEXTANGLEPROC
-    glDiscardFramebufferEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBEGINQUERYEXTCONTEXTANGLEPROC glBeginQueryEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEQUERIESEXTCONTEXTANGLEPROC glDeleteQueriesEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLENDQUERYEXTCONTEXTANGLEPROC glEndQueryEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENQUERIESEXTCONTEXTANGLEPROC glGenQueriesEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTI64VEXTCONTEXTANGLEPROC
-    glGetQueryObjecti64vEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTIVEXTCONTEXTANGLEPROC glGetQueryObjectivEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTUI64VEXTCONTEXTANGLEPROC
-    glGetQueryObjectui64vEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYOBJECTUIVEXTCONTEXTANGLEPROC
-    glGetQueryObjectuivEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETQUERYIVEXTCONTEXTANGLEPROC glGetQueryivEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISQUERYEXTCONTEXTANGLEPROC glIsQueryEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLQUERYCOUNTEREXTCONTEXTANGLEPROC glQueryCounterEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWBUFFERSEXTCONTEXTANGLEPROC glDrawBuffersEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTUREEXTCONTEXTANGLEPROC
-    glFramebufferTextureEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFLUSHMAPPEDBUFFERRANGEEXTCONTEXTANGLEPROC
-    glFlushMappedBufferRangeEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMAPBUFFERRANGEEXTCONTEXTANGLEPROC glMapBufferRangeEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETGRAPHICSRESETSTATUSEXTCONTEXTANGLEPROC
-    glGetGraphicsResetStatusEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMFVEXTCONTEXTANGLEPROC glGetnUniformfvEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETNUNIFORMIVEXTCONTEXTANGLEPROC glGetnUniformivEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLREADNPIXELSEXTCONTEXTANGLEPROC glReadnPixelsEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE1DEXTCONTEXTANGLEPROC glTexStorage1DEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE2DEXTCONTEXTANGLEPROC glTexStorage2DEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE3DEXTCONTEXTANGLEPROC glTexStorage3DEXTContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDEBUGMESSAGECALLBACKKHRCONTEXTANGLEPROC
-    glDebugMessageCallbackKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDEBUGMESSAGECONTROLKHRCONTEXTANGLEPROC
-    glDebugMessageControlKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDEBUGMESSAGEINSERTKHRCONTEXTANGLEPROC
-    glDebugMessageInsertKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETDEBUGMESSAGELOGKHRCONTEXTANGLEPROC
-    glGetDebugMessageLogKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETOBJECTLABELKHRCONTEXTANGLEPROC glGetObjectLabelKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETOBJECTPTRLABELKHRCONTEXTANGLEPROC
-    glGetObjectPtrLabelKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPOINTERVKHRCONTEXTANGLEPROC glGetPointervKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLOBJECTLABELKHRCONTEXTANGLEPROC glObjectLabelKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLOBJECTPTRLABELKHRCONTEXTANGLEPROC glObjectPtrLabelKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOPDEBUGGROUPKHRCONTEXTANGLEPROC glPopDebugGroupKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPUSHDEBUGGROUPKHRCONTEXTANGLEPROC glPushDebugGroupKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMAXSHADERCOMPILERTHREADSKHRCONTEXTANGLEPROC
-    glMaxShaderCompilerThreadsKHRContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEFENCESNVCONTEXTANGLEPROC glDeleteFencesNVContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFINISHFENCENVCONTEXTANGLEPROC glFinishFenceNVContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENFENCESNVCONTEXTANGLEPROC glGenFencesNVContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFENCEIVNVCONTEXTANGLEPROC glGetFenceivNVContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISFENCENVCONTEXTANGLEPROC glIsFenceNVContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSETFENCENVCONTEXTANGLEPROC glSetFenceNVContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTESTFENCENVCONTEXTANGLEPROC glTestFenceNVContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESCONTEXTANGLEPROC
-    glEGLImageTargetRenderbufferStorageOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLEGLIMAGETARGETTEXTURE2DOESCONTEXTANGLEPROC
-    glEGLImageTargetTexture2DOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETPROGRAMBINARYOESCONTEXTANGLEPROC glGetProgramBinaryOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPROGRAMBINARYOESCONTEXTANGLEPROC glProgramBinaryOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETBUFFERPOINTERVOESCONTEXTANGLEPROC
-    glGetBufferPointervOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMAPBUFFEROESCONTEXTANGLEPROC glMapBufferOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLUNMAPBUFFEROESCONTEXTANGLEPROC glUnmapBufferOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIIVOESCONTEXTANGLEPROC
-    glGetSamplerParameterIivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETSAMPLERPARAMETERIUIVOESCONTEXTANGLEPROC
-    glGetSamplerParameterIuivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIIVOESCONTEXTANGLEPROC
-    glGetTexParameterIivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXPARAMETERIUIVOESCONTEXTANGLEPROC
-    glGetTexParameterIuivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIIVOESCONTEXTANGLEPROC
-    glSamplerParameterIivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLSAMPLERPARAMETERIUIVOESCONTEXTANGLEPROC
-    glSamplerParameterIuivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIIVOESCONTEXTANGLEPROC glTexParameterIivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXPARAMETERIUIVOESCONTEXTANGLEPROC glTexParameterIuivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXSTORAGE3DMULTISAMPLEOESCONTEXTANGLEPROC
-    glTexStorage3DMultisampleOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDVERTEXARRAYOESCONTEXTANGLEPROC glBindVertexArrayOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEVERTEXARRAYSOESCONTEXTANGLEPROC
-    glDeleteVertexArraysOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENVERTEXARRAYSOESCONTEXTANGLEPROC glGenVertexArraysOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISVERTEXARRAYOESCONTEXTANGLEPROC glIsVertexArrayOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXFOESCONTEXTANGLEPROC glDrawTexfOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXFVOESCONTEXTANGLEPROC glDrawTexfvOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXIOESCONTEXTANGLEPROC glDrawTexiOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXIVOESCONTEXTANGLEPROC glDrawTexivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXSOESCONTEXTANGLEPROC glDrawTexsOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXSVOESCONTEXTANGLEPROC glDrawTexsvOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXXOESCONTEXTANGLEPROC glDrawTexxOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDRAWTEXXVOESCONTEXTANGLEPROC glDrawTexxvOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDFRAMEBUFFEROESCONTEXTANGLEPROC glBindFramebufferOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLBINDRENDERBUFFEROESCONTEXTANGLEPROC glBindRenderbufferOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCHECKFRAMEBUFFERSTATUSOESCONTEXTANGLEPROC
-    glCheckFramebufferStatusOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETEFRAMEBUFFERSOESCONTEXTANGLEPROC
-    glDeleteFramebuffersOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLDELETERENDERBUFFERSOESCONTEXTANGLEPROC
-    glDeleteRenderbuffersOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERRENDERBUFFEROESCONTEXTANGLEPROC
-    glFramebufferRenderbufferOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLFRAMEBUFFERTEXTURE2DOESCONTEXTANGLEPROC
-    glFramebufferTexture2DOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENFRAMEBUFFERSOESCONTEXTANGLEPROC glGenFramebuffersOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENRENDERBUFFERSOESCONTEXTANGLEPROC glGenRenderbuffersOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGENERATEMIPMAPOESCONTEXTANGLEPROC glGenerateMipmapOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESCONTEXTANGLEPROC
-    glGetFramebufferAttachmentParameterivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETRENDERBUFFERPARAMETERIVOESCONTEXTANGLEPROC
-    glGetRenderbufferParameterivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISFRAMEBUFFEROESCONTEXTANGLEPROC glIsFramebufferOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLISRENDERBUFFEROESCONTEXTANGLEPROC glIsRenderbufferOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLRENDERBUFFERSTORAGEOESCONTEXTANGLEPROC
-    glRenderbufferStorageOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLCURRENTPALETTEMATRIXOESCONTEXTANGLEPROC
-    glCurrentPaletteMatrixOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESCONTEXTANGLEPROC
-    glLoadPaletteFromModelViewMatrixOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLMATRIXINDEXPOINTEROESCONTEXTANGLEPROC
-    glMatrixIndexPointerOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLWEIGHTPOINTEROESCONTEXTANGLEPROC glWeightPointerOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLPOINTSIZEPOINTEROESCONTEXTANGLEPROC glPointSizePointerOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLQUERYMATRIXXOESCONTEXTANGLEPROC glQueryMatrixxOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXGENFVOESCONTEXTANGLEPROC glGetTexGenfvOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXGENIVOESCONTEXTANGLEPROC glGetTexGenivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLGETTEXGENXVOESCONTEXTANGLEPROC glGetTexGenxvOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENFOESCONTEXTANGLEPROC glTexGenfOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENFVOESCONTEXTANGLEPROC glTexGenfvOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENIOESCONTEXTANGLEPROC glTexGeniOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENIVOESCONTEXTANGLEPROC glTexGenivOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENXOESCONTEXTANGLEPROC glTexGenxOESContextANGLE;
-ANGLE_UTIL_EXPORT extern PFNGLTEXGENXVOESCONTEXTANGLEPROC glTexGenxvOESContextANGLE;
-
-namespace angle
-{
-using GenericProc = void (*)();
-using LoadProc    = GenericProc(KHRONOS_APIENTRY *)(const char *);
-ANGLE_UTIL_EXPORT void LoadGLES(LoadProc loadProc);
-}  // namespace angle
-
-#endif  // UTIL_GLES_LOADER_AUTOGEN_H_
diff --git a/util/linux/LinuxTimer.cpp b/util/linux/LinuxTimer.cpp
index e74b399..e9067e3 100644
--- a/util/linux/LinuxTimer.cpp
+++ b/util/linux/LinuxTimer.cpp
@@ -6,10 +6,13 @@
 
 // LinuxTimer.cpp: Implementation of a high precision timer class on Linux
 
-#include "util/linux/LinuxTimer.h"
+#include "linux/LinuxTimer.h"
 #include <iostream>
 
-LinuxTimer::LinuxTimer() : mRunning(false) {}
+LinuxTimer::LinuxTimer()
+    : mRunning(false)
+{
+}
 
 namespace
 {
@@ -24,13 +27,13 @@
 void LinuxTimer::start()
 {
     mStartTimeNs = getCurrentTimeNs();
-    mRunning     = true;
+    mRunning = true;
 }
 
 void LinuxTimer::stop()
 {
     mStopTimeNs = getCurrentTimeNs();
-    mRunning    = false;
+    mRunning = false;
 }
 
 double LinuxTimer::getElapsedTime() const
diff --git a/util/linux/LinuxTimer.h b/util/linux/LinuxTimer.h
index 566e664..f5b6976 100644
--- a/util/linux/LinuxTimer.h
+++ b/util/linux/LinuxTimer.h
@@ -12,9 +12,9 @@
 #include <stdint.h>
 #include <time.h>
 
-#include "util/Timer.h"
+#include "Timer.h"
 
-class ANGLE_UTIL_EXPORT LinuxTimer : public Timer
+class LinuxTimer : public Timer
 {
   public:
     LinuxTimer();
@@ -31,4 +31,4 @@
     uint64_t mStopTimeNs;
 };
 
-#endif  // UTIL_LINUX_TIMER_H
+#endif // UTIL_LINUX_TIMER_H
diff --git a/util/osx/OSXPixmap.h b/util/osx/OSXPixmap.h
index 776adb2..f9cdfdc 100644
--- a/util/osx/OSXPixmap.h
+++ b/util/osx/OSXPixmap.h
@@ -9,6 +9,6 @@
 #ifndef UTIL_OSX_PIXMAP_H_
 #define UTIL_OSX_PIXMAP_H_
 
-#include "util/OSPixmap.h"
+#include "OSPixmap.h"
 
-#endif  // UTIL_OSX_PIXMAP_H_
+#endif // UTIL_OSX_PIXMAP_H_
diff --git a/util/osx/OSXPixmap.mm b/util/osx/OSXPixmap.mm
index c12c3a9..16af8bf 100644
--- a/util/osx/OSXPixmap.mm
+++ b/util/osx/OSXPixmap.mm
@@ -6,7 +6,7 @@
 
 // OSXPixmap.cpp: Implementation of OSPixmap for OSX
 
-#include "util/osx/OSXPixmap.h"
+#include "osx/OSXPixmap.h"
 
 // TODO(cwallez) find out the native OSX pixmap type and implement this
 OSPixmap *CreateOSPixmap()
diff --git a/util/osx/OSXTimer.cpp b/util/osx/OSXTimer.cpp
index da22bf3..5642c44 100644
--- a/util/osx/OSXTimer.cpp
+++ b/util/osx/OSXTimer.cpp
@@ -6,13 +6,17 @@
 
 // OSXTimer.cpp: Implementation of a high precision timer class on OSX
 
-#include "util/osx/OSXTimer.h"
+#include "osx/OSXTimer.h"
 
 #include <CoreServices/CoreServices.h>
 #include <mach/mach.h>
 #include <mach/mach_time.h>
 
-OSXTimer::OSXTimer() : mRunning(false), mSecondCoeff(0) {}
+OSXTimer::OSXTimer()
+    : mRunning(false),
+    mSecondCoeff(0)
+{
+}
 
 double OSXTimer::getSecondCoeff()
 {
@@ -39,7 +43,7 @@
 void OSXTimer::stop()
 {
     mStopTime = mach_absolute_time();
-    mRunning  = false;
+    mRunning = false;
 }
 
 double OSXTimer::getElapsedTime() const
diff --git a/util/osx/OSXTimer.h b/util/osx/OSXTimer.h
index 827ae95..11cdafb 100644
--- a/util/osx/OSXTimer.h
+++ b/util/osx/OSXTimer.h
@@ -12,9 +12,9 @@
 #include <stdint.h>
 #include <time.h>
 
-#include "util/Timer.h"
+#include "Timer.h"
 
-class ANGLE_UTIL_EXPORT OSXTimer : public Timer
+class OSXTimer : public Timer
 {
   public:
     OSXTimer();
@@ -34,4 +34,4 @@
     double mSecondCoeff;
 };
 
-#endif  // UTIL_OSX_TIMER_H_
+#endif // UTIL_OSX_TIMER_H_
diff --git a/util/osx/OSXWindow.h b/util/osx/OSXWindow.h
index 26fe65d..980f816 100644
--- a/util/osx/OSXWindow.h
+++ b/util/osx/OSXWindow.h
@@ -11,22 +11,24 @@
 
 #import <Cocoa/Cocoa.h>
 
-#include "util/OSWindow.h"
+#include "OSWindow.h"
 
 class OSXWindow;
 
-@interface WindowDelegate : NSObject {
+@interface WindowDelegate : NSObject
+{
     OSXWindow *mWindow;
 }
-- (id)initWithWindow:(OSXWindow *)window;
+- (id) initWithWindow: (OSXWindow*) window;
 @end
 
-@interface ContentView : NSView {
+@interface ContentView : NSView
+{
     OSXWindow *mWindow;
     NSTrackingArea *mTrackingArea;
     int mCurrentModifier;
 }
-- (id)initWithWindow:(OSXWindow *)window;
+- (id) initWithWindow: (OSXWindow*) window;
 @end
 
 class OSXWindow : public OSWindow
@@ -58,4 +60,4 @@
     ContentView *mView;
 };
 
-#endif  // UTIL_OSX_WINDOW_H_
+#endif // UTIL_OSX_WINDOW_H_
diff --git a/util/osx/OSXWindow.mm b/util/osx/OSXWindow.mm
index 608fcae..98e7124 100644
--- a/util/osx/OSXWindow.mm
+++ b/util/osx/OSXWindow.mm
@@ -6,7 +6,7 @@
 
 // OSXWindow.mm: Implementation of OSWindow for OSX
 
-#include "util/osx/OSXWindow.h"
+#include "osx/OSXWindow.h"
 
 #include <set>
 // Include Carbon to use the keycode names in Carbon's Event.h
@@ -23,28 +23,28 @@
 // Some events such as "ShouldTerminate" are sent to the whole application so we keep a list of
 // all the windows in order to forward the event to each of them. However this and calling pushEvent
 // in ApplicationDelegate is inherently unsafe in a multithreaded environment.
-static std::set<OSXWindow *> gAllWindows;
+static std::set<OSXWindow*> gAllWindows;
 
 @interface Application : NSApplication
 @end
 
 @implementation Application
-- (void)sendEvent:(NSEvent *)nsEvent
-{
-    if ([nsEvent type] == NSApplicationDefined)
+    - (void) sendEvent: (NSEvent*) nsEvent
     {
-        for (auto window : gAllWindows)
+        if ([nsEvent type] == NSApplicationDefined)
         {
-            if ([window->getNSWindow() windowNumber] == [nsEvent windowNumber])
+            for (auto window : gAllWindows)
             {
-                Event event;
-                event.Type = Event::EVENT_TEST;
-                window->pushEvent(event);
+                if ([window->getNSWindow() windowNumber] == [nsEvent windowNumber])
+                {
+                    Event event;
+                    event.Type = Event::EVENT_TEST;
+                    window->pushEvent(event);
+                }
             }
         }
+        [super sendEvent: nsEvent];
     }
-    [super sendEvent:nsEvent];
-}
 @end
 
 // The Delegate receiving application-wide events.
@@ -52,16 +52,16 @@
 @end
 
 @implementation ApplicationDelegate
-- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
-{
-    Event event;
-    event.Type = Event::EVENT_CLOSED;
-    for (auto window : gAllWindows)
+    - (NSApplicationTerminateReply) applicationShouldTerminate: (NSApplication*) sender
     {
-        window->pushEvent(event);
+        Event event;
+        event.Type = Event::EVENT_CLOSED;
+        for (auto window : gAllWindows)
+        {
+            window->pushEvent(event);
+        }
+        return NSTerminateCancel;
     }
-    return NSTerminateCancel;
-}
 @end
 static ApplicationDelegate *gApplicationDelegate = nil;
 
@@ -84,7 +84,7 @@
     {
         return false;
     }
-    [NSApp setDelegate:static_cast<id>(gApplicationDelegate)];
+    [NSApp setDelegate: static_cast<id>(gApplicationDelegate)];
 
     // Set our status to "started" so we are not bouncing in the doc and can activate
     [NSApp finishLaunching];
@@ -101,67 +101,67 @@
 
 // Delegate for window-wide events, note that the protocol doesn't contain anything input related.
 @implementation WindowDelegate
-- (id)initWithWindow:(OSXWindow *)window
-{
-    self = [super init];
-    if (self != nil)
+    - (id) initWithWindow: (OSXWindow*) window
     {
-        mWindow = window;
+        self = [super init];
+        if (self != nil)
+        {
+            mWindow = window;
+        }
+        return self;
     }
-    return self;
-}
 
-- (void)onOSXWindowDeleted
-{
-    mWindow = nil;
-}
+    - (void) onOSXWindowDeleted
+    {
+        mWindow = nil;
+    }
 
-- (BOOL)windowShouldClose:(id)sender
-{
-    Event event;
-    event.Type = Event::EVENT_CLOSED;
-    mWindow->pushEvent(event);
-    return NO;
-}
-
-- (void)windowDidResize:(NSNotification *)notification
-{
-    NSSize windowSize = [[mWindow->getNSWindow() contentView] frame].size;
-    Event event;
-    event.Type        = Event::EVENT_RESIZED;
-    event.Size.Width  = windowSize.width;
-    event.Size.Height = windowSize.height;
-    mWindow->pushEvent(event);
-}
-
-- (void)windowDidMove:(NSNotification *)notification
-{
-    NSRect screenspace = [mWindow->getNSWindow() frame];
-    Event event;
-    event.Type   = Event::EVENT_MOVED;
-    event.Move.X = screenspace.origin.x;
-    event.Move.Y = YCoordToFromCG(screenspace.origin.y + screenspace.size.height);
-    mWindow->pushEvent(event);
-}
-
-- (void)windowDidBecomeKey:(NSNotification *)notification
-{
-    Event event;
-    event.Type = Event::EVENT_GAINED_FOCUS;
-    mWindow->pushEvent(event);
-    [self retain];
-}
-
-- (void)windowDidResignKey:(NSNotification *)notification
-{
-    if (mWindow != nil)
+    - (BOOL) windowShouldClose: (id) sender
     {
         Event event;
-        event.Type = Event::EVENT_LOST_FOCUS;
+        event.Type = Event::EVENT_CLOSED;
+        mWindow->pushEvent(event);
+        return NO;
+    }
+
+    - (void) windowDidResize: (NSNotification*) notification
+    {
+        NSSize windowSize = [[mWindow->getNSWindow() contentView] frame].size;
+        Event event;
+        event.Type = Event::EVENT_RESIZED;
+        event.Size.Width = windowSize.width;
+        event.Size.Height = windowSize.height;
         mWindow->pushEvent(event);
     }
-    [self release];
-}
+
+    - (void) windowDidMove: (NSNotification*) notification
+    {
+        NSRect screenspace = [mWindow->getNSWindow() frame];
+        Event event;
+        event.Type = Event::EVENT_MOVED;
+        event.Move.X = screenspace.origin.x;
+        event.Move.Y = YCoordToFromCG(screenspace.origin.y + screenspace.size.height);
+        mWindow->pushEvent(event);
+    }
+
+    - (void) windowDidBecomeKey: (NSNotification*) notification
+    {
+        Event event;
+        event.Type = Event::EVENT_GAINED_FOCUS;
+        mWindow->pushEvent(event);
+        [self retain];
+    }
+
+    - (void) windowDidResignKey: (NSNotification*) notification
+    {
+        if (mWindow != nil)
+        {
+            Event event;
+            event.Type = Event::EVENT_LOST_FOCUS;
+            mWindow->pushEvent(event);
+        }
+        [self release];
+    }
 @end
 
 static Key NSCodeToKey(int keyCode)
@@ -169,211 +169,112 @@
     // Missing KEY_PAUSE
     switch (keyCode)
     {
-        case kVK_Shift:
-            return KEY_LSHIFT;
-        case kVK_RightShift:
-            return KEY_RSHIFT;
-        case kVK_Option:
-            return KEY_LALT;
-        case kVK_RightOption:
-            return KEY_RALT;
-        case kVK_Control:
-            return KEY_LCONTROL;
-        case kVK_RightControl:
-            return KEY_RCONTROL;
-        case kVK_Command:
-            return KEY_LSYSTEM;
-        // Right System doesn't have a name, but shows up as 0x36.
-        case 0x36:
-            return KEY_RSYSTEM;
-        case kVK_Function:
-            return KEY_MENU;
+      case kVK_Shift:               return KEY_LSHIFT;
+      case kVK_RightShift:          return KEY_RSHIFT;
+      case kVK_Option:              return KEY_LALT;
+      case kVK_RightOption:         return KEY_RALT;
+      case kVK_Control:             return KEY_LCONTROL;
+      case kVK_RightControl:        return KEY_RCONTROL;
+      case kVK_Command:             return KEY_LSYSTEM;
+      // Right System doesn't have a name, but shows up as 0x36.
+      case 0x36:                    return KEY_RSYSTEM;
+      case kVK_Function:            return KEY_MENU;
 
-        case kVK_ANSI_Semicolon:
-            return KEY_SEMICOLON;
-        case kVK_ANSI_Slash:
-            return KEY_SLASH;
-        case kVK_ANSI_Equal:
-            return KEY_EQUAL;
-        case kVK_ANSI_Minus:
-            return KEY_DASH;
-        case kVK_ANSI_LeftBracket:
-            return KEY_LBRACKET;
-        case kVK_ANSI_RightBracket:
-            return KEY_RBRACKET;
-        case kVK_ANSI_Comma:
-            return KEY_COMMA;
-        case kVK_ANSI_Period:
-            return KEY_PERIOD;
-        case kVK_ANSI_Backslash:
-            return KEY_BACKSLASH;
-        case kVK_ANSI_Grave:
-            return KEY_TILDE;
-        case kVK_Escape:
-            return KEY_ESCAPE;
-        case kVK_Space:
-            return KEY_SPACE;
-        case kVK_Return:
-            return KEY_RETURN;
-        case kVK_Delete:
-            return KEY_BACK;
-        case kVK_Tab:
-            return KEY_TAB;
-        case kVK_PageUp:
-            return KEY_PAGEUP;
-        case kVK_PageDown:
-            return KEY_PAGEDOWN;
-        case kVK_End:
-            return KEY_END;
-        case kVK_Home:
-            return KEY_HOME;
-        case kVK_Help:
-            return KEY_INSERT;
-        case kVK_ForwardDelete:
-            return KEY_DELETE;
-        case kVK_ANSI_KeypadPlus:
-            return KEY_ADD;
-        case kVK_ANSI_KeypadMinus:
-            return KEY_SUBTRACT;
-        case kVK_ANSI_KeypadMultiply:
-            return KEY_MULTIPLY;
-        case kVK_ANSI_KeypadDivide:
-            return KEY_DIVIDE;
+      case kVK_ANSI_Semicolon:      return KEY_SEMICOLON;
+      case kVK_ANSI_Slash:          return KEY_SLASH;
+      case kVK_ANSI_Equal:          return KEY_EQUAL;
+      case kVK_ANSI_Minus:          return KEY_DASH;
+      case kVK_ANSI_LeftBracket:    return KEY_LBRACKET;
+      case kVK_ANSI_RightBracket:   return KEY_RBRACKET;
+      case kVK_ANSI_Comma:          return KEY_COMMA;
+      case kVK_ANSI_Period:         return KEY_PERIOD;
+      case kVK_ANSI_Backslash:      return KEY_BACKSLASH;
+      case kVK_ANSI_Grave:          return KEY_TILDE;
+      case kVK_Escape:              return KEY_ESCAPE;
+      case kVK_Space:               return KEY_SPACE;
+      case kVK_Return:              return KEY_RETURN;
+      case kVK_Delete:              return KEY_BACK;
+      case kVK_Tab:                 return KEY_TAB;
+      case kVK_PageUp:              return KEY_PAGEUP;
+      case kVK_PageDown:            return KEY_PAGEDOWN;
+      case kVK_End:                 return KEY_END;
+      case kVK_Home:                return KEY_HOME;
+      case kVK_Help:                return KEY_INSERT;
+      case kVK_ForwardDelete:       return KEY_DELETE;
+      case kVK_ANSI_KeypadPlus:     return KEY_ADD;
+      case kVK_ANSI_KeypadMinus:    return KEY_SUBTRACT;
+      case kVK_ANSI_KeypadMultiply: return KEY_MULTIPLY;
+      case kVK_ANSI_KeypadDivide:   return KEY_DIVIDE;
 
-        case kVK_F1:
-            return KEY_F1;
-        case kVK_F2:
-            return KEY_F2;
-        case kVK_F3:
-            return KEY_F3;
-        case kVK_F4:
-            return KEY_F4;
-        case kVK_F5:
-            return KEY_F5;
-        case kVK_F6:
-            return KEY_F6;
-        case kVK_F7:
-            return KEY_F7;
-        case kVK_F8:
-            return KEY_F8;
-        case kVK_F9:
-            return KEY_F9;
-        case kVK_F10:
-            return KEY_F10;
-        case kVK_F11:
-            return KEY_F11;
-        case kVK_F12:
-            return KEY_F12;
-        case kVK_F13:
-            return KEY_F13;
-        case kVK_F14:
-            return KEY_F14;
-        case kVK_F15:
-            return KEY_F15;
+      case kVK_F1:                  return KEY_F1;
+      case kVK_F2:                  return KEY_F2;
+      case kVK_F3:                  return KEY_F3;
+      case kVK_F4:                  return KEY_F4;
+      case kVK_F5:                  return KEY_F5;
+      case kVK_F6:                  return KEY_F6;
+      case kVK_F7:                  return KEY_F7;
+      case kVK_F8:                  return KEY_F8;
+      case kVK_F9:                  return KEY_F9;
+      case kVK_F10:                 return KEY_F10;
+      case kVK_F11:                 return KEY_F11;
+      case kVK_F12:                 return KEY_F12;
+      case kVK_F13:                 return KEY_F13;
+      case kVK_F14:                 return KEY_F14;
+      case kVK_F15:                 return KEY_F15;
 
-        case kVK_LeftArrow:
-            return KEY_LEFT;
-        case kVK_RightArrow:
-            return KEY_RIGHT;
-        case kVK_DownArrow:
-            return KEY_DOWN;
-        case kVK_UpArrow:
-            return KEY_UP;
+      case kVK_LeftArrow:           return KEY_LEFT;
+      case kVK_RightArrow:          return KEY_RIGHT;
+      case kVK_DownArrow:           return KEY_DOWN;
+      case kVK_UpArrow:             return KEY_UP;
 
-        case kVK_ANSI_Keypad0:
-            return KEY_NUMPAD0;
-        case kVK_ANSI_Keypad1:
-            return KEY_NUMPAD1;
-        case kVK_ANSI_Keypad2:
-            return KEY_NUMPAD2;
-        case kVK_ANSI_Keypad3:
-            return KEY_NUMPAD3;
-        case kVK_ANSI_Keypad4:
-            return KEY_NUMPAD4;
-        case kVK_ANSI_Keypad5:
-            return KEY_NUMPAD5;
-        case kVK_ANSI_Keypad6:
-            return KEY_NUMPAD6;
-        case kVK_ANSI_Keypad7:
-            return KEY_NUMPAD7;
-        case kVK_ANSI_Keypad8:
-            return KEY_NUMPAD8;
-        case kVK_ANSI_Keypad9:
-            return KEY_NUMPAD9;
+      case kVK_ANSI_Keypad0:        return KEY_NUMPAD0;
+      case kVK_ANSI_Keypad1:        return KEY_NUMPAD1;
+      case kVK_ANSI_Keypad2:        return KEY_NUMPAD2;
+      case kVK_ANSI_Keypad3:        return KEY_NUMPAD3;
+      case kVK_ANSI_Keypad4:        return KEY_NUMPAD4;
+      case kVK_ANSI_Keypad5:        return KEY_NUMPAD5;
+      case kVK_ANSI_Keypad6:        return KEY_NUMPAD6;
+      case kVK_ANSI_Keypad7:        return KEY_NUMPAD7;
+      case kVK_ANSI_Keypad8:        return KEY_NUMPAD8;
+      case kVK_ANSI_Keypad9:        return KEY_NUMPAD9;
 
-        case kVK_ANSI_A:
-            return KEY_A;
-        case kVK_ANSI_B:
-            return KEY_B;
-        case kVK_ANSI_C:
-            return KEY_C;
-        case kVK_ANSI_D:
-            return KEY_D;
-        case kVK_ANSI_E:
-            return KEY_E;
-        case kVK_ANSI_F:
-            return KEY_F;
-        case kVK_ANSI_G:
-            return KEY_G;
-        case kVK_ANSI_H:
-            return KEY_H;
-        case kVK_ANSI_I:
-            return KEY_I;
-        case kVK_ANSI_J:
-            return KEY_J;
-        case kVK_ANSI_K:
-            return KEY_K;
-        case kVK_ANSI_L:
-            return KEY_L;
-        case kVK_ANSI_M:
-            return KEY_M;
-        case kVK_ANSI_N:
-            return KEY_N;
-        case kVK_ANSI_O:
-            return KEY_O;
-        case kVK_ANSI_P:
-            return KEY_P;
-        case kVK_ANSI_Q:
-            return KEY_Q;
-        case kVK_ANSI_R:
-            return KEY_R;
-        case kVK_ANSI_S:
-            return KEY_S;
-        case kVK_ANSI_T:
-            return KEY_T;
-        case kVK_ANSI_U:
-            return KEY_U;
-        case kVK_ANSI_V:
-            return KEY_V;
-        case kVK_ANSI_W:
-            return KEY_W;
-        case kVK_ANSI_X:
-            return KEY_X;
-        case kVK_ANSI_Y:
-            return KEY_Y;
-        case kVK_ANSI_Z:
-            return KEY_Z;
+      case kVK_ANSI_A:              return KEY_A;
+      case kVK_ANSI_B:              return KEY_B;
+      case kVK_ANSI_C:              return KEY_C;
+      case kVK_ANSI_D:              return KEY_D;
+      case kVK_ANSI_E:              return KEY_E;
+      case kVK_ANSI_F:              return KEY_F;
+      case kVK_ANSI_G:              return KEY_G;
+      case kVK_ANSI_H:              return KEY_H;
+      case kVK_ANSI_I:              return KEY_I;
+      case kVK_ANSI_J:              return KEY_J;
+      case kVK_ANSI_K:              return KEY_K;
+      case kVK_ANSI_L:              return KEY_L;
+      case kVK_ANSI_M:              return KEY_M;
+      case kVK_ANSI_N:              return KEY_N;
+      case kVK_ANSI_O:              return KEY_O;
+      case kVK_ANSI_P:              return KEY_P;
+      case kVK_ANSI_Q:              return KEY_Q;
+      case kVK_ANSI_R:              return KEY_R;
+      case kVK_ANSI_S:              return KEY_S;
+      case kVK_ANSI_T:              return KEY_T;
+      case kVK_ANSI_U:              return KEY_U;
+      case kVK_ANSI_V:              return KEY_V;
+      case kVK_ANSI_W:              return KEY_W;
+      case kVK_ANSI_X:              return KEY_X;
+      case kVK_ANSI_Y:              return KEY_Y;
+      case kVK_ANSI_Z:              return KEY_Z;
 
-        case kVK_ANSI_1:
-            return KEY_NUM1;
-        case kVK_ANSI_2:
-            return KEY_NUM2;
-        case kVK_ANSI_3:
-            return KEY_NUM3;
-        case kVK_ANSI_4:
-            return KEY_NUM4;
-        case kVK_ANSI_5:
-            return KEY_NUM5;
-        case kVK_ANSI_6:
-            return KEY_NUM6;
-        case kVK_ANSI_7:
-            return KEY_NUM7;
-        case kVK_ANSI_8:
-            return KEY_NUM8;
-        case kVK_ANSI_9:
-            return KEY_NUM9;
-        case kVK_ANSI_0:
-            return KEY_NUM0;
+      case kVK_ANSI_1:              return KEY_NUM1;
+      case kVK_ANSI_2:              return KEY_NUM2;
+      case kVK_ANSI_3:              return KEY_NUM3;
+      case kVK_ANSI_4:              return KEY_NUM4;
+      case kVK_ANSI_5:              return KEY_NUM5;
+      case kVK_ANSI_6:              return KEY_NUM6;
+      case kVK_ANSI_7:              return KEY_NUM7;
+      case kVK_ANSI_8:              return KEY_NUM8;
+      case kVK_ANSI_9:              return KEY_NUM9;
+      case kVK_ANSI_0:              return KEY_NUM0;
     }
 
     return Key(0);
@@ -381,236 +282,249 @@
 
 static void AddNSKeyStateToEvent(Event *event, int state)
 {
-    event->Key.Shift   = state & NSShiftKeyMask;
+    event->Key.Shift = state & NSShiftKeyMask;
     event->Key.Control = state & NSControlKeyMask;
-    event->Key.Alt     = state & NSAlternateKeyMask;
-    event->Key.System  = state & NSCommandKeyMask;
+    event->Key.Alt = state & NSAlternateKeyMask;
+    event->Key.System = state & NSCommandKeyMask;
 }
 
 static MouseButton TranslateMouseButton(int button)
 {
     switch (button)
     {
-        case 2:
-            return MOUSEBUTTON_MIDDLE;
-        case 3:
-            return MOUSEBUTTON_BUTTON4;
-        case 4:
-            return MOUSEBUTTON_BUTTON5;
-        default:
-            return MOUSEBUTTON_UNKNOWN;
+      case 2:
+        return MOUSEBUTTON_MIDDLE;
+      case 3:
+        return MOUSEBUTTON_BUTTON4;
+      case 4:
+        return MOUSEBUTTON_BUTTON5;
+      default:
+        return MOUSEBUTTON_UNKNOWN;
     }
 }
 
 // Delegate for NSView events, mostly the input events
 @implementation ContentView
-- (id)initWithWindow:(OSXWindow *)window
-{
-    self = [super init];
-    if (self != nil)
+    - (id) initWithWindow: (OSXWindow*) window
     {
-        mWindow          = window;
-        mTrackingArea    = nil;
-        mCurrentModifier = 0;
-        [self updateTrackingAreas];
+        self = [super init];
+        if (self != nil)
+        {
+            mWindow = window;
+            mTrackingArea = nil;
+            mCurrentModifier = 0;
+            [self updateTrackingAreas];
+        }
+        return self;
     }
-    return self;
-}
 
-- (void)dealloc
-{
-    [mTrackingArea release];
-    [super dealloc];
-}
-
-- (void)updateTrackingAreas
-{
-    if (mTrackingArea != nil)
+    - (void) dealloc
     {
-        [self removeTrackingArea:mTrackingArea];
         [mTrackingArea release];
-        mTrackingArea = nil;
+        [super dealloc];
     }
 
-    NSRect bounds               = [self bounds];
-    NSTrackingAreaOptions flags = NSTrackingMouseEnteredAndExited | NSTrackingActiveInKeyWindow |
-                                  NSTrackingCursorUpdate | NSTrackingInVisibleRect |
-                                  NSTrackingAssumeInside;
-    mTrackingArea = [[NSTrackingArea alloc] initWithRect:bounds
-                                                 options:flags
-                                                   owner:self
-                                                userInfo:nil];
-
-    [self addTrackingArea:mTrackingArea];
-    [super updateTrackingAreas];
-}
-
-// Helps with performance
-- (BOOL)isOpaque
-{
-    return YES;
-}
-
-- (BOOL)canBecomeKeyView
-{
-    return YES;
-}
-
-- (BOOL)acceptsFirstResponder
-{
-    return YES;
-}
-
-// Handle mouse events from the NSResponder protocol
-- (float)translateMouseY:(float)y
-{
-    return [self frame].size.height - y;
-}
-
-- (void)addButtonEvent:(NSEvent *)nsEvent
-                  type:(Event::EventType)eventType
-                button:(MouseButton)button
-{
-    Event event;
-    event.Type               = eventType;
-    event.MouseButton.Button = button;
-    event.MouseButton.X      = [nsEvent locationInWindow].x;
-    event.MouseButton.Y      = [self translateMouseY:[nsEvent locationInWindow].y];
-    mWindow->pushEvent(event);
-}
-
-- (void)mouseDown:(NSEvent *)event
-{
-    [self addButtonEvent:event type:Event::EVENT_MOUSE_BUTTON_PRESSED button:MOUSEBUTTON_LEFT];
-}
-
-- (void)mouseDragged:(NSEvent *)event
-{
-    [self mouseMoved:event];
-}
-
-- (void)mouseUp:(NSEvent *)event
-{
-    [self addButtonEvent:event type:Event::EVENT_MOUSE_BUTTON_RELEASED button:MOUSEBUTTON_LEFT];
-}
-
-- (void)mouseMoved:(NSEvent *)nsEvent
-{
-    Event event;
-    event.Type        = Event::EVENT_MOUSE_MOVED;
-    event.MouseMove.X = [nsEvent locationInWindow].x;
-    event.MouseMove.Y = [self translateMouseY:[nsEvent locationInWindow].y];
-    mWindow->pushEvent(event);
-}
-
-- (void)mouseEntered:(NSEvent *)nsEvent
-{
-    Event event;
-    event.Type = Event::EVENT_MOUSE_ENTERED;
-    mWindow->pushEvent(event);
-}
-
-- (void)mouseExited:(NSEvent *)nsEvent
-{
-    Event event;
-    event.Type = Event::EVENT_MOUSE_LEFT;
-    mWindow->pushEvent(event);
-}
-
-- (void)rightMouseDown:(NSEvent *)event
-{
-    [self addButtonEvent:event type:Event::EVENT_MOUSE_BUTTON_PRESSED button:MOUSEBUTTON_RIGHT];
-}
-
-- (void)rightMouseDragged:(NSEvent *)event
-{
-    [self mouseMoved:event];
-}
-
-- (void)rightMouseUp:(NSEvent *)event
-{
-    [self addButtonEvent:event type:Event::EVENT_MOUSE_BUTTON_RELEASED button:MOUSEBUTTON_RIGHT];
-}
-
-- (void)otherMouseDown:(NSEvent *)event
-{
-    [self addButtonEvent:event
-                    type:Event::EVENT_MOUSE_BUTTON_PRESSED
-                  button:TranslateMouseButton([event buttonNumber])];
-}
-
-- (void)otherMouseDragged:(NSEvent *)event
-{
-    [self mouseMoved:event];
-}
-
-- (void)otherMouseUp:(NSEvent *)event
-{
-    [self addButtonEvent:event
-                    type:Event::EVENT_MOUSE_BUTTON_RELEASED
-                  button:TranslateMouseButton([event buttonNumber])];
-}
-
-- (void)scrollWheel:(NSEvent *)nsEvent
-{
-    if (static_cast<int>([nsEvent deltaY]) == 0)
+    - (void) updateTrackingAreas
     {
-        return;
+        if (mTrackingArea != nil)
+        {
+            [self removeTrackingArea: mTrackingArea];
+            [mTrackingArea release];
+            mTrackingArea = nil;
+        }
+
+        NSRect bounds = [self bounds];
+        NSTrackingAreaOptions flags = NSTrackingMouseEnteredAndExited |
+                                      NSTrackingActiveInKeyWindow |
+                                      NSTrackingCursorUpdate |
+                                      NSTrackingInVisibleRect |
+                                      NSTrackingAssumeInside;
+        mTrackingArea = [[NSTrackingArea alloc] initWithRect: bounds
+                                                    options: flags
+                                                      owner: self
+                                                   userInfo: nil];
+
+        [self addTrackingArea: mTrackingArea];
+        [super updateTrackingAreas];
     }
 
-    Event event;
-    event.Type             = Event::EVENT_MOUSE_WHEEL_MOVED;
-    event.MouseWheel.Delta = [nsEvent deltaY];
-    mWindow->pushEvent(event);
-}
-
-// Handle key events from the NSResponder protocol
-- (void)keyDown:(NSEvent *)nsEvent
-{
-    // TODO(cwallez) also send text events
-    Event event;
-    event.Type     = Event::EVENT_KEY_PRESSED;
-    event.Key.Code = NSCodeToKey([nsEvent keyCode]);
-    AddNSKeyStateToEvent(&event, [nsEvent modifierFlags]);
-    mWindow->pushEvent(event);
-}
-
-- (void)keyUp:(NSEvent *)nsEvent
-{
-    Event event;
-    event.Type     = Event::EVENT_KEY_RELEASED;
-    event.Key.Code = NSCodeToKey([nsEvent keyCode]);
-    AddNSKeyStateToEvent(&event, [nsEvent modifierFlags]);
-    mWindow->pushEvent(event);
-}
-
-// Modifier keys do not trigger keyUp/Down events but only flagsChanged events.
-- (void)flagsChanged:(NSEvent *)nsEvent
-{
-    Event event;
-
-    // Guess if the key has been pressed or released with the change of modifiers
-    // It currently doesn't work when modifiers are unchanged, such as when pressing
-    // both shift keys. GLFW has a solution for this but it requires tracking the
-    // state of the keys. Implementing this is still TODO(cwallez)
-    int modifier = [nsEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask;
-    if (modifier < mCurrentModifier)
+    // Helps with performance
+    - (BOOL) isOpaque
     {
-        event.Type = Event::EVENT_KEY_RELEASED;
+        return YES;
     }
-    else
+
+    - (BOOL) canBecomeKeyView
     {
+        return YES;
+    }
+
+    - (BOOL) acceptsFirstResponder
+    {
+        return YES;
+    }
+
+    // Handle mouse events from the NSResponder protocol
+    - (float) translateMouseY: (float) y
+    {
+        return [self frame].size.height - y;
+    }
+
+    - (void) addButtonEvent: (NSEvent*) nsEvent type:(Event::EventType) eventType button:(MouseButton) button
+    {
+        Event event;
+        event.Type = eventType;
+        event.MouseButton.Button = button;
+        event.MouseButton.X = [nsEvent locationInWindow].x;
+        event.MouseButton.Y = [self translateMouseY: [nsEvent locationInWindow].y];
+        mWindow->pushEvent(event);
+    }
+
+    - (void) mouseDown: (NSEvent*) event
+    {
+        [self addButtonEvent: event
+                        type: Event::EVENT_MOUSE_BUTTON_PRESSED
+                      button: MOUSEBUTTON_LEFT];
+    }
+
+    - (void) mouseDragged: (NSEvent*) event
+    {
+        [self mouseMoved: event];
+    }
+
+    - (void) mouseUp: (NSEvent*) event
+    {
+        [self addButtonEvent: event
+                        type: Event::EVENT_MOUSE_BUTTON_RELEASED
+                      button: MOUSEBUTTON_LEFT];
+    }
+
+    - (void) mouseMoved: (NSEvent*) nsEvent
+    {
+        Event event;
+        event.Type = Event::EVENT_MOUSE_MOVED;
+        event.MouseMove.X = [nsEvent locationInWindow].x;
+        event.MouseMove.Y = [self translateMouseY: [nsEvent locationInWindow].y];
+        mWindow->pushEvent(event);
+    }
+
+    - (void) mouseEntered: (NSEvent*) nsEvent
+    {
+        Event event;
+        event.Type = Event::EVENT_MOUSE_ENTERED;
+        mWindow->pushEvent(event);
+    }
+
+    - (void) mouseExited: (NSEvent*) nsEvent
+    {
+        Event event;
+        event.Type = Event::EVENT_MOUSE_LEFT;
+        mWindow->pushEvent(event);
+    }
+
+    - (void)rightMouseDown:(NSEvent *)event
+    {
+        [self addButtonEvent: event
+                        type: Event::EVENT_MOUSE_BUTTON_PRESSED
+                      button: MOUSEBUTTON_RIGHT];
+    }
+
+    - (void) rightMouseDragged: (NSEvent*) event
+    {
+        [self mouseMoved: event];
+    }
+
+    - (void) rightMouseUp: (NSEvent*)event
+    {
+        [self addButtonEvent: event
+                        type: Event::EVENT_MOUSE_BUTTON_RELEASED
+                      button: MOUSEBUTTON_RIGHT];
+    }
+
+    - (void) otherMouseDown: (NSEvent*) event
+    {
+        [self addButtonEvent: event
+                        type: Event::EVENT_MOUSE_BUTTON_PRESSED
+                      button: TranslateMouseButton([event buttonNumber])];
+    }
+
+    - (void) otherMouseDragged: (NSEvent*) event
+    {
+        [self mouseMoved: event];
+    }
+
+    - (void) otherMouseUp: (NSEvent*) event
+    {
+        [self addButtonEvent: event
+                        type: Event::EVENT_MOUSE_BUTTON_RELEASED
+                      button: TranslateMouseButton([event buttonNumber])];
+    }
+
+    - (void) scrollWheel: (NSEvent*) nsEvent
+    {
+        if (static_cast<int>([nsEvent deltaY]) == 0)
+        {
+            return;
+        }
+
+        Event event;
+        event.Type = Event::EVENT_MOUSE_WHEEL_MOVED;
+        event.MouseWheel.Delta = [nsEvent deltaY];
+        mWindow->pushEvent(event);
+    }
+
+    // Handle key events from the NSResponder protocol
+    - (void) keyDown: (NSEvent*) nsEvent
+    {
+        // TODO(cwallez) also send text events
+        Event event;
         event.Type = Event::EVENT_KEY_PRESSED;
+        event.Key.Code = NSCodeToKey([nsEvent keyCode]);
+        AddNSKeyStateToEvent(&event, [nsEvent modifierFlags]);
+        mWindow->pushEvent(event);
     }
-    mCurrentModifier = modifier;
 
-    event.Key.Code = NSCodeToKey([nsEvent keyCode]);
-    AddNSKeyStateToEvent(&event, [nsEvent modifierFlags]);
-    mWindow->pushEvent(event);
-}
+    - (void) keyUp: (NSEvent*) nsEvent
+    {
+        Event event;
+        event.Type = Event::EVENT_KEY_RELEASED;
+        event.Key.Code = NSCodeToKey([nsEvent keyCode]);
+        AddNSKeyStateToEvent(&event, [nsEvent modifierFlags]);
+        mWindow->pushEvent(event);
+    }
+
+    // Modifier keys do not trigger keyUp/Down events but only flagsChanged events.
+    - (void) flagsChanged: (NSEvent*) nsEvent
+    {
+        Event event;
+
+        // Guess if the key has been pressed or released with the change of modifiers
+        // It currently doesn't work when modifiers are unchanged, such as when pressing
+        // both shift keys. GLFW has a solution for this but it requires tracking the
+        // state of the keys. Implementing this is still TODO(cwallez)
+        int modifier = [nsEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask;
+        if (modifier < mCurrentModifier)
+        {
+            event.Type = Event::EVENT_KEY_RELEASED;
+        }
+        else
+        {
+            event.Type = Event::EVENT_KEY_PRESSED;
+        }
+        mCurrentModifier = modifier;
+
+        event.Key.Code = NSCodeToKey([nsEvent keyCode]);
+        AddNSKeyStateToEvent(&event, [nsEvent modifierFlags]);
+        mWindow->pushEvent(event);
+    }
 @end
 
-OSXWindow::OSXWindow() : mWindow(nil), mDelegate(nil), mView(nil) {}
+OSXWindow::OSXWindow()
+    : mWindow(nil),
+      mDelegate(nil),
+      mView(nil)
+{
+}
 
 OSXWindow::~OSXWindow()
 {
@@ -626,40 +540,40 @@
 
     unsigned int styleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask |
                              NSMiniaturizableWindowMask;
-    mWindow = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, width, height)
-                                          styleMask:styleMask
-                                            backing:NSBackingStoreBuffered
-                                              defer:NO];
+    mWindow = [[NSWindow alloc] initWithContentRect: NSMakeRect(0, 0, width, height)
+                                          styleMask: styleMask
+                                            backing: NSBackingStoreBuffered
+                                              defer: NO];
 
     if (mWindow == nil)
     {
         return false;
     }
 
-    mDelegate = [[WindowDelegate alloc] initWithWindow:this];
+    mDelegate = [[WindowDelegate alloc] initWithWindow: this];
     if (mDelegate == nil)
     {
         return false;
     }
-    [mWindow setDelegate:static_cast<id>(mDelegate)];
+    [mWindow setDelegate: static_cast<id>(mDelegate)];
 
-    mView = [[ContentView alloc] initWithWindow:this];
+    mView = [[ContentView alloc] initWithWindow: this];
     if (mView == nil)
     {
         return false;
     }
     [mView setWantsLayer:YES];
 
-    [mWindow setContentView:mView];
-    [mWindow setTitle:[NSString stringWithUTF8String:name.c_str()]];
-    [mWindow setAcceptsMouseMovedEvents:YES];
+    [mWindow setContentView: mView];
+    [mWindow setTitle: [NSString stringWithUTF8String: name.c_str()]];
+    [mWindow setAcceptsMouseMovedEvents: YES];
     [mWindow center];
 
-    [NSApp activateIgnoringOtherApps:YES];
+    [NSApp activateIgnoringOtherApps: YES];
 
-    mX      = 0;
-    mY      = 0;
-    mWidth  = width;
+    mX = 0;
+    mY = 0;
+    mWidth = width;
     mHeight = height;
 
     gAllWindows.insert(this);
@@ -696,10 +610,10 @@
     {
         while (true)
         {
-            NSEvent *event = [NSApp nextEventMatchingMask:NSAnyEventMask
-                                                untilDate:[NSDate distantPast]
-                                                   inMode:NSDefaultRunLoopMode
-                                                  dequeue:YES];
+            NSEvent* event = [NSApp nextEventMatchingMask: NSAnyEventMask
+                                                untilDate: [NSDate distantPast]
+                                                   inMode: NSDefaultRunLoopMode
+                                                  dequeue: YES];
             if (event == nil)
             {
                 break;
@@ -709,21 +623,21 @@
             {
                 continue;
             }
-            [NSApp sendEvent:event];
+            [NSApp sendEvent: event];
         }
     }
 }
 
 void OSXWindow::setMousePosition(int x, int y)
 {
-    y = [mWindow frame].size.height - y - 1;
+    y = [mWindow frame].size.height - y -1;
     NSPoint screenspace;
 
-#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
-    screenspace = [mWindow convertBaseToScreen:NSMakePoint(x, y)];
-#else
-    screenspace = [mWindow convertRectToScreen:NSMakeRect(x, y, 0, 0)].origin;
-#endif
+    #if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
+        screenspace = [mWindow convertBaseToScreen: NSMakePoint(x, y)];
+    #else
+        screenspace = [mWindow convertRectToScreen: NSMakeRect(x, y, 0, 0)].origin;
+    #endif
     CGWarpMouseCursorPosition(CGPointMake(screenspace.x, YCoordToFromCG(screenspace.y)));
 }
 
@@ -731,15 +645,15 @@
 {
     // Given CG and NS's coordinate system, the "Y" position of a window is the Y coordinate
     // of the bottom of the window.
-    int newBottom    = [mWindow frame].size.height + y;
+    int newBottom = [mWindow frame].size.height + y;
     NSRect emptyRect = NSMakeRect(x, YCoordToFromCG(newBottom), 0, 0);
-    [mWindow setFrameOrigin:[mWindow frameRectForContentRect:emptyRect].origin];
+    [mWindow setFrameOrigin: [mWindow frameRectForContentRect: emptyRect].origin];
     return true;
 }
 
 bool OSXWindow::resize(int width, int height)
 {
-    [mWindow setContentSize:NSMakeSize(width, height)];
+    [mWindow setContentSize: NSMakeSize(width, height)];
     return true;
 }
 
@@ -747,11 +661,11 @@
 {
     if (isVisible)
     {
-        [mWindow makeKeyAndOrderFront:nil];
+        [mWindow makeKeyAndOrderFront: nil];
     }
     else
     {
-        [mWindow orderOut:nil];
+        [mWindow orderOut: nil];
     }
 }
 
@@ -759,20 +673,20 @@
 {
     @autoreleasepool
     {
-        NSEvent *event = [NSEvent otherEventWithType:NSApplicationDefined
-                                            location:NSMakePoint(0, 0)
-                                       modifierFlags:0
-                                           timestamp:0.0
-                                        windowNumber:[mWindow windowNumber]
-                                             context:nil
-                                             subtype:0
-                                               data1:0
-                                               data2:0];
-        [NSApp postEvent:event atStart:YES];
+        NSEvent *event = [NSEvent otherEventWithType: NSApplicationDefined
+                                            location: NSMakePoint(0, 0)
+                                       modifierFlags: 0
+                                           timestamp: 0.0
+                                        windowNumber: [mWindow windowNumber]
+                                             context: nil
+                                             subtype: 0
+                                               data1: 0
+                                               data2: 0];
+        [NSApp postEvent: event atStart: YES];
     }
 }
 
-NSWindow *OSXWindow::getNSWindow() const
+NSWindow* OSXWindow::getNSWindow() const
 {
     return mWindow;
 }
diff --git a/util/ozone/OzonePixmap.cpp b/util/ozone/OzonePixmap.cpp
index 09ec75e..cc310a7 100644
--- a/util/ozone/OzonePixmap.cpp
+++ b/util/ozone/OzonePixmap.cpp
@@ -4,7 +4,7 @@
 // found in the LICENSE file.
 //
 
-#include "util/OSPixmap.h"
+#include "OSPixmap.h"
 
 OSPixmap *CreateOSPixmap()
 {
diff --git a/util/ozone/OzoneWindow.cpp b/util/ozone/OzoneWindow.cpp
index 9169882..9feece2 100644
--- a/util/ozone/OzoneWindow.cpp
+++ b/util/ozone/OzoneWindow.cpp
@@ -6,15 +6,17 @@
 
 // OzoneWindow.cpp: Implementation of OSWindow for Ozone
 
-#include "util/ozone/OzoneWindow.h"
-
-#include "util/egl_loader_autogen.h"
+#include "ozone/OzoneWindow.h"
 
 int OzoneWindow::sLastDepth = 0;
 
-OzoneWindow::OzoneWindow() {}
+OzoneWindow::OzoneWindow()
+{
+}
 
-OzoneWindow::~OzoneWindow() {}
+OzoneWindow::~OzoneWindow()
+{
+}
 
 bool OzoneWindow::initialize(const std::string &name, size_t width, size_t height)
 {
@@ -22,14 +24,16 @@
     mNative.y = mY = 0;
     mNative.width = mWidth = width;
     mNative.height = mHeight = height;
-    mNative.borderWidth      = 5;
-    mNative.borderHeight     = 5;
-    mNative.visible          = 0;
-    mNative.depth            = sLastDepth++;
+    mNative.borderWidth  = 5;
+    mNative.borderHeight = 5;
+    mNative.visible      = 0;
+    mNative.depth        = sLastDepth++;
     return true;
 }
 
-void OzoneWindow::destroy() {}
+void OzoneWindow::destroy()
+{
+}
 
 EGLNativeWindowType OzoneWindow::getNativeWindow() const
 {
@@ -41,9 +45,13 @@
     return EGL_DEFAULT_DISPLAY;
 }
 
-void OzoneWindow::messageLoop() {}
+void OzoneWindow::messageLoop()
+{
+}
 
-void OzoneWindow::setMousePosition(int x, int y) {}
+void OzoneWindow::setMousePosition(int x, int y)
+{
+}
 
 bool OzoneWindow::setPosition(int x, int y)
 {
@@ -64,7 +72,9 @@
     mNative.visible = isVisible;
 }
 
-void OzoneWindow::signalTestEvent() {}
+void OzoneWindow::signalTestEvent()
+{
+}
 
 OSWindow *CreateOSWindow()
 {
diff --git a/util/ozone/OzoneWindow.h b/util/ozone/OzoneWindow.h
index 661e459..1a2fed5 100644
--- a/util/ozone/OzoneWindow.h
+++ b/util/ozone/OzoneWindow.h
@@ -11,7 +11,7 @@
 
 #include <string>
 
-#include "util/OSWindow.h"
+#include "OSWindow.h"
 
 class OzoneWindow : public OSWindow
 {
diff --git a/util/posix/Posix_system_utils.cpp b/util/posix/Posix_system_utils.cpp
index 4cff381..55af1b0 100644
--- a/util/posix/Posix_system_utils.cpp
+++ b/util/posix/Posix_system_utils.cpp
@@ -6,7 +6,7 @@
 
 // Posix_system_utils.cpp: Implementation of OS-specific functions for Posix systems
 
-#include "util/system_utils.h"
+#include "system_utils.h"
 
 #include <dlfcn.h>
 #include <sched.h>
diff --git a/util/random_utils.h b/util/random_utils.h
index a19ad8b..d67b1cd 100644
--- a/util/random_utils.h
+++ b/util/random_utils.h
@@ -14,12 +14,12 @@
 #include <random>
 #include <vector>
 
-#include "util/util_export.h"
+#include <export.h>
 
 namespace angle
 {
 
-class ANGLE_UTIL_EXPORT RNG
+class ANGLE_EXPORT RNG
 {
   public:
     // Seed from clock
diff --git a/util/shader_utils.h b/util/shader_utils.h
index 73835e2..08107ba 100644
--- a/util/shader_utils.h
+++ b/util/shader_utils.h
@@ -7,42 +7,45 @@
 #ifndef SAMPLE_UTIL_SHADER_UTILS_H
 #define SAMPLE_UTIL_SHADER_UTILS_H
 
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+#include <GLES3/gl3.h>
+#include <GLES3/gl31.h>
+#include <export.h>
+
 #include <functional>
 #include <string>
 #include <vector>
 
-#include "util/util_export.h"
-#include "util/util_gl.h"
+struct ShaderFuncs;
 
-ANGLE_UTIL_EXPORT GLuint CheckLinkStatusAndReturnProgram(GLuint program, bool outputErrorMessages);
-ANGLE_UTIL_EXPORT GLuint CompileShader(GLenum type, const char *source);
-ANGLE_UTIL_EXPORT GLuint CompileShaderFromFile(GLenum type, const std::string &sourcePath);
+ANGLE_EXPORT GLuint CheckLinkStatusAndReturnProgram(GLuint program, bool outputErrorMessages);
+ANGLE_EXPORT GLuint CompileShader(GLenum type, const char *source);
+ANGLE_EXPORT GLuint CompileShaderFromFile(GLenum type, const std::string &sourcePath);
 
-ANGLE_UTIL_EXPORT GLuint
+ANGLE_EXPORT GLuint
 CompileProgramWithTransformFeedback(const char *vsSource,
                                     const char *fsSource,
                                     const std::vector<std::string> &transformFeedbackVaryings,
                                     GLenum bufferMode);
 
-ANGLE_UTIL_EXPORT GLuint CompileProgram(const char *vsSource, const char *fsSource);
+ANGLE_EXPORT GLuint CompileProgram(const char *vsSource, const char *fsSource);
 
-ANGLE_UTIL_EXPORT GLuint CompileProgram(const char *vsSource,
-                                        const char *fsSource,
-                                        const std::function<void(GLuint)> &preLinkCallback);
+ANGLE_EXPORT GLuint CompileProgram(const char *vsSource,
+                                   const char *fsSource,
+                                   const std::function<void(GLuint)> &preLinkCallback);
 
-ANGLE_UTIL_EXPORT GLuint CompileProgramWithGS(const char *vsSource,
-                                              const char *gsSource,
-                                              const char *fsSource);
-ANGLE_UTIL_EXPORT GLuint CompileProgramFromFiles(const std::string &vsPath,
-                                                 const std::string &fsPath);
-ANGLE_UTIL_EXPORT GLuint CompileComputeProgram(const char *csSource,
-                                               bool outputErrorMessages = true);
-ANGLE_UTIL_EXPORT bool LinkAttachedProgram(GLuint program);
+ANGLE_EXPORT GLuint CompileProgramWithGS(const char *vsSource,
+                                         const char *gsSource,
+                                         const char *fsSource);
+ANGLE_EXPORT GLuint CompileProgramFromFiles(const std::string &vsPath, const std::string &fsPath);
+ANGLE_EXPORT GLuint CompileComputeProgram(const char *csSource, bool outputErrorMessages = true);
+ANGLE_EXPORT bool LinkAttachedProgram(GLuint program);
 
-ANGLE_UTIL_EXPORT GLuint LoadBinaryProgramOES(const std::vector<uint8_t> &binary,
-                                              GLenum binaryFormat);
-ANGLE_UTIL_EXPORT GLuint LoadBinaryProgramES3(const std::vector<uint8_t> &binary,
-                                              GLenum binaryFormat);
+ANGLE_EXPORT GLuint LoadBinaryProgramOES(const std::vector<uint8_t> &binary, GLenum binaryFormat);
+ANGLE_EXPORT GLuint LoadBinaryProgramES3(const std::vector<uint8_t> &binary, GLenum binaryFormat);
 
 namespace angle
 {
@@ -50,21 +53,21 @@
 namespace essl1_shaders
 {
 
-ANGLE_UTIL_EXPORT const char *PositionAttrib();
-ANGLE_UTIL_EXPORT const char *ColorUniform();
+ANGLE_EXPORT const char *PositionAttrib();
+ANGLE_EXPORT const char *ColorUniform();
 
 namespace vs
 {
 
 // A shader that sets gl_Position to zero.
-ANGLE_UTIL_EXPORT const char *Zero();
+ANGLE_EXPORT const char *Zero();
 
 // A shader that sets gl_Position to attribute a_position.
-ANGLE_UTIL_EXPORT const char *Simple();
+ANGLE_EXPORT const char *Simple();
 
 // A shader that passes through attribute a_position, setting it to gl_Position and varying
 // v_position.
-ANGLE_UTIL_EXPORT const char *Passthrough();
+ANGLE_EXPORT const char *Passthrough();
 
 }  // namespace vs
 
@@ -73,19 +76,19 @@
 
 // A shader that renders a simple checker pattern of red and green. X axis and y axis separate the
 // different colors. Needs varying v_position.
-ANGLE_UTIL_EXPORT const char *Checkered();
+ANGLE_EXPORT const char *Checkered();
 
 // A shader that fills with color taken from uniform named "color".
-ANGLE_UTIL_EXPORT const char *UniformColor();
+ANGLE_EXPORT const char *UniformColor();
 
 // A shader that fills with 100% opaque red.
-ANGLE_UTIL_EXPORT const char *Red();
+ANGLE_EXPORT const char *Red();
 
 // A shader that fills with 100% opaque green.
-ANGLE_UTIL_EXPORT const char *Green();
+ANGLE_EXPORT const char *Green();
 
 // A shader that fills with 100% opaque blue.
-ANGLE_UTIL_EXPORT const char *Blue();
+ANGLE_EXPORT const char *Blue();
 
 }  // namespace fs
 }  // namespace essl1_shaders
@@ -93,20 +96,20 @@
 namespace essl3_shaders
 {
 
-ANGLE_UTIL_EXPORT const char *PositionAttrib();
+ANGLE_EXPORT const char *PositionAttrib();
 
 namespace vs
 {
 
 // A shader that sets gl_Position to zero.
-ANGLE_UTIL_EXPORT const char *Zero();
+ANGLE_EXPORT const char *Zero();
 
 // A shader that sets gl_Position to attribute a_position.
-ANGLE_UTIL_EXPORT const char *Simple();
+ANGLE_EXPORT const char *Simple();
 
 // A shader that simply passes through attribute a_position, setting it to gl_Position and varying
 // v_position.
-ANGLE_UTIL_EXPORT const char *Passthrough();
+ANGLE_EXPORT const char *Passthrough();
 
 }  // namespace vs
 
@@ -114,7 +117,7 @@
 {
 
 // A shader that fills with 100% opaque red.
-ANGLE_UTIL_EXPORT const char *Red();
+ANGLE_EXPORT const char *Red();
 
 }  // namespace fs
 }  // namespace essl3_shaders
@@ -122,20 +125,20 @@
 namespace essl31_shaders
 {
 
-ANGLE_UTIL_EXPORT const char *PositionAttrib();
+ANGLE_EXPORT const char *PositionAttrib();
 
 namespace vs
 {
 
 // A shader that sets gl_Position to zero.
-ANGLE_UTIL_EXPORT const char *Zero();
+ANGLE_EXPORT const char *Zero();
 
 // A shader that sets gl_Position to attribute a_position.
-ANGLE_UTIL_EXPORT const char *Simple();
+ANGLE_EXPORT const char *Simple();
 
 // A shader that simply passes through attribute a_position, setting it to gl_Position and varying
 // v_position.
-ANGLE_UTIL_EXPORT const char *Passthrough();
+ANGLE_EXPORT const char *Passthrough();
 
 }  // namespace vs
 
@@ -143,7 +146,7 @@
 {
 
 // A shader that fills with 100% opaque red.
-ANGLE_UTIL_EXPORT const char *Red();
+ANGLE_EXPORT const char *Red();
 
 }  // namespace fs
 }  // namespace essl31_shaders
diff --git a/util/system_utils.h b/util/system_utils.h
index d8e3dbe..1e82c06 100644
--- a/util/system_utils.h
+++ b/util/system_utils.h
@@ -11,21 +11,24 @@
 
 #include <string>
 
+#include <export.h>
+
+#include "common/angleutils.h"
 #include "common/system_utils.h"
-#include "util/util_export.h"
 
 namespace angle
 {
-// Cross platform equivalent of the Windows Sleep function
-ANGLE_UTIL_EXPORT void Sleep(unsigned int milliseconds);
 
-ANGLE_UTIL_EXPORT void SetLowPriorityProcess();
+// Cross platform equivalent of the Windows Sleep function
+ANGLE_EXPORT void Sleep(unsigned int milliseconds);
+
+ANGLE_EXPORT void SetLowPriorityProcess();
 
 // Write a debug message, either to a standard output or Debug window.
-ANGLE_UTIL_EXPORT void WriteDebugMessage(const char *format, ...);
+ANGLE_EXPORT void WriteDebugMessage(const char *format, ...);
 
 // Set thread affinity and priority.
-ANGLE_UTIL_EXPORT bool StabilizeCPUForBenchmarking();
+ANGLE_EXPORT bool StabilizeCPUForBenchmarking();
 }  // namespace angle
 
 #endif  // UTIL_SYSTEM_UTILS_H_
diff --git a/util/util.gni b/util/util.gni
index 55a2370..9eb5a9d 100644
--- a/util/util.gni
+++ b/util/util.gni
@@ -13,8 +13,6 @@
   "util/shader_utils.cpp",
   "util/shader_utils.h",
   "util/system_utils.h",
-  "util/util_export.h",
-  "util/util_gl.h",
   "util/Event.h",
   "util/EGLWindow.cpp",
   "util/EGLWindow.h",
@@ -25,7 +23,6 @@
   "util/OSWindow.h",
   "util/Timer.h",
 ]
-
 util_win32_sources = [
   "util/windows/win32/Win32_system_utils.cpp",
   "util/windows/win32/Win32Pixmap.cpp",
@@ -36,7 +33,6 @@
   "util/windows/WindowsTimer.cpp",
   "util/windows/WindowsTimer.h",
 ]
-
 util_winrt_sources = [
   "util/windows/winrt/WinRT_system_utils.cpp",
   "util/windows/winrt/WinRTPixmap.cpp",
@@ -46,26 +42,22 @@
   "util/windows/WindowsTimer.cpp",
   "util/windows/WindowsTimer.h",
 ]
-
 util_linux_sources = [
   "util/linux/LinuxTimer.cpp",
   "util/linux/LinuxTimer.h",
   "util/posix/Posix_system_utils.cpp",
 ]
-
 util_x11_sources = [
   "util/x11/X11Pixmap.cpp",
   "util/x11/X11Pixmap.h",
   "util/x11/X11Window.cpp",
   "util/x11/X11Window.h",
 ]
-
 util_ozone_sources = [
   "util/ozone/OzonePixmap.cpp",
   "util/ozone/OzoneWindow.cpp",
   "util/ozone/OzoneWindow.h",
 ]
-
 util_osx_sources = [
   "util/osx/OSXTimer.cpp",
   "util/osx/OSXTimer.h",
@@ -75,7 +67,6 @@
   "util/osx/OSXWindow.h",
   "util/posix/Posix_system_utils.cpp",
 ]
-
 util_android_sources = [
   "util/android/AndroidPixmap.cpp",
   "util/android/AndroidWindow.cpp",
diff --git a/util/util_export.h b/util/util_export.h
deleted file mode 100644
index 6579831..0000000
--- a/util/util_export.h
+++ /dev/null
@@ -1,29 +0,0 @@
-//
-// Copyright 2018 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.
-//
-// util_export.h : Defines ANGLE_UTIL_EXPORT, a macro for exporting symbols.
-
-#ifndef UTIL_EXPORT_H_
-#define UTIL_EXPORT_H_
-
-#if !defined(ANGLE_UTIL_EXPORT)
-#    if defined(_WIN32)
-#        if defined(LIBANGLE_UTIL_IMPLEMENTATION)
-#            define ANGLE_UTIL_EXPORT __declspec(dllexport)
-#        else
-#            define ANGLE_UTIL_EXPORT __declspec(dllimport)
-#        endif
-#    elif defined(__GNUC__)
-#        if defined(LIBANGLE_UTIL_IMPLEMENTATION)
-#            define ANGLE_UTIL_EXPORT __attribute__((visibility("default")))
-#        else
-#            define ANGLE_UTIL_EXPORT
-#        endif
-#    else
-#        define ANGLE_UTIL_EXPORT
-#    endif
-#endif  // !defined(ANGLE_UTIL_EXPORT)
-
-#endif  // UTIL_EXPORT_H_
diff --git a/util/util_gl.h b/util/util_gl.h
deleted file mode 100644
index f9f0fa2..0000000
--- a/util/util_gl.h
+++ /dev/null
@@ -1,25 +0,0 @@
-//
-// Copyright 2018 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.
-//
-// util_gl.h: Includes the right GL/EGL headers for static/shared link.
-
-#ifndef UTIL_GL_H_
-#define UTIL_GL_H_
-
-#if defined(ANGLE_USE_UTIL_LOADER)
-#    include "util/egl_loader_autogen.h"
-#    include "util/gles_loader_autogen.h"
-#else
-
-#    if !defined(GL_GLES_PROTOTYPES)
-#        error Config error. Should either be using the ANGLE GL loader or header prototypes.
-#    endif  // !defined(GL_GLES_PROTOTYPES)
-
-#    include <EGL/egl.h>
-#    include <EGL/eglext.h>
-#    include "angle_gl.h"
-#endif
-
-#endif  // UTIL_GL_H_
diff --git a/util/windows/WindowsTimer.cpp b/util/windows/WindowsTimer.cpp
index 25e4987..e02ce29 100644
--- a/util/windows/WindowsTimer.cpp
+++ b/util/windows/WindowsTimer.cpp
@@ -6,9 +6,11 @@
 
 // WindowsTimer.cpp: Implementation of a high precision timer class on Windows
 
-#include "util/windows/WindowsTimer.h"
+#include "windows/WindowsTimer.h"
 
-WindowsTimer::WindowsTimer() : mRunning(false), mStartTime(0), mStopTime(0), mFrequency(0) {}
+WindowsTimer::WindowsTimer() : mRunning(false), mStartTime(0), mStopTime(0), mFrequency(0)
+{
+}
 
 LONGLONG WindowsTimer::getFrequency()
 {
diff --git a/util/windows/WindowsTimer.h b/util/windows/WindowsTimer.h
index 86875fe..787cdbb 100644
--- a/util/windows/WindowsTimer.h
+++ b/util/windows/WindowsTimer.h
@@ -11,9 +11,9 @@
 
 #include <windows.h>
 
-#include "util/Timer.h"
+#include "Timer.h"
 
-class ANGLE_UTIL_EXPORT WindowsTimer : public Timer
+class WindowsTimer : public Timer
 {
   public:
     WindowsTimer();
diff --git a/util/windows/Windows_system_utils.cpp b/util/windows/Windows_system_utils.cpp
index 7d7dffd..36b4f66 100644
--- a/util/windows/Windows_system_utils.cpp
+++ b/util/windows/Windows_system_utils.cpp
@@ -6,7 +6,7 @@
 
 // Windows_system_utils.cpp: Implementation of OS-specific functions for Windows
 
-#include "util/system_utils.h"
+#include "system_utils.h"
 
 #include <stdarg.h>
 #include <windows.h>
diff --git a/util/windows/win32/Win32Pixmap.cpp b/util/windows/win32/Win32Pixmap.cpp
index ad4ad2b..8015131 100644
--- a/util/windows/win32/Win32Pixmap.cpp
+++ b/util/windows/win32/Win32Pixmap.cpp
@@ -6,9 +6,11 @@
 
 // Win32Pixmap.cpp: Implementation of OSPixmap for Win32 (Windows)
 
-#include "util/windows/win32/Win32Pixmap.h"
+#include "windows/win32/Win32Pixmap.h"
 
-Win32Pixmap::Win32Pixmap() : mBitmap(nullptr) {}
+Win32Pixmap::Win32Pixmap() : mBitmap(nullptr)
+{
+}
 
 Win32Pixmap::~Win32Pixmap()
 {
@@ -41,7 +43,7 @@
     bitmapInfo.bmiHeader.biClrImportant  = 0;
 
     void *bitmapPtr = nullptr;
-    mBitmap = CreateDIBSection(display, &bitmapInfo, DIB_RGB_COLORS, &bitmapPtr, nullptr, 0);
+    mBitmap         = CreateDIBSection(display, &bitmapInfo, DIB_RGB_COLORS, &bitmapPtr, nullptr, 0);
 
     return mBitmap != nullptr;
 }
diff --git a/util/windows/win32/Win32Pixmap.h b/util/windows/win32/Win32Pixmap.h
index 4d1bf42..7e14f8a 100644
--- a/util/windows/win32/Win32Pixmap.h
+++ b/util/windows/win32/Win32Pixmap.h
@@ -11,7 +11,7 @@
 
 #include <windows.h>
 
-#include "util/OSPixmap.h"
+#include "OSPixmap.h"
 
 class Win32Pixmap : public OSPixmap
 {
diff --git a/util/windows/win32/Win32Window.cpp b/util/windows/win32/Win32Window.cpp
index fda500e..ee848f1 100644
--- a/util/windows/win32/Win32Window.cpp
+++ b/util/windows/win32/Win32Window.cpp
@@ -6,7 +6,7 @@
 
 // Win32Window.cpp: Implementation of OSWindow for Win32 (Windows)
 
-#include "util/windows/win32/Win32Window.h"
+#include "windows/win32/Win32Window.h"
 
 #include <sstream>
 
@@ -325,7 +325,7 @@
                 event.Type        = down ? Event::EVENT_KEY_PRESSED : Event::EVENT_KEY_RELEASED;
                 event.Key.Alt     = HIWORD(GetAsyncKeyState(VK_MENU)) != 0;
                 event.Key.Control = HIWORD(GetAsyncKeyState(VK_CONTROL)) != 0;
-                event.Key.Shift   = HIWORD(GetAsyncKeyState(VK_SHIFT)) != 0;
+                event.Key.Shift = HIWORD(GetAsyncKeyState(VK_SHIFT)) != 0;
                 event.Key.System =
                     HIWORD(GetAsyncKeyState(VK_LWIN)) || HIWORD(GetAsyncKeyState(VK_RWIN));
                 event.Key.Code = VirtualKeyCodeToKey(wParam, lParam);
@@ -350,7 +350,7 @@
                 event.Type               = Event::EVENT_MOUSE_BUTTON_PRESSED;
                 event.MouseButton.Button = MOUSEBUTTON_LEFT;
                 event.MouseButton.X      = static_cast<short>(LOWORD(lParam));
-                event.MouseButton.Y      = static_cast<short>(HIWORD(lParam));
+                event.MouseButton.Y = static_cast<short>(HIWORD(lParam));
                 window->pushEvent(event);
                 break;
             }
@@ -361,7 +361,7 @@
                 event.Type               = Event::EVENT_MOUSE_BUTTON_RELEASED;
                 event.MouseButton.Button = MOUSEBUTTON_LEFT;
                 event.MouseButton.X      = static_cast<short>(LOWORD(lParam));
-                event.MouseButton.Y      = static_cast<short>(HIWORD(lParam));
+                event.MouseButton.Y = static_cast<short>(HIWORD(lParam));
                 window->pushEvent(event);
                 break;
             }
@@ -373,7 +373,7 @@
                 event.Type               = Event::EVENT_MOUSE_BUTTON_PRESSED;
                 event.MouseButton.Button = MOUSEBUTTON_RIGHT;
                 event.MouseButton.X      = static_cast<short>(LOWORD(lParam));
-                event.MouseButton.Y      = static_cast<short>(HIWORD(lParam));
+                event.MouseButton.Y = static_cast<short>(HIWORD(lParam));
                 window->pushEvent(event);
                 break;
             }
@@ -385,7 +385,7 @@
                 event.Type               = Event::EVENT_MOUSE_BUTTON_RELEASED;
                 event.MouseButton.Button = MOUSEBUTTON_RIGHT;
                 event.MouseButton.X      = static_cast<short>(LOWORD(lParam));
-                event.MouseButton.Y      = static_cast<short>(HIWORD(lParam));
+                event.MouseButton.Y = static_cast<short>(HIWORD(lParam));
                 window->pushEvent(event);
                 break;
             }
@@ -398,7 +398,7 @@
                 event.Type               = Event::EVENT_MOUSE_BUTTON_PRESSED;
                 event.MouseButton.Button = MOUSEBUTTON_MIDDLE;
                 event.MouseButton.X      = static_cast<short>(LOWORD(lParam));
-                event.MouseButton.Y      = static_cast<short>(HIWORD(lParam));
+                event.MouseButton.Y = static_cast<short>(HIWORD(lParam));
                 window->pushEvent(event);
                 break;
             }
@@ -410,7 +410,7 @@
                 event.Type               = Event::EVENT_MOUSE_BUTTON_RELEASED;
                 event.MouseButton.Button = MOUSEBUTTON_MIDDLE;
                 event.MouseButton.X      = static_cast<short>(LOWORD(lParam));
-                event.MouseButton.Y      = static_cast<short>(HIWORD(lParam));
+                event.MouseButton.Y = static_cast<short>(HIWORD(lParam));
                 window->pushEvent(event);
                 break;
             }
@@ -491,7 +491,8 @@
       mNativeWindow(0),
       mParentWindow(0),
       mNativeDisplay(0)
-{}
+{
+}
 
 Win32Window::~Win32Window()
 {
@@ -549,7 +550,7 @@
         return false;
     }
 
-    DWORD parentStyle = WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_SYSMENU;
+    DWORD parentStyle         = WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_SYSMENU;
     DWORD parentExtendedStyle = WS_EX_APPWINDOW;
 
     RECT sizeRect = {0, 0, static_cast<LONG>(width), static_cast<LONG>(height)};
@@ -678,9 +679,9 @@
         bitmapInfo.biYPelsPerMeter = 0;
         bitmapInfo.biClrUsed       = 0;
         bitmapInfo.biClrImportant  = 0;
-        int getBitsResult          = GetDIBits(screenDC, tmpBitmap, 0, mHeight, pixelData,
+        int getBitsResult = GetDIBits(screenDC, tmpBitmap, 0, mHeight, pixelData,
                                       reinterpret_cast<BITMAPINFO *>(&bitmapInfo), DIB_RGB_COLORS);
-        error                      = (getBitsResult == 0);
+        error = (getBitsResult == 0);
     }
 
     if (tmpBitmap != nullptr)
diff --git a/util/windows/win32/Win32Window.h b/util/windows/win32/Win32Window.h
index d78a26e..c0904e9 100644
--- a/util/windows/win32/Win32Window.h
+++ b/util/windows/win32/Win32Window.h
@@ -12,8 +12,8 @@
 #include <windows.h>
 #include <string>
 
-#include "util/OSWindow.h"
-#include "util/Timer.h"
+#include "OSWindow.h"
+#include "Timer.h"
 
 class Win32Window : public OSWindow
 {
diff --git a/util/windows/win32/Win32_system_utils.cpp b/util/windows/win32/Win32_system_utils.cpp
index 3be713d..35ce0a1 100644
--- a/util/windows/win32/Win32_system_utils.cpp
+++ b/util/windows/win32/Win32_system_utils.cpp
@@ -6,7 +6,7 @@
 
 // Win32_system_utils.cpp: Implementation of OS-specific functions for Win32 (Windows)
 
-#include "util/system_utils.h"
+#include "system_utils.h"
 
 #include <windows.h>
 #include <array>
diff --git a/util/x11/X11Pixmap.cpp b/util/x11/X11Pixmap.cpp
index a3be53a..943527a 100644
--- a/util/x11/X11Pixmap.cpp
+++ b/util/x11/X11Pixmap.cpp
@@ -6,9 +6,13 @@
 
 // X11Pixmap.cpp: Implementation of OSPixmap for X11
 
-#include "util/x11/X11Pixmap.h"
+#include "x11/X11Pixmap.h"
 
-X11Pixmap::X11Pixmap() : mPixmap(0), mDisplay(nullptr) {}
+X11Pixmap::X11Pixmap()
+  : mPixmap(0),
+    mDisplay(nullptr)
+{
+}
 
 X11Pixmap::~X11Pixmap()
 {
@@ -22,7 +26,7 @@
 {
     mDisplay = display;
 
-    int screen  = DefaultScreen(mDisplay);
+    int screen = DefaultScreen(mDisplay);
     Window root = RootWindow(mDisplay, screen);
 
     mPixmap = XCreatePixmap(mDisplay, root, width, height, depth);
diff --git a/util/x11/X11Pixmap.h b/util/x11/X11Pixmap.h
index 3ccb27e..fd12db6 100644
--- a/util/x11/X11Pixmap.h
+++ b/util/x11/X11Pixmap.h
@@ -12,7 +12,7 @@
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
 
-#include "util/OSPixmap.h"
+#include "OSPixmap.h"
 
 class X11Pixmap : public OSPixmap
 {
@@ -29,4 +29,4 @@
     Display *mDisplay;
 };
 
-#endif  // UTIL_X11_PIXMAP_H_
+#endif // UTIL_X11_PIXMAP_H_
diff --git a/util/x11/X11Window.cpp b/util/x11/X11Window.cpp
index 3b7e7b4..91461d5 100644
--- a/util/x11/X11Window.cpp
+++ b/util/x11/X11Window.cpp
@@ -6,14 +6,13 @@
 
 // X11Window.cpp: Implementation of OSWindow for X11
 
-#include "util/x11/X11Window.h"
+#include "x11/X11Window.h"
 
 #include "common/debug.h"
-#include "util/Timer.h"
-#include "util/system_utils.h"
+#include "system_utils.h"
+#include "Timer.h"
 
-namespace
-{
+namespace {
 
 Bool WaitForMapNotify(Display *dpy, XEvent *event, XPointer window)
 {
@@ -31,212 +30,112 @@
 
     switch (keySymbol)
     {
-        case XK_Shift_L:
-            return KEY_LSHIFT;
-        case XK_Shift_R:
-            return KEY_RSHIFT;
-        case XK_Alt_L:
-            return KEY_LALT;
-        case XK_Alt_R:
-            return KEY_RALT;
-        case XK_Control_L:
-            return KEY_LCONTROL;
-        case XK_Control_R:
-            return KEY_RCONTROL;
-        case XK_Super_L:
-            return KEY_LSYSTEM;
-        case XK_Super_R:
-            return KEY_RSYSTEM;
-        case XK_Menu:
-            return KEY_MENU;
+      case XK_Shift_L:     return KEY_LSHIFT;
+      case XK_Shift_R:     return KEY_RSHIFT;
+      case XK_Alt_L:       return KEY_LALT;
+      case XK_Alt_R:       return KEY_RALT;
+      case XK_Control_L:   return KEY_LCONTROL;
+      case XK_Control_R:   return KEY_RCONTROL;
+      case XK_Super_L:     return KEY_LSYSTEM;
+      case XK_Super_R:     return KEY_RSYSTEM;
+      case XK_Menu:        return KEY_MENU;
 
-        case XK_semicolon:
-            return KEY_SEMICOLON;
-        case XK_slash:
-            return KEY_SLASH;
-        case XK_equal:
-            return KEY_EQUAL;
-        case XK_minus:
-            return KEY_DASH;
-        case XK_bracketleft:
-            return KEY_LBRACKET;
-        case XK_bracketright:
-            return KEY_RBRACKET;
-        case XK_comma:
-            return KEY_COMMA;
-        case XK_period:
-            return KEY_PERIOD;
-        case XK_backslash:
-            return KEY_BACKSLASH;
-        case XK_asciitilde:
-            return KEY_TILDE;
-        case XK_Escape:
-            return KEY_ESCAPE;
-        case XK_space:
-            return KEY_SPACE;
-        case XK_Return:
-            return KEY_RETURN;
-        case XK_BackSpace:
-            return KEY_BACK;
-        case XK_Tab:
-            return KEY_TAB;
-        case XK_Page_Up:
-            return KEY_PAGEUP;
-        case XK_Page_Down:
-            return KEY_PAGEDOWN;
-        case XK_End:
-            return KEY_END;
-        case XK_Home:
-            return KEY_HOME;
-        case XK_Insert:
-            return KEY_INSERT;
-        case XK_Delete:
-            return KEY_DELETE;
-        case XK_KP_Add:
-            return KEY_ADD;
-        case XK_KP_Subtract:
-            return KEY_SUBTRACT;
-        case XK_KP_Multiply:
-            return KEY_MULTIPLY;
-        case XK_KP_Divide:
-            return KEY_DIVIDE;
-        case XK_Pause:
-            return KEY_PAUSE;
+      case XK_semicolon:   return KEY_SEMICOLON;
+      case XK_slash:       return KEY_SLASH;
+      case XK_equal:       return KEY_EQUAL;
+      case XK_minus:       return KEY_DASH;
+      case XK_bracketleft: return KEY_LBRACKET;
+      case XK_bracketright:return KEY_RBRACKET;
+      case XK_comma:       return KEY_COMMA;
+      case XK_period:      return KEY_PERIOD;
+      case XK_backslash:   return KEY_BACKSLASH;
+      case XK_asciitilde:  return KEY_TILDE;
+      case XK_Escape:      return KEY_ESCAPE;
+      case XK_space:       return KEY_SPACE;
+      case XK_Return:      return KEY_RETURN;
+      case XK_BackSpace:   return KEY_BACK;
+      case XK_Tab:         return KEY_TAB;
+      case XK_Page_Up:     return KEY_PAGEUP;
+      case XK_Page_Down:   return KEY_PAGEDOWN;
+      case XK_End:         return KEY_END;
+      case XK_Home:        return KEY_HOME;
+      case XK_Insert:      return KEY_INSERT;
+      case XK_Delete:      return KEY_DELETE;
+      case XK_KP_Add:      return KEY_ADD;
+      case XK_KP_Subtract: return KEY_SUBTRACT;
+      case XK_KP_Multiply: return KEY_MULTIPLY;
+      case XK_KP_Divide:   return KEY_DIVIDE;
+      case XK_Pause:       return KEY_PAUSE;
 
-        case XK_F1:
-            return KEY_F1;
-        case XK_F2:
-            return KEY_F2;
-        case XK_F3:
-            return KEY_F3;
-        case XK_F4:
-            return KEY_F4;
-        case XK_F5:
-            return KEY_F5;
-        case XK_F6:
-            return KEY_F6;
-        case XK_F7:
-            return KEY_F7;
-        case XK_F8:
-            return KEY_F8;
-        case XK_F9:
-            return KEY_F9;
-        case XK_F10:
-            return KEY_F10;
-        case XK_F11:
-            return KEY_F11;
-        case XK_F12:
-            return KEY_F12;
-        case XK_F13:
-            return KEY_F13;
-        case XK_F14:
-            return KEY_F14;
-        case XK_F15:
-            return KEY_F15;
+      case XK_F1:          return KEY_F1;
+      case XK_F2:          return KEY_F2;
+      case XK_F3:          return KEY_F3;
+      case XK_F4:          return KEY_F4;
+      case XK_F5:          return KEY_F5;
+      case XK_F6:          return KEY_F6;
+      case XK_F7:          return KEY_F7;
+      case XK_F8:          return KEY_F8;
+      case XK_F9:          return KEY_F9;
+      case XK_F10:         return KEY_F10;
+      case XK_F11:         return KEY_F11;
+      case XK_F12:         return KEY_F12;
+      case XK_F13:         return KEY_F13;
+      case XK_F14:         return KEY_F14;
+      case XK_F15:         return KEY_F15;
 
-        case XK_Left:
-            return KEY_LEFT;
-        case XK_Right:
-            return KEY_RIGHT;
-        case XK_Down:
-            return KEY_DOWN;
-        case XK_Up:
-            return KEY_UP;
+      case XK_Left:        return KEY_LEFT;
+      case XK_Right:       return KEY_RIGHT;
+      case XK_Down:        return KEY_DOWN;
+      case XK_Up:          return KEY_UP;
 
-        case XK_KP_Insert:
-            return KEY_NUMPAD0;
-        case XK_KP_End:
-            return KEY_NUMPAD1;
-        case XK_KP_Down:
-            return KEY_NUMPAD2;
-        case XK_KP_Page_Down:
-            return KEY_NUMPAD3;
-        case XK_KP_Left:
-            return KEY_NUMPAD4;
-        case XK_KP_5:
-            return KEY_NUMPAD5;
-        case XK_KP_Right:
-            return KEY_NUMPAD6;
-        case XK_KP_Home:
-            return KEY_NUMPAD7;
-        case XK_KP_Up:
-            return KEY_NUMPAD8;
-        case XK_KP_Page_Up:
-            return KEY_NUMPAD9;
+      case XK_KP_Insert:   return KEY_NUMPAD0;
+      case XK_KP_End:      return KEY_NUMPAD1;
+      case XK_KP_Down:     return KEY_NUMPAD2;
+      case XK_KP_Page_Down:return KEY_NUMPAD3;
+      case XK_KP_Left:     return KEY_NUMPAD4;
+      case XK_KP_5:        return KEY_NUMPAD5;
+      case XK_KP_Right:    return KEY_NUMPAD6;
+      case XK_KP_Home:     return KEY_NUMPAD7;
+      case XK_KP_Up:       return KEY_NUMPAD8;
+      case XK_KP_Page_Up:  return KEY_NUMPAD9;
 
-        case XK_a:
-            return KEY_A;
-        case XK_b:
-            return KEY_B;
-        case XK_c:
-            return KEY_C;
-        case XK_d:
-            return KEY_D;
-        case XK_e:
-            return KEY_E;
-        case XK_f:
-            return KEY_F;
-        case XK_g:
-            return KEY_G;
-        case XK_h:
-            return KEY_H;
-        case XK_i:
-            return KEY_I;
-        case XK_j:
-            return KEY_J;
-        case XK_k:
-            return KEY_K;
-        case XK_l:
-            return KEY_L;
-        case XK_m:
-            return KEY_M;
-        case XK_n:
-            return KEY_N;
-        case XK_o:
-            return KEY_O;
-        case XK_p:
-            return KEY_P;
-        case XK_q:
-            return KEY_Q;
-        case XK_r:
-            return KEY_R;
-        case XK_s:
-            return KEY_S;
-        case XK_t:
-            return KEY_T;
-        case XK_u:
-            return KEY_U;
-        case XK_v:
-            return KEY_V;
-        case XK_w:
-            return KEY_W;
-        case XK_x:
-            return KEY_X;
-        case XK_y:
-            return KEY_Y;
-        case XK_z:
-            return KEY_Z;
+      case XK_a:           return KEY_A;
+      case XK_b:           return KEY_B;
+      case XK_c:           return KEY_C;
+      case XK_d:           return KEY_D;
+      case XK_e:           return KEY_E;
+      case XK_f:           return KEY_F;
+      case XK_g:           return KEY_G;
+      case XK_h:           return KEY_H;
+      case XK_i:           return KEY_I;
+      case XK_j:           return KEY_J;
+      case XK_k:           return KEY_K;
+      case XK_l:           return KEY_L;
+      case XK_m:           return KEY_M;
+      case XK_n:           return KEY_N;
+      case XK_o:           return KEY_O;
+      case XK_p:           return KEY_P;
+      case XK_q:           return KEY_Q;
+      case XK_r:           return KEY_R;
+      case XK_s:           return KEY_S;
+      case XK_t:           return KEY_T;
+      case XK_u:           return KEY_U;
+      case XK_v:           return KEY_V;
+      case XK_w:           return KEY_W;
+      case XK_x:           return KEY_X;
+      case XK_y:           return KEY_Y;
+      case XK_z:           return KEY_Z;
 
-        case XK_1:
-            return KEY_NUM1;
-        case XK_2:
-            return KEY_NUM2;
-        case XK_3:
-            return KEY_NUM3;
-        case XK_4:
-            return KEY_NUM4;
-        case XK_5:
-            return KEY_NUM5;
-        case XK_6:
-            return KEY_NUM6;
-        case XK_7:
-            return KEY_NUM7;
-        case XK_8:
-            return KEY_NUM8;
-        case XK_9:
-            return KEY_NUM9;
-        case XK_0:
-            return KEY_NUM0;
+      case XK_1:           return KEY_NUM1;
+      case XK_2:           return KEY_NUM2;
+      case XK_3:           return KEY_NUM3;
+      case XK_4:           return KEY_NUM4;
+      case XK_5:           return KEY_NUM5;
+      case XK_6:           return KEY_NUM6;
+      case XK_7:           return KEY_NUM7;
+      case XK_8:           return KEY_NUM8;
+      case XK_9:           return KEY_NUM9;
+      case XK_0:           return KEY_NUM0;
     }
 
     return Key(0);
@@ -244,13 +143,13 @@
 
 static void AddX11KeyStateToEvent(Event *event, unsigned int state)
 {
-    event->Key.Shift   = state & ShiftMask;
+    event->Key.Shift = state & ShiftMask;
     event->Key.Control = state & ControlMask;
-    event->Key.Alt     = state & Mod1Mask;
-    event->Key.System  = state & Mod4Mask;
+    event->Key.Alt = state & Mod1Mask;
+    event->Key.System = state & Mod4Mask;
 }
 
-}  // namespace
+}
 
 X11Window::X11Window()
     : WM_DELETE_WINDOW(None),
@@ -260,7 +159,8 @@
       mWindow(0),
       mRequestedVisualId(-1),
       mVisible(false)
-{}
+{
+}
 
 X11Window::X11Window(int visualId)
     : WM_DELETE_WINDOW(None),
@@ -270,7 +170,8 @@
       mWindow(0),
       mRequestedVisualId(visualId),
       mVisible(false)
-{}
+{
+}
 
 X11Window::~X11Window()
 {
@@ -288,7 +189,7 @@
     }
 
     {
-        int screen  = DefaultScreen(mDisplay);
+        int screen = DefaultScreen(mDisplay);
         Window root = RootWindow(mDisplay, screen);
 
         Visual *visual;
@@ -301,9 +202,8 @@
             XVisualInfo visualTemplate;
             visualTemplate.visualid = mRequestedVisualId;
 
-            int numVisuals = 0;
-            XVisualInfo *visuals =
-                XGetVisualInfo(mDisplay, VisualIDMask, &visualTemplate, &numVisuals);
+            int numVisuals       = 0;
+            XVisualInfo *visuals = XGetVisualInfo(mDisplay, VisualIDMask, &visualTemplate, &numVisuals);
             if (numVisuals <= 0)
             {
                 return false;
@@ -314,7 +214,7 @@
             XFree(visuals);
         }
 
-        int depth         = DefaultDepth(mDisplay, screen);
+        int depth = DefaultDepth(mDisplay, screen);
         Colormap colormap = XCreateColormap(mDisplay, root, visual, AllocNone);
 
         XSetWindowAttributes attributes;
@@ -324,10 +224,10 @@
                                 ButtonReleaseMask | FocusChangeMask | EnterWindowMask |
                                 LeaveWindowMask | KeyPressMask | KeyReleaseMask;
         attributes.border_pixel = 0;
-        attributes.colormap     = colormap;
+        attributes.colormap = colormap;
 
-        mWindow = XCreateWindow(mDisplay, root, 0, 0, width, height, 0, depth, InputOutput, visual,
-                                attributeMask, &attributes);
+        mWindow = XCreateWindow(mDisplay, root, 0, 0, width, height, 0, depth, InputOutput,
+                                visual, attributeMask, &attributes);
         XFreeColormap(mDisplay, colormap);
     }
 
@@ -340,14 +240,14 @@
     // Tell the window manager to notify us when the user wants to close the
     // window so we can do it ourselves.
     WM_DELETE_WINDOW = XInternAtom(mDisplay, "WM_DELETE_WINDOW", False);
-    WM_PROTOCOLS     = XInternAtom(mDisplay, "WM_PROTOCOLS", False);
+    WM_PROTOCOLS = XInternAtom(mDisplay, "WM_PROTOCOLS", False);
     if (WM_DELETE_WINDOW == None || WM_PROTOCOLS == None)
     {
         destroy();
         return false;
     }
 
-    if (XSetWMProtocols(mDisplay, mWindow, &WM_DELETE_WINDOW, 1) == 0)
+    if(XSetWMProtocols(mDisplay, mWindow, &WM_DELETE_WINDOW, 1) == 0)
     {
         destroy();
         return false;
@@ -363,9 +263,9 @@
 
     XFlush(mDisplay);
 
-    mX      = 0;
-    mY      = 0;
-    mWidth  = width;
+    mX = 0;
+    mY = 0;
+    mWidth = width;
     mHeight = height;
 
     return true;
@@ -384,7 +284,7 @@
         mDisplay = nullptr;
     }
     WM_DELETE_WINDOW = None;
-    WM_PROTOCOLS     = None;
+    WM_PROTOCOLS = None;
 }
 
 EGLNativeWindowType X11Window::getNativeWindow() const
@@ -430,7 +330,7 @@
     XResizeWindow(mDisplay, mWindow, width, height);
     XFlush(mDisplay);
 
-    Timer *timer = CreateTimer();
+    Timer* timer = CreateTimer();
     timer->start();
 
     // Wait until the window as actually been resized so that the code calling resize
@@ -476,7 +376,7 @@
 void X11Window::signalTestEvent()
 {
     XEvent event;
-    event.type                 = ClientMessage;
+    event.type = ClientMessage;
     event.xclient.message_type = TEST_EVENT;
     // Format needs to be valid or a BadValue is generated
     event.xclient.format = 32;
@@ -490,123 +390,123 @@
     // TODO(cwallez) text events
     switch (xEvent.type)
     {
-        case ButtonPress:
+      case ButtonPress:
         {
             Event event;
             MouseButton button = MOUSEBUTTON_UNKNOWN;
-            int wheelY         = 0;
+            int wheelY = 0;
 
             // The mouse wheel updates are sent via button events.
             switch (xEvent.xbutton.button)
             {
-                case Button4:
-                    wheelY = 1;
-                    break;
-                case Button5:
-                    wheelY = -1;
-                    break;
-                case 6:
-                    break;
-                case 7:
-                    break;
+              case Button4:
+                wheelY = 1;
+                break;
+              case Button5:
+                wheelY = -1;
+                break;
+              case 6:
+                break;
+              case 7:
+                break;
 
-                case Button1:
-                    button = MOUSEBUTTON_LEFT;
-                    break;
-                case Button2:
-                    button = MOUSEBUTTON_MIDDLE;
-                    break;
-                case Button3:
-                    button = MOUSEBUTTON_RIGHT;
-                    break;
-                case 8:
-                    button = MOUSEBUTTON_BUTTON4;
-                    break;
-                case 9:
-                    button = MOUSEBUTTON_BUTTON5;
-                    break;
+              case Button1:
+                button = MOUSEBUTTON_LEFT;
+                break;
+              case Button2:
+                button = MOUSEBUTTON_MIDDLE;
+                break;
+              case Button3:
+                button = MOUSEBUTTON_RIGHT;
+                break;
+              case 8:
+                button = MOUSEBUTTON_BUTTON4;
+                break;
+              case 9:
+                button = MOUSEBUTTON_BUTTON5;
+                break;
 
-                default:
-                    break;
+              default:
+                break;
             }
 
             if (wheelY != 0)
             {
-                event.Type             = Event::EVENT_MOUSE_WHEEL_MOVED;
+                event.Type = Event::EVENT_MOUSE_WHEEL_MOVED;
                 event.MouseWheel.Delta = wheelY;
                 pushEvent(event);
             }
 
             if (button != MOUSEBUTTON_UNKNOWN)
             {
-                event.Type               = Event::EVENT_MOUSE_BUTTON_RELEASED;
+                event.Type = Event::EVENT_MOUSE_BUTTON_RELEASED;
                 event.MouseButton.Button = button;
-                event.MouseButton.X      = xEvent.xbutton.x;
-                event.MouseButton.Y      = xEvent.xbutton.y;
+                event.MouseButton.X = xEvent.xbutton.x;
+                event.MouseButton.Y = xEvent.xbutton.y;
                 pushEvent(event);
             }
         }
         break;
 
-        case ButtonRelease:
+      case ButtonRelease:
         {
             Event event;
             MouseButton button = MOUSEBUTTON_UNKNOWN;
 
             switch (xEvent.xbutton.button)
             {
-                case Button1:
-                    button = MOUSEBUTTON_LEFT;
-                    break;
-                case Button2:
-                    button = MOUSEBUTTON_MIDDLE;
-                    break;
-                case Button3:
-                    button = MOUSEBUTTON_RIGHT;
-                    break;
-                case 8:
-                    button = MOUSEBUTTON_BUTTON4;
-                    break;
-                case 9:
-                    button = MOUSEBUTTON_BUTTON5;
-                    break;
+              case Button1:
+                button = MOUSEBUTTON_LEFT;
+                break;
+              case Button2:
+                button = MOUSEBUTTON_MIDDLE;
+                break;
+              case Button3:
+                button = MOUSEBUTTON_RIGHT;
+                break;
+              case 8:
+                button = MOUSEBUTTON_BUTTON4;
+                break;
+              case 9:
+                button = MOUSEBUTTON_BUTTON5;
+                break;
 
-                default:
-                    break;
+              default:
+                break;
             }
 
             if (button != MOUSEBUTTON_UNKNOWN)
             {
-                event.Type               = Event::EVENT_MOUSE_BUTTON_RELEASED;
+                event.Type = Event::EVENT_MOUSE_BUTTON_RELEASED;
                 event.MouseButton.Button = button;
-                event.MouseButton.X      = xEvent.xbutton.x;
-                event.MouseButton.Y      = xEvent.xbutton.y;
+                event.MouseButton.X = xEvent.xbutton.x;
+                event.MouseButton.Y = xEvent.xbutton.y;
                 pushEvent(event);
             }
         }
         break;
 
-        case KeyPress:
+      case KeyPress:
         {
             Event event;
-            event.Type     = Event::EVENT_KEY_PRESSED;
+            event.Type = Event::EVENT_KEY_PRESSED;
             event.Key.Code = X11CodeToKey(mDisplay, xEvent.xkey.keycode);
             AddX11KeyStateToEvent(&event, xEvent.xkey.state);
             pushEvent(event);
         }
         break;
 
-        case KeyRelease:
+      case KeyRelease:
         {
             Event event;
-            event.Type     = Event::EVENT_KEY_RELEASED;
+            event.Type = Event::EVENT_KEY_RELEASED;
             event.Key.Code = X11CodeToKey(mDisplay, xEvent.xkey.keycode);
             AddX11KeyStateToEvent(&event, xEvent.xkey.state);
             pushEvent(event);
         }
         break;
 
-        case EnterNotify:
+      case EnterNotify:
         {
             Event event;
             event.Type = Event::EVENT_MOUSE_ENTERED;
@@ -614,7 +514,7 @@
         }
         break;
 
-        case LeaveNotify:
+      case LeaveNotify:
         {
             Event event;
             event.Type = Event::EVENT_MOUSE_LEFT;
@@ -622,23 +522,23 @@
         }
         break;
 
-        case MotionNotify:
+      case MotionNotify:
         {
             Event event;
-            event.Type        = Event::EVENT_MOUSE_MOVED;
+            event.Type = Event::EVENT_MOUSE_MOVED;
             event.MouseMove.X = xEvent.xmotion.x;
             event.MouseMove.Y = xEvent.xmotion.y;
             pushEvent(event);
         }
         break;
 
-        case ConfigureNotify:
+      case ConfigureNotify:
         {
             if (xEvent.xconfigure.width != mWidth || xEvent.xconfigure.height != mHeight)
             {
                 Event event;
-                event.Type        = Event::EVENT_RESIZED;
-                event.Size.Width  = xEvent.xconfigure.width;
+                event.Type = Event::EVENT_RESIZED;
+                event.Size.Width = xEvent.xconfigure.width;
                 event.Size.Height = xEvent.xconfigure.height;
                 pushEvent(event);
             }
@@ -648,7 +548,7 @@
                 // when resizing) then the X and Y coordinates will be with respect to
                 // the new parent and not what the user wants to know. Use
                 // XTranslateCoordinates to get the coordinates on the screen.
-                int screen  = DefaultScreen(mDisplay);
+                int screen = DefaultScreen(mDisplay);
                 Window root = RootWindow(mDisplay, screen);
 
                 int x, y;
@@ -658,7 +558,7 @@
                 if (x != mX || y != mY)
                 {
                     Event event;
-                    event.Type   = Event::EVENT_MOVED;
+                    event.Type = Event::EVENT_MOVED;
                     event.Move.X = x;
                     event.Move.Y = y;
                     pushEvent(event);
@@ -667,42 +567,42 @@
         }
         break;
 
-        case FocusIn:
-            if (xEvent.xfocus.mode == NotifyNormal || xEvent.xfocus.mode == NotifyWhileGrabbed)
-            {
-                Event event;
-                event.Type = Event::EVENT_GAINED_FOCUS;
-                pushEvent(event);
-            }
-            break;
+      case FocusIn:
+        if (xEvent.xfocus.mode == NotifyNormal || xEvent.xfocus.mode == NotifyWhileGrabbed)
+        {
+            Event event;
+            event.Type = Event::EVENT_GAINED_FOCUS;
+            pushEvent(event);
+        }
+        break;
 
-        case FocusOut:
-            if (xEvent.xfocus.mode == NotifyNormal || xEvent.xfocus.mode == NotifyWhileGrabbed)
-            {
-                Event event;
-                event.Type = Event::EVENT_LOST_FOCUS;
-                pushEvent(event);
-            }
-            break;
+      case FocusOut:
+        if (xEvent.xfocus.mode == NotifyNormal || xEvent.xfocus.mode == NotifyWhileGrabbed)
+        {
+            Event event;
+            event.Type = Event::EVENT_LOST_FOCUS;
+            pushEvent(event);
+        }
+        break;
 
-        case DestroyNotify:
-            // We already received WM_DELETE_WINDOW
-            break;
+      case DestroyNotify:
+        // We already received WM_DELETE_WINDOW
+        break;
 
-        case ClientMessage:
-            if (xEvent.xclient.message_type == WM_PROTOCOLS &&
-                static_cast<Atom>(xEvent.xclient.data.l[0]) == WM_DELETE_WINDOW)
-            {
-                Event event;
-                event.Type = Event::EVENT_CLOSED;
-                pushEvent(event);
-            }
-            else if (xEvent.xclient.message_type == TEST_EVENT)
-            {
-                Event event;
-                event.Type = Event::EVENT_TEST;
-                pushEvent(event);
-            }
-            break;
+      case ClientMessage:
+        if (xEvent.xclient.message_type == WM_PROTOCOLS &&
+            static_cast<Atom>(xEvent.xclient.data.l[0]) == WM_DELETE_WINDOW)
+        {
+            Event event;
+            event.Type = Event::EVENT_CLOSED;
+            pushEvent(event);
+        }
+        else if (xEvent.xclient.message_type == TEST_EVENT)
+        {
+            Event event;
+            event.Type = Event::EVENT_TEST;
+            pushEvent(event);
+        }
+        break;
     }
 }
diff --git a/util/x11/X11Window.h b/util/x11/X11Window.h
index 851f946..ecc1de3 100644
--- a/util/x11/X11Window.h
+++ b/util/x11/X11Window.h
@@ -9,15 +9,16 @@
 #ifndef UTIL_X11_WINDOW_H
 #define UTIL_X11_WINDOW_H
 
-#include <X11/Xlib.h>
-#include <X11/Xresource.h>
-#include <X11/Xutil.h>
 #include <string>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xresource.h>
 
-#include "util/OSWindow.h"
-#include "util/util_export.h"
+#include <export.h>
 
-class ANGLE_UTIL_EXPORT X11Window : public OSWindow
+#include "OSWindow.h"
+
+class ANGLE_EXPORT X11Window : public OSWindow
 {
   public:
     X11Window();
@@ -52,4 +53,4 @@
     bool mVisible;
 };
 
-#endif  // UTIL_X11_WINDOW_H
+#endif // UTIL_X11_WINDOW_H