/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 *
 * Generated from Khronos EGL API description (egl.xml) revision 33315.
 */

static const char* s_EGL14[] =
{
	"eglBindAPI",
	"eglBindTexImage",
	"eglChooseConfig",
	"eglCopyBuffers",
	"eglCreateContext",
	"eglCreatePbufferFromClientBuffer",
	"eglCreatePbufferSurface",
	"eglCreatePixmapSurface",
	"eglCreateWindowSurface",
	"eglDestroyContext",
	"eglDestroySurface",
	"eglGetConfigAttrib",
	"eglGetConfigs",
	"eglGetCurrentContext",
	"eglGetCurrentDisplay",
	"eglGetCurrentSurface",
	"eglGetDisplay",
	"eglGetError",
	"eglGetProcAddress",
	"eglInitialize",
	"eglMakeCurrent",
	"eglQueryAPI",
	"eglQueryContext",
	"eglQueryString",
	"eglQuerySurface",
	"eglReleaseTexImage",
	"eglReleaseThread",
	"eglSurfaceAttrib",
	"eglSwapBuffers",
	"eglSwapInterval",
	"eglTerminate",
	"eglWaitClient",
	"eglWaitGL",
	"eglWaitNative",
};

static const char* s_GLES10[] =
{
	"glActiveTexture",
	"glAlphaFunc",
	"glAlphaFuncx",
	"glBindBuffer",
	"glBindTexture",
	"glBlendFunc",
	"glBufferData",
	"glBufferSubData",
	"glClear",
	"glClearColor",
	"glClearColorx",
	"glClearDepthf",
	"glClearDepthx",
	"glClearStencil",
	"glClientActiveTexture",
	"glClipPlanef",
	"glClipPlanex",
	"glColor4f",
	"glColor4ub",
	"glColor4x",
	"glColorMask",
	"glColorPointer",
	"glCompressedTexImage2D",
	"glCompressedTexSubImage2D",
	"glCopyTexImage2D",
	"glCopyTexSubImage2D",
	"glCullFace",
	"glDeleteBuffers",
	"glDeleteTextures",
	"glDepthFunc",
	"glDepthMask",
	"glDepthRangef",
	"glDepthRangex",
	"glDisable",
	"glDisableClientState",
	"glDrawArrays",
	"glDrawElements",
	"glEnable",
	"glEnableClientState",
	"glFinish",
	"glFlush",
	"glFogf",
	"glFogfv",
	"glFogx",
	"glFogxv",
	"glFrontFace",
	"glFrustumf",
	"glFrustumx",
	"glGenBuffers",
	"glGenTextures",
	"glGetBooleanv",
	"glGetBufferParameteriv",
	"glGetClipPlanef",
	"glGetClipPlanex",
	"glGetError",
	"glGetFixedv",
	"glGetFloatv",
	"glGetIntegerv",
	"glGetLightfv",
	"glGetLightxv",
	"glGetMaterialfv",
	"glGetMaterialxv",
	"glGetPointerv",
	"glGetString",
	"glGetTexEnvfv",
	"glGetTexEnviv",
	"glGetTexEnvxv",
	"glGetTexParameterfv",
	"glGetTexParameteriv",
	"glGetTexParameterxv",
	"glHint",
	"glIsBuffer",
	"glIsEnabled",
	"glIsTexture",
	"glLightModelf",
	"glLightModelfv",
	"glLightModelx",
	"glLightModelxv",
	"glLightf",
	"glLightfv",
	"glLightx",
	"glLightxv",
	"glLineWidth",
	"glLineWidthx",
	"glLoadIdentity",
	"glLoadMatrixf",
	"glLoadMatrixx",
	"glLogicOp",
	"glMaterialf",
	"glMaterialfv",
	"glMaterialx",
	"glMaterialxv",
	"glMatrixMode",
	"glMultMatrixf",
	"glMultMatrixx",
	"glMultiTexCoord4f",
	"glMultiTexCoord4x",
	"glNormal3f",
	"glNormal3x",
	"glNormalPointer",
	"glOrthof",
	"glOrthox",
	"glPixelStorei",
	"glPointParameterf",
	"glPointParameterfv",
	"glPointParameterx",
	"glPointParameterxv",
	"glPointSize",
	"glPointSizex",
	"glPolygonOffset",
	"glPolygonOffsetx",
	"glPopMatrix",
	"glPushMatrix",
	"glReadPixels",
	"glRotatef",
	"glRotatex",
	"glSampleCoverage",
	"glSampleCoveragex",
	"glScalef",
	"glScalex",
	"glScissor",
	"glShadeModel",
	"glStencilFunc",
	"glStencilMask",
	"glStencilOp",
	"glTexCoordPointer",
	"glTexEnvf",
	"glTexEnvfv",
	"glTexEnvi",
	"glTexEnviv",
	"glTexEnvx",
	"glTexEnvxv",
	"glTexImage2D",
	"glTexParameterf",
	"glTexParameterfv",
	"glTexParameteri",
	"glTexParameteriv",
	"glTexParameterx",
	"glTexParameterxv",
	"glTexSubImage2D",
	"glTranslatef",
	"glTranslatex",
	"glVertexPointer",
	"glViewport",
};

static const char* s_GLES20[] =
{
	"glActiveTexture",
	"glAttachShader",
	"glBindAttribLocation",
	"glBindBuffer",
	"glBindFramebuffer",
	"glBindRenderbuffer",
	"glBindTexture",
	"glBlendColor",
	"glBlendEquation",
	"glBlendEquationSeparate",
	"glBlendFunc",
	"glBlendFuncSeparate",
	"glBufferData",
	"glBufferSubData",
	"glCheckFramebufferStatus",
	"glClear",
	"glClearColor",
	"glClearDepthf",
	"glClearStencil",
	"glColorMask",
	"glCompileShader",
	"glCompressedTexImage2D",
	"glCompressedTexSubImage2D",
	"glCopyTexImage2D",
	"glCopyTexSubImage2D",
	"glCreateProgram",
	"glCreateShader",
	"glCullFace",
	"glDeleteBuffers",
	"glDeleteFramebuffers",
	"glDeleteProgram",
	"glDeleteRenderbuffers",
	"glDeleteShader",
	"glDeleteTextures",
	"glDepthFunc",
	"glDepthMask",
	"glDepthRangef",
	"glDetachShader",
	"glDisable",
	"glDisableVertexAttribArray",
	"glDrawArrays",
	"glDrawElements",
	"glEnable",
	"glEnableVertexAttribArray",
	"glFinish",
	"glFlush",
	"glFramebufferRenderbuffer",
	"glFramebufferTexture2D",
	"glFrontFace",
	"glGenBuffers",
	"glGenFramebuffers",
	"glGenRenderbuffers",
	"glGenTextures",
	"glGenerateMipmap",
	"glGetActiveAttrib",
	"glGetActiveUniform",
	"glGetAttachedShaders",
	"glGetAttribLocation",
	"glGetBooleanv",
	"glGetBufferParameteriv",
	"glGetError",
	"glGetFloatv",
	"glGetFramebufferAttachmentParameteriv",
	"glGetIntegerv",
	"glGetProgramInfoLog",
	"glGetProgramiv",
	"glGetRenderbufferParameteriv",
	"glGetShaderInfoLog",
	"glGetShaderPrecisionFormat",
	"glGetShaderSource",
	"glGetShaderiv",
	"glGetString",
	"glGetTexParameterfv",
	"glGetTexParameteriv",
	"glGetUniformLocation",
	"glGetUniformfv",
	"glGetUniformiv",
	"glGetVertexAttribPointerv",
	"glGetVertexAttribfv",
	"glGetVertexAttribiv",
	"glHint",
	"glIsBuffer",
	"glIsEnabled",
	"glIsFramebuffer",
	"glIsProgram",
	"glIsRenderbuffer",
	"glIsShader",
	"glIsTexture",
	"glLineWidth",
	"glLinkProgram",
	"glPixelStorei",
	"glPolygonOffset",
	"glReadPixels",
	"glReleaseShaderCompiler",
	"glRenderbufferStorage",
	"glSampleCoverage",
	"glScissor",
	"glShaderBinary",
	"glShaderSource",
	"glStencilFunc",
	"glStencilFuncSeparate",
	"glStencilMask",
	"glStencilMaskSeparate",
	"glStencilOp",
	"glStencilOpSeparate",
	"glTexImage2D",
	"glTexParameterf",
	"glTexParameterfv",
	"glTexParameteri",
	"glTexParameteriv",
	"glTexSubImage2D",
	"glUniform1f",
	"glUniform1fv",
	"glUniform1i",
	"glUniform1iv",
	"glUniform2f",
	"glUniform2fv",
	"glUniform2i",
	"glUniform2iv",
	"glUniform3f",
	"glUniform3fv",
	"glUniform3i",
	"glUniform3iv",
	"glUniform4f",
	"glUniform4fv",
	"glUniform4i",
	"glUniform4iv",
	"glUniformMatrix2fv",
	"glUniformMatrix3fv",
	"glUniformMatrix4fv",
	"glUseProgram",
	"glValidateProgram",
	"glVertexAttrib1f",
	"glVertexAttrib1fv",
	"glVertexAttrib2f",
	"glVertexAttrib2fv",
	"glVertexAttrib3f",
	"glVertexAttrib3fv",
	"glVertexAttrib4f",
	"glVertexAttrib4fv",
	"glVertexAttribPointer",
	"glViewport",
};

static const char* s_GLES30[] =
{
	"glBeginQuery",
	"glBeginTransformFeedback",
	"glBindBufferBase",
	"glBindBufferRange",
	"glBindSampler",
	"glBindTransformFeedback",
	"glBindVertexArray",
	"glBlitFramebuffer",
	"glClearBufferfi",
	"glClearBufferfv",
	"glClearBufferiv",
	"glClearBufferuiv",
	"glClientWaitSync",
	"glCompressedTexImage3D",
	"glCompressedTexSubImage3D",
	"glCopyBufferSubData",
	"glCopyTexSubImage3D",
	"glDeleteQueries",
	"glDeleteSamplers",
	"glDeleteSync",
	"glDeleteTransformFeedbacks",
	"glDeleteVertexArrays",
	"glDrawArraysInstanced",
	"glDrawBuffers",
	"glDrawElementsInstanced",
	"glDrawRangeElements",
	"glEndQuery",
	"glEndTransformFeedback",
	"glFenceSync",
	"glFlushMappedBufferRange",
	"glFramebufferTextureLayer",
	"glGenQueries",
	"glGenSamplers",
	"glGenTransformFeedbacks",
	"glGenVertexArrays",
	"glGetActiveUniformBlockName",
	"glGetActiveUniformBlockiv",
	"glGetActiveUniformsiv",
	"glGetBufferParameteri64v",
	"glGetBufferPointerv",
	"glGetFragDataLocation",
	"glGetInteger64i_v",
	"glGetInteger64v",
	"glGetIntegeri_v",
	"glGetInternalformativ",
	"glGetProgramBinary",
	"glGetQueryObjectuiv",
	"glGetQueryiv",
	"glGetSamplerParameterfv",
	"glGetSamplerParameteriv",
	"glGetStringi",
	"glGetSynciv",
	"glGetTransformFeedbackVarying",
	"glGetUniformBlockIndex",
	"glGetUniformIndices",
	"glGetUniformuiv",
	"glGetVertexAttribIiv",
	"glGetVertexAttribIuiv",
	"glInvalidateFramebuffer",
	"glInvalidateSubFramebuffer",
	"glIsQuery",
	"glIsSampler",
	"glIsSync",
	"glIsTransformFeedback",
	"glIsVertexArray",
	"glMapBufferRange",
	"glPauseTransformFeedback",
	"glProgramBinary",
	"glProgramParameteri",
	"glReadBuffer",
	"glRenderbufferStorageMultisample",
	"glResumeTransformFeedback",
	"glSamplerParameterf",
	"glSamplerParameterfv",
	"glSamplerParameteri",
	"glSamplerParameteriv",
	"glTexImage3D",
	"glTexStorage2D",
	"glTexStorage3D",
	"glTexSubImage3D",
	"glTransformFeedbackVaryings",
	"glUniform1ui",
	"glUniform1uiv",
	"glUniform2ui",
	"glUniform2uiv",
	"glUniform3ui",
	"glUniform3uiv",
	"glUniform4ui",
	"glUniform4uiv",
	"glUniformBlockBinding",
	"glUniformMatrix2x3fv",
	"glUniformMatrix2x4fv",
	"glUniformMatrix3x2fv",
	"glUniformMatrix3x4fv",
	"glUniformMatrix4x2fv",
	"glUniformMatrix4x3fv",
	"glUnmapBuffer",
	"glVertexAttribDivisor",
	"glVertexAttribI4i",
	"glVertexAttribI4iv",
	"glVertexAttribI4ui",
	"glVertexAttribI4uiv",
	"glVertexAttribIPointer",
	"glWaitSync",
};

static const char* s_EGL_ANDROID_blob_cache[] =
{
	"eglSetBlobCacheFuncsANDROID",
};

static const char* s_EGL_ANDROID_create_native_client_buffer[] =
{
	"eglCreateNativeClientBufferANDROID",
};

static const char* s_EGL_ANDROID_native_fence_sync[] =
{
	"eglDupNativeFenceFDANDROID",
};

static const char* s_EGL_ANDROID_presentation_time[] =
{
	"eglPresentationTimeANDROID",
};

static const char* s_EGL_ANGLE_query_surface_pointer[] =
{
	"eglQuerySurfacePointerANGLE",
};

static const char* s_EGL_EXT_device_base[] =
{
	"eglQueryDeviceAttribEXT",
	"eglQueryDeviceStringEXT",
	"eglQueryDevicesEXT",
	"eglQueryDisplayAttribEXT",
};

static const char* s_EGL_EXT_device_enumeration[] =
{
	"eglQueryDevicesEXT",
};

static const char* s_EGL_EXT_device_query[] =
{
	"eglQueryDeviceAttribEXT",
	"eglQueryDeviceStringEXT",
	"eglQueryDisplayAttribEXT",
};

static const char* s_EGL_EXT_image_dma_buf_import_modifiers[] =
{
	"eglQueryDmaBufFormatsEXT",
	"eglQueryDmaBufModifiersEXT",
};

static const char* s_EGL_EXT_output_base[] =
{
	"eglGetOutputLayersEXT",
	"eglGetOutputPortsEXT",
	"eglOutputLayerAttribEXT",
	"eglOutputPortAttribEXT",
	"eglQueryOutputLayerAttribEXT",
	"eglQueryOutputLayerStringEXT",
	"eglQueryOutputPortAttribEXT",
	"eglQueryOutputPortStringEXT",
};

static const char* s_EGL_EXT_platform_base[] =
{
	"eglCreatePlatformPixmapSurfaceEXT",
	"eglCreatePlatformWindowSurfaceEXT",
	"eglGetPlatformDisplayEXT",
};

static const char* s_EGL_EXT_stream_consumer_egloutput[] =
{
	"eglStreamConsumerOutputEXT",
};

static const char* s_EGL_EXT_swap_buffers_with_damage[] =
{
	"eglSwapBuffersWithDamageEXT",
};

static const char* s_EGL_HI_clientpixmap[] =
{
	"eglCreatePixmapSurfaceHI",
};

static const char* s_EGL_KHR_cl_event2[] =
{
	"eglCreateSync64KHR",
};

static const char* s_EGL_KHR_debug[] =
{
	"eglDebugMessageControlKHR",
	"eglLabelObjectKHR",
	"eglQueryDebugKHR",
};

static const char* s_EGL_KHR_fence_sync[] =
{
	"eglClientWaitSyncKHR",
	"eglCreateSyncKHR",
	"eglDestroySyncKHR",
	"eglGetSyncAttribKHR",
};

static const char* s_EGL_KHR_image[] =
{
	"eglCreateImageKHR",
	"eglDestroyImageKHR",
};

static const char* s_EGL_KHR_image_base[] =
{
	"eglCreateImageKHR",
	"eglDestroyImageKHR",
};

static const char* s_EGL_KHR_lock_surface[] =
{
	"eglLockSurfaceKHR",
	"eglUnlockSurfaceKHR",
};

static const char* s_EGL_KHR_lock_surface3[] =
{
	"eglLockSurfaceKHR",
	"eglQuerySurface64KHR",
	"eglUnlockSurfaceKHR",
};

static const char* s_EGL_KHR_partial_update[] =
{
	"eglSetDamageRegionKHR",
};

static const char* s_EGL_KHR_reusable_sync[] =
{
	"eglClientWaitSyncKHR",
	"eglCreateSyncKHR",
	"eglDestroySyncKHR",
	"eglGetSyncAttribKHR",
	"eglSignalSyncKHR",
};

static const char* s_EGL_KHR_stream[] =
{
	"eglCreateStreamKHR",
	"eglDestroyStreamKHR",
	"eglQueryStreamKHR",
	"eglQueryStreamu64KHR",
	"eglStreamAttribKHR",
};

static const char* s_EGL_KHR_stream_attrib[] =
{
	"eglCreateStreamAttribKHR",
	"eglQueryStreamAttribKHR",
	"eglSetStreamAttribKHR",
	"eglStreamConsumerAcquireAttribKHR",
	"eglStreamConsumerReleaseAttribKHR",
};

static const char* s_EGL_KHR_stream_consumer_gltexture[] =
{
	"eglStreamConsumerAcquireKHR",
	"eglStreamConsumerGLTextureExternalKHR",
	"eglStreamConsumerReleaseKHR",
};

static const char* s_EGL_KHR_stream_cross_process_fd[] =
{
	"eglCreateStreamFromFileDescriptorKHR",
	"eglGetStreamFileDescriptorKHR",
};

static const char* s_EGL_KHR_stream_fifo[] =
{
	"eglQueryStreamTimeKHR",
};

static const char* s_EGL_KHR_stream_producer_eglsurface[] =
{
	"eglCreateStreamProducerSurfaceKHR",
};

static const char* s_EGL_KHR_swap_buffers_with_damage[] =
{
	"eglSwapBuffersWithDamageKHR",
};

static const char* s_EGL_KHR_wait_sync[] =
{
	"eglWaitSyncKHR",
};

static const char* s_EGL_MESA_drm_image[] =
{
	"eglCreateDRMImageMESA",
	"eglExportDRMImageMESA",
};

static const char* s_EGL_MESA_image_dma_buf_export[] =
{
	"eglExportDMABUFImageMESA",
	"eglExportDMABUFImageQueryMESA",
};

static const char* s_EGL_NOK_swap_region[] =
{
	"eglSwapBuffersRegionNOK",
};

static const char* s_EGL_NOK_swap_region2[] =
{
	"eglSwapBuffersRegion2NOK",
};

static const char* s_EGL_NV_native_query[] =
{
	"eglQueryNativeDisplayNV",
	"eglQueryNativePixmapNV",
	"eglQueryNativeWindowNV",
};

static const char* s_EGL_NV_post_sub_buffer[] =
{
	"eglPostSubBufferNV",
};

static const char* s_EGL_NV_stream_consumer_gltexture_yuv[] =
{
	"eglStreamConsumerGLTextureExternalAttribsNV",
};

static const char* s_EGL_NV_stream_metadata[] =
{
	"eglQueryDisplayAttribNV",
	"eglQueryStreamMetadataNV",
	"eglSetStreamMetadataNV",
};

static const char* s_EGL_NV_stream_reset[] =
{
	"eglResetStreamNV",
};

static const char* s_EGL_NV_stream_sync[] =
{
	"eglCreateStreamSyncNV",
};

static const char* s_EGL_NV_sync[] =
{
	"eglClientWaitSyncNV",
	"eglCreateFenceSyncNV",
	"eglDestroySyncNV",
	"eglFenceNV",
	"eglGetSyncAttribNV",
	"eglSignalSyncNV",
};

static const char* s_EGL_NV_system_time[] =
{
	"eglGetSystemTimeFrequencyNV",
	"eglGetSystemTimeNV",
};

static const char* s_GL_APPLE_copy_texture_levels[] =
{
	"glCopyTextureLevelsAPPLE",
};

static const char* s_GL_APPLE_framebuffer_multisample[] =
{
	"glRenderbufferStorageMultisampleAPPLE",
	"glResolveMultisampleFramebufferAPPLE",
};

static const char* s_GL_APPLE_sync[] =
{
	"glClientWaitSyncAPPLE",
	"glDeleteSyncAPPLE",
	"glFenceSyncAPPLE",
	"glGetInteger64vAPPLE",
	"glGetSyncivAPPLE",
	"glIsSyncAPPLE",
	"glWaitSyncAPPLE",
};

static const char* s_GL_EXT_discard_framebuffer[] =
{
	"glDiscardFramebufferEXT",
};

static const char* s_GL_EXT_map_buffer_range[] =
{
	"glFlushMappedBufferRangeEXT",
	"glMapBufferRangeEXT",
};

static const char* s_GL_EXT_multi_draw_arrays[] =
{
	"glMultiDrawArraysEXT",
	"glMultiDrawElementsEXT",
};

static const char* s_GL_EXT_multisampled_render_to_texture[] =
{
	"glFramebufferTexture2DMultisampleEXT",
	"glRenderbufferStorageMultisampleEXT",
};

static const char* s_GL_EXT_robustness[] =
{
	"glGetGraphicsResetStatusEXT",
	"glGetnUniformfvEXT",
	"glGetnUniformivEXT",
	"glReadnPixelsEXT",
};

static const char* s_GL_EXT_texture_storage[] =
{
	"glTexStorage1DEXT",
	"glTexStorage2DEXT",
	"glTexStorage3DEXT",
	"glTextureStorage1DEXT",
	"glTextureStorage2DEXT",
	"glTextureStorage3DEXT",
};

static const char* s_GL_IMG_multisampled_render_to_texture[] =
{
	"glFramebufferTexture2DMultisampleIMG",
	"glRenderbufferStorageMultisampleIMG",
};

static const char* s_GL_IMG_user_clip_plane[] =
{
	"glClipPlanefIMG",
	"glClipPlanexIMG",
};

static const char* s_GL_NV_fence[] =
{
	"glDeleteFencesNV",
	"glFinishFenceNV",
	"glGenFencesNV",
	"glGetFenceivNV",
	"glIsFenceNV",
	"glSetFenceNV",
	"glTestFenceNV",
};

static const char* s_GL_OES_EGL_image[] =
{
	"glEGLImageTargetRenderbufferStorageOES",
	"glEGLImageTargetTexture2DOES",
};

static const char* s_GL_OES_blend_equation_separate[] =
{
	"glBlendEquationSeparateOES",
};

static const char* s_GL_OES_blend_func_separate[] =
{
	"glBlendFuncSeparateOES",
};

static const char* s_GL_OES_blend_subtract[] =
{
	"glBlendEquationOES",
};

static const char* s_GL_OES_draw_texture[] =
{
	"glDrawTexfOES",
	"glDrawTexfvOES",
	"glDrawTexiOES",
	"glDrawTexivOES",
	"glDrawTexsOES",
	"glDrawTexsvOES",
	"glDrawTexxOES",
	"glDrawTexxvOES",
};

static const char* s_GL_OES_fixed_point[] =
{
	"glAlphaFuncxOES",
	"glClearColorxOES",
	"glClearDepthxOES",
	"glClipPlanexOES",
	"glColor4xOES",
	"glDepthRangexOES",
	"glFogxOES",
	"glFogxvOES",
	"glFrustumxOES",
	"glGetClipPlanexOES",
	"glGetFixedvOES",
	"glGetLightxvOES",
	"glGetMaterialxvOES",
	"glGetTexEnvxvOES",
	"glGetTexParameterxvOES",
	"glLightModelxOES",
	"glLightModelxvOES",
	"glLightxOES",
	"glLightxvOES",
	"glLineWidthxOES",
	"glLoadMatrixxOES",
	"glMaterialxOES",
	"glMaterialxvOES",
	"glMultMatrixxOES",
	"glMultiTexCoord4xOES",
	"glNormal3xOES",
	"glOrthoxOES",
	"glPointParameterxOES",
	"glPointParameterxvOES",
	"glPointSizexOES",
	"glPolygonOffsetxOES",
	"glRotatexOES",
	"glSampleCoveragexOES",
	"glScalexOES",
	"glTexEnvxOES",
	"glTexEnvxvOES",
	"glTexParameterxOES",
	"glTexParameterxvOES",
	"glTranslatexOES",
};

static const char* s_GL_OES_framebuffer_object[] =
{
	"glBindFramebufferOES",
	"glBindRenderbufferOES",
	"glCheckFramebufferStatusOES",
	"glDeleteFramebuffersOES",
	"glDeleteRenderbuffersOES",
	"glFramebufferRenderbufferOES",
	"glFramebufferTexture2DOES",
	"glGenFramebuffersOES",
	"glGenRenderbuffersOES",
	"glGenerateMipmapOES",
	"glGetFramebufferAttachmentParameterivOES",
	"glGetRenderbufferParameterivOES",
	"glIsFramebufferOES",
	"glIsRenderbufferOES",
	"glRenderbufferStorageOES",
};

static const char* s_GL_OES_mapbuffer[] =
{
	"glGetBufferPointervOES",
	"glMapBufferOES",
	"glUnmapBufferOES",
};

static const char* s_GL_OES_matrix_palette[] =
{
	"glCurrentPaletteMatrixOES",
	"glLoadPaletteFromModelViewMatrixOES",
	"glMatrixIndexPointerOES",
	"glWeightPointerOES",
};

static const char* s_GL_OES_point_size_array[] =
{
	"glPointSizePointerOES",
};

static const char* s_GL_OES_query_matrix[] =
{
	"glQueryMatrixxOES",
};

static const char* s_GL_OES_single_precision[] =
{
	"glClearDepthfOES",
	"glClipPlanefOES",
	"glDepthRangefOES",
	"glFrustumfOES",
	"glGetClipPlanefOES",
	"glOrthofOES",
};

static const char* s_GL_OES_texture_cube_map[] =
{
	"glGetTexGenfvOES",
	"glGetTexGenivOES",
	"glGetTexGenxvOES",
	"glTexGenfOES",
	"glTexGenfvOES",
	"glTexGeniOES",
	"glTexGenivOES",
	"glTexGenxOES",
	"glTexGenxvOES",
};

static const char* s_GL_OES_vertex_array_object[] =
{
	"glBindVertexArrayOES",
	"glDeleteVertexArraysOES",
	"glGenVertexArraysOES",
	"glIsVertexArrayOES",
};

static const char* s_GL_QCOM_driver_control[] =
{
	"glDisableDriverControlQCOM",
	"glEnableDriverControlQCOM",
	"glGetDriverControlStringQCOM",
	"glGetDriverControlsQCOM",
};

static const char* s_GL_QCOM_extended_get[] =
{
	"glExtGetBufferPointervQCOM",
	"glExtGetBuffersQCOM",
	"glExtGetFramebuffersQCOM",
	"glExtGetRenderbuffersQCOM",
	"glExtGetTexLevelParameterivQCOM",
	"glExtGetTexSubImageQCOM",
	"glExtGetTexturesQCOM",
	"glExtTexObjectStateOverrideiQCOM",
};

static const char* s_GL_QCOM_extended_get2[] =
{
	"glExtGetProgramBinarySourceQCOM",
	"glExtGetProgramsQCOM",
	"glExtGetShadersQCOM",
	"glExtIsProgramBinaryQCOM",
};

static const char* s_GL_QCOM_tiled_rendering[] =
{
	"glEndTilingQCOM",
	"glStartTilingQCOM",
};

static const char* s_GL_AMD_performance_monitor[] =
{
	"glBeginPerfMonitorAMD",
	"glDeletePerfMonitorsAMD",
	"glEndPerfMonitorAMD",
	"glGenPerfMonitorsAMD",
	"glGetPerfMonitorCounterDataAMD",
	"glGetPerfMonitorCounterInfoAMD",
	"glGetPerfMonitorCounterStringAMD",
	"glGetPerfMonitorCountersAMD",
	"glGetPerfMonitorGroupStringAMD",
	"glGetPerfMonitorGroupsAMD",
	"glSelectPerfMonitorCountersAMD",
};

static const char* s_GL_ANGLE_framebuffer_blit[] =
{
	"glBlitFramebufferANGLE",
};

static const char* s_GL_ANGLE_framebuffer_multisample[] =
{
	"glRenderbufferStorageMultisampleANGLE",
};

static const char* s_GL_ANGLE_instanced_arrays[] =
{
	"glDrawArraysInstancedANGLE",
	"glDrawElementsInstancedANGLE",
	"glVertexAttribDivisorANGLE",
};

static const char* s_GL_ANGLE_translated_shader_source[] =
{
	"glGetTranslatedShaderSourceANGLE",
};

static const char* s_GL_EXT_base_instance[] =
{
	"glDrawArraysInstancedBaseInstanceEXT",
	"glDrawElementsInstancedBaseInstanceEXT",
	"glDrawElementsInstancedBaseVertexBaseInstanceEXT",
};

static const char* s_GL_EXT_blend_func_extended[] =
{
	"glBindFragDataLocationEXT",
	"glBindFragDataLocationIndexedEXT",
	"glGetFragDataIndexEXT",
	"glGetProgramResourceLocationIndexEXT",
};

static const char* s_GL_EXT_buffer_storage[] =
{
	"glBufferStorageEXT",
};

static const char* s_GL_EXT_copy_image[] =
{
	"glCopyImageSubDataEXT",
};

static const char* s_GL_EXT_debug_label[] =
{
	"glGetObjectLabelEXT",
	"glLabelObjectEXT",
};

static const char* s_GL_EXT_debug_marker[] =
{
	"glInsertEventMarkerEXT",
	"glPopGroupMarkerEXT",
	"glPushGroupMarkerEXT",
};

static const char* s_GL_EXT_disjoint_timer_query[] =
{
	"glBeginQueryEXT",
	"glDeleteQueriesEXT",
	"glEndQueryEXT",
	"glGenQueriesEXT",
	"glGetQueryObjecti64vEXT",
	"glGetQueryObjectivEXT",
	"glGetQueryObjectui64vEXT",
	"glGetQueryObjectuivEXT",
	"glGetQueryivEXT",
	"glIsQueryEXT",
	"glQueryCounterEXT",
};

static const char* s_GL_EXT_draw_buffers[] =
{
	"glDrawBuffersEXT",
};

static const char* s_GL_EXT_draw_buffers_indexed[] =
{
	"glBlendEquationSeparateiEXT",
	"glBlendEquationiEXT",
	"glBlendFuncSeparateiEXT",
	"glBlendFunciEXT",
	"glColorMaskiEXT",
	"glDisableiEXT",
	"glEnableiEXT",
	"glIsEnablediEXT",
};

static const char* s_GL_EXT_draw_elements_base_vertex[] =
{
	"glDrawElementsBaseVertexEXT",
	"glDrawElementsInstancedBaseVertexEXT",
	"glDrawRangeElementsBaseVertexEXT",
	"glMultiDrawElementsBaseVertexEXT",
};

static const char* s_GL_EXT_draw_instanced[] =
{
	"glDrawArraysInstancedEXT",
	"glDrawElementsInstancedEXT",
};

static const char* s_GL_EXT_geometry_shader[] =
{
	"glFramebufferTextureEXT",
};

static const char* s_GL_EXT_instanced_arrays[] =
{
	"glDrawArraysInstancedEXT",
	"glDrawElementsInstancedEXT",
	"glVertexAttribDivisorEXT",
};

static const char* s_GL_EXT_multi_draw_indirect[] =
{
	"glMultiDrawArraysIndirectEXT",
	"glMultiDrawElementsIndirectEXT",
};

static const char* s_GL_EXT_multiview_draw_buffers[] =
{
	"glDrawBuffersIndexedEXT",
	"glGetIntegeri_vEXT",
	"glReadBufferIndexedEXT",
};

static const char* s_GL_EXT_occlusion_query_boolean[] =
{
	"glBeginQueryEXT",
	"glDeleteQueriesEXT",
	"glEndQueryEXT",
	"glGenQueriesEXT",
	"glGetQueryObjectuivEXT",
	"glGetQueryivEXT",
	"glIsQueryEXT",
};

static const char* s_GL_EXT_primitive_bounding_box[] =
{
	"glPrimitiveBoundingBoxEXT",
};

static const char* s_GL_EXT_raster_multisample[] =
{
	"glRasterSamplesEXT",
};

static const char* s_GL_EXT_separate_shader_objects[] =
{
	"glActiveShaderProgramEXT",
	"glBindProgramPipelineEXT",
	"glCreateShaderProgramvEXT",
	"glDeleteProgramPipelinesEXT",
	"glGenProgramPipelinesEXT",
	"glGetProgramPipelineInfoLogEXT",
	"glGetProgramPipelineivEXT",
	"glIsProgramPipelineEXT",
	"glProgramParameteriEXT",
	"glProgramUniform1fEXT",
	"glProgramUniform1fvEXT",
	"glProgramUniform1iEXT",
	"glProgramUniform1ivEXT",
	"glProgramUniform1uiEXT",
	"glProgramUniform1uivEXT",
	"glProgramUniform2fEXT",
	"glProgramUniform2fvEXT",
	"glProgramUniform2iEXT",
	"glProgramUniform2ivEXT",
	"glProgramUniform2uiEXT",
	"glProgramUniform2uivEXT",
	"glProgramUniform3fEXT",
	"glProgramUniform3fvEXT",
	"glProgramUniform3iEXT",
	"glProgramUniform3ivEXT",
	"glProgramUniform3uiEXT",
	"glProgramUniform3uivEXT",
	"glProgramUniform4fEXT",
	"glProgramUniform4fvEXT",
	"glProgramUniform4iEXT",
	"glProgramUniform4ivEXT",
	"glProgramUniform4uiEXT",
	"glProgramUniform4uivEXT",
	"glProgramUniformMatrix2fvEXT",
	"glProgramUniformMatrix2x3fvEXT",
	"glProgramUniformMatrix2x4fvEXT",
	"glProgramUniformMatrix3fvEXT",
	"glProgramUniformMatrix3x2fvEXT",
	"glProgramUniformMatrix3x4fvEXT",
	"glProgramUniformMatrix4fvEXT",
	"glProgramUniformMatrix4x2fvEXT",
	"glProgramUniformMatrix4x3fvEXT",
	"glUseProgramStagesEXT",
	"glValidateProgramPipelineEXT",
};

static const char* s_GL_EXT_sparse_texture[] =
{
	"glTexPageCommitmentEXT",
};

static const char* s_GL_EXT_tessellation_shader[] =
{
	"glPatchParameteriEXT",
};

static const char* s_GL_EXT_texture_border_clamp[] =
{
	"glGetSamplerParameterIivEXT",
	"glGetSamplerParameterIuivEXT",
	"glGetTexParameterIivEXT",
	"glGetTexParameterIuivEXT",
	"glSamplerParameterIivEXT",
	"glSamplerParameterIuivEXT",
	"glTexParameterIivEXT",
	"glTexParameterIuivEXT",
};

static const char* s_GL_EXT_texture_buffer[] =
{
	"glTexBufferEXT",
	"glTexBufferRangeEXT",
};

static const char* s_GL_EXT_texture_filter_minmax[] =
{
	"glRasterSamplesEXT",
};

static const char* s_GL_EXT_texture_view[] =
{
	"glTextureViewEXT",
};

static const char* s_GL_INTEL_framebuffer_CMAA[] =
{
	"glApplyFramebufferAttachmentCMAAINTEL",
};

static const char* s_GL_INTEL_performance_query[] =
{
	"glBeginPerfQueryINTEL",
	"glCreatePerfQueryINTEL",
	"glDeletePerfQueryINTEL",
	"glEndPerfQueryINTEL",
	"glGetFirstPerfQueryIdINTEL",
	"glGetNextPerfQueryIdINTEL",
	"glGetPerfCounterInfoINTEL",
	"glGetPerfQueryDataINTEL",
	"glGetPerfQueryIdByNameINTEL",
	"glGetPerfQueryInfoINTEL",
};

static const char* s_GL_KHR_blend_equation_advanced[] =
{
	"glBlendBarrierKHR",
};

static const char* s_GL_KHR_debug[] =
{
	"glDebugMessageCallbackKHR",
	"glDebugMessageControlKHR",
	"glDebugMessageInsertKHR",
	"glGetDebugMessageLogKHR",
	"glGetObjectLabelKHR",
	"glGetObjectPtrLabelKHR",
	"glGetPointervKHR",
	"glObjectLabelKHR",
	"glObjectPtrLabelKHR",
	"glPopDebugGroupKHR",
	"glPushDebugGroupKHR",
};

static const char* s_GL_KHR_robustness[] =
{
	"glGetGraphicsResetStatusKHR",
	"glGetnUniformfvKHR",
	"glGetnUniformivKHR",
	"glGetnUniformuivKHR",
	"glReadnPixelsKHR",
};

static const char* s_GL_NV_bindless_texture[] =
{
	"glGetImageHandleNV",
	"glGetTextureHandleNV",
	"glGetTextureSamplerHandleNV",
	"glIsImageHandleResidentNV",
	"glIsTextureHandleResidentNV",
	"glMakeImageHandleNonResidentNV",
	"glMakeImageHandleResidentNV",
	"glMakeTextureHandleNonResidentNV",
	"glMakeTextureHandleResidentNV",
	"glProgramUniformHandleui64NV",
	"glProgramUniformHandleui64vNV",
	"glUniformHandleui64NV",
	"glUniformHandleui64vNV",
};

static const char* s_GL_NV_blend_equation_advanced[] =
{
	"glBlendBarrierNV",
	"glBlendParameteriNV",
};

static const char* s_GL_NV_conditional_render[] =
{
	"glBeginConditionalRenderNV",
	"glEndConditionalRenderNV",
};

static const char* s_GL_NV_conservative_raster[] =
{
	"glSubpixelPrecisionBiasNV",
};

static const char* s_GL_NV_copy_buffer[] =
{
	"glCopyBufferSubDataNV",
};

static const char* s_GL_NV_coverage_sample[] =
{
	"glCoverageMaskNV",
	"glCoverageOperationNV",
};

static const char* s_GL_NV_draw_buffers[] =
{
	"glDrawBuffersNV",
};

static const char* s_GL_NV_draw_instanced[] =
{
	"glDrawArraysInstancedNV",
	"glDrawElementsInstancedNV",
};

static const char* s_GL_NV_fragment_coverage_to_color[] =
{
	"glFragmentCoverageColorNV",
};

static const char* s_GL_NV_framebuffer_blit[] =
{
	"glBlitFramebufferNV",
};

static const char* s_GL_NV_framebuffer_mixed_samples[] =
{
	"glCoverageModulationNV",
	"glCoverageModulationTableNV",
	"glGetCoverageModulationTableNV",
	"glRasterSamplesEXT",
};

static const char* s_GL_NV_framebuffer_multisample[] =
{
	"glRenderbufferStorageMultisampleNV",
};

static const char* s_GL_NV_instanced_arrays[] =
{
	"glVertexAttribDivisorNV",
};

static const char* s_GL_NV_internalformat_sample_query[] =
{
	"glGetInternalformatSampleivNV",
};

static const char* s_GL_NV_non_square_matrices[] =
{
	"glUniformMatrix2x3fvNV",
	"glUniformMatrix2x4fvNV",
	"glUniformMatrix3x2fvNV",
	"glUniformMatrix3x4fvNV",
	"glUniformMatrix4x2fvNV",
	"glUniformMatrix4x3fvNV",
};

static const char* s_GL_NV_path_rendering[] =
{
	"glCopyPathNV",
	"glCoverFillPathInstancedNV",
	"glCoverFillPathNV",
	"glCoverStrokePathInstancedNV",
	"glCoverStrokePathNV",
	"glDeletePathsNV",
	"glGenPathsNV",
	"glGetPathCommandsNV",
	"glGetPathCoordsNV",
	"glGetPathDashArrayNV",
	"glGetPathLengthNV",
	"glGetPathMetricRangeNV",
	"glGetPathMetricsNV",
	"glGetPathParameterfvNV",
	"glGetPathParameterivNV",
	"glGetPathSpacingNV",
	"glGetProgramResourcefvNV",
	"glInterpolatePathsNV",
	"glIsPathNV",
	"glIsPointInFillPathNV",
	"glIsPointInStrokePathNV",
	"glMatrixLoad3x2fNV",
	"glMatrixLoad3x3fNV",
	"glMatrixLoadTranspose3x3fNV",
	"glMatrixMult3x2fNV",
	"glMatrixMult3x3fNV",
	"glMatrixMultTranspose3x3fNV",
	"glPathCommandsNV",
	"glPathCoordsNV",
	"glPathCoverDepthFuncNV",
	"glPathDashArrayNV",
	"glPathGlyphIndexArrayNV",
	"glPathGlyphIndexRangeNV",
	"glPathGlyphRangeNV",
	"glPathGlyphsNV",
	"glPathMemoryGlyphIndexArrayNV",
	"glPathParameterfNV",
	"glPathParameterfvNV",
	"glPathParameteriNV",
	"glPathParameterivNV",
	"glPathStencilDepthOffsetNV",
	"glPathStencilFuncNV",
	"glPathStringNV",
	"glPathSubCommandsNV",
	"glPathSubCoordsNV",
	"glPointAlongPathNV",
	"glProgramPathFragmentInputGenNV",
	"glStencilFillPathInstancedNV",
	"glStencilFillPathNV",
	"glStencilStrokePathInstancedNV",
	"glStencilStrokePathNV",
	"glStencilThenCoverFillPathInstancedNV",
	"glStencilThenCoverFillPathNV",
	"glStencilThenCoverStrokePathInstancedNV",
	"glStencilThenCoverStrokePathNV",
	"glTransformPathNV",
	"glWeightPathsNV",
};

static const char* s_GL_NV_polygon_mode[] =
{
	"glPolygonModeNV",
};

static const char* s_GL_NV_read_buffer[] =
{
	"glReadBufferNV",
};

static const char* s_GL_NV_sample_locations[] =
{
	"glFramebufferSampleLocationsfvNV",
	"glNamedFramebufferSampleLocationsfvNV",
	"glResolveDepthValuesNV",
};

static const char* s_GL_NV_viewport_array[] =
{
	"glDepthRangeArrayfvNV",
	"glDepthRangeIndexedfNV",
	"glDisableiNV",
	"glEnableiNV",
	"glGetFloati_vNV",
	"glIsEnablediNV",
	"glScissorArrayvNV",
	"glScissorIndexedNV",
	"glScissorIndexedvNV",
	"glViewportArrayvNV",
	"glViewportIndexedfNV",
	"glViewportIndexedfvNV",
};

static const char* s_GL_OES_copy_image[] =
{
	"glCopyImageSubDataOES",
};

static const char* s_GL_OES_draw_buffers_indexed[] =
{
	"glBlendEquationSeparateiOES",
	"glBlendEquationiOES",
	"glBlendFuncSeparateiOES",
	"glBlendFunciOES",
	"glColorMaskiOES",
	"glDisableiOES",
	"glEnableiOES",
	"glIsEnablediOES",
};

static const char* s_GL_OES_draw_elements_base_vertex[] =
{
	"glDrawElementsBaseVertexOES",
	"glDrawElementsInstancedBaseVertexOES",
	"glDrawRangeElementsBaseVertexOES",
	"glMultiDrawElementsBaseVertexOES",
};

static const char* s_GL_OES_geometry_shader[] =
{
	"glFramebufferTextureOES",
};

static const char* s_GL_OES_get_program_binary[] =
{
	"glGetProgramBinaryOES",
	"glProgramBinaryOES",
};

static const char* s_GL_OES_primitive_bounding_box[] =
{
	"glPrimitiveBoundingBoxOES",
};

static const char* s_GL_OES_sample_shading[] =
{
	"glMinSampleShadingOES",
};

static const char* s_GL_OES_tessellation_shader[] =
{
	"glPatchParameteriOES",
};

static const char* s_GL_OES_texture_3D[] =
{
	"glCompressedTexImage3DOES",
	"glCompressedTexSubImage3DOES",
	"glCopyTexSubImage3DOES",
	"glFramebufferTexture3DOES",
	"glTexImage3DOES",
	"glTexSubImage3DOES",
};

static const char* s_GL_OES_texture_border_clamp[] =
{
	"glGetSamplerParameterIivOES",
	"glGetSamplerParameterIuivOES",
	"glGetTexParameterIivOES",
	"glGetTexParameterIuivOES",
	"glSamplerParameterIivOES",
	"glSamplerParameterIuivOES",
	"glTexParameterIivOES",
	"glTexParameterIuivOES",
};

static const char* s_GL_OES_texture_buffer[] =
{
	"glTexBufferOES",
	"glTexBufferRangeOES",
};

static const char* s_GL_OES_texture_storage_multisample_2d_array[] =
{
	"glTexStorage3DMultisampleOES",
};

static const char* s_GL_OES_texture_view[] =
{
	"glTextureViewOES",
};

static const char* s_GL_OVR_multiview[] =
{
	"glFramebufferTextureMultiviewOVR",
};

static const char* s_GL_QCOM_alpha_test[] =
{
	"glAlphaFuncQCOM",
};

static const struct
{
	const char*			name;
	const int			numFunctions;
	const char* const*	functions;
} s_extensions[] =
{
	{ "EGL_ANDROID_blob_cache",							DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache),						s_EGL_ANDROID_blob_cache						},
	{ "EGL_ANDROID_create_native_client_buffer",		DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer),		s_EGL_ANDROID_create_native_client_buffer		},
	{ "EGL_ANDROID_native_fence_sync",					DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync),				s_EGL_ANDROID_native_fence_sync					},
	{ "EGL_ANDROID_presentation_time",					DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time),				s_EGL_ANDROID_presentation_time					},
	{ "EGL_ANGLE_query_surface_pointer",				DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer),				s_EGL_ANGLE_query_surface_pointer				},
	{ "EGL_EXT_device_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base),							s_EGL_EXT_device_base							},
	{ "EGL_EXT_device_enumeration",						DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration),					s_EGL_EXT_device_enumeration					},
	{ "EGL_EXT_device_query",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query),							s_EGL_EXT_device_query							},
	{ "EGL_EXT_image_dma_buf_import_modifiers",			DE_LENGTH_OF_ARRAY(s_EGL_EXT_image_dma_buf_import_modifiers),		s_EGL_EXT_image_dma_buf_import_modifiers		},
	{ "EGL_EXT_output_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base),							s_EGL_EXT_output_base							},
	{ "EGL_EXT_platform_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base),						s_EGL_EXT_platform_base							},
	{ "EGL_EXT_stream_consumer_egloutput",				DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput),			s_EGL_EXT_stream_consumer_egloutput				},
	{ "EGL_EXT_swap_buffers_with_damage",				DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage),				s_EGL_EXT_swap_buffers_with_damage				},
	{ "EGL_HI_clientpixmap",							DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap),							s_EGL_HI_clientpixmap							},
	{ "EGL_KHR_cl_event2",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2),							s_EGL_KHR_cl_event2								},
	{ "EGL_KHR_debug",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug),								s_EGL_KHR_debug									},
	{ "EGL_KHR_fence_sync",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync),							s_EGL_KHR_fence_sync							},
	{ "EGL_KHR_image",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_image),								s_EGL_KHR_image									},
	{ "EGL_KHR_image_base",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base),							s_EGL_KHR_image_base							},
	{ "EGL_KHR_lock_surface",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface),							s_EGL_KHR_lock_surface							},
	{ "EGL_KHR_lock_surface3",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3),						s_EGL_KHR_lock_surface3							},
	{ "EGL_KHR_partial_update",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update),						s_EGL_KHR_partial_update						},
	{ "EGL_KHR_reusable_sync",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync),						s_EGL_KHR_reusable_sync							},
	{ "EGL_KHR_stream",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream),								s_EGL_KHR_stream								},
	{ "EGL_KHR_stream_attrib",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib),						s_EGL_KHR_stream_attrib							},
	{ "EGL_KHR_stream_consumer_gltexture",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture),			s_EGL_KHR_stream_consumer_gltexture				},
	{ "EGL_KHR_stream_cross_process_fd",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd),				s_EGL_KHR_stream_cross_process_fd				},
	{ "EGL_KHR_stream_fifo",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo),							s_EGL_KHR_stream_fifo							},
	{ "EGL_KHR_stream_producer_eglsurface",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface),			s_EGL_KHR_stream_producer_eglsurface			},
	{ "EGL_KHR_swap_buffers_with_damage",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage),				s_EGL_KHR_swap_buffers_with_damage				},
	{ "EGL_KHR_wait_sync",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync),							s_EGL_KHR_wait_sync								},
	{ "EGL_MESA_drm_image",								DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image),							s_EGL_MESA_drm_image							},
	{ "EGL_MESA_image_dma_buf_export",					DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export),				s_EGL_MESA_image_dma_buf_export					},
	{ "EGL_NOK_swap_region",							DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region),							s_EGL_NOK_swap_region							},
	{ "EGL_NOK_swap_region2",							DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2),							s_EGL_NOK_swap_region2							},
	{ "EGL_NV_native_query",							DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query),							s_EGL_NV_native_query							},
	{ "EGL_NV_post_sub_buffer",							DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer),						s_EGL_NV_post_sub_buffer						},
	{ "EGL_NV_stream_consumer_gltexture_yuv",			DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv),			s_EGL_NV_stream_consumer_gltexture_yuv			},
	{ "EGL_NV_stream_metadata",							DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata),						s_EGL_NV_stream_metadata						},
	{ "EGL_NV_stream_reset",							DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset),							s_EGL_NV_stream_reset							},
	{ "EGL_NV_stream_sync",								DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync),							s_EGL_NV_stream_sync							},
	{ "EGL_NV_sync",									DE_LENGTH_OF_ARRAY(s_EGL_NV_sync),									s_EGL_NV_sync									},
	{ "EGL_NV_system_time",								DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time),							s_EGL_NV_system_time							},
	{ "GL_APPLE_copy_texture_levels",					DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels),					s_GL_APPLE_copy_texture_levels					},
	{ "GL_APPLE_framebuffer_multisample",				DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample),				s_GL_APPLE_framebuffer_multisample				},
	{ "GL_APPLE_sync",									DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync),								s_GL_APPLE_sync									},
	{ "GL_EXT_discard_framebuffer",						DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer),					s_GL_EXT_discard_framebuffer					},
	{ "GL_EXT_map_buffer_range",						DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range),						s_GL_EXT_map_buffer_range						},
	{ "GL_EXT_multi_draw_arrays",						DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays),						s_GL_EXT_multi_draw_arrays						},
	{ "GL_EXT_multisampled_render_to_texture",			DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture),		s_GL_EXT_multisampled_render_to_texture			},
	{ "GL_EXT_robustness",								DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness),							s_GL_EXT_robustness								},
	{ "GL_EXT_texture_storage",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage),						s_GL_EXT_texture_storage						},
	{ "GL_IMG_multisampled_render_to_texture",			DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture),		s_GL_IMG_multisampled_render_to_texture			},
	{ "GL_IMG_user_clip_plane",							DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane),						s_GL_IMG_user_clip_plane						},
	{ "GL_NV_fence",									DE_LENGTH_OF_ARRAY(s_GL_NV_fence),									s_GL_NV_fence									},
	{ "GL_OES_EGL_image",								DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image),								s_GL_OES_EGL_image								},
	{ "GL_OES_blend_equation_separate",					DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate),				s_GL_OES_blend_equation_separate				},
	{ "GL_OES_blend_func_separate",						DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate),					s_GL_OES_blend_func_separate					},
	{ "GL_OES_blend_subtract",							DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract),						s_GL_OES_blend_subtract							},
	{ "GL_OES_draw_texture",							DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture),							s_GL_OES_draw_texture							},
	{ "GL_OES_fixed_point",								DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point),							s_GL_OES_fixed_point							},
	{ "GL_OES_framebuffer_object",						DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object),					s_GL_OES_framebuffer_object						},
	{ "GL_OES_mapbuffer",								DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer),								s_GL_OES_mapbuffer								},
	{ "GL_OES_matrix_palette",							DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette),						s_GL_OES_matrix_palette							},
	{ "GL_OES_point_size_array",						DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array),						s_GL_OES_point_size_array						},
	{ "GL_OES_query_matrix",							DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix),							s_GL_OES_query_matrix							},
	{ "GL_OES_single_precision",						DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision),						s_GL_OES_single_precision						},
	{ "GL_OES_texture_cube_map",						DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map),						s_GL_OES_texture_cube_map						},
	{ "GL_OES_vertex_array_object",						DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object),					s_GL_OES_vertex_array_object					},
	{ "GL_QCOM_driver_control",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control),						s_GL_QCOM_driver_control						},
	{ "GL_QCOM_extended_get",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get),							s_GL_QCOM_extended_get							},
	{ "GL_QCOM_extended_get2",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2),						s_GL_QCOM_extended_get2							},
	{ "GL_QCOM_tiled_rendering",						DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering),						s_GL_QCOM_tiled_rendering						},
	{ "GL_AMD_performance_monitor",						DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor),					s_GL_AMD_performance_monitor					},
	{ "GL_ANGLE_framebuffer_blit",						DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit),					s_GL_ANGLE_framebuffer_blit						},
	{ "GL_ANGLE_framebuffer_multisample",				DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample),				s_GL_ANGLE_framebuffer_multisample				},
	{ "GL_ANGLE_instanced_arrays",						DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays),					s_GL_ANGLE_instanced_arrays						},
	{ "GL_ANGLE_translated_shader_source",				DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source),			s_GL_ANGLE_translated_shader_source				},
	{ "GL_EXT_base_instance",							DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance),							s_GL_EXT_base_instance							},
	{ "GL_EXT_blend_func_extended",						DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended),					s_GL_EXT_blend_func_extended					},
	{ "GL_EXT_buffer_storage",							DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage),						s_GL_EXT_buffer_storage							},
	{ "GL_EXT_copy_image",								DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image),							s_GL_EXT_copy_image								},
	{ "GL_EXT_debug_label",								DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label),							s_GL_EXT_debug_label							},
	{ "GL_EXT_debug_marker",							DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker),							s_GL_EXT_debug_marker							},
	{ "GL_EXT_disjoint_timer_query",					DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query),					s_GL_EXT_disjoint_timer_query					},
	{ "GL_EXT_draw_buffers",							DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers),							s_GL_EXT_draw_buffers							},
	{ "GL_EXT_draw_buffers_indexed",					DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed),					s_GL_EXT_draw_buffers_indexed					},
	{ "GL_EXT_draw_elements_base_vertex",				DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex),				s_GL_EXT_draw_elements_base_vertex				},
	{ "GL_EXT_draw_instanced",							DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced),						s_GL_EXT_draw_instanced							},
	{ "GL_EXT_geometry_shader",							DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader),						s_GL_EXT_geometry_shader						},
	{ "GL_EXT_instanced_arrays",						DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays),						s_GL_EXT_instanced_arrays						},
	{ "GL_EXT_multi_draw_indirect",						DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect),					s_GL_EXT_multi_draw_indirect					},
	{ "GL_EXT_multiview_draw_buffers",					DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers),				s_GL_EXT_multiview_draw_buffers					},
	{ "GL_EXT_occlusion_query_boolean",					DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean),				s_GL_EXT_occlusion_query_boolean				},
	{ "GL_EXT_primitive_bounding_box",					DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box),				s_GL_EXT_primitive_bounding_box					},
	{ "GL_EXT_raster_multisample",						DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample),					s_GL_EXT_raster_multisample						},
	{ "GL_EXT_separate_shader_objects",					DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects),				s_GL_EXT_separate_shader_objects				},
	{ "GL_EXT_sparse_texture",							DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture),						s_GL_EXT_sparse_texture							},
	{ "GL_EXT_tessellation_shader",						DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader),					s_GL_EXT_tessellation_shader					},
	{ "GL_EXT_texture_border_clamp",					DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp),					s_GL_EXT_texture_border_clamp					},
	{ "GL_EXT_texture_buffer",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer),						s_GL_EXT_texture_buffer							},
	{ "GL_EXT_texture_filter_minmax",					DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_filter_minmax),					s_GL_EXT_texture_filter_minmax					},
	{ "GL_EXT_texture_view",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view),							s_GL_EXT_texture_view							},
	{ "GL_INTEL_framebuffer_CMAA",						DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA),					s_GL_INTEL_framebuffer_CMAA						},
	{ "GL_INTEL_performance_query",						DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query),					s_GL_INTEL_performance_query					},
	{ "GL_KHR_blend_equation_advanced",					DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced),				s_GL_KHR_blend_equation_advanced				},
	{ "GL_KHR_debug",									DE_LENGTH_OF_ARRAY(s_GL_KHR_debug),									s_GL_KHR_debug									},
	{ "GL_KHR_robustness",								DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness),							s_GL_KHR_robustness								},
	{ "GL_NV_bindless_texture",							DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture),						s_GL_NV_bindless_texture						},
	{ "GL_NV_blend_equation_advanced",					DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced),				s_GL_NV_blend_equation_advanced					},
	{ "GL_NV_conditional_render",						DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render),						s_GL_NV_conditional_render						},
	{ "GL_NV_conservative_raster",						DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster),					s_GL_NV_conservative_raster						},
	{ "GL_NV_copy_buffer",								DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer),							s_GL_NV_copy_buffer								},
	{ "GL_NV_coverage_sample",							DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample),						s_GL_NV_coverage_sample							},
	{ "GL_NV_draw_buffers",								DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers),							s_GL_NV_draw_buffers							},
	{ "GL_NV_draw_instanced",							DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced),							s_GL_NV_draw_instanced							},
	{ "GL_NV_fragment_coverage_to_color",				DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color),				s_GL_NV_fragment_coverage_to_color				},
	{ "GL_NV_framebuffer_blit",							DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit),						s_GL_NV_framebuffer_blit						},
	{ "GL_NV_framebuffer_mixed_samples",				DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples),				s_GL_NV_framebuffer_mixed_samples				},
	{ "GL_NV_framebuffer_multisample",					DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample),				s_GL_NV_framebuffer_multisample					},
	{ "GL_NV_instanced_arrays",							DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays),						s_GL_NV_instanced_arrays						},
	{ "GL_NV_internalformat_sample_query",				DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query),			s_GL_NV_internalformat_sample_query				},
	{ "GL_NV_non_square_matrices",						DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices),					s_GL_NV_non_square_matrices						},
	{ "GL_NV_path_rendering",							DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering),							s_GL_NV_path_rendering							},
	{ "GL_NV_polygon_mode",								DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode),							s_GL_NV_polygon_mode							},
	{ "GL_NV_read_buffer",								DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer),							s_GL_NV_read_buffer								},
	{ "GL_NV_sample_locations",							DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations),						s_GL_NV_sample_locations						},
	{ "GL_NV_viewport_array",							DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array),							s_GL_NV_viewport_array							},
	{ "GL_OES_copy_image",								DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image),							s_GL_OES_copy_image								},
	{ "GL_OES_draw_buffers_indexed",					DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed),					s_GL_OES_draw_buffers_indexed					},
	{ "GL_OES_draw_elements_base_vertex",				DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex),				s_GL_OES_draw_elements_base_vertex				},
	{ "GL_OES_geometry_shader",							DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader),						s_GL_OES_geometry_shader						},
	{ "GL_OES_get_program_binary",						DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary),					s_GL_OES_get_program_binary						},
	{ "GL_OES_primitive_bounding_box",					DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box),				s_GL_OES_primitive_bounding_box					},
	{ "GL_OES_sample_shading",							DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading),						s_GL_OES_sample_shading							},
	{ "GL_OES_tessellation_shader",						DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader),					s_GL_OES_tessellation_shader					},
	{ "GL_OES_texture_3D",								DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D),							s_GL_OES_texture_3D								},
	{ "GL_OES_texture_border_clamp",					DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp),					s_GL_OES_texture_border_clamp					},
	{ "GL_OES_texture_buffer",							DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer),						s_GL_OES_texture_buffer							},
	{ "GL_OES_texture_storage_multisample_2d_array",	DE_LENGTH_OF_ARRAY(s_GL_OES_texture_storage_multisample_2d_array),	s_GL_OES_texture_storage_multisample_2d_array	},
	{ "GL_OES_texture_view",							DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view),							s_GL_OES_texture_view							},
	{ "GL_OVR_multiview",								DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview),								s_GL_OVR_multiview								},
	{ "GL_QCOM_alpha_test",								DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test),							s_GL_QCOM_alpha_test							},
};