text: #include "common.hpp"
  
  #include <map>
  #include <EGL/egl.h>
  #include <EGL/eglext.h>
  #include <GLES2/gl2.h>
  #include <GLES2/gl2ext.h>
  #include <GLES/gl.h>
  #include <GLES/glext.h> // this has to come after glext2 due to khr_debug collision
  #include <GLES3/gl3.h>
  #include <GLES3/gl31.h>
  #include <GLES3/gl32.h>
  
  // KHR_debug says "GL only", but functionality also exists in GLES 3.1, whereas KHR_debug does not. hence it is missing from both headers.
  #ifndef GL_PROGRAM_PIPELINE
  #define GL_PROGRAM_PIPELINE 0x82E4
  #endif
  
  namespace
  {
  
  std::map<int, const char*> sEnumMap;
  std::map<int, const char*> sDrawEnumMap;
  std::map<int, const char*> sEglEnumMap;
  
  bool sInitedEnumMap = false;
  
  #define InsertEnumString(e) \
      sEnumMap.insert(std::pair<int, const char*>((e), (#e)))
  #define InsertDrawEnumString(e) \
      sDrawEnumMap.insert(std::pair<int, const char*>((e), (#e)))
  #define InsertEglEnumString(e) \
      sEglEnumMap.insert(std::pair<int, const char*>((e), (#e)))
  
  // TODO: this really should be autogenerated from gl.xml
  void InitEnumMap()
  {
  // generated from gl3.h by:
  // grep "#define" gl3.h | awk '{print $3" "$2}' | sort | awk '{print "InsertEnumString("$2");"}'
  
  // egl map inserts generated with:
  // 1. cat egl.h | grep "#define" > defines.txt
  // 2. cat defines.txt | awk '{ print "sEnumMap.insert(pair<int,string>("$3 ",\"" $2 "\"));" }'
  
      InsertEglEnumString(EGL_SUCCESS);
      InsertEglEnumString(EGL_NOT_INITIALIZED);
      InsertEglEnumString(EGL_BAD_ACCESS);
      InsertEglEnumString(EGL_BAD_ALLOC);
      InsertEglEnumString(EGL_BAD_ATTRIBUTE);
      InsertEglEnumString(EGL_BAD_CONFIG);
      InsertEglEnumString(EGL_BAD_CONTEXT);
      InsertEglEnumString(EGL_BAD_CURRENT_SURFACE);
      InsertEglEnumString(EGL_BAD_DISPLAY);
      InsertEglEnumString(EGL_BAD_MATCH);
      InsertEglEnumString(EGL_BAD_NATIVE_PIXMAP);
      InsertEglEnumString(EGL_BAD_NATIVE_WINDOW);
      InsertEglEnumString(EGL_BAD_PARAMETER);
      InsertEglEnumString(EGL_BAD_SURFACE);
      InsertEglEnumString(EGL_CONTEXT_LOST);
      InsertEglEnumString(EGL_BUFFER_SIZE);
      InsertEglEnumString(EGL_ALPHA_SIZE);
      InsertEglEnumString(EGL_BLUE_SIZE);
      InsertEglEnumString(EGL_GREEN_SIZE);
      InsertEglEnumString(EGL_RED_SIZE);
      InsertEglEnumString(EGL_DEPTH_SIZE);
      InsertEglEnumString(EGL_STENCIL_SIZE);
      InsertEglEnumString(EGL_CONFIG_CAVEAT);
      InsertEglEnumString(EGL_CONFIG_ID);
      InsertEglEnumString(EGL_LEVEL);
      InsertEglEnumString(EGL_MAX_PBUFFER_HEIGHT);
      InsertEglEnumString(EGL_MAX_PBUFFER_PIXELS);
      InsertEglEnumString(EGL_MAX_PBUFFER_WIDTH);
      InsertEglEnumString(EGL_NATIVE_RENDERABLE);
      InsertEglEnumString(EGL_NATIVE_VISUAL_ID);
      InsertEglEnumString(EGL_NATIVE_VISUAL_TYPE);
      InsertEglEnumString(EGL_SAMPLES);
      InsertEglEnumString(EGL_SAMPLE_BUFFERS);
      InsertEglEnumString(EGL_SURFACE_TYPE);
      InsertEglEnumString(EGL_TRANSPARENT_TYPE);
      InsertEglEnumString(EGL_TRANSPARENT_BLUE_VALUE);
      InsertEglEnumString(EGL_TRANSPARENT_GREEN_VALUE);
      InsertEglEnumString(EGL_TRANSPARENT_RED_VALUE);
      InsertEglEnumString(EGL_NONE);
      InsertEglEnumString(EGL_BIND_TO_TEXTURE_RGB);
      InsertEglEnumString(EGL_BIND_TO_TEXTURE_RGBA);
      InsertEglEnumString(EGL_MIN_SWAP_INTERVAL);
      InsertEglEnumString(EGL_MAX_SWAP_INTERVAL);
      InsertEglEnumString(EGL_LUMINANCE_SIZE);
      InsertEglEnumString(EGL_ALPHA_MASK_SIZE);
      InsertEglEnumString(EGL_COLOR_BUFFER_TYPE);
      InsertEglEnumString(EGL_COLOR_COMPONENT_TYPE_EXT);
      InsertEglEnumString(EGL_RENDERABLE_TYPE);
      InsertEglEnumString(EGL_MATCH_NATIVE_PIXMAP);
      InsertEglEnumString(EGL_CONFORMANT);
      InsertEglEnumString(EGL_SLOW_CONFIG);
      InsertEglEnumString(EGL_NON_CONFORMANT_CONFIG);
      InsertEglEnumString(EGL_TRANSPARENT_RGB);
      InsertEglEnumString(EGL_RGB_BUFFER);
      InsertEglEnumString(EGL_LUMINANCE_BUFFER);
      InsertEglEnumString(EGL_NO_TEXTURE);
      InsertEglEnumString(EGL_TEXTURE_RGB);
      InsertEglEnumString(EGL_TEXTURE_RGBA);
      InsertEglEnumString(EGL_TEXTURE_2D);
      InsertEglEnumString(EGL_VENDOR);
      InsertEglEnumString(EGL_VERSION);
      InsertEglEnumString(EGL_EXTENSIONS);
      InsertEglEnumString(EGL_CLIENT_APIS);
      InsertEglEnumString(EGL_HEIGHT);
      InsertEglEnumString(EGL_WIDTH);
      InsertEglEnumString(EGL_BUFFER_AGE_KHR);
      InsertEglEnumString(EGL_LARGEST_PBUFFER);
      InsertEglEnumString(EGL_TEXTURE_FORMAT);
      InsertEglEnumString(EGL_TEXTURE_TARGET);
      InsertEglEnumString(EGL_MIPMAP_TEXTURE);
      InsertEglEnumString(EGL_MIPMAP_LEVEL);
      InsertEglEnumString(EGL_RENDER_BUFFER);
      InsertEglEnumString(EGL_VG_COLORSPACE);
      InsertEglEnumString(EGL_VG_ALPHA_FORMAT);
      InsertEglEnumString(EGL_HORIZONTAL_RESOLUTION);
      InsertEglEnumString(EGL_VERTICAL_RESOLUTION);
      InsertEglEnumString(EGL_PIXEL_ASPECT_RATIO);
      InsertEglEnumString(EGL_SWAP_BEHAVIOR);
      InsertEglEnumString(EGL_MULTISAMPLE_RESOLVE);
      InsertEglEnumString(EGL_BACK_BUFFER);
      InsertEglEnumString(EGL_SINGLE_BUFFER);
      InsertEglEnumString(EGL_VG_COLORSPACE_sRGB);
      InsertEglEnumString(EGL_VG_COLORSPACE_LINEAR);
      InsertEglEnumString(EGL_VG_ALPHA_FORMAT_NONPRE);
      InsertEglEnumString(EGL_VG_ALPHA_FORMAT_PRE);
      InsertEglEnumString(EGL_DISPLAY_SCALING);
      InsertEglEnumString(EGL_BUFFER_PRESERVED);
      InsertEglEnumString(EGL_BUFFER_DESTROYED);
      InsertEglEnumString(EGL_OPENVG_IMAGE);
      InsertEglEnumString(EGL_CONTEXT_CLIENT_TYPE);
      InsertEglEnumString(EGL_CONTEXT_CLIENT_VERSION);
      InsertEglEnumString(EGL_MULTISAMPLE_RESOLVE_DEFAULT);
      InsertEglEnumString(EGL_MULTISAMPLE_RESOLVE_BOX);
      InsertEglEnumString(EGL_OPENGL_ES_API);
      InsertEglEnumString(EGL_OPENVG_API);
      InsertEglEnumString(EGL_OPENGL_API);
      InsertEglEnumString(EGL_DRAW);
      InsertEglEnumString(EGL_READ);
      InsertEglEnumString(EGL_CORE_NATIVE_ENGINE);
  
      /* EGL_NV_coverage_sample */
      InsertEglEnumString(EGL_COVERAGE_BUFFERS_NV);
      InsertEglEnumString(EGL_COVERAGE_SAMPLES_NV);
      /* EGL_NV_depth_nonlinear */
      InsertEglEnumString(EGL_DEPTH_ENCODING_NV);
      InsertEglEnumString(EGL_DEPTH_ENCODING_NONLINEAR_NV);
  
      /* GLES 1 enums */
      InsertEnumString(GL_ADD);       // 0x0104
      InsertEnumString(GL_NEVER);     // 0x0200
      InsertEnumString(GL_LESS);      // 0x0201
      InsertEnumString(GL_EQUAL);     // 0x0202
      InsertEnumString(GL_LEQUAL);        // 0x0203
      InsertEnumString(GL_GREATER);       // 0x0204
      InsertEnumString(GL_NOTEQUAL);      // 0x0205
      InsertEnumString(GL_GEQUAL);        // 0x0206
      InsertEnumString(GL_ALWAYS);        // 0x0207
      InsertEnumString(GL_SRC_COLOR);     // 0x0300
      InsertEnumString(GL_ONE_MINUS_SRC_COLOR);       // 0x0301
      InsertEnumString(GL_SRC_ALPHA);     // 0x0302
      InsertEnumString(GL_ONE_MINUS_SRC_ALPHA);       // 0x0303
      InsertEnumString(GL_DST_ALPHA);     // 0x0304
      InsertEnumString(GL_ONE_MINUS_DST_ALPHA);       // 0x0305
      InsertEnumString(GL_DST_COLOR);     // 0x0306
      InsertEnumString(GL_ONE_MINUS_DST_COLOR);       // 0x0307
      InsertEnumString(GL_SRC_ALPHA_SATURATE);        // 0x0308
      InsertEnumString(GL_FRONT);     // 0x0404
      InsertEnumString(GL_BACK);      // 0x0405
      InsertEnumString(GL_FRONT_AND_BACK);        // 0x0408
      InsertEnumString(GL_INVALID_ENUM);      // 0x0500
      InsertEnumString(GL_INVALID_VALUE);     // 0x0501
      InsertEnumString(GL_INVALID_OPERATION);     // 0x0502
      InsertEnumString(GL_STACK_OVERFLOW);        // 0x0503
      InsertEnumString(GL_STACK_UNDERFLOW);       // 0x0504
      InsertEnumString(GL_OUT_OF_MEMORY);     // 0x0505
      InsertEnumString(GL_EXP);       // 0x0800
      InsertEnumString(GL_EXP2);      // 0x0801
      InsertEnumString(GL_CW);        // 0x0900
      InsertEnumString(GL_CCW);       // 0x0901
      InsertEnumString(GL_CURRENT_COLOR);     // 0x0B00
      InsertEnumString(GL_CURRENT_NORMAL);        // 0x0B02
      InsertEnumString(GL_CURRENT_TEXTURE_COORDS);        // 0x0B03
      InsertEnumString(GL_POINT_SMOOTH);      // 0x0B10
      InsertEnumString(GL_POINT_SIZE);        // 0x0B11
      InsertEnumString(GL_SMOOTH_POINT_SIZE_RANGE);       // 0x0B12
      InsertEnumString(GL_LINE_SMOOTH);       // 0x0B20
      InsertEnumString(GL_LINE_WIDTH);        // 0x0B21
      InsertEnumString(GL_SMOOTH_LINE_WIDTH_RANGE);       // 0x0B22
      InsertEnumString(GL_CULL_FACE);     // 0x0B44
      InsertEnumString(GL_CULL_FACE_MODE);        // 0x0B45
      InsertEnumString(GL_FRONT_FACE);        // 0x0B46
      InsertEnumString(GL_LIGHTING);      // 0x0B50
      InsertEnumString(GL_LIGHT_MODEL_TWO_SIDE);      // 0x0B52
      InsertEnumString(GL_LIGHT_MODEL_AMBIENT);       // 0x0B53
      InsertEnumString(GL_SHADE_MODEL);       // 0x0B54
      InsertEnumString(GL_COLOR_MATERIAL);        // 0x0B57
      InsertEnumString(GL_FOG);       // 0x0B60
      InsertEnumString(GL_FOG_DENSITY);       // 0x0B62
      InsertEnumString(GL_FOG_START);     // 0x0B63
      InsertEnumString(GL_FOG_END);       // 0x0B64
      InsertEnumString(GL_FOG_MODE);      // 0x0B65
      InsertEnumString(GL_FOG_COLOR);     // 0x0B66
      InsertEnumString(GL_DEPTH_RANGE);       // 0x0B70
      InsertEnumString(GL_DEPTH_TEST);        // 0x0B71
      InsertEnumString(GL_DEPTH_WRITEMASK);       // 0x0B72
      InsertEnumString(GL_DEPTH_CLEAR_VALUE);     // 0x0B73
      InsertEnumString(GL_DEPTH_FUNC);        // 0x0B74
      InsertEnumString(GL_STENCIL_TEST);      // 0x0B90
      InsertEnumString(GL_STENCIL_CLEAR_VALUE);       // 0x0B91
      InsertEnumString(GL_STENCIL_FUNC);      // 0x0B92
      InsertEnumString(GL_STENCIL_VALUE_MASK);        // 0x0B93
      InsertEnumString(GL_STENCIL_FAIL);      // 0x0B94
      InsertEnumString(GL_STENCIL_PASS_DEPTH_FAIL);       // 0x0B95
      InsertEnumString(GL_STENCIL_PASS_DEPTH_PASS);       // 0x0B96
      InsertEnumString(GL_STENCIL_REF);       // 0x0B97
      InsertEnumString(GL_STENCIL_WRITEMASK);     // 0x0B98
      InsertEnumString(GL_MATRIX_MODE);       // 0x0BA0
      InsertEnumString(GL_NORMALIZE);     // 0x0BA1
      InsertEnumString(GL_VIEWPORT);      // 0x0BA2
      InsertEnumString(GL_MODELVIEW_STACK_DEPTH);     // 0x0BA3
      InsertEnumString(GL_PROJECTION_STACK_DEPTH);        // 0x0BA4
      InsertEnumString(GL_TEXTURE_STACK_DEPTH);       // 0x0BA5
      InsertEnumString(GL_MODELVIEW_MATRIX);      // 0x0BA6
      InsertEnumString(GL_PROJECTION_MATRIX);     // 0x0BA7
      InsertEnumString(GL_TEXTURE_MATRIX);        // 0x0BA8
      InsertEnumString(GL_ALPHA_TEST);        // 0x0BC0
      InsertEnumString(GL_ALPHA_TEST_FUNC);       // 0x0BC1
      InsertEnumString(GL_ALPHA_TEST_REF);        // 0x0BC2
      InsertEnumString(GL_DITHER);        // 0x0BD0
      InsertEnumString(GL_BLEND_DST);     // 0x0BE0
      InsertEnumString(GL_BLEND_SRC);     // 0x0BE1
      InsertEnumString(GL_BLEND);     // 0x0BE2
      InsertEnumString(GL_LOGIC_OP_MODE);     // 0x0BF0
      InsertEnumString(GL_COLOR_LOGIC_OP);        // 0x0BF2
      InsertEnumString(GL_SCISSOR_BOX);       // 0x0C10
      InsertEnumString(GL_SCISSOR_TEST);      // 0x0C11
      InsertEnumString(GL_COLOR_CLEAR_VALUE);     // 0x0C22
      InsertEnumString(GL_COLOR_WRITEMASK);       // 0x0C23
      InsertEnumString(GL_PERSPECTIVE_CORRECTION_HINT);       // 0x0C50
      InsertEnumString(GL_POINT_SMOOTH_HINT);     // 0x0C51
      InsertEnumString(GL_LINE_SMOOTH_HINT);      // 0x0C52
      InsertEnumString(GL_FOG_HINT);      // 0x0C54
      InsertEnumString(GL_UNPACK_ALIGNMENT);      // 0x0CF5
      InsertEnumString(GL_PACK_ALIGNMENT);        // 0x0D05
      InsertEnumString(GL_ALPHA_SCALE);       // 0x0D1C
      InsertEnumString(GL_MAX_LIGHTS);        // 0x0D31
      InsertEnumString(GL_MAX_CLIP_PLANES);       // 0x0D32
      InsertEnumString(GL_MAX_TEXTURE_SIZE);      // 0x0D33
      InsertEnumString(GL_MAX_MODELVIEW_STACK_DEPTH);     // 0x0D36
      InsertEnumString(GL_MAX_PROJECTION_STACK_DEPTH);        // 0x0D38
      InsertEnumString(GL_MAX_TEXTURE_STACK_DEPTH);       // 0x0D39
      InsertEnumString(GL_MAX_VIEWPORT_DIMS);     // 0x0D3A
      InsertEnumString(GL_SUBPIXEL_BITS);     // 0x0D50
      InsertEnumString(GL_RED_BITS);      // 0x0D52
      InsertEnumString(GL_GREEN_BITS);        // 0x0D53
      InsertEnumString(GL_BLUE_BITS);     // 0x0D54
      InsertEnumString(GL_ALPHA_BITS);        // 0x0D55
      InsertEnumString(GL_DEPTH_BITS);        // 0x0D56
      InsertEnumString(GL_STENCIL_BITS);      // 0x0D57
      InsertEnumString(GL_TEXTURE_2D);        // 0x0DE1
      InsertEnumString(GL_DONT_CARE);     // 0x1100
      InsertEnumString(GL_FASTEST);       // 0x1101
      InsertEnumString(GL_NICEST);        // 0x1102
      InsertEnumString(GL_AMBIENT);       // 0x1200
      InsertEnumString(GL_DIFFUSE);       // 0x1201
      InsertEnumString(GL_SPECULAR);      // 0x1202
      InsertEnumString(GL_POSITION);      // 0x1203
      InsertEnumString(GL_SPOT_DIRECTION);        // 0x1204
      InsertEnumString(GL_SPOT_EXPONENT);     // 0x1205
      InsertEnumString(GL_SPOT_CUTOFF);       // 0x1206
      InsertEnumString(GL_CONSTANT_ATTENUATION);      // 0x1207
      InsertEnumString(GL_LINEAR_ATTENUATION);        // 0x1208
      InsertEnumString(GL_QUADRATIC_ATTENUATION);     // 0x1209
      InsertEnumString(GL_BYTE);     // 0x1400
      InsertEnumString(GL_UNSIGNED_BYTE);     // 0x1401
      InsertEnumString(GL_SHORT);     // 0x1402
      InsertEnumString(GL_UNSIGNED_SHORT);     // 0x1403
      InsertEnumString(GL_INT);     // 0x1404
      InsertEnumString(GL_UNSIGNED_INT);     // 0x1405
      InsertEnumString(GL_FLOAT);     // 0x1406
      InsertEnumString(GL_FIXED);     // 0x140C
      InsertEnumString(GL_CLEAR);     // 0x1500
      InsertEnumString(GL_AND);       // 0x1501
      InsertEnumString(GL_AND_REVERSE);       // 0x1502
      InsertEnumString(GL_COPY);      // 0x1503
      InsertEnumString(GL_AND_INVERTED);      // 0x1504
      InsertEnumString(GL_NOOP);      // 0x1505
      InsertEnumString(GL_XOR);       // 0x1506
      InsertEnumString(GL_OR);        // 0x1507
      InsertEnumString(GL_NOR);       // 0x1508
      InsertEnumString(GL_EQUIV);     // 0x1509
      InsertEnumString(GL_INVERT);        // 0x150A
      InsertEnumString(GL_OR_REVERSE);        // 0x150B
      InsertEnumString(GL_COPY_INVERTED);     // 0x150C
      InsertEnumString(GL_OR_INVERTED);       // 0x150D
      InsertEnumString(GL_NAND);      // 0x150E
      InsertEnumString(GL_SET);       // 0x150F
      InsertEnumString(GL_EMISSION);      // 0x1600
      InsertEnumString(GL_SHININESS);     // 0x1601
      InsertEnumString(GL_AMBIENT_AND_DIFFUSE);       // 0x1602
      InsertEnumString(GL_MODELVIEW);     // 0x1700
      InsertEnumString(GL_PROJECTION);        // 0x1701
      InsertEnumString(GL_TEXTURE);       // 0x1702
      InsertEnumString(GL_ALPHA);     // 0x1906
      InsertEnumString(GL_RGB);       // 0x1907
      InsertEnumString(GL_RGBA);      // 0x1908
      InsertEnumString(GL_LUMINANCE);     // 0x1909
      InsertEnumString(GL_LUMINANCE_ALPHA);       // 0x190A
      InsertEnumString(GL_FLAT);      // 0x1D00
      InsertEnumString(GL_SMOOTH);        // 0x1D01
      InsertEnumString(GL_KEEP);      // 0x1E00
      InsertEnumString(GL_REPLACE);       // 0x1E01
      InsertEnumString(GL_INCR);      // 0x1E02
      InsertEnumString(GL_DECR);      // 0x1E03
      InsertEnumString(GL_VENDOR);        // 0x1F00
      InsertEnumString(GL_RENDERER);      // 0x1F01
      InsertEnumString(GL_VERSION);       // 0x1F02
      InsertEnumString(GL_EXTENSIONS);        // 0x1F03
      InsertEnumString(GL_MODULATE);      // 0x2100
      InsertEnumString(GL_DECAL);     // 0x2101
      InsertEnumString(GL_TEXTURE_ENV_MODE);      // 0x2200
      InsertEnumString(GL_TEXTURE_ENV_COLOR);     // 0x2201
      InsertEnumString(GL_TEXTURE_ENV);       // 0x2300
      InsertEnumString(GL_NEAREST);       // 0x2600
      InsertEnumString(GL_LINEAR);        // 0x2601
      InsertEnumString(GL_NEAREST_MIPMAP_NEAREST);        // 0x2700
      InsertEnumString(GL_LINEAR_MIPMAP_NEAREST);     // 0x2701
      InsertEnumString(GL_NEAREST_MIPMAP_LINEAR);     // 0x2702
      InsertEnumString(GL_LINEAR_MIPMAP_LINEAR);      // 0x2703
      InsertEnumString(GL_TEXTURE_MAG_FILTER);        // 0x2800
      InsertEnumString(GL_TEXTURE_MIN_FILTER);        // 0x2801
      InsertEnumString(GL_TEXTURE_WRAP_S);        // 0x2802
      InsertEnumString(GL_TEXTURE_WRAP_T);        // 0x2803
      InsertEnumString(GL_REPEAT);        // 0x2901
      InsertEnumString(GL_POLYGON_OFFSET_UNITS);      // 0x2A00
      InsertEnumString(GL_CLIP_PLANE0);       // 0x3000
      InsertEnumString(GL_CLIP_PLANE1);       // 0x3001
      InsertEnumString(GL_CLIP_PLANE2);       // 0x3002
      InsertEnumString(GL_CLIP_PLANE3);       // 0x3003
      InsertEnumString(GL_CLIP_PLANE4);       // 0x3004
      InsertEnumString(GL_CLIP_PLANE5);       // 0x3005
      InsertEnumString(GL_LIGHT0);        // 0x4000
      InsertEnumString(GL_LIGHT1);        // 0x4001
      InsertEnumString(GL_LIGHT2);        // 0x4002
      InsertEnumString(GL_LIGHT3);        // 0x4003
      InsertEnumString(GL_LIGHT4);        // 0x4004
      InsertEnumString(GL_LIGHT5);        // 0x4005
      InsertEnumString(GL_LIGHT6);        // 0x4006
      InsertEnumString(GL_LIGHT7);        // 0x4007
      InsertEnumString(GL_UNSIGNED_SHORT_4_4_4_4);        // 0x8033
      InsertEnumString(GL_UNSIGNED_SHORT_5_5_5_1);        // 0x8034
      InsertEnumString(GL_POLYGON_OFFSET_FILL);       // 0x8037
      InsertEnumString(GL_POLYGON_OFFSET_FACTOR);     // 0x8038
      InsertEnumString(GL_RESCALE_NORMAL);        // 0x803A
      InsertEnumString(GL_TEXTURE_BINDING_2D);        // 0x8069
      InsertEnumString(GL_VERTEX_ARRAY);      // 0x8074
      InsertEnumString(GL_NORMAL_ARRAY);      // 0x8075
      InsertEnumString(GL_COLOR_ARRAY);       // 0x8076
      InsertEnumString(GL_TEXTURE_COORD_ARRAY);       // 0x8078
      InsertEnumString(GL_VERTEX_ARRAY_SIZE);     // 0x807A
      InsertEnumString(GL_VERTEX_ARRAY_TYPE);     // 0x807B
      InsertEnumString(GL_VERTEX_ARRAY_STRIDE);       // 0x807C
      InsertEnumString(GL_NORMAL_ARRAY_TYPE);     // 0x807E
      InsertEnumString(GL_NORMAL_ARRAY_STRIDE);       // 0x807F
      InsertEnumString(GL_COLOR_ARRAY_SIZE);      // 0x8081
      InsertEnumString(GL_COLOR_ARRAY_TYPE);      // 0x8082
      InsertEnumString(GL_COLOR_ARRAY_STRIDE);        // 0x8083
      InsertEnumString(GL_TEXTURE_COORD_ARRAY_SIZE);      // 0x8088
      InsertEnumString(GL_TEXTURE_COORD_ARRAY_TYPE);      // 0x8089
      InsertEnumString(GL_TEXTURE_COORD_ARRAY_STRIDE);        // 0x808A
      InsertEnumString(GL_VERTEX_ARRAY_POINTER);      // 0x808E
      InsertEnumString(GL_NORMAL_ARRAY_POINTER);      // 0x808F
      InsertEnumString(GL_COLOR_ARRAY_POINTER);       // 0x8090
      InsertEnumString(GL_TEXTURE_COORD_ARRAY_POINTER);       // 0x8092
      InsertEnumString(GL_MULTISAMPLE);       // 0x809D
      InsertEnumString(GL_SAMPLE_ALPHA_TO_COVERAGE);      // 0x809E
      InsertEnumString(GL_SAMPLE_ALPHA_TO_ONE);       // 0x809F
      InsertEnumString(GL_SAMPLE_COVERAGE);       // 0x80A0
      InsertEnumString(GL_SAMPLE_BUFFERS);        // 0x80A8
      InsertEnumString(GL_SAMPLES);       // 0x80A9
      InsertEnumString(GL_SAMPLE_COVERAGE_VALUE);     // 0x80AA
      InsertEnumString(GL_SAMPLE_COVERAGE_INVERT);        // 0x80AB
      InsertEnumString(GL_POINT_SIZE_MIN);        // 0x8126
      InsertEnumString(GL_POINT_SIZE_MAX);        // 0x8127
      InsertEnumString(GL_POINT_FADE_THRESHOLD_SIZE);     // 0x8128
      InsertEnumString(GL_POINT_DISTANCE_ATTENUATION);        // 0x8129
      InsertEnumString(GL_CLAMP_TO_EDGE);     // 0x812F
      InsertEnumString(GL_GENERATE_MIPMAP);       // 0x8191
      InsertEnumString(GL_GENERATE_MIPMAP_HINT);      // 0x8192
      InsertEnumString(GL_UNSIGNED_SHORT_5_6_5);      // 0x8363
      InsertEnumString(GL_ALIASED_POINT_SIZE_RANGE);      // 0x846D
      InsertEnumString(GL_ALIASED_LINE_WIDTH_RANGE);      // 0x846E
      InsertEnumString(GL_TEXTURE0);      // 0x84C0
      InsertEnumString(GL_TEXTURE1);      // 0x84C1
      InsertEnumString(GL_TEXTURE2);      // 0x84C2
      InsertEnumString(GL_TEXTURE3);      // 0x84C3
      InsertEnumString(GL_TEXTURE4);      // 0x84C4
      InsertEnumString(GL_TEXTURE5);      // 0x84C5
      InsertEnumString(GL_TEXTURE6);      // 0x84C6
      InsertEnumString(GL_TEXTURE7);      // 0x84C7
      InsertEnumString(GL_TEXTURE8);      // 0x84C8
      InsertEnumString(GL_TEXTURE9);      // 0x84C9
      InsertEnumString(GL_TEXTURE10);     // 0x84CA
      InsertEnumString(GL_TEXTURE11);     // 0x84CB
      InsertEnumString(GL_TEXTURE12);     // 0x84CC
      InsertEnumString(GL_TEXTURE13);     // 0x84CD
      InsertEnumString(GL_TEXTURE14);     // 0x84CE
      InsertEnumString(GL_TEXTURE15);     // 0x84CF
      InsertEnumString(GL_TEXTURE16);     // 0x84D0
      InsertEnumString(GL_TEXTURE17);     // 0x84D1
      InsertEnumString(GL_TEXTURE18);     // 0x84D2
      InsertEnumString(GL_TEXTURE19);     // 0x84D3
      InsertEnumString(GL_TEXTURE20);     // 0x84D4
      InsertEnumString(GL_TEXTURE21);     // 0x84D5
      InsertEnumString(GL_TEXTURE22);     // 0x84D6
      InsertEnumString(GL_TEXTURE23);     // 0x84D7
      InsertEnumString(GL_TEXTURE24);     // 0x84D8
      InsertEnumString(GL_TEXTURE25);     // 0x84D9
      InsertEnumString(GL_TEXTURE26);     // 0x84DA
      InsertEnumString(GL_TEXTURE27);     // 0x84DB
      InsertEnumString(GL_TEXTURE28);     // 0x84DC
      InsertEnumString(GL_TEXTURE29);     // 0x84DD
      InsertEnumString(GL_TEXTURE30);     // 0x84DE
      InsertEnumString(GL_TEXTURE31);     // 0x84DF
      InsertEnumString(GL_ACTIVE_TEXTURE);        // 0x84E0
      InsertEnumString(GL_CLIENT_ACTIVE_TEXTURE);     // 0x84E1
      InsertEnumString(GL_MAX_TEXTURE_UNITS);     // 0x84E2
      InsertEnumString(GL_SUBTRACT);      // 0x84E7
      InsertEnumString(GL_COMBINE);       // 0x8570
      InsertEnumString(GL_COMBINE_RGB);       // 0x8571
      InsertEnumString(GL_COMBINE_ALPHA);     // 0x8572
      InsertEnumString(GL_RGB_SCALE);     // 0x8573
      InsertEnumString(GL_ADD_SIGNED);        // 0x8574
      InsertEnumString(GL_INTERPOLATE);       // 0x8575
      InsertEnumString(GL_CONSTANT);      // 0x8576
      InsertEnumString(GL_PRIMARY_COLOR);     // 0x8577
      InsertEnumString(GL_PREVIOUS);      // 0x8578
      InsertEnumString(GL_SRC0_RGB);      // 0x8580
      InsertEnumString(GL_SRC1_RGB);      // 0x8581
      InsertEnumString(GL_SRC2_RGB);      // 0x8582
      InsertEnumString(GL_SRC0_ALPHA);        // 0x8588
      InsertEnumString(GL_SRC1_ALPHA);        // 0x8589
      InsertEnumString(GL_SRC2_ALPHA);        // 0x858A
      InsertEnumString(GL_OPERAND0_RGB);      // 0x8590
      InsertEnumString(GL_OPERAND1_RGB);      // 0x8591
      InsertEnumString(GL_OPERAND2_RGB);      // 0x8592
      InsertEnumString(GL_OPERAND0_ALPHA);        // 0x8598
      InsertEnumString(GL_OPERAND1_ALPHA);        // 0x8599
      InsertEnumString(GL_OPERAND2_ALPHA);        // 0x859A
      InsertEnumString(GL_NUM_COMPRESSED_TEXTURE_FORMATS);        // 0x86A2
      InsertEnumString(GL_COMPRESSED_TEXTURE_FORMATS);        // 0x86A3
      InsertEnumString(GL_DOT3_RGB);      // 0x86AE
      InsertEnumString(GL_DOT3_RGBA);     // 0x86AF
      InsertEnumString(GL_BUFFER_SIZE);       // 0x8764
      InsertEnumString(GL_BUFFER_USAGE);      // 0x8765
      InsertEnumString(GL_POINT_SPRITE_OES);      // 0x8861
      InsertEnumString(GL_COORD_REPLACE_OES);     // 0x8862
      InsertEnumString(GL_ARRAY_BUFFER);      // 0x8892
      InsertEnumString(GL_ELEMENT_ARRAY_BUFFER);      // 0x8893
      InsertEnumString(GL_ARRAY_BUFFER_BINDING);      // 0x8894
      InsertEnumString(GL_ELEMENT_ARRAY_BUFFER_BINDING);      // 0x8895
      InsertEnumString(GL_VERTEX_ARRAY_BUFFER_BINDING);       // 0x8896
      InsertEnumString(GL_NORMAL_ARRAY_BUFFER_BINDING);       // 0x8897
      InsertEnumString(GL_COLOR_ARRAY_BUFFER_BINDING);        // 0x8898
      InsertEnumString(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING);        // 0x889A
      InsertEnumString(GL_STATIC_DRAW);       // 0x88E4
      InsertEnumString(GL_DYNAMIC_DRAW);      // 0x88E8
      InsertEnumString(GL_POINT_SIZE_ARRAY_TYPE_OES);     // 0x898A
      InsertEnumString(GL_POINT_SIZE_ARRAY_STRIDE_OES);       // 0x898B
      InsertEnumString(GL_POINT_SIZE_ARRAY_POINTER_OES);      // 0x898C
      InsertEnumString(GL_PALETTE4_RGB8_OES);     // 0x8B90
      InsertEnumString(GL_PALETTE4_RGBA8_OES);        // 0x8B91
      InsertEnumString(GL_PALETTE4_R5_G6_B5_OES);     // 0x8B92
      InsertEnumString(GL_PALETTE4_RGBA4_OES);        // 0x8B93
      InsertEnumString(GL_PALETTE4_RGB5_A1_OES);      // 0x8B94
      InsertEnumString(GL_PALETTE8_RGB8_OES);     // 0x8B95
      InsertEnumString(GL_PALETTE8_RGBA8_OES);        // 0x8B96
      InsertEnumString(GL_PALETTE8_R5_G6_B5_OES);     // 0x8B97
      InsertEnumString(GL_PALETTE8_RGBA4_OES);        // 0x8B98
      InsertEnumString(GL_PALETTE8_RGB5_A1_OES);      // 0x8B99
      InsertEnumString(GL_POINT_SIZE_ARRAY_OES);      // 0x8B9C
      InsertEnumString(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES);       // 0x8B9F
  
      /* GLES EXT enums */
      InsertEnumString(GL_TEXTURE_GEN_MODE_OES);      // 0x2500
      InsertEnumString(GL_RGB10_EXT);     // 0x8052
      InsertEnumString(GL_BGRA_EXT);      // 0x80E1
      InsertEnumString(GL_DEPTH_COMPONENT32_OES);     // 0x81A7
      InsertEnumString(GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT);        // 0x8365
      InsertEnumString(GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT);        // 0x8366
      InsertEnumString(GL_COMPRESSED_RGB_S3TC_DXT1_EXT);      // 0x83F0
      InsertEnumString(GL_COMPRESSED_RGBA_S3TC_DXT1_EXT);     // 0x83F1
      InsertEnumString(GL_ALL_COMPLETED_NV);      // 0x84F2
      InsertEnumString(GL_FENCE_STATUS_NV);       // 0x84F3
      InsertEnumString(GL_FENCE_CONDITION_NV);        // 0x84F4
      InsertEnumString(GL_TEXTURE_MAX_ANISOTROPY_EXT);        // 0x84FE
      InsertEnumString(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT);        // 0x84FF
      InsertEnumString(GL_TEXTURE_FILTER_CONTROL_EXT);        // 0x8500
      InsertEnumString(GL_TEXTURE_LOD_BIAS_EXT);      // 0x8501
      InsertEnumString(GL_NORMAL_MAP_OES);        // 0x8511
      InsertEnumString(GL_REFLECTION_MAP_OES);        // 0x8512
      InsertEnumString(GL_MAX_VERTEX_UNITS_OES);      // 0x86A4
      InsertEnumString(GL_WEIGHT_ARRAY_TYPE_OES);     // 0x86A9
      InsertEnumString(GL_WEIGHT_ARRAY_STRIDE_OES);       // 0x86AA
      InsertEnumString(GL_WEIGHT_ARRAY_SIZE_OES);     // 0x86AB
      InsertEnumString(GL_WEIGHT_ARRAY_POINTER_OES);      // 0x86AC
      InsertEnumString(GL_WEIGHT_ARRAY_OES);      // 0x86AD
      InsertEnumString(GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD);       // 0x87EE
      InsertEnumString(GL_3DC_X_AMD);     // 0x87F9
      InsertEnumString(GL_3DC_XY_AMD);        // 0x87FA
      InsertEnumString(GL_ALPHA32F_EXT);      // 0x8816
      InsertEnumString(GL_LUMINANCE32F_EXT);      // 0x8818
      InsertEnumString(GL_LUMINANCE_ALPHA32F_EXT);        // 0x8819
      InsertEnumString(GL_ALPHA16F_EXT);      // 0x881C
      InsertEnumString(GL_LUMINANCE16F_EXT);      // 0x881E
      InsertEnumString(GL_LUMINANCE_ALPHA16F_EXT);        // 0x881F
      InsertEnumString(GL_WRITEONLY_RENDERING_QCOM);      // 0x8823
      InsertEnumString(GL_MATRIX_PALETTE_OES);        // 0x8840
      InsertEnumString(GL_MAX_PALETTE_MATRICES_OES);      // 0x8842
      InsertEnumString(GL_CURRENT_PALETTE_MATRIX_OES);        // 0x8843
      InsertEnumString(GL_MATRIX_INDEX_ARRAY_OES);        // 0x8844
      InsertEnumString(GL_MATRIX_INDEX_ARRAY_SIZE_OES);       // 0x8846
      InsertEnumString(GL_MATRIX_INDEX_ARRAY_TYPE_OES);       // 0x8847
      InsertEnumString(GL_MATRIX_INDEX_ARRAY_STRIDE_OES);     // 0x8848
      InsertEnumString(GL_MATRIX_INDEX_ARRAY_POINTER_OES);        // 0x8849
      InsertEnumString(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES);       // 0x889E
      InsertEnumString(GL_BUFFER_ACCESS_OES);     // 0x88BB
      InsertEnumString(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES);        // 0x898D
      InsertEnumString(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES);       // 0x898E
      InsertEnumString(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES);      // 0x898F
      InsertEnumString(GL_SYNC_OBJECT_APPLE);     // 0x8A53
      InsertEnumString(GL_TEXTURE_CROP_RECT_OES);     // 0x8B9D
      InsertEnumString(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES);     // 0x8B9E
      InsertEnumString(GL_TEXTURE_WIDTH_QCOM);        // 0x8BD2
      InsertEnumString(GL_TEXTURE_HEIGHT_QCOM);       // 0x8BD3
      InsertEnumString(GL_TEXTURE_DEPTH_QCOM);        // 0x8BD4
      InsertEnumString(GL_TEXTURE_INTERNAL_FORMAT_QCOM);      // 0x8BD5
      InsertEnumString(GL_TEXTURE_FORMAT_QCOM);       // 0x8BD6
      InsertEnumString(GL_TEXTURE_TYPE_QCOM);     // 0x8BD7
      InsertEnumString(GL_TEXTURE_IMAGE_VALID_QCOM);      // 0x8BD8
      InsertEnumString(GL_TEXTURE_NUM_LEVELS_QCOM);       // 0x8BD9
      InsertEnumString(GL_TEXTURE_TARGET_QCOM);       // 0x8BDA
      InsertEnumString(GL_TEXTURE_OBJECT_VALID_QCOM);     // 0x8BDB
      InsertEnumString(GL_STATE_RESTORE);     // 0x8BDC
      InsertEnumString(GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG);       // 0x8C00
      InsertEnumString(GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG);       // 0x8C01
      InsertEnumString(GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG);      // 0x8C02
      InsertEnumString(GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG);      // 0x8C03
      InsertEnumString(GL_MODULATE_COLOR_IMG);        // 0x8C04
      InsertEnumString(GL_RECIP_ADD_SIGNED_ALPHA_IMG);        // 0x8C05
      InsertEnumString(GL_TEXTURE_ALPHA_MODULATE_IMG);        // 0x8C06
      InsertEnumString(GL_FACTOR_ALPHA_MODULATE_IMG);     // 0x8C07
      InsertEnumString(GL_FRAGMENT_ALPHA_MODULATE_IMG);       // 0x8C08
      InsertEnumString(GL_ADD_BLEND_IMG);     // 0x8C09
      InsertEnumString(GL_SRGB_ALPHA_EXT);        // 0x8C42
      InsertEnumString(GL_ATC_RGB_AMD);       // 0x8C92
      InsertEnumString(GL_ATC_RGBA_EXPLICIT_ALPHA_AMD);       // 0x8C93
      InsertEnumString(GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES);        // 0x8CDA
      InsertEnumString(GL_STENCIL_INDEX1_OES);        // 0x8D46
      InsertEnumString(GL_STENCIL_INDEX4_OES);        // 0x8D47
      InsertEnumString(GL_TEXTURE_GEN_STR_OES);       // 0x8D60
      InsertEnumString(GL_ETC1_RGB8_OES);     // 0x8D64
      InsertEnumString(GL_TEXTURE_EXTERNAL_OES);      // 0x8D65
      InsertEnumString(GL_TEXTURE_BINDING_EXTERNAL_OES);      // 0x8D67
      InsertEnumString(GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES);      // 0x8D68
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT);        // 0x8D6C
      InsertEnumString(GL_PERFMON_GLOBAL_MODE_QCOM);      // 0x8FA0
      InsertEnumString(GL_CONTEXT_ROBUST_ACCESS_EXT);     // 0x90F3
      InsertEnumString(GL_RENDERBUFFER_SAMPLES_IMG);      // 0x9133
      InsertEnumString(GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG);        // 0x9134
      InsertEnumString(GL_MAX_SAMPLES_IMG);       // 0x9135
      InsertEnumString(GL_TEXTURE_SAMPLES_IMG);       // 0x9136
      InsertEnumString(GL_BGRA8_EXT);     // 0x93A1
  
      /* GLES 2 enums */
      InsertEnumString(GL_INVALID_FRAMEBUFFER_OPERATION);     // 0x0506
      InsertEnumString(GL_DEPTH_COMPONENT);       // 0x1902
      InsertEnumString(GL_CONSTANT_COLOR);        // 0x8001
      InsertEnumString(GL_ONE_MINUS_CONSTANT_COLOR);      // 0x8002
      InsertEnumString(GL_CONSTANT_ALPHA);        // 0x8003
      InsertEnumString(GL_ONE_MINUS_CONSTANT_ALPHA);      // 0x8004
      InsertEnumString(GL_BLEND_COLOR);       // 0x8005
      InsertEnumString(GL_FUNC_ADD);      // 0x8006
      InsertEnumString(GL_BLEND_EQUATION);        // 0x8009
      InsertEnumString(GL_FUNC_SUBTRACT);     // 0x800A
      InsertEnumString(GL_FUNC_REVERSE_SUBTRACT);     // 0x800B
      InsertEnumString(GL_RGBA4);     // 0x8056
      InsertEnumString(GL_RGB5_A1);       // 0x8057
      InsertEnumString(GL_BLEND_DST_RGB);     // 0x80C8
      InsertEnumString(GL_BLEND_SRC_RGB);     // 0x80C9
      InsertEnumString(GL_BLEND_DST_ALPHA);       // 0x80CA
      InsertEnumString(GL_BLEND_SRC_ALPHA);       // 0x80CB
      InsertEnumString(GL_DEPTH_COMPONENT16);     // 0x81A5
      InsertEnumString(GL_MIRRORED_REPEAT);       // 0x8370
      InsertEnumString(GL_MAX_RENDERBUFFER_SIZE);     // 0x84E8
      InsertEnumString(GL_INCR_WRAP);     // 0x8507
      InsertEnumString(GL_DECR_WRAP);     // 0x8508
      InsertEnumString(GL_TEXTURE_CUBE_MAP);      // 0x8513
      InsertEnumString(GL_TEXTURE_BINDING_CUBE_MAP);      // 0x8514
      InsertEnumString(GL_TEXTURE_CUBE_MAP_POSITIVE_X);       // 0x8515
      InsertEnumString(GL_TEXTURE_CUBE_MAP_NEGATIVE_X);       // 0x8516
      InsertEnumString(GL_TEXTURE_CUBE_MAP_POSITIVE_Y);       // 0x8517
      InsertEnumString(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y);       // 0x8518
      InsertEnumString(GL_TEXTURE_CUBE_MAP_POSITIVE_Z);       // 0x8519
      InsertEnumString(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z);       // 0x851A
      InsertEnumString(GL_MAX_CUBE_MAP_TEXTURE_SIZE);     // 0x851C
      InsertEnumString(GL_VERTEX_ATTRIB_ARRAY_ENABLED);       // 0x8622
      InsertEnumString(GL_VERTEX_ATTRIB_ARRAY_SIZE);      // 0x8623
      InsertEnumString(GL_VERTEX_ATTRIB_ARRAY_STRIDE);        // 0x8624
      InsertEnumString(GL_VERTEX_ATTRIB_ARRAY_TYPE);      // 0x8625
      InsertEnumString(GL_CURRENT_VERTEX_ATTRIB);     // 0x8626
      InsertEnumString(GL_VERTEX_ATTRIB_ARRAY_POINTER);       // 0x8645
      InsertEnumString(GL_STENCIL_BACK_FUNC);     // 0x8800
      InsertEnumString(GL_STENCIL_BACK_FAIL);     // 0x8801
      InsertEnumString(GL_STENCIL_BACK_PASS_DEPTH_FAIL);      // 0x8802
      InsertEnumString(GL_STENCIL_BACK_PASS_DEPTH_PASS);      // 0x8803
      InsertEnumString(GL_BLEND_EQUATION_ALPHA);      // 0x883D
      InsertEnumString(GL_MAX_VERTEX_ATTRIBS);        // 0x8869
      InsertEnumString(GL_VERTEX_ATTRIB_ARRAY_NORMALIZED);        // 0x886A
      InsertEnumString(GL_MAX_TEXTURE_IMAGE_UNITS);       // 0x8872
      InsertEnumString(GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING);        // 0x889F
      InsertEnumString(GL_STREAM_DRAW);       // 0x88E0
      InsertEnumString(GL_FRAGMENT_SHADER);       // 0x8B30
      InsertEnumString(GL_VERTEX_SHADER);     // 0x8B31
      InsertEnumString(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS);        // 0x8B4C
      InsertEnumString(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS);      // 0x8B4D
      InsertEnumString(GL_SHADER_TYPE);       // 0x8B4F
      InsertEnumString(GL_FLOAT_VEC2);        // 0x8B50
      InsertEnumString(GL_FLOAT_VEC3);        // 0x8B51
      InsertEnumString(GL_FLOAT_VEC4);        // 0x8B52
      InsertEnumString(GL_INT_VEC2);      // 0x8B53
      InsertEnumString(GL_INT_VEC3);      // 0x8B54
      InsertEnumString(GL_INT_VEC4);      // 0x8B55
      InsertEnumString(GL_BOOL);      // 0x8B56
      InsertEnumString(GL_BOOL_VEC2);     // 0x8B57
      InsertEnumString(GL_BOOL_VEC3);     // 0x8B58
      InsertEnumString(GL_BOOL_VEC4);     // 0x8B59
      InsertEnumString(GL_FLOAT_MAT2);        // 0x8B5A
      InsertEnumString(GL_FLOAT_MAT3);        // 0x8B5B
      InsertEnumString(GL_FLOAT_MAT4);        // 0x8B5C
      InsertEnumString(GL_SAMPLER_2D);        // 0x8B5E
      InsertEnumString(GL_SAMPLER_CUBE);      // 0x8B60
      InsertEnumString(GL_DELETE_STATUS);     // 0x8B80
      InsertEnumString(GL_COMPILE_STATUS);        // 0x8B81
      InsertEnumString(GL_LINK_STATUS);       // 0x8B82
      InsertEnumString(GL_VALIDATE_STATUS);       // 0x8B83
      InsertEnumString(GL_INFO_LOG_LENGTH);       // 0x8B84
      InsertEnumString(GL_ATTACHED_SHADERS);      // 0x8B85
      InsertEnumString(GL_ACTIVE_UNIFORMS);       // 0x8B86
      InsertEnumString(GL_ACTIVE_UNIFORM_MAX_LENGTH);     // 0x8B87
      InsertEnumString(GL_SHADER_SOURCE_LENGTH);      // 0x8B88
      InsertEnumString(GL_ACTIVE_ATTRIBUTES);     // 0x8B89
      InsertEnumString(GL_ACTIVE_ATTRIBUTE_MAX_LENGTH);       // 0x8B8A
      InsertEnumString(GL_SHADING_LANGUAGE_VERSION);      // 0x8B8C
      InsertEnumString(GL_CURRENT_PROGRAM);       // 0x8B8D
      InsertEnumString(GL_IMPLEMENTATION_COLOR_READ_TYPE);        // 0x8B9A
      InsertEnumString(GL_IMPLEMENTATION_COLOR_READ_FORMAT);      // 0x8B9B
      InsertEnumString(GL_STENCIL_BACK_REF);      // 0x8CA3
      InsertEnumString(GL_STENCIL_BACK_VALUE_MASK);       // 0x8CA4
      InsertEnumString(GL_STENCIL_BACK_WRITEMASK);        // 0x8CA5
      InsertEnumString(GL_FRAMEBUFFER_BINDING);       // 0x8CA6
      InsertEnumString(GL_RENDERBUFFER_BINDING);      // 0x8CA7
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE);        // 0x8CD0
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME);        // 0x8CD1
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL);      // 0x8CD2
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE);      // 0x8CD3
      InsertEnumString(GL_FRAMEBUFFER_COMPLETE);      // 0x8CD5
      InsertEnumString(GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT);     // 0x8CD6
      InsertEnumString(GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);     // 0x8CD7
      InsertEnumString(GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS);     // 0x8CD9
      InsertEnumString(GL_FRAMEBUFFER_UNSUPPORTED);       // 0x8CDD
      InsertEnumString(GL_COLOR_ATTACHMENT0);     // 0x8CE0
      InsertEnumString(GL_DEPTH_ATTACHMENT);      // 0x8D00
      InsertEnumString(GL_STENCIL_ATTACHMENT);        // 0x8D20
      InsertEnumString(GL_FRAMEBUFFER);       // 0x8D40
      InsertEnumString(GL_RENDERBUFFER);      // 0x8D41
      InsertEnumString(GL_RENDERBUFFER_WIDTH);        // 0x8D42
      InsertEnumString(GL_RENDERBUFFER_HEIGHT);       // 0x8D43
      InsertEnumString(GL_RENDERBUFFER_INTERNAL_FORMAT);      // 0x8D44
      InsertEnumString(GL_STENCIL_INDEX8);        // 0x8D48
      InsertEnumString(GL_RENDERBUFFER_RED_SIZE);     // 0x8D50
      InsertEnumString(GL_RENDERBUFFER_GREEN_SIZE);       // 0x8D51
      InsertEnumString(GL_RENDERBUFFER_BLUE_SIZE);        // 0x8D52
      InsertEnumString(GL_RENDERBUFFER_ALPHA_SIZE);       // 0x8D53
      InsertEnumString(GL_RENDERBUFFER_DEPTH_SIZE);       // 0x8D54
      InsertEnumString(GL_RENDERBUFFER_STENCIL_SIZE);     // 0x8D55
      InsertEnumString(GL_RGB565);        // 0x8D62
      InsertEnumString(GL_LOW_FLOAT);     // 0x8DF0
      InsertEnumString(GL_MEDIUM_FLOAT);      // 0x8DF1
      InsertEnumString(GL_HIGH_FLOAT);        // 0x8DF2
      InsertEnumString(GL_LOW_INT);       // 0x8DF3
      InsertEnumString(GL_MEDIUM_INT);        // 0x8DF4
      InsertEnumString(GL_HIGH_INT);      // 0x8DF5
      InsertEnumString(GL_SHADER_BINARY_FORMATS);     // 0x8DF8
      InsertEnumString(GL_NUM_SHADER_BINARY_FORMATS);     // 0x8DF9
      InsertEnumString(GL_SHADER_COMPILER);       // 0x8DFA
      InsertEnumString(GL_MAX_VERTEX_UNIFORM_VECTORS);        // 0x8DFB
      InsertEnumString(GL_MAX_VARYING_VECTORS);       // 0x8DFC
      InsertEnumString(GL_MAX_FRAGMENT_UNIFORM_VECTORS);      // 0x8DFD
  
      /* GLES 2 EXT enums */
      InsertEnumString(GL_POLYGON_MODE_NV);       // 0x0B40
      InsertEnumString(GL_DRAW_BUFFER_EXT);       // 0x0C01
      InsertEnumString(GL_POINT_NV);      // 0x1B00
      InsertEnumString(GL_LINE_NV);       // 0x1B01
      InsertEnumString(GL_FILL_NV);       // 0x1B02
      InsertEnumString(GL_POLYGON_OFFSET_POINT_NV);       // 0x2A01
      InsertEnumString(GL_POLYGON_OFFSET_LINE_NV);        // 0x2A02
      InsertEnumString(GL_CLIP_DISTANCE6_APPLE);      // 0x3006
      InsertEnumString(GL_CLIP_DISTANCE7_APPLE);      // 0x3007
      InsertEnumString(GL_MIN);       // 0x8007
      InsertEnumString(GL_MAX);       // 0x8008
      //InsertEnumString(GL_ALPHA8_OES);      // 0x803C
      //InsertEnumString(GL_LUMINANCE8_OES);      // 0x8040
      //InsertEnumString(GL_LUMINANCE4_ALPHA4_OES);       // 0x8043
      //InsertEnumString(GL_LUMINANCE8_ALPHA8_OES);       // 0x8045
      InsertEnumString(GL_RGB16_EXT);     // 0x8054
      InsertEnumString(GL_RGBA16_EXT);        // 0x805B
      InsertEnumString(GL_TEXTURE_3D);        // 0x806F
      InsertEnumString(GL_BUFFER_IMMUTABLE_STORAGE_EXT);      // 0x821F
      InsertEnumString(GL_BUFFER_STORAGE_FLAGS_EXT);      // 0x8220
      InsertEnumString(GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED);       // 0x8221
      InsertEnumString(GL_R16_EXT);       // 0x822A
      InsertEnumString(GL_RG16_EXT);      // 0x822C
      InsertEnumString(GL_MAX_VIEWPORTS_NV);      // 0x825B
      InsertEnumString(GL_VIEWPORT_SUBPIXEL_BITS_NV);     // 0x825C
      InsertEnumString(GL_VIEWPORT_BOUNDS_RANGE_NV);      // 0x825D
      InsertEnumString(GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV);        // 0x825F
      InsertEnumString(GL_TEXTURE_VIEW_MIN_LEVEL_OES);        // 0x82DB
      InsertEnumString(GL_TEXTURE_VIEW_NUM_LEVELS_OES);       // 0x82DC
      InsertEnumString(GL_TEXTURE_VIEW_MIN_LAYER_OES);        // 0x82DD
      InsertEnumString(GL_TEXTURE_VIEW_NUM_LAYERS_OES);       // 0x82DE
      InsertEnumString(GL_TEXTURE_IMMUTABLE_LEVELS);      // 0x82DF
      InsertEnumString(GL_SAMPLER);       // 0x82E6
      InsertEnumString(GL_CONTEXT_RELEASE_BEHAVIOR_KHR);      // 0x82FB
      InsertEnumString(GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR);        // 0x82FC
      InsertEnumString(GL_COMPRESSED_RGBA_S3TC_DXT3_EXT);     // 0x83F2
      InsertEnumString(GL_COMPRESSED_RGBA_S3TC_DXT5_EXT);     // 0x83F3
      InsertEnumString(GL_PERFQUERY_DONOT_FLUSH_INTEL);       // 0x83F9
      InsertEnumString(GL_PERFQUERY_FLUSH_INTEL);     // 0x83FA
      InsertEnumString(GL_PERFQUERY_WAIT_INTEL);      // 0x83FB
      InsertEnumString(GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV);        // 0x84E3
      InsertEnumString(GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV);       // 0x84E4
      InsertEnumString(GL_UNSIGNED_SHORT_8_8_APPLE);      // 0x85BA
      InsertEnumString(GL_UNSIGNED_SHORT_8_8_REV_APPLE);      // 0x85BB
      InsertEnumString(GL_Z400_BINARY_AMD);       // 0x8740
      InsertEnumString(GL_QUERY_COUNTER_BITS_EXT);        // 0x8864
      InsertEnumString(GL_TIME_ELAPSED_EXT);      // 0x88BF
      InsertEnumString(GL_ETC1_SRGB8_NV);     // 0x88EE
      InsertEnumString(GL_RGB_422_APPLE);     // 0x8A1F
      InsertEnumString(GL_TEXTURE_SRGB_DECODE_EXT);       // 0x8A48
      InsertEnumString(GL_DECODE_EXT);        // 0x8A49
      InsertEnumString(GL_SKIP_DECODE_EXT);       // 0x8A4A
      InsertEnumString(GL_PROGRAM_PIPELINE_OBJECT_EXT);       // 0x8A4F
      InsertEnumString(GL_RGB_RAW_422_APPLE);     // 0x8A51
      InsertEnumString(GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT);      // 0x8A52
      InsertEnumString(GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT);      // 0x8A54
      InsertEnumString(GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT);      // 0x8A55
      InsertEnumString(GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT);        // 0x8A56
      InsertEnumString(GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT);        // 0x8A57
      InsertEnumString(GL_PROGRAM_OBJECT_EXT);        // 0x8B40
      InsertEnumString(GL_SHADER_OBJECT_EXT);     // 0x8B48
      InsertEnumString(GL_COUNTER_TYPE_AMD);      // 0x8BC0
      InsertEnumString(GL_COUNTER_RANGE_AMD);     // 0x8BC1
      InsertEnumString(GL_UNSIGNED_INT64_AMD);        // 0x8BC2
      InsertEnumString(GL_PERCENTAGE_AMD);        // 0x8BC3
      InsertEnumString(GL_PERFMON_RESULT_AVAILABLE_AMD);      // 0x8BC4
      InsertEnumString(GL_PERFMON_RESULT_SIZE_AMD);       // 0x8BC5
      InsertEnumString(GL_PERFMON_RESULT_AMD);        // 0x8BC6
      InsertEnumString(GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT);       // 0x8BE7
      InsertEnumString(GL_SGX_BINARY_IMG);        // 0x8C0A
      InsertEnumString(GL_TEXTURE_2D_ARRAY);      // 0x8C1A
      InsertEnumString(GL_SLUMINANCE_ALPHA_NV);       // 0x8C44
      InsertEnumString(GL_SLUMINANCE8_ALPHA8_NV);     // 0x8C45
      InsertEnumString(GL_SLUMINANCE_NV);     // 0x8C46
      InsertEnumString(GL_SLUMINANCE8_NV);        // 0x8C47
      InsertEnumString(GL_COMPRESSED_SRGB_S3TC_DXT1_NV);      // 0x8C4C
      InsertEnumString(GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV);        // 0x8C4D
      InsertEnumString(GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV);        // 0x8C4E
      InsertEnumString(GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV);        // 0x8C4F
      InsertEnumString(GL_HALF_FLOAT_OES);        // 0x8D61
      //InsertEnumString(GL_SAMPLER_EXTERNAL_OES);        // 0x8D66
      InsertEnumString(GL_FRAMEBUFFER_SRGB_EXT);      // 0x8DB9
      InsertEnumString(GL_UNSIGNED_INT_10_10_10_2_OES);       // 0x8DF6
      InsertEnumString(GL_INT_10_10_10_2_OES);        // 0x8DF7
      InsertEnumString(GL_QUERY_WAIT_NV);     // 0x8E13
      InsertEnumString(GL_QUERY_NO_WAIT_NV);      // 0x8E14
      InsertEnumString(GL_QUERY_BY_REGION_WAIT_NV);       // 0x8E15
      InsertEnumString(GL_QUERY_BY_REGION_NO_WAIT_NV);        // 0x8E16
      InsertEnumString(GL_COLOR_SAMPLES_NV);      // 0x8E20
      InsertEnumString(GL_TRANSFORM_FEEDBACK);        // 0x8E22
      InsertEnumString(GL_TIMESTAMP_EXT);     // 0x8E28
      InsertEnumString(GL_DEPTH_COMPONENT16_NONLINEAR_NV);        // 0x8E2C
      InsertEnumString(GL_COVERAGE_COMPONENT_NV);     // 0x8ED0
      InsertEnumString(GL_COVERAGE_COMPONENT4_NV);        // 0x8ED1
      InsertEnumString(GL_COVERAGE_ATTACHMENT_NV);        // 0x8ED2
      InsertEnumString(GL_COVERAGE_BUFFERS_NV);       // 0x8ED3
      InsertEnumString(GL_COVERAGE_SAMPLES_NV);       // 0x8ED4
      InsertEnumString(GL_COVERAGE_ALL_FRAGMENTS_NV);     // 0x8ED5
      InsertEnumString(GL_COVERAGE_EDGE_FRAGMENTS_NV);        // 0x8ED6
      InsertEnumString(GL_COVERAGE_AUTOMATIC_NV);     // 0x8ED7
      InsertEnumString(GL_MALI_SHADER_BINARY_ARM);        // 0x8F60
      InsertEnumString(GL_MALI_PROGRAM_BINARY_ARM);       // 0x8F61
      InsertEnumString(GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT);      // 0x8F63
      InsertEnumString(GL_SHADER_PIXEL_LOCAL_STORAGE_EXT);        // 0x8F64
      InsertEnumString(GL_FETCH_PER_SAMPLE_ARM);      // 0x8F65
      InsertEnumString(GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM);     // 0x8F66
      InsertEnumString(GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT);       // 0x8F67
      InsertEnumString(GL_R8_SNORM);      // 0x8F94
      InsertEnumString(GL_RG8_SNORM);     // 0x8F95
      InsertEnumString(GL_RGBA8_SNORM);       // 0x8F97
      InsertEnumString(GL_R16_SNORM_EXT);     // 0x8F98
      InsertEnumString(GL_RG16_SNORM_EXT);        // 0x8F99
      InsertEnumString(GL_RGB16_SNORM_EXT);       // 0x8F9A
      InsertEnumString(GL_RGBA16_SNORM_EXT);      // 0x8F9B
      InsertEnumString(GL_BINNING_CONTROL_HINT_QCOM);     // 0x8FB0
      InsertEnumString(GL_CPU_OPTIMIZED_QCOM);        // 0x8FB1
      InsertEnumString(GL_GPU_OPTIMIZED_QCOM);        // 0x8FB2
      InsertEnumString(GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM);     // 0x8FB3
      InsertEnumString(GL_GPU_DISJOINT_EXT);      // 0x8FBB
      InsertEnumString(GL_SR8_EXT);       // 0x8FBD
      InsertEnumString(GL_SRG8_EXT);      // 0x8FBE
      InsertEnumString(GL_SHADER_BINARY_VIV);     // 0x8FC4
      InsertEnumString(GL_PATH_FORMAT_SVG_NV);        // 0x9070
      InsertEnumString(GL_PATH_FORMAT_PS_NV);     // 0x9071
      InsertEnumString(GL_STANDARD_FONT_NAME_NV);     // 0x9072
      InsertEnumString(GL_SYSTEM_FONT_NAME_NV);       // 0x9073
      InsertEnumString(GL_FILE_NAME_NV);      // 0x9074
      InsertEnumString(GL_PATH_STROKE_WIDTH_NV);      // 0x9075
      InsertEnumString(GL_PATH_END_CAPS_NV);      // 0x9076
      InsertEnumString(GL_PATH_INITIAL_END_CAP_NV);       // 0x9077
      InsertEnumString(GL_PATH_TERMINAL_END_CAP_NV);      // 0x9078
      InsertEnumString(GL_PATH_JOIN_STYLE_NV);        // 0x9079
      InsertEnumString(GL_PATH_MITER_LIMIT_NV);       // 0x907A
      InsertEnumString(GL_PATH_DASH_CAPS_NV);     // 0x907B
      InsertEnumString(GL_PATH_INITIAL_DASH_CAP_NV);      // 0x907C
      InsertEnumString(GL_PATH_TERMINAL_DASH_CAP_NV);     // 0x907D
      InsertEnumString(GL_PATH_DASH_OFFSET_NV);       // 0x907E
      InsertEnumString(GL_PATH_CLIENT_LENGTH_NV);     // 0x907F
      InsertEnumString(GL_PATH_FILL_MODE_NV);     // 0x9080
      InsertEnumString(GL_PATH_FILL_MASK_NV);     // 0x9081
      InsertEnumString(GL_PATH_FILL_COVER_MODE_NV);       // 0x9082
      InsertEnumString(GL_PATH_STROKE_COVER_MODE_NV);     // 0x9083
      InsertEnumString(GL_PATH_STROKE_MASK_NV);       // 0x9084
      InsertEnumString(GL_COUNT_UP_NV);       // 0x9088
      InsertEnumString(GL_COUNT_DOWN_NV);     // 0x9089
      InsertEnumString(GL_PATH_OBJECT_BOUNDING_BOX_NV);       // 0x908A
      InsertEnumString(GL_CONVEX_HULL_NV);        // 0x908B
      InsertEnumString(GL_BOUNDING_BOX_NV);       // 0x908D
      InsertEnumString(GL_TRANSLATE_X_NV);        // 0x908E
      InsertEnumString(GL_TRANSLATE_Y_NV);        // 0x908F
      InsertEnumString(GL_TRANSLATE_2D_NV);       // 0x9090
      InsertEnumString(GL_TRANSLATE_3D_NV);       // 0x9091
      InsertEnumString(GL_AFFINE_2D_NV);      // 0x9092
      InsertEnumString(GL_AFFINE_3D_NV);      // 0x9094
      InsertEnumString(GL_TRANSPOSE_AFFINE_2D_NV);        // 0x9096
      InsertEnumString(GL_TRANSPOSE_AFFINE_3D_NV);        // 0x9098
      InsertEnumString(GL_UTF8_NV);       // 0x909A
      InsertEnumString(GL_UTF16_NV);      // 0x909B
      InsertEnumString(GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV);     // 0x909C
      InsertEnumString(GL_PATH_COMMAND_COUNT_NV);     // 0x909D
      InsertEnumString(GL_PATH_COORD_COUNT_NV);       // 0x909E
      InsertEnumString(GL_PATH_DASH_ARRAY_COUNT_NV);      // 0x909F
      InsertEnumString(GL_PATH_COMPUTED_LENGTH_NV);       // 0x90A0
      InsertEnumString(GL_PATH_FILL_BOUNDING_BOX_NV);     // 0x90A1
      InsertEnumString(GL_PATH_STROKE_BOUNDING_BOX_NV);       // 0x90A2
      InsertEnumString(GL_SQUARE_NV);     // 0x90A3
      InsertEnumString(GL_ROUND_NV);      // 0x90A4
      InsertEnumString(GL_TRIANGULAR_NV);     // 0x90A5
      InsertEnumString(GL_BEVEL_NV);      // 0x90A6
      InsertEnumString(GL_MITER_REVERT_NV);       // 0x90A7
      InsertEnumString(GL_MITER_TRUNCATE_NV);     // 0x90A8
      InsertEnumString(GL_SKIP_MISSING_GLYPH_NV);     // 0x90A9
      InsertEnumString(GL_USE_MISSING_GLYPH_NV);      // 0x90AA
      InsertEnumString(GL_PATH_ERROR_POSITION_NV);        // 0x90AB
      InsertEnumString(GL_ACCUM_ADJACENT_PAIRS_NV);       // 0x90AD
      InsertEnumString(GL_ADJACENT_PAIRS_NV);     // 0x90AE
      InsertEnumString(GL_FIRST_TO_REST_NV);      // 0x90AF
      InsertEnumString(GL_PATH_GEN_MODE_NV);      // 0x90B0
      InsertEnumString(GL_PATH_GEN_COEFF_NV);     // 0x90B1
      InsertEnumString(GL_PATH_GEN_COMPONENTS_NV);        // 0x90B3
      InsertEnumString(GL_PATH_DASH_OFFSET_RESET_NV);     // 0x90B4
      InsertEnumString(GL_MOVE_TO_RESETS_NV);     // 0x90B5
      InsertEnumString(GL_MOVE_TO_CONTINUES_NV);      // 0x90B6
      InsertEnumString(GL_PATH_STENCIL_FUNC_NV);      // 0x90B7
      InsertEnumString(GL_PATH_STENCIL_REF_NV);       // 0x90B8
      InsertEnumString(GL_PATH_STENCIL_VALUE_MASK_NV);        // 0x90B9
      InsertEnumString(GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV);       // 0x90BD
      InsertEnumString(GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV);        // 0x90BE
      InsertEnumString(GL_PATH_COVER_DEPTH_FUNC_NV);      // 0x90BF
      InsertEnumString(GL_COLOR_ATTACHMENT_EXT);      // 0x90F0
      InsertEnumString(GL_MULTIVIEW_EXT);     // 0x90F1
      InsertEnumString(GL_MAX_MULTIVIEW_BUFFERS_EXT);     // 0x90F2
      InsertEnumString(GL_TEXTURE_2D_MULTISAMPLE);        // 0x9100
      InsertEnumString(GL_TEXTURE_2D_MULTISAMPLE_ARRAY);      // 0x9102
      InsertEnumString(GL_SGX_PROGRAM_BINARY_IMG);        // 0x9130
      InsertEnumString(GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG);      // 0x9137
      InsertEnumString(GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG);      // 0x9138
      InsertEnumString(GL_BUFFER_OBJECT_EXT);     // 0x9151
      InsertEnumString(GL_QUERY_OBJECT_EXT);      // 0x9153
      InsertEnumString(GL_VERTEX_ARRAY_OBJECT_EXT);       // 0x9154
      InsertEnumString(GL_VIRTUAL_PAGE_SIZE_X_EXT);       // 0x9195
      InsertEnumString(GL_VIRTUAL_PAGE_SIZE_Y_EXT);       // 0x9196
      InsertEnumString(GL_VIRTUAL_PAGE_SIZE_Z_EXT);       // 0x9197
      InsertEnumString(GL_MAX_SPARSE_TEXTURE_SIZE_EXT);       // 0x9198
      InsertEnumString(GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT);        // 0x9199
      InsertEnumString(GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT);       // 0x919A
      InsertEnumString(GL_TEXTURE_SPARSE_EXT);        // 0x91A6
      InsertEnumString(GL_VIRTUAL_PAGE_SIZE_INDEX_EXT);       // 0x91A7
      InsertEnumString(GL_NUM_VIRTUAL_PAGE_SIZES_EXT);        // 0x91A8
      InsertEnumString(GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT);        // 0x91A9
      InsertEnumString(GL_NUM_SPARSE_LEVELS_EXT);     // 0x91AA
      InsertEnumString(GL_SHADER_BINARY_DMP);     // 0x9250
      InsertEnumString(GL_SMAPHS30_PROGRAM_BINARY_DMP);       // 0x9251
      InsertEnumString(GL_SMAPHS_PROGRAM_BINARY_DMP);     // 0x9252
      InsertEnumString(GL_DMP_PROGRAM_BINARY_DMP);        // 0x9253
      InsertEnumString(GL_GCCSO_SHADER_BINARY_FJ);        // 0x9260
      InsertEnumString(GL_BLEND_PREMULTIPLIED_SRC_NV);        // 0x9280
      InsertEnumString(GL_BLEND_OVERLAP_NV);      // 0x9281
      InsertEnumString(GL_UNCORRELATED_NV);       // 0x9282
      InsertEnumString(GL_DISJOINT_NV);       // 0x9283
      InsertEnumString(GL_CONJOINT_NV);       // 0x9284
      InsertEnumString(GL_BLEND_ADVANCED_COHERENT_KHR);       // 0x9285
      InsertEnumString(GL_SRC_NV);        // 0x9286
      InsertEnumString(GL_DST_NV);        // 0x9287
      InsertEnumString(GL_SRC_OVER_NV);       // 0x9288
      InsertEnumString(GL_DST_OVER_NV);       // 0x9289
      InsertEnumString(GL_SRC_IN_NV);     // 0x928A
      InsertEnumString(GL_DST_IN_NV);     // 0x928B
      InsertEnumString(GL_SRC_OUT_NV);        // 0x928C
      InsertEnumString(GL_DST_OUT_NV);        // 0x928D
      InsertEnumString(GL_SRC_ATOP_NV);       // 0x928E
      InsertEnumString(GL_DST_ATOP_NV);       // 0x928F
      InsertEnumString(GL_PLUS_NV);       // 0x9291
      InsertEnumString(GL_PLUS_DARKER_NV);        // 0x9292
      InsertEnumString(GL_MINUS_NV);      // 0x929F
      InsertEnumString(GL_CONTRAST_NV);       // 0x92A1
      InsertEnumString(GL_INVERT_RGB_NV);     // 0x92A3
      InsertEnumString(GL_LINEARDODGE_NV);        // 0x92A4
      InsertEnumString(GL_LINEARBURN_NV);     // 0x92A5
      InsertEnumString(GL_VIVIDLIGHT_NV);     // 0x92A6
      InsertEnumString(GL_LINEARLIGHT_NV);        // 0x92A7
      InsertEnumString(GL_PINLIGHT_NV);       // 0x92A8
      InsertEnumString(GL_HARDMIX_NV);        // 0x92A9
      InsertEnumString(GL_PLUS_CLAMPED_NV);       // 0x92B1
      InsertEnumString(GL_PLUS_CLAMPED_ALPHA_NV);     // 0x92B2
      InsertEnumString(GL_MINUS_CLAMPED_NV);      // 0x92B3
      InsertEnumString(GL_INVERT_OVG_NV);     // 0x92B4
      InsertEnumString(GL_FRAGMENT_COVERAGE_TO_COLOR_NV);     // 0x92DD
      InsertEnumString(GL_FRAGMENT_COVERAGE_COLOR_NV);        // 0x92DE
      InsertEnumString(GL_RASTER_MULTISAMPLE_EXT);        // 0x9327
      InsertEnumString(GL_RASTER_SAMPLES_EXT);        // 0x9328
      InsertEnumString(GL_MAX_RASTER_SAMPLES_EXT);        // 0x9329
      InsertEnumString(GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT);     // 0x932A
      InsertEnumString(GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT);     // 0x932B
      InsertEnumString(GL_EFFECTIVE_RASTER_SAMPLES_EXT);      // 0x932C
      InsertEnumString(GL_DEPTH_SAMPLES_NV);      // 0x932D
      InsertEnumString(GL_STENCIL_SAMPLES_NV);        // 0x932E
      InsertEnumString(GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV);      // 0x932F
      InsertEnumString(GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV);        // 0x9330
      InsertEnumString(GL_COVERAGE_MODULATION_TABLE_NV);      // 0x9331
      InsertEnumString(GL_COVERAGE_MODULATION_NV);        // 0x9332
      InsertEnumString(GL_COVERAGE_MODULATION_TABLE_SIZE_NV);     // 0x9333
      InsertEnumString(GL_FILL_RECTANGLE_NV);     // 0x933C
      InsertEnumString(GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV);      // 0x933D
      InsertEnumString(GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV);       // 0x933E
      InsertEnumString(GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV);      // 0x933F
      InsertEnumString(GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV);        // 0x9340
      InsertEnumString(GL_PROGRAMMABLE_SAMPLE_LOCATION_NV);       // 0x9341
      InsertEnumString(GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV);      // 0x9342
      InsertEnumString(GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV);     // 0x9343
      InsertEnumString(GL_CONSERVATIVE_RASTERIZATION_NV);     // 0x9346
      InsertEnumString(GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV);     // 0x9347
      InsertEnumString(GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV);     // 0x9348
      InsertEnumString(GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV);       // 0x9349
      InsertEnumString(GL_FONT_GLYPHS_AVAILABLE_NV);      // 0x9368
      InsertEnumString(GL_FONT_TARGET_UNAVAILABLE_NV);        // 0x9369
      InsertEnumString(GL_FONT_UNAVAILABLE_NV);       // 0x936A
      InsertEnumString(GL_FONT_UNINTELLIGIBLE_NV);        // 0x936B
      InsertEnumString(GL_STANDARD_FONT_FORMAT_NV);       // 0x936C
      InsertEnumString(GL_FRAGMENT_INPUT_NV);     // 0x936D
      InsertEnumString(GL_MULTISAMPLES_NV);       // 0x9371
      InsertEnumString(GL_SUPERSAMPLE_SCALE_X_NV);        // 0x9372
      InsertEnumString(GL_SUPERSAMPLE_SCALE_Y_NV);        // 0x9373
      InsertEnumString(GL_CONFORMANT_NV);     // 0x9374
      InsertEnumString(GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE);     // 0x93A0
      InsertEnumString(GL_TEXTURE_USAGE_ANGLE);       // 0x93A2
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_ANGLE);      // 0x93A3
      InsertEnumString(GL_PACK_REVERSE_ROW_ORDER_ANGLE);      // 0x93A4
      InsertEnumString(GL_PROGRAM_BINARY_ANGLE);      // 0x93A6
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_3x3x3_OES);        // 0x93C0
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_4x3x3_OES);        // 0x93C1
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_4x4x3_OES);        // 0x93C2
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_4x4x4_OES);        // 0x93C3
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_5x4x4_OES);        // 0x93C4
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_5x5x4_OES);        // 0x93C5
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_5x5x5_OES);        // 0x93C6
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_6x5x5_OES);        // 0x93C7
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_6x6x5_OES);        // 0x93C8
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_6x6x6_OES);        // 0x93C9
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES);        // 0x93E0
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES);        // 0x93E1
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES);        // 0x93E2
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES);        // 0x93E3
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES);        // 0x93E4
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES);        // 0x93E5
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES);        // 0x93E6
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES);        // 0x93E7
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES);        // 0x93E8
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES);        // 0x93E9
      InsertEnumString(GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG);        // 0x93F0
      InsertEnumString(GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG);        // 0x93F1
      InsertEnumString(GL_PERFQUERY_COUNTER_EVENT_INTEL);     // 0x94F0
      InsertEnumString(GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL);     // 0x94F1
      InsertEnumString(GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL);      // 0x94F2
      InsertEnumString(GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL);        // 0x94F3
      InsertEnumString(GL_PERFQUERY_COUNTER_RAW_INTEL);       // 0x94F4
      InsertEnumString(GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL);     // 0x94F5
      InsertEnumString(GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL);       // 0x94F8
      InsertEnumString(GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL);       // 0x94F9
      InsertEnumString(GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL);        // 0x94FA
      InsertEnumString(GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL);       // 0x94FB
      InsertEnumString(GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL);       // 0x94FC
      InsertEnumString(GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL);     // 0x94FD
      InsertEnumString(GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL);       // 0x94FE
      InsertEnumString(GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL);       // 0x94FF
      InsertEnumString(GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL);     // 0x9500
  
      /* GLES 3 enums */
      InsertEnumString(GL_READ_BUFFER);       // 0x0C02
      InsertEnumString(GL_UNPACK_ROW_LENGTH);     // 0x0CF2
      InsertEnumString(GL_UNPACK_SKIP_ROWS);      // 0x0CF3
      InsertEnumString(GL_UNPACK_SKIP_PIXELS);        // 0x0CF4
      InsertEnumString(GL_PACK_ROW_LENGTH);       // 0x0D02
      InsertEnumString(GL_PACK_SKIP_ROWS);        // 0x0D03
      InsertEnumString(GL_PACK_SKIP_PIXELS);      // 0x0D04
      InsertEnumString(GL_HALF_FLOAT);        // 0x140B
      InsertEnumString(GL_COLOR);     // 0x1800
      InsertEnumString(GL_DEPTH);     // 0x1801
      InsertEnumString(GL_STENCIL);       // 0x1802
      InsertEnumString(GL_RED);       // 0x1903
      InsertEnumString(GL_GREEN);     // 0x1904
      InsertEnumString(GL_BLUE);      // 0x1905
      InsertEnumString(GL_RGB8);      // 0x8051
      InsertEnumString(GL_RGBA8);     // 0x8058
      InsertEnumString(GL_RGB10_A2);      // 0x8059
      InsertEnumString(GL_TEXTURE_BINDING_3D);        // 0x806A
      InsertEnumString(GL_UNPACK_SKIP_IMAGES);        // 0x806D
      InsertEnumString(GL_UNPACK_IMAGE_HEIGHT);       // 0x806E
      InsertEnumString(GL_TEXTURE_WRAP_R);        // 0x8072
      InsertEnumString(GL_MAX_3D_TEXTURE_SIZE);       // 0x8073
      InsertEnumString(GL_MAX_ELEMENTS_VERTICES);     // 0x80E8
      InsertEnumString(GL_MAX_ELEMENTS_INDICES);      // 0x80E9
      InsertEnumString(GL_TEXTURE_MIN_LOD);       // 0x813A
      InsertEnumString(GL_TEXTURE_MAX_LOD);       // 0x813B
      InsertEnumString(GL_TEXTURE_BASE_LEVEL);        // 0x813C
      InsertEnumString(GL_TEXTURE_MAX_LEVEL);     // 0x813D
      InsertEnumString(GL_DEPTH_COMPONENT24);     // 0x81A6
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING);     // 0x8210
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE);     // 0x8211
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE);       // 0x8212
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE);     // 0x8213
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE);      // 0x8214
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE);     // 0x8215
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE);     // 0x8216
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE);       // 0x8217
      InsertEnumString(GL_FRAMEBUFFER_DEFAULT);       // 0x8218
      InsertEnumString(GL_FRAMEBUFFER_UNDEFINED);     // 0x8219
      InsertEnumString(GL_DEPTH_STENCIL_ATTACHMENT);      // 0x821A
      InsertEnumString(GL_MAJOR_VERSION);     // 0x821B
      InsertEnumString(GL_MINOR_VERSION);     // 0x821C
      InsertEnumString(GL_NUM_EXTENSIONS);        // 0x821D
      InsertEnumString(GL_RG);        // 0x8227
      InsertEnumString(GL_RG_INTEGER);        // 0x8228
      InsertEnumString(GL_R8);        // 0x8229
      InsertEnumString(GL_RG8);       // 0x822B
      InsertEnumString(GL_R16F);      // 0x822D
      InsertEnumString(GL_R32F);      // 0x822E
      InsertEnumString(GL_RG16F);     // 0x822F
      InsertEnumString(GL_RG32F);     // 0x8230
      InsertEnumString(GL_R8I);       // 0x8231
      InsertEnumString(GL_R8UI);      // 0x8232
      InsertEnumString(GL_R16I);      // 0x8233
      InsertEnumString(GL_R16UI);     // 0x8234
      InsertEnumString(GL_R32I);      // 0x8235
      InsertEnumString(GL_R32UI);     // 0x8236
      InsertEnumString(GL_RG8I);      // 0x8237
      InsertEnumString(GL_RG8UI);     // 0x8238
      InsertEnumString(GL_RG16I);     // 0x8239
      InsertEnumString(GL_RG16UI);        // 0x823A
      InsertEnumString(GL_RG32I);     // 0x823B
      InsertEnumString(GL_RG32UI);        // 0x823C
      InsertEnumString(GL_PROGRAM_BINARY_RETRIEVABLE_HINT);       // 0x8257
      InsertEnumString(GL_UNSIGNED_INT_2_10_10_10_REV);       // 0x8368
      InsertEnumString(GL_DEPTH_STENCIL);     // 0x84F9
      InsertEnumString(GL_UNSIGNED_INT_24_8);     // 0x84FA
      InsertEnumString(GL_MAX_TEXTURE_LOD_BIAS);      // 0x84FD
      InsertEnumString(GL_VERTEX_ARRAY_BINDING);      // 0x85B5
      InsertEnumString(GL_PROGRAM_BINARY_LENGTH);     // 0x8741
      InsertEnumString(GL_NUM_PROGRAM_BINARY_FORMATS);        // 0x87FE
      InsertEnumString(GL_PROGRAM_BINARY_FORMATS);        // 0x87FF
      InsertEnumString(GL_RGBA32F);       // 0x8814
      InsertEnumString(GL_RGB32F);        // 0x8815
      InsertEnumString(GL_RGBA16F);       // 0x881A
      InsertEnumString(GL_RGB16F);        // 0x881B
      InsertEnumString(GL_MAX_DRAW_BUFFERS);      // 0x8824
      InsertEnumString(GL_DRAW_BUFFER0);      // 0x8825
      InsertEnumString(GL_DRAW_BUFFER1);      // 0x8826
      InsertEnumString(GL_DRAW_BUFFER2);      // 0x8827
      InsertEnumString(GL_DRAW_BUFFER3);      // 0x8828
      InsertEnumString(GL_DRAW_BUFFER4);      // 0x8829
      InsertEnumString(GL_DRAW_BUFFER5);      // 0x882A
      InsertEnumString(GL_DRAW_BUFFER6);      // 0x882B
      InsertEnumString(GL_DRAW_BUFFER7);      // 0x882C
      InsertEnumString(GL_DRAW_BUFFER8);      // 0x882D
      InsertEnumString(GL_DRAW_BUFFER9);      // 0x882E
      InsertEnumString(GL_DRAW_BUFFER10);     // 0x882F
      InsertEnumString(GL_DRAW_BUFFER11);     // 0x8830
      InsertEnumString(GL_DRAW_BUFFER12);     // 0x8831
      InsertEnumString(GL_DRAW_BUFFER13);     // 0x8832
      InsertEnumString(GL_DRAW_BUFFER14);     // 0x8833
      InsertEnumString(GL_DRAW_BUFFER15);     // 0x8834
      InsertEnumString(GL_TEXTURE_COMPARE_MODE);      // 0x884C
      InsertEnumString(GL_TEXTURE_COMPARE_FUNC);      // 0x884D
      InsertEnumString(GL_COMPARE_REF_TO_TEXTURE);        // 0x884E
      InsertEnumString(GL_CURRENT_QUERY);     // 0x8865
      InsertEnumString(GL_QUERY_RESULT);      // 0x8866
      InsertEnumString(GL_QUERY_RESULT_AVAILABLE);        // 0x8867
      InsertEnumString(GL_BUFFER_MAPPED);     // 0x88BC
      InsertEnumString(GL_BUFFER_MAP_POINTER);        // 0x88BD
      InsertEnumString(GL_STREAM_READ);       // 0x88E1
      InsertEnumString(GL_STREAM_COPY);       // 0x88E2
      InsertEnumString(GL_STATIC_READ);       // 0x88E5
      InsertEnumString(GL_STATIC_COPY);       // 0x88E6
      InsertEnumString(GL_DYNAMIC_READ);      // 0x88E9
      InsertEnumString(GL_DYNAMIC_COPY);      // 0x88EA
      InsertEnumString(GL_PIXEL_PACK_BUFFER);     // 0x88EB
      InsertEnumString(GL_PIXEL_UNPACK_BUFFER);       // 0x88EC
      InsertEnumString(GL_PIXEL_PACK_BUFFER_BINDING);     // 0x88ED
      InsertEnumString(GL_PIXEL_UNPACK_BUFFER_BINDING);       // 0x88EF
      InsertEnumString(GL_DEPTH24_STENCIL8);      // 0x88F0
      InsertEnumString(GL_VERTEX_ATTRIB_ARRAY_INTEGER);       // 0x88FD
      InsertEnumString(GL_VERTEX_ATTRIB_ARRAY_DIVISOR);       // 0x88FE
      InsertEnumString(GL_MAX_ARRAY_TEXTURE_LAYERS);      // 0x88FF
      InsertEnumString(GL_MIN_PROGRAM_TEXEL_OFFSET);      // 0x8904
      InsertEnumString(GL_MAX_PROGRAM_TEXEL_OFFSET);      // 0x8905
      InsertEnumString(GL_SAMPLER_BINDING);       // 0x8919
      InsertEnumString(GL_UNIFORM_BUFFER);        // 0x8A11
      InsertEnumString(GL_UNIFORM_BUFFER_BINDING);        // 0x8A28
      InsertEnumString(GL_UNIFORM_BUFFER_START);      // 0x8A29
      InsertEnumString(GL_UNIFORM_BUFFER_SIZE);       // 0x8A2A
      InsertEnumString(GL_MAX_VERTEX_UNIFORM_BLOCKS);     // 0x8A2B
      InsertEnumString(GL_MAX_FRAGMENT_UNIFORM_BLOCKS);       // 0x8A2D
      InsertEnumString(GL_MAX_COMBINED_UNIFORM_BLOCKS);       // 0x8A2E
      InsertEnumString(GL_MAX_UNIFORM_BUFFER_BINDINGS);       // 0x8A2F
      InsertEnumString(GL_MAX_UNIFORM_BLOCK_SIZE);        // 0x8A30
      InsertEnumString(GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS);        // 0x8A31
      InsertEnumString(GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS);      // 0x8A33
      InsertEnumString(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT);       // 0x8A34
      InsertEnumString(GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH);      // 0x8A35
      InsertEnumString(GL_ACTIVE_UNIFORM_BLOCKS);     // 0x8A36
      InsertEnumString(GL_UNIFORM_TYPE);      // 0x8A37
      InsertEnumString(GL_UNIFORM_SIZE);      // 0x8A38
      InsertEnumString(GL_UNIFORM_NAME_LENGTH);       // 0x8A39
      InsertEnumString(GL_UNIFORM_BLOCK_INDEX);       // 0x8A3A
      InsertEnumString(GL_UNIFORM_OFFSET);        // 0x8A3B
      InsertEnumString(GL_UNIFORM_ARRAY_STRIDE);      // 0x8A3C
      InsertEnumString(GL_UNIFORM_MATRIX_STRIDE);     // 0x8A3D
      InsertEnumString(GL_UNIFORM_IS_ROW_MAJOR);      // 0x8A3E
      InsertEnumString(GL_UNIFORM_BLOCK_BINDING);     // 0x8A3F
      InsertEnumString(GL_UNIFORM_BLOCK_DATA_SIZE);       // 0x8A40
      InsertEnumString(GL_UNIFORM_BLOCK_NAME_LENGTH);     // 0x8A41
      InsertEnumString(GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS);     // 0x8A42
      InsertEnumString(GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES);      // 0x8A43
      InsertEnumString(GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER);     // 0x8A44
      InsertEnumString(GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER);       // 0x8A46
      InsertEnumString(GL_MAX_FRAGMENT_UNIFORM_COMPONENTS);       // 0x8B49
      InsertEnumString(GL_MAX_VERTEX_UNIFORM_COMPONENTS);     // 0x8B4A
      InsertEnumString(GL_MAX_VARYING_COMPONENTS);        // 0x8B4B
      InsertEnumString(GL_SAMPLER_3D);        // 0x8B5F
      InsertEnumString(GL_SAMPLER_2D_SHADOW);     // 0x8B62
      InsertEnumString(GL_FLOAT_MAT2x3);      // 0x8B65
      InsertEnumString(GL_FLOAT_MAT2x4);      // 0x8B66
      InsertEnumString(GL_FLOAT_MAT3x2);      // 0x8B67
      InsertEnumString(GL_FLOAT_MAT3x4);      // 0x8B68
      InsertEnumString(GL_FLOAT_MAT4x2);      // 0x8B69
      InsertEnumString(GL_FLOAT_MAT4x3);      // 0x8B6A
      InsertEnumString(GL_FRAGMENT_SHADER_DERIVATIVE_HINT);       // 0x8B8B
      InsertEnumString(GL_UNSIGNED_NORMALIZED);       // 0x8C17
      InsertEnumString(GL_TEXTURE_BINDING_2D_ARRAY);      // 0x8C1D
      InsertEnumString(GL_ANY_SAMPLES_PASSED);        // 0x8C2F
      InsertEnumString(GL_R11F_G11F_B10F);        // 0x8C3A
      InsertEnumString(GL_UNSIGNED_INT_10F_11F_11F_REV);      // 0x8C3B
      InsertEnumString(GL_RGB9_E5);       // 0x8C3D
      InsertEnumString(GL_UNSIGNED_INT_5_9_9_9_REV);      // 0x8C3E
      InsertEnumString(GL_SRGB);      // 0x8C40
      InsertEnumString(GL_SRGB8);     // 0x8C41
      InsertEnumString(GL_SRGB8_ALPHA8);      // 0x8C43
      InsertEnumString(GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH);     // 0x8C76
      InsertEnumString(GL_TRANSFORM_FEEDBACK_BUFFER_MODE);        // 0x8C7F
      InsertEnumString(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS);        // 0x8C80
      InsertEnumString(GL_TRANSFORM_FEEDBACK_VARYINGS);       // 0x8C83
      InsertEnumString(GL_TRANSFORM_FEEDBACK_BUFFER_START);       // 0x8C84
      InsertEnumString(GL_TRANSFORM_FEEDBACK_BUFFER_SIZE);        // 0x8C85
      InsertEnumString(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN);     // 0x8C88
      InsertEnumString(GL_RASTERIZER_DISCARD);        // 0x8C89
      InsertEnumString(GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS);     // 0x8C8A
      InsertEnumString(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS);       // 0x8C8B
      InsertEnumString(GL_INTERLEAVED_ATTRIBS);       // 0x8C8C
      InsertEnumString(GL_SEPARATE_ATTRIBS);      // 0x8C8D
      InsertEnumString(GL_TRANSFORM_FEEDBACK_BUFFER);     // 0x8C8E
      InsertEnumString(GL_TRANSFORM_FEEDBACK_BUFFER_BINDING);     // 0x8C8F
      InsertEnumString(GL_READ_FRAMEBUFFER);      // 0x8CA8
      InsertEnumString(GL_DRAW_FRAMEBUFFER);      // 0x8CA9
      InsertEnumString(GL_READ_FRAMEBUFFER_BINDING);      // 0x8CAA
      InsertEnumString(GL_RENDERBUFFER_SAMPLES);      // 0x8CAB
      InsertEnumString(GL_DEPTH_COMPONENT32F);        // 0x8CAC
      InsertEnumString(GL_DEPTH32F_STENCIL8);     // 0x8CAD
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER);      // 0x8CD4
      InsertEnumString(GL_MAX_COLOR_ATTACHMENTS);     // 0x8CDF
      InsertEnumString(GL_COLOR_ATTACHMENT1);     // 0x8CE1
      InsertEnumString(GL_COLOR_ATTACHMENT2);     // 0x8CE2
      InsertEnumString(GL_COLOR_ATTACHMENT3);     // 0x8CE3
      InsertEnumString(GL_COLOR_ATTACHMENT4);     // 0x8CE4
      InsertEnumString(GL_COLOR_ATTACHMENT5);     // 0x8CE5
      InsertEnumString(GL_COLOR_ATTACHMENT6);     // 0x8CE6
      InsertEnumString(GL_COLOR_ATTACHMENT7);     // 0x8CE7
      InsertEnumString(GL_COLOR_ATTACHMENT8);     // 0x8CE8
      InsertEnumString(GL_COLOR_ATTACHMENT9);     // 0x8CE9
      InsertEnumString(GL_COLOR_ATTACHMENT10);        // 0x8CEA
      InsertEnumString(GL_COLOR_ATTACHMENT11);        // 0x8CEB
      InsertEnumString(GL_COLOR_ATTACHMENT12);        // 0x8CEC
      InsertEnumString(GL_COLOR_ATTACHMENT13);        // 0x8CED
      InsertEnumString(GL_COLOR_ATTACHMENT14);        // 0x8CEE
      InsertEnumString(GL_COLOR_ATTACHMENT15);        // 0x8CEF
      InsertEnumString(GL_COLOR_ATTACHMENT16);        // 0x8CF0
      InsertEnumString(GL_COLOR_ATTACHMENT17);        // 0x8CF1
      InsertEnumString(GL_COLOR_ATTACHMENT18);        // 0x8CF2
      InsertEnumString(GL_COLOR_ATTACHMENT19);        // 0x8CF3
      InsertEnumString(GL_COLOR_ATTACHMENT20);        // 0x8CF4
      InsertEnumString(GL_COLOR_ATTACHMENT21);        // 0x8CF5
      InsertEnumString(GL_COLOR_ATTACHMENT22);        // 0x8CF6
      InsertEnumString(GL_COLOR_ATTACHMENT23);        // 0x8CF7
      InsertEnumString(GL_COLOR_ATTACHMENT24);        // 0x8CF8
      InsertEnumString(GL_COLOR_ATTACHMENT25);        // 0x8CF9
      InsertEnumString(GL_COLOR_ATTACHMENT26);        // 0x8CFA
      InsertEnumString(GL_COLOR_ATTACHMENT27);        // 0x8CFB
      InsertEnumString(GL_COLOR_ATTACHMENT28);        // 0x8CFC
      InsertEnumString(GL_COLOR_ATTACHMENT29);        // 0x8CFD
      InsertEnumString(GL_COLOR_ATTACHMENT30);        // 0x8CFE
      InsertEnumString(GL_COLOR_ATTACHMENT31);        // 0x8CFF
      InsertEnumString(GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE);        // 0x8D56
      InsertEnumString(GL_MAX_SAMPLES);       // 0x8D57
      InsertEnumString(GL_PRIMITIVE_RESTART_FIXED_INDEX);     // 0x8D69
      InsertEnumString(GL_ANY_SAMPLES_PASSED_CONSERVATIVE);       // 0x8D6A
      InsertEnumString(GL_MAX_ELEMENT_INDEX);     // 0x8D6B
      InsertEnumString(GL_RGBA32UI);      // 0x8D70
      InsertEnumString(GL_RGB32UI);       // 0x8D71
      InsertEnumString(GL_RGBA16UI);      // 0x8D76
      InsertEnumString(GL_RGB16UI);       // 0x8D77
      InsertEnumString(GL_RGBA8UI);       // 0x8D7C
      InsertEnumString(GL_RGB8UI);        // 0x8D7D
      InsertEnumString(GL_RGBA32I);       // 0x8D82
      InsertEnumString(GL_RGB32I);        // 0x8D83
      InsertEnumString(GL_RGBA16I);       // 0x8D88
      InsertEnumString(GL_RGB16I);        // 0x8D89
      InsertEnumString(GL_RGBA8I);        // 0x8D8E
      InsertEnumString(GL_RGB8I);     // 0x8D8F
      InsertEnumString(GL_RED_INTEGER);       // 0x8D94
      InsertEnumString(GL_RGB_INTEGER);       // 0x8D98
      InsertEnumString(GL_RGBA_INTEGER);      // 0x8D99
      InsertEnumString(GL_INT_2_10_10_10_REV);        // 0x8D9F
      InsertEnumString(GL_FLOAT_32_UNSIGNED_INT_24_8_REV);        // 0x8DAD
      InsertEnumString(GL_SAMPLER_2D_ARRAY);      // 0x8DC1
      InsertEnumString(GL_SAMPLER_2D_ARRAY_SHADOW);       // 0x8DC4
      InsertEnumString(GL_SAMPLER_CUBE_SHADOW);       // 0x8DC5
      InsertEnumString(GL_UNSIGNED_INT_VEC2);     // 0x8DC6
      InsertEnumString(GL_UNSIGNED_INT_VEC3);     // 0x8DC7
      InsertEnumString(GL_UNSIGNED_INT_VEC4);     // 0x8DC8
      InsertEnumString(GL_INT_SAMPLER_2D);        // 0x8DCA
      InsertEnumString(GL_INT_SAMPLER_3D);        // 0x8DCB
      InsertEnumString(GL_INT_SAMPLER_CUBE);      // 0x8DCC
      InsertEnumString(GL_INT_SAMPLER_2D_ARRAY);      // 0x8DCF
      InsertEnumString(GL_UNSIGNED_INT_SAMPLER_2D);       // 0x8DD2
      InsertEnumString(GL_UNSIGNED_INT_SAMPLER_3D);       // 0x8DD3
      InsertEnumString(GL_UNSIGNED_INT_SAMPLER_CUBE);     // 0x8DD4
      InsertEnumString(GL_UNSIGNED_INT_SAMPLER_2D_ARRAY);     // 0x8DD7
      InsertEnumString(GL_TRANSFORM_FEEDBACK_PAUSED);     // 0x8E23
      InsertEnumString(GL_TRANSFORM_FEEDBACK_ACTIVE);     // 0x8E24
      InsertEnumString(GL_TRANSFORM_FEEDBACK_BINDING);        // 0x8E25
      InsertEnumString(GL_TEXTURE_SWIZZLE_R);     // 0x8E42
      InsertEnumString(GL_TEXTURE_SWIZZLE_G);     // 0x8E43
      InsertEnumString(GL_TEXTURE_SWIZZLE_B);     // 0x8E44
      InsertEnumString(GL_TEXTURE_SWIZZLE_A);     // 0x8E45
      InsertEnumString(GL_COPY_READ_BUFFER);      // 0x8F36
      InsertEnumString(GL_COPY_WRITE_BUFFER);     // 0x8F37
      InsertEnumString(GL_RGB8_SNORM);        // 0x8F96
      InsertEnumString(GL_SIGNED_NORMALIZED);     // 0x8F9C
      InsertEnumString(GL_RGB10_A2UI);        // 0x906F
      InsertEnumString(GL_MAX_SERVER_WAIT_TIMEOUT);       // 0x9111
      InsertEnumString(GL_OBJECT_TYPE);       // 0x9112
      InsertEnumString(GL_SYNC_CONDITION);        // 0x9113
      InsertEnumString(GL_SYNC_STATUS);       // 0x9114
      InsertEnumString(GL_SYNC_FLAGS);        // 0x9115
      InsertEnumString(GL_SYNC_FENCE);        // 0x9116
      InsertEnumString(GL_SYNC_GPU_COMMANDS_COMPLETE);        // 0x9117
      InsertEnumString(GL_UNSIGNALED);        // 0x9118
      InsertEnumString(GL_SIGNALED);      // 0x9119
      InsertEnumString(GL_ALREADY_SIGNALED);      // 0x911A
      InsertEnumString(GL_TIMEOUT_EXPIRED);       // 0x911B
      InsertEnumString(GL_CONDITION_SATISFIED);       // 0x911C
      InsertEnumString(GL_WAIT_FAILED);       // 0x911D
      InsertEnumString(GL_BUFFER_ACCESS_FLAGS);       // 0x911F
      InsertEnumString(GL_BUFFER_MAP_LENGTH);     // 0x9120
      InsertEnumString(GL_BUFFER_MAP_OFFSET);     // 0x9121
      InsertEnumString(GL_MAX_VERTEX_OUTPUT_COMPONENTS);      // 0x9122
      InsertEnumString(GL_MAX_FRAGMENT_INPUT_COMPONENTS);     // 0x9125
      InsertEnumString(GL_TEXTURE_IMMUTABLE_FORMAT);      // 0x912F
      InsertEnumString(GL_COMPRESSED_R11_EAC);        // 0x9270
      InsertEnumString(GL_COMPRESSED_SIGNED_R11_EAC);     // 0x9271
      InsertEnumString(GL_COMPRESSED_RG11_EAC);       // 0x9272
      InsertEnumString(GL_COMPRESSED_SIGNED_RG11_EAC);        // 0x9273
      InsertEnumString(GL_COMPRESSED_RGB8_ETC2);      // 0x9274
      InsertEnumString(GL_COMPRESSED_SRGB8_ETC2);     // 0x9275
      InsertEnumString(GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2);      // 0x9276
      InsertEnumString(GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2);     // 0x9277
      InsertEnumString(GL_COMPRESSED_RGBA8_ETC2_EAC);     // 0x9278
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC);      // 0x9279
      InsertEnumString(GL_NUM_SAMPLE_COUNTS);     // 0x9380
  
      /* GLES 3.1 enums */
      InsertEnumString(GL_TEXTURE_WIDTH);     // 0x1000
      InsertEnumString(GL_TEXTURE_HEIGHT);        // 0x1001
      InsertEnumString(GL_TEXTURE_INTERNAL_FORMAT);       // 0x1003
      InsertEnumString(GL_STENCIL_INDEX);     // 0x1901
      InsertEnumString(GL_TEXTURE_RED_SIZE);      // 0x805C
      InsertEnumString(GL_TEXTURE_GREEN_SIZE);        // 0x805D
      InsertEnumString(GL_TEXTURE_BLUE_SIZE);     // 0x805E
      InsertEnumString(GL_TEXTURE_ALPHA_SIZE);        // 0x805F
      InsertEnumString(GL_TEXTURE_DEPTH);     // 0x8071
      InsertEnumString(GL_PROGRAM_SEPARABLE);     // 0x8258
      InsertEnumString(GL_ACTIVE_PROGRAM);        // 0x8259
      InsertEnumString(GL_PROGRAM_PIPELINE_BINDING);      // 0x825A
      InsertEnumString(GL_MAX_COMPUTE_SHARED_MEMORY_SIZE);        // 0x8262
      InsertEnumString(GL_MAX_COMPUTE_UNIFORM_COMPONENTS);        // 0x8263
      InsertEnumString(GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS);        // 0x8264
      InsertEnumString(GL_MAX_COMPUTE_ATOMIC_COUNTERS);       // 0x8265
      InsertEnumString(GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS);       // 0x8266
      InsertEnumString(GL_COMPUTE_WORK_GROUP_SIZE);       // 0x8267
      InsertEnumString(GL_MAX_UNIFORM_LOCATIONS);     // 0x826E
      InsertEnumString(GL_VERTEX_ATTRIB_BINDING);     // 0x82D4
      InsertEnumString(GL_VERTEX_ATTRIB_RELATIVE_OFFSET);     // 0x82D5
      InsertEnumString(GL_VERTEX_BINDING_DIVISOR);        // 0x82D6
      InsertEnumString(GL_VERTEX_BINDING_OFFSET);     // 0x82D7
      InsertEnumString(GL_VERTEX_BINDING_STRIDE);     // 0x82D8
      InsertEnumString(GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET);     // 0x82D9
      InsertEnumString(GL_MAX_VERTEX_ATTRIB_BINDINGS);        // 0x82DA
      InsertEnumString(GL_MAX_VERTEX_ATTRIB_STRIDE);      // 0x82E5
      InsertEnumString(GL_TEXTURE_COMPRESSED);        // 0x86A1
      InsertEnumString(GL_TEXTURE_DEPTH_SIZE);        // 0x884A
      InsertEnumString(GL_READ_ONLY);     // 0x88B8
      InsertEnumString(GL_WRITE_ONLY);        // 0x88B9
      InsertEnumString(GL_READ_WRITE);        // 0x88BA
      InsertEnumString(GL_TEXTURE_STENCIL_SIZE);      // 0x88F1
      InsertEnumString(GL_TEXTURE_RED_TYPE);      // 0x8C10
      InsertEnumString(GL_TEXTURE_GREEN_TYPE);        // 0x8C11
      InsertEnumString(GL_TEXTURE_BLUE_TYPE);     // 0x8C12
      InsertEnumString(GL_TEXTURE_ALPHA_TYPE);        // 0x8C13
      InsertEnumString(GL_TEXTURE_DEPTH_TYPE);        // 0x8C16
      InsertEnumString(GL_TEXTURE_SHARED_SIZE);       // 0x8C3F
      InsertEnumString(GL_SAMPLE_POSITION);       // 0x8E50
      InsertEnumString(GL_SAMPLE_MASK);       // 0x8E51
      InsertEnumString(GL_SAMPLE_MASK_VALUE);     // 0x8E52
      InsertEnumString(GL_MAX_SAMPLE_MASK_WORDS);     // 0x8E59
      InsertEnumString(GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET);     // 0x8E5E
      InsertEnumString(GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET);     // 0x8E5F
      InsertEnumString(GL_MAX_IMAGE_UNITS);       // 0x8F38
      InsertEnumString(GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES);      // 0x8F39
      InsertEnumString(GL_IMAGE_BINDING_NAME);        // 0x8F3A
      InsertEnumString(GL_IMAGE_BINDING_LEVEL);       // 0x8F3B
      InsertEnumString(GL_IMAGE_BINDING_LAYERED);     // 0x8F3C
      InsertEnumString(GL_IMAGE_BINDING_LAYER);       // 0x8F3D
      InsertEnumString(GL_IMAGE_BINDING_ACCESS);      // 0x8F3E
      InsertEnumString(GL_DRAW_INDIRECT_BUFFER);      // 0x8F3F
      InsertEnumString(GL_DRAW_INDIRECT_BUFFER_BINDING);      // 0x8F43
      InsertEnumString(GL_VERTEX_BINDING_BUFFER);     // 0x8F4F
      InsertEnumString(GL_IMAGE_2D);      // 0x904D
      InsertEnumString(GL_IMAGE_3D);      // 0x904E
      InsertEnumString(GL_IMAGE_CUBE);        // 0x9050
      InsertEnumString(GL_IMAGE_2D_ARRAY);        // 0x9053
      InsertEnumString(GL_INT_IMAGE_2D);      // 0x9058
      InsertEnumString(GL_INT_IMAGE_3D);      // 0x9059
      InsertEnumString(GL_INT_IMAGE_CUBE);        // 0x905B
      InsertEnumString(GL_INT_IMAGE_2D_ARRAY);        // 0x905E
      InsertEnumString(GL_UNSIGNED_INT_IMAGE_2D);     // 0x9063
      InsertEnumString(GL_UNSIGNED_INT_IMAGE_3D);     // 0x9064
      InsertEnumString(GL_UNSIGNED_INT_IMAGE_CUBE);       // 0x9066
      InsertEnumString(GL_UNSIGNED_INT_IMAGE_2D_ARRAY);       // 0x9069
      InsertEnumString(GL_IMAGE_BINDING_FORMAT);      // 0x906E
      InsertEnumString(GL_IMAGE_FORMAT_COMPATIBILITY_TYPE);       // 0x90C7
      InsertEnumString(GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE);        // 0x90C8
      InsertEnumString(GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS);       // 0x90C9
      InsertEnumString(GL_MAX_VERTEX_IMAGE_UNIFORMS);     // 0x90CA
      InsertEnumString(GL_MAX_FRAGMENT_IMAGE_UNIFORMS);       // 0x90CE
      InsertEnumString(GL_MAX_COMBINED_IMAGE_UNIFORMS);       // 0x90CF
      InsertEnumString(GL_SHADER_STORAGE_BUFFER);     // 0x90D2
      InsertEnumString(GL_SHADER_STORAGE_BUFFER_BINDING);     // 0x90D3
      InsertEnumString(GL_SHADER_STORAGE_BUFFER_START);       // 0x90D4
      InsertEnumString(GL_SHADER_STORAGE_BUFFER_SIZE);        // 0x90D5
      InsertEnumString(GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS);      // 0x90D6
      InsertEnumString(GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS);        // 0x90DA
      InsertEnumString(GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS);     // 0x90DB
      InsertEnumString(GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS);        // 0x90DC
      InsertEnumString(GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS);        // 0x90DD
      InsertEnumString(GL_MAX_SHADER_STORAGE_BLOCK_SIZE);     // 0x90DE
      InsertEnumString(GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT);        // 0x90DF
      InsertEnumString(GL_DEPTH_STENCIL_TEXTURE_MODE);        // 0x90EA
      InsertEnumString(GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS);        // 0x90EB
      InsertEnumString(GL_DISPATCH_INDIRECT_BUFFER);      // 0x90EE
      InsertEnumString(GL_DISPATCH_INDIRECT_BUFFER_BINDING);      // 0x90EF
      InsertEnumString(GL_TEXTURE_BINDING_2D_MULTISAMPLE);        // 0x9104
      InsertEnumString(GL_TEXTURE_SAMPLES);       // 0x9106
      InsertEnumString(GL_TEXTURE_FIXED_SAMPLE_LOCATIONS);        // 0x9107
      InsertEnumString(GL_SAMPLER_2D_MULTISAMPLE);        // 0x9108
      InsertEnumString(GL_INT_SAMPLER_2D_MULTISAMPLE);        // 0x9109
      InsertEnumString(GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE);       // 0x910A
      InsertEnumString(GL_MAX_COLOR_TEXTURE_SAMPLES);     // 0x910E
      InsertEnumString(GL_MAX_DEPTH_TEXTURE_SAMPLES);     // 0x910F
      InsertEnumString(GL_MAX_INTEGER_SAMPLES);       // 0x9110
      InsertEnumString(GL_COMPUTE_SHADER);        // 0x91B9
      InsertEnumString(GL_MAX_COMPUTE_UNIFORM_BLOCKS);        // 0x91BB
      InsertEnumString(GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS);       // 0x91BC
      InsertEnumString(GL_MAX_COMPUTE_IMAGE_UNIFORMS);        // 0x91BD
      InsertEnumString(GL_MAX_COMPUTE_WORK_GROUP_COUNT);      // 0x91BE
      InsertEnumString(GL_MAX_COMPUTE_WORK_GROUP_SIZE);       // 0x91BF
      InsertEnumString(GL_ATOMIC_COUNTER_BUFFER);     // 0x92C0
      InsertEnumString(GL_ATOMIC_COUNTER_BUFFER_BINDING);     // 0x92C1
      InsertEnumString(GL_ATOMIC_COUNTER_BUFFER_START);       // 0x92C2
      InsertEnumString(GL_ATOMIC_COUNTER_BUFFER_SIZE);        // 0x92C3
      InsertEnumString(GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS);     // 0x92CC
      InsertEnumString(GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS);       // 0x92D0
      InsertEnumString(GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS);       // 0x92D1
      InsertEnumString(GL_MAX_VERTEX_ATOMIC_COUNTERS);        // 0x92D2
      InsertEnumString(GL_MAX_FRAGMENT_ATOMIC_COUNTERS);      // 0x92D6
      InsertEnumString(GL_MAX_COMBINED_ATOMIC_COUNTERS);      // 0x92D7
      InsertEnumString(GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE);        // 0x92D8
      InsertEnumString(GL_ACTIVE_ATOMIC_COUNTER_BUFFERS);     // 0x92D9
      InsertEnumString(GL_UNSIGNED_INT_ATOMIC_COUNTER);       // 0x92DB
      InsertEnumString(GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS);        // 0x92DC
      InsertEnumString(GL_UNIFORM);       // 0x92E1
      InsertEnumString(GL_UNIFORM_BLOCK);     // 0x92E2
      InsertEnumString(GL_PROGRAM_INPUT);     // 0x92E3
      InsertEnumString(GL_PROGRAM_OUTPUT);        // 0x92E4
      InsertEnumString(GL_BUFFER_VARIABLE);       // 0x92E5
      InsertEnumString(GL_SHADER_STORAGE_BLOCK);      // 0x92E6
      InsertEnumString(GL_TRANSFORM_FEEDBACK_VARYING);        // 0x92F4
      InsertEnumString(GL_ACTIVE_RESOURCES);      // 0x92F5
      InsertEnumString(GL_MAX_NAME_LENGTH);       // 0x92F6
      InsertEnumString(GL_MAX_NUM_ACTIVE_VARIABLES);      // 0x92F7
      InsertEnumString(GL_NAME_LENGTH);       // 0x92F9
      InsertEnumString(GL_TYPE);      // 0x92FA
      InsertEnumString(GL_ARRAY_SIZE);        // 0x92FB
      InsertEnumString(GL_OFFSET);        // 0x92FC
      InsertEnumString(GL_BLOCK_INDEX);       // 0x92FD
      InsertEnumString(GL_ARRAY_STRIDE);      // 0x92FE
      InsertEnumString(GL_MATRIX_STRIDE);     // 0x92FF
      InsertEnumString(GL_IS_ROW_MAJOR);      // 0x9300
      InsertEnumString(GL_ATOMIC_COUNTER_BUFFER_INDEX);       // 0x9301
      InsertEnumString(GL_BUFFER_BINDING);        // 0x9302
      InsertEnumString(GL_BUFFER_DATA_SIZE);      // 0x9303
      InsertEnumString(GL_NUM_ACTIVE_VARIABLES);      // 0x9304
      InsertEnumString(GL_ACTIVE_VARIABLES);      // 0x9305
      InsertEnumString(GL_REFERENCED_BY_VERTEX_SHADER);       // 0x9306
      InsertEnumString(GL_REFERENCED_BY_FRAGMENT_SHADER);     // 0x930A
      InsertEnumString(GL_REFERENCED_BY_COMPUTE_SHADER);      // 0x930B
      InsertEnumString(GL_TOP_LEVEL_ARRAY_SIZE);      // 0x930C
      InsertEnumString(GL_TOP_LEVEL_ARRAY_STRIDE);        // 0x930D
      InsertEnumString(GL_LOCATION);      // 0x930E
      InsertEnumString(GL_FRAMEBUFFER_DEFAULT_WIDTH);     // 0x9310
      InsertEnumString(GL_FRAMEBUFFER_DEFAULT_HEIGHT);        // 0x9311
      InsertEnumString(GL_FRAMEBUFFER_DEFAULT_SAMPLES);       // 0x9313
      InsertEnumString(GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS);        // 0x9314
      InsertEnumString(GL_MAX_FRAMEBUFFER_WIDTH);     // 0x9315
      InsertEnumString(GL_MAX_FRAMEBUFFER_HEIGHT);        // 0x9316
      InsertEnumString(GL_MAX_FRAMEBUFFER_SAMPLES);       // 0x9318
  
      /* GLES 3.2 enums */
      InsertEnumString(GL_CONTEXT_LOST);      // 0x0507
      InsertEnumString(GL_TEXTURE_BORDER_COLOR);      // 0x1004
      InsertEnumString(GL_CLAMP_TO_BORDER);       // 0x812D
      InsertEnumString(GL_CONTEXT_FLAGS);     // 0x821E
      InsertEnumString(GL_DEBUG_OUTPUT_SYNCHRONOUS);      // 0x8242
      InsertEnumString(GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH);      // 0x8243
      InsertEnumString(GL_DEBUG_CALLBACK_FUNCTION);       // 0x8244
      InsertEnumString(GL_DEBUG_CALLBACK_USER_PARAM);     // 0x8245
      InsertEnumString(GL_DEBUG_SOURCE_API);      // 0x8246
      InsertEnumString(GL_DEBUG_SOURCE_WINDOW_SYSTEM);        // 0x8247
      InsertEnumString(GL_DEBUG_SOURCE_SHADER_COMPILER);      // 0x8248
      InsertEnumString(GL_DEBUG_SOURCE_THIRD_PARTY);      // 0x8249
      InsertEnumString(GL_DEBUG_SOURCE_APPLICATION);      // 0x824A
      InsertEnumString(GL_DEBUG_SOURCE_OTHER);        // 0x824B
      InsertEnumString(GL_DEBUG_TYPE_ERROR);      // 0x824C
      InsertEnumString(GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR);        // 0x824D
      InsertEnumString(GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR);     // 0x824E
      InsertEnumString(GL_DEBUG_TYPE_PORTABILITY);        // 0x824F
      InsertEnumString(GL_DEBUG_TYPE_PERFORMANCE);        // 0x8250
      InsertEnumString(GL_DEBUG_TYPE_OTHER);      // 0x8251
      InsertEnumString(GL_LOSE_CONTEXT_ON_RESET);     // 0x8252
      InsertEnumString(GL_GUILTY_CONTEXT_RESET);      // 0x8253
      InsertEnumString(GL_INNOCENT_CONTEXT_RESET);        // 0x8254
      InsertEnumString(GL_UNKNOWN_CONTEXT_RESET);     // 0x8255
      InsertEnumString(GL_RESET_NOTIFICATION_STRATEGY);       // 0x8256
      InsertEnumString(GL_LAYER_PROVOKING_VERTEX);        // 0x825E
      InsertEnumString(GL_UNDEFINED_VERTEX);      // 0x8260
      InsertEnumString(GL_NO_RESET_NOTIFICATION);     // 0x8261
      InsertEnumString(GL_DEBUG_TYPE_MARKER);     // 0x8268
      InsertEnumString(GL_DEBUG_TYPE_PUSH_GROUP);     // 0x8269
      InsertEnumString(GL_DEBUG_TYPE_POP_GROUP);      // 0x826A
      InsertEnumString(GL_DEBUG_SEVERITY_NOTIFICATION);       // 0x826B
      InsertEnumString(GL_MAX_DEBUG_GROUP_STACK_DEPTH);       // 0x826C
      InsertEnumString(GL_DEBUG_GROUP_STACK_DEPTH);       // 0x826D
      InsertEnumString(GL_BUFFER);        // 0x82E0
      InsertEnumString(GL_SHADER);        // 0x82E1
      InsertEnumString(GL_PROGRAM);       // 0x82E2
      InsertEnumString(GL_QUERY);     // 0x82E3
      InsertEnumString(GL_PROGRAM_PIPELINE);      // 0x82E4
      InsertEnumString(GL_MAX_LABEL_LENGTH);      // 0x82E8
      InsertEnumString(GL_MAX_TESS_CONTROL_INPUT_COMPONENTS);     // 0x886C
      InsertEnumString(GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS);      // 0x886D
      InsertEnumString(GL_GEOMETRY_SHADER_INVOCATIONS);       // 0x887F
      InsertEnumString(GL_GEOMETRY_VERTICES_OUT);     // 0x8916
      InsertEnumString(GL_GEOMETRY_INPUT_TYPE);       // 0x8917
      InsertEnumString(GL_GEOMETRY_OUTPUT_TYPE);      // 0x8918
      InsertEnumString(GL_MAX_GEOMETRY_UNIFORM_BLOCKS);       // 0x8A2C
      InsertEnumString(GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS);      // 0x8A32
      InsertEnumString(GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS);      // 0x8C29
      InsertEnumString(GL_TEXTURE_BUFFER);        // 0x8C2A
      InsertEnumString(GL_MAX_TEXTURE_BUFFER_SIZE);       // 0x8C2B
      InsertEnumString(GL_TEXTURE_BINDING_BUFFER);        // 0x8C2C
      InsertEnumString(GL_TEXTURE_BUFFER_DATA_STORE_BINDING);     // 0x8C2D
      InsertEnumString(GL_SAMPLE_SHADING);        // 0x8C36
      InsertEnumString(GL_MIN_SAMPLE_SHADING_VALUE);      // 0x8C37
      InsertEnumString(GL_PRIMITIVES_GENERATED);      // 0x8C87
      InsertEnumString(GL_FRAMEBUFFER_ATTACHMENT_LAYERED);        // 0x8DA7
      InsertEnumString(GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS);      // 0x8DA8
      InsertEnumString(GL_SAMPLER_BUFFER);        // 0x8DC2
      InsertEnumString(GL_INT_SAMPLER_BUFFER);        // 0x8DD0
      InsertEnumString(GL_UNSIGNED_INT_SAMPLER_BUFFER);       // 0x8DD8
      InsertEnumString(GL_GEOMETRY_SHADER);       // 0x8DD9
      InsertEnumString(GL_MAX_GEOMETRY_UNIFORM_COMPONENTS);       // 0x8DDF
      InsertEnumString(GL_MAX_GEOMETRY_OUTPUT_VERTICES);      // 0x8DE0
      InsertEnumString(GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS);      // 0x8DE1
      InsertEnumString(GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS);      // 0x8E1E
      InsertEnumString(GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS);       // 0x8E1F
      InsertEnumString(GL_FIRST_VERTEX_CONVENTION);       // 0x8E4D
      InsertEnumString(GL_LAST_VERTEX_CONVENTION);        // 0x8E4E
      InsertEnumString(GL_MAX_GEOMETRY_SHADER_INVOCATIONS);       // 0x8E5A
      InsertEnumString(GL_MIN_FRAGMENT_INTERPOLATION_OFFSET);     // 0x8E5B
      InsertEnumString(GL_MAX_FRAGMENT_INTERPOLATION_OFFSET);     // 0x8E5C
      InsertEnumString(GL_FRAGMENT_INTERPOLATION_OFFSET_BITS);        // 0x8E5D
      InsertEnumString(GL_PATCH_VERTICES);        // 0x8E72
      InsertEnumString(GL_TESS_CONTROL_OUTPUT_VERTICES);      // 0x8E75
      InsertEnumString(GL_TESS_GEN_MODE);     // 0x8E76
      InsertEnumString(GL_TESS_GEN_SPACING);      // 0x8E77
      InsertEnumString(GL_TESS_GEN_VERTEX_ORDER);     // 0x8E78
      InsertEnumString(GL_TESS_GEN_POINT_MODE);       // 0x8E79
      InsertEnumString(GL_FRACTIONAL_ODD);        // 0x8E7B
      InsertEnumString(GL_FRACTIONAL_EVEN);       // 0x8E7C
      InsertEnumString(GL_MAX_PATCH_VERTICES);        // 0x8E7D
      InsertEnumString(GL_MAX_TESS_GEN_LEVEL);        // 0x8E7E
      InsertEnumString(GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS);       // 0x8E7F
      InsertEnumString(GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS);        // 0x8E80
      InsertEnumString(GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS);      // 0x8E81
      InsertEnumString(GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS);       // 0x8E82
      InsertEnumString(GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS);        // 0x8E83
      InsertEnumString(GL_MAX_TESS_PATCH_COMPONENTS);     // 0x8E84
      InsertEnumString(GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS);      // 0x8E85
      InsertEnumString(GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS);     // 0x8E86
      InsertEnumString(GL_TESS_EVALUATION_SHADER);        // 0x8E87
      InsertEnumString(GL_TESS_CONTROL_SHADER);       // 0x8E88
      InsertEnumString(GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS);       // 0x8E89
      InsertEnumString(GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS);        // 0x8E8A
      InsertEnumString(GL_TEXTURE_CUBE_MAP_ARRAY);        // 0x9009
      InsertEnumString(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY);        // 0x900A
      InsertEnumString(GL_SAMPLER_CUBE_MAP_ARRAY);        // 0x900C
      InsertEnumString(GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW);     // 0x900D
      InsertEnumString(GL_INT_SAMPLER_CUBE_MAP_ARRAY);        // 0x900E
      InsertEnumString(GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY);       // 0x900F
      InsertEnumString(GL_IMAGE_BUFFER);      // 0x9051
      InsertEnumString(GL_IMAGE_CUBE_MAP_ARRAY);      // 0x9054
      InsertEnumString(GL_INT_IMAGE_BUFFER);      // 0x905C
      InsertEnumString(GL_INT_IMAGE_CUBE_MAP_ARRAY);      // 0x905F
      InsertEnumString(GL_UNSIGNED_INT_IMAGE_BUFFER);     // 0x9067
      InsertEnumString(GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY);     // 0x906A
      InsertEnumString(GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS);       // 0x90CB
      InsertEnumString(GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS);        // 0x90CC
      InsertEnumString(GL_MAX_GEOMETRY_IMAGE_UNIFORMS);       // 0x90CD
      InsertEnumString(GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS);        // 0x90D7
      InsertEnumString(GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS);        // 0x90D8
      InsertEnumString(GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS);     // 0x90D9
      InsertEnumString(GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY);      // 0x9105
      InsertEnumString(GL_SAMPLER_2D_MULTISAMPLE_ARRAY);      // 0x910B
      InsertEnumString(GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY);      // 0x910C
      InsertEnumString(GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY);     // 0x910D
      InsertEnumString(GL_MAX_GEOMETRY_INPUT_COMPONENTS);     // 0x9123
      InsertEnumString(GL_MAX_GEOMETRY_OUTPUT_COMPONENTS);        // 0x9124
      InsertEnumString(GL_MAX_DEBUG_MESSAGE_LENGTH);      // 0x9143
      InsertEnumString(GL_MAX_DEBUG_LOGGED_MESSAGES);     // 0x9144
      InsertEnumString(GL_DEBUG_LOGGED_MESSAGES);     // 0x9145
      InsertEnumString(GL_DEBUG_SEVERITY_HIGH);       // 0x9146
      InsertEnumString(GL_DEBUG_SEVERITY_MEDIUM);     // 0x9147
      InsertEnumString(GL_DEBUG_SEVERITY_LOW);        // 0x9148
      InsertEnumString(GL_TEXTURE_BUFFER_OFFSET);     // 0x919D
      InsertEnumString(GL_TEXTURE_BUFFER_SIZE);       // 0x919E
      InsertEnumString(GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT);       // 0x919F
      InsertEnumString(GL_MULTIPLY);      // 0x9294
      InsertEnumString(GL_SCREEN);        // 0x9295
      InsertEnumString(GL_OVERLAY);       // 0x9296
      InsertEnumString(GL_DARKEN);        // 0x9297
      InsertEnumString(GL_LIGHTEN);       // 0x9298
      InsertEnumString(GL_COLORDODGE);        // 0x9299
      InsertEnumString(GL_COLORBURN);     // 0x929A
      InsertEnumString(GL_HARDLIGHT);     // 0x929B
      InsertEnumString(GL_SOFTLIGHT);     // 0x929C
      InsertEnumString(GL_DIFFERENCE);        // 0x929E
      InsertEnumString(GL_EXCLUSION);     // 0x92A0
      InsertEnumString(GL_HSL_HUE);       // 0x92AD
      InsertEnumString(GL_HSL_SATURATION);        // 0x92AE
      InsertEnumString(GL_HSL_COLOR);     // 0x92AF
      InsertEnumString(GL_HSL_LUMINOSITY);        // 0x92B0
      InsertEnumString(GL_PRIMITIVE_BOUNDING_BOX);        // 0x92BE
      InsertEnumString(GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS);       // 0x92CD
      InsertEnumString(GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS);        // 0x92CE
      InsertEnumString(GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS);       // 0x92CF
      InsertEnumString(GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS);      // 0x92D3
      InsertEnumString(GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS);       // 0x92D4
      InsertEnumString(GL_MAX_GEOMETRY_ATOMIC_COUNTERS);      // 0x92D5
      InsertEnumString(GL_DEBUG_OUTPUT);      // 0x92E0
      InsertEnumString(GL_IS_PER_PATCH);      // 0x92E7
      InsertEnumString(GL_REFERENCED_BY_TESS_CONTROL_SHADER);     // 0x9307
      InsertEnumString(GL_REFERENCED_BY_TESS_EVALUATION_SHADER);      // 0x9308
      InsertEnumString(GL_REFERENCED_BY_GEOMETRY_SHADER);     // 0x9309
      InsertEnumString(GL_FRAMEBUFFER_DEFAULT_LAYERS);        // 0x9312
      InsertEnumString(GL_MAX_FRAMEBUFFER_LAYERS);        // 0x9317
      InsertEnumString(GL_MULTISAMPLE_LINE_WIDTH_RANGE);      // 0x9381
      InsertEnumString(GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY);        // 0x9382
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_4x4);      // 0x93B0
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_5x4);      // 0x93B1
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_5x5);      // 0x93B2
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_6x5);      // 0x93B3
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_6x6);      // 0x93B4
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_8x5);      // 0x93B5
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_8x6);      // 0x93B6
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_8x8);      // 0x93B7
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_10x5);     // 0x93B8
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_10x6);     // 0x93B9
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_10x8);     // 0x93BA
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_10x10);        // 0x93BB
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_12x10);        // 0x93BC
      InsertEnumString(GL_COMPRESSED_RGBA_ASTC_12x12);        // 0x93BD
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4);      // 0x93D0
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4);      // 0x93D1
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5);      // 0x93D2
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5);      // 0x93D3
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6);      // 0x93D4
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5);      // 0x93D5
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6);      // 0x93D6
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8);      // 0x93D7
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5);     // 0x93D8
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6);     // 0x93D9
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8);     // 0x93DA
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10);        // 0x93DB
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10);        // 0x93DC
      InsertEnumString(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12);        // 0x93DD
  
      /* GL_OES_packed_depth_stencil */
      // For glTex[Sub]Image2D
      InsertEnumString(GL_DEPTH_STENCIL_OES);
      InsertEnumString(GL_UNSIGNED_INT_24_8_OES);
      // For renderbuffer storage
      InsertEnumString(GL_DEPTH24_STENCIL8_OES);
  
      /* GL_EXT_multisampled_render_to_texture */
      InsertEnumString(GL_RENDERBUFFER_SAMPLES_EXT);
      InsertEnumString(GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT);
      InsertEnumString(GL_MAX_SAMPLES_EXT);
  
      /* GL_EXT_texture_format_BGRA8888 */
      InsertEnumString(GL_BGRA_EXT);
  
      InsertDrawEnumString(GL_LINES_ADJACENCY);
      InsertDrawEnumString(GL_LINE_STRIP_ADJACENCY);
      InsertDrawEnumString(GL_TRIANGLES_ADJACENCY);
      InsertDrawEnumString(GL_TRIANGLE_STRIP_ADJACENCY);
      InsertDrawEnumString(GL_ISOLINES);
      //InsertDrawEnumString(GL_QUADS);
      InsertDrawEnumString(GL_PATCHES);
  
      InsertDrawEnumString(GL_POINTS);
      InsertDrawEnumString(GL_LINES);
      InsertDrawEnumString(GL_LINE_LOOP);
      InsertDrawEnumString(GL_LINE_STRIP);
      InsertDrawEnumString(GL_TRIANGLES);
      InsertDrawEnumString(GL_TRIANGLE_STRIP);
      InsertDrawEnumString(GL_TRIANGLE_FAN);
      InsertDrawEnumString(GL_QUADS);     //0x0007
      InsertDrawEnumString(GL_BYTE);
      InsertDrawEnumString(GL_UNSIGNED_BYTE);
      InsertDrawEnumString(GL_SHORT);
      InsertDrawEnumString(GL_UNSIGNED_SHORT);
      InsertDrawEnumString(GL_INT);
      InsertDrawEnumString(GL_UNSIGNED_INT);
  
      // KHR_debug
      InsertEnumString(GL_DEBUG_OUTPUT_KHR);
      InsertEnumString(GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR);
      InsertEnumString(GL_MAX_DEBUG_MESSAGE_LENGTH_KHR);
      InsertEnumString(GL_MAX_DEBUG_LOGGED_MESSAGES_KHR);
      InsertEnumString(GL_DEBUG_LOGGED_MESSAGES_KHR);
      InsertEnumString(GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR);
      InsertEnumString(GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR);
      InsertEnumString(GL_DEBUG_GROUP_STACK_DEPTH_KHR);
      InsertEnumString(GL_MAX_LABEL_LENGTH_KHR);
      InsertEnumString(GL_DEBUG_CALLBACK_FUNCTION_KHR);
      InsertEnumString(GL_DEBUG_CALLBACK_USER_PARAM_KHR);
      InsertEnumString(GL_DEBUG_SOURCE_API_KHR);
      InsertEnumString(GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR);
      InsertEnumString(GL_DEBUG_SOURCE_SHADER_COMPILER_KHR);
      InsertEnumString(GL_DEBUG_SOURCE_THIRD_PARTY_KHR);
      InsertEnumString(GL_DEBUG_SOURCE_APPLICATION_KHR);
      InsertEnumString(GL_DEBUG_SOURCE_OTHER_KHR);
      InsertEnumString(GL_DEBUG_TYPE_ERROR_KHR);
      InsertEnumString(GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR);
      InsertEnumString(GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR);
      InsertEnumString(GL_DEBUG_TYPE_PORTABILITY_KHR);
      InsertEnumString(GL_DEBUG_TYPE_PERFORMANCE_KHR);
      InsertEnumString(GL_DEBUG_TYPE_OTHER_KHR);
      InsertEnumString(GL_DEBUG_TYPE_MARKER_KHR);
      InsertEnumString(GL_DEBUG_TYPE_PUSH_GROUP_KHR);
      InsertEnumString(GL_DEBUG_TYPE_POP_GROUP_KHR);
      InsertEnumString(GL_DEBUG_SEVERITY_HIGH_KHR);
      InsertEnumString(GL_DEBUG_SEVERITY_MEDIUM_KHR);
      InsertEnumString(GL_DEBUG_SEVERITY_LOW_KHR);
      InsertEnumString(GL_DEBUG_SEVERITY_NOTIFICATION_KHR);
      InsertEnumString(GL_STACK_UNDERFLOW);
      InsertEnumString(GL_STACK_OVERFLOW);
      InsertEnumString(GL_BUFFER_KHR);
      InsertEnumString(GL_SHADER_KHR);
      InsertEnumString(GL_PROGRAM_KHR);
      InsertEnumString(GL_QUERY_KHR);
      InsertEnumString(GL_PROGRAM_PIPELINE);
      InsertEnumString(GL_SAMPLER);
  
      sInitedEnumMap = true;
  }
  
  }
  
  const char * EnumString(unsigned int enumToFind, const std::string &funName)
  {
      if ( !sInitedEnumMap ) InitEnumMap();
  
      if (funName.compare(0, 3, "egl") == 0)
      {
          const auto& citer = sEglEnumMap.find(enumToFind);
          if (citer != sEglEnumMap.end())
          {
              return citer->second;
          }
      }
  
      if (funName.find("glBlend") != std::string::npos) // needs special handling
      {
          if (enumToFind == GL_ZERO)
          {
              return "GL_ZERO";
          }
          else if (enumToFind == GL_ONE)
          {
              return "GL_ONE";
          }
      }
  
      if (funName.find("glTexParameter") != std::string::npos) // texturing, needs special handling
      {
          if (enumToFind == GL_NONE)
          {
              return "GL_NONE";
          }
      }
  
      if (funName.find("glDraw") != std::string::npos)
      {
          const auto& citer = sDrawEnumMap.find(enumToFind);
          if (citer != sDrawEnumMap.end())
          {
              return citer->second;
          }
      }
  
      if (funName == "glGetError")
      {
          return "GL_NO_ERROR";
      }
  
      const auto& citer = sEnumMap.find(enumToFind);
      if (citer != sEnumMap.end())
      {
          return citer->second;
      }
  
      return NULL;
  }
  
  const std::string Cube2D::asString() const
  {
      char buffer[128];
      sprintf(buffer, "x:%d y:%d width:%d height:%d", x, y, width, height);
      return buffer;
  }
  