Home | History | Annotate | Download | only in egl
      1 /* WARNING: This is auto-generated file. Do not modify, since changes will
      2  * be lost! Modify the generating script instead.
      3  *
      4  * Generated from Khronos EGL API description (egl.xml) revision 33315.
      5  */
      6 
      7 static const char* s_EGL14[] =
      8 {
      9 	"eglBindAPI",
     10 	"eglBindTexImage",
     11 	"eglChooseConfig",
     12 	"eglCopyBuffers",
     13 	"eglCreateContext",
     14 	"eglCreatePbufferFromClientBuffer",
     15 	"eglCreatePbufferSurface",
     16 	"eglCreatePixmapSurface",
     17 	"eglCreateWindowSurface",
     18 	"eglDestroyContext",
     19 	"eglDestroySurface",
     20 	"eglGetConfigAttrib",
     21 	"eglGetConfigs",
     22 	"eglGetCurrentContext",
     23 	"eglGetCurrentDisplay",
     24 	"eglGetCurrentSurface",
     25 	"eglGetDisplay",
     26 	"eglGetError",
     27 	"eglGetProcAddress",
     28 	"eglInitialize",
     29 	"eglMakeCurrent",
     30 	"eglQueryAPI",
     31 	"eglQueryContext",
     32 	"eglQueryString",
     33 	"eglQuerySurface",
     34 	"eglReleaseTexImage",
     35 	"eglReleaseThread",
     36 	"eglSurfaceAttrib",
     37 	"eglSwapBuffers",
     38 	"eglSwapInterval",
     39 	"eglTerminate",
     40 	"eglWaitClient",
     41 	"eglWaitGL",
     42 	"eglWaitNative",
     43 };
     44 
     45 static const char* s_GLES10[] =
     46 {
     47 	"glActiveTexture",
     48 	"glAlphaFunc",
     49 	"glAlphaFuncx",
     50 	"glBindBuffer",
     51 	"glBindTexture",
     52 	"glBlendFunc",
     53 	"glBufferData",
     54 	"glBufferSubData",
     55 	"glClear",
     56 	"glClearColor",
     57 	"glClearColorx",
     58 	"glClearDepthf",
     59 	"glClearDepthx",
     60 	"glClearStencil",
     61 	"glClientActiveTexture",
     62 	"glClipPlanef",
     63 	"glClipPlanex",
     64 	"glColor4f",
     65 	"glColor4ub",
     66 	"glColor4x",
     67 	"glColorMask",
     68 	"glColorPointer",
     69 	"glCompressedTexImage2D",
     70 	"glCompressedTexSubImage2D",
     71 	"glCopyTexImage2D",
     72 	"glCopyTexSubImage2D",
     73 	"glCullFace",
     74 	"glDeleteBuffers",
     75 	"glDeleteTextures",
     76 	"glDepthFunc",
     77 	"glDepthMask",
     78 	"glDepthRangef",
     79 	"glDepthRangex",
     80 	"glDisable",
     81 	"glDisableClientState",
     82 	"glDrawArrays",
     83 	"glDrawElements",
     84 	"glEnable",
     85 	"glEnableClientState",
     86 	"glFinish",
     87 	"glFlush",
     88 	"glFogf",
     89 	"glFogfv",
     90 	"glFogx",
     91 	"glFogxv",
     92 	"glFrontFace",
     93 	"glFrustumf",
     94 	"glFrustumx",
     95 	"glGenBuffers",
     96 	"glGenTextures",
     97 	"glGetBooleanv",
     98 	"glGetBufferParameteriv",
     99 	"glGetClipPlanef",
    100 	"glGetClipPlanex",
    101 	"glGetError",
    102 	"glGetFixedv",
    103 	"glGetFloatv",
    104 	"glGetIntegerv",
    105 	"glGetLightfv",
    106 	"glGetLightxv",
    107 	"glGetMaterialfv",
    108 	"glGetMaterialxv",
    109 	"glGetPointerv",
    110 	"glGetString",
    111 	"glGetTexEnvfv",
    112 	"glGetTexEnviv",
    113 	"glGetTexEnvxv",
    114 	"glGetTexParameterfv",
    115 	"glGetTexParameteriv",
    116 	"glGetTexParameterxv",
    117 	"glHint",
    118 	"glIsBuffer",
    119 	"glIsEnabled",
    120 	"glIsTexture",
    121 	"glLightModelf",
    122 	"glLightModelfv",
    123 	"glLightModelx",
    124 	"glLightModelxv",
    125 	"glLightf",
    126 	"glLightfv",
    127 	"glLightx",
    128 	"glLightxv",
    129 	"glLineWidth",
    130 	"glLineWidthx",
    131 	"glLoadIdentity",
    132 	"glLoadMatrixf",
    133 	"glLoadMatrixx",
    134 	"glLogicOp",
    135 	"glMaterialf",
    136 	"glMaterialfv",
    137 	"glMaterialx",
    138 	"glMaterialxv",
    139 	"glMatrixMode",
    140 	"glMultMatrixf",
    141 	"glMultMatrixx",
    142 	"glMultiTexCoord4f",
    143 	"glMultiTexCoord4x",
    144 	"glNormal3f",
    145 	"glNormal3x",
    146 	"glNormalPointer",
    147 	"glOrthof",
    148 	"glOrthox",
    149 	"glPixelStorei",
    150 	"glPointParameterf",
    151 	"glPointParameterfv",
    152 	"glPointParameterx",
    153 	"glPointParameterxv",
    154 	"glPointSize",
    155 	"glPointSizex",
    156 	"glPolygonOffset",
    157 	"glPolygonOffsetx",
    158 	"glPopMatrix",
    159 	"glPushMatrix",
    160 	"glReadPixels",
    161 	"glRotatef",
    162 	"glRotatex",
    163 	"glSampleCoverage",
    164 	"glSampleCoveragex",
    165 	"glScalef",
    166 	"glScalex",
    167 	"glScissor",
    168 	"glShadeModel",
    169 	"glStencilFunc",
    170 	"glStencilMask",
    171 	"glStencilOp",
    172 	"glTexCoordPointer",
    173 	"glTexEnvf",
    174 	"glTexEnvfv",
    175 	"glTexEnvi",
    176 	"glTexEnviv",
    177 	"glTexEnvx",
    178 	"glTexEnvxv",
    179 	"glTexImage2D",
    180 	"glTexParameterf",
    181 	"glTexParameterfv",
    182 	"glTexParameteri",
    183 	"glTexParameteriv",
    184 	"glTexParameterx",
    185 	"glTexParameterxv",
    186 	"glTexSubImage2D",
    187 	"glTranslatef",
    188 	"glTranslatex",
    189 	"glVertexPointer",
    190 	"glViewport",
    191 };
    192 
    193 static const char* s_GLES20[] =
    194 {
    195 	"glActiveTexture",
    196 	"glAttachShader",
    197 	"glBindAttribLocation",
    198 	"glBindBuffer",
    199 	"glBindFramebuffer",
    200 	"glBindRenderbuffer",
    201 	"glBindTexture",
    202 	"glBlendColor",
    203 	"glBlendEquation",
    204 	"glBlendEquationSeparate",
    205 	"glBlendFunc",
    206 	"glBlendFuncSeparate",
    207 	"glBufferData",
    208 	"glBufferSubData",
    209 	"glCheckFramebufferStatus",
    210 	"glClear",
    211 	"glClearColor",
    212 	"glClearDepthf",
    213 	"glClearStencil",
    214 	"glColorMask",
    215 	"glCompileShader",
    216 	"glCompressedTexImage2D",
    217 	"glCompressedTexSubImage2D",
    218 	"glCopyTexImage2D",
    219 	"glCopyTexSubImage2D",
    220 	"glCreateProgram",
    221 	"glCreateShader",
    222 	"glCullFace",
    223 	"glDeleteBuffers",
    224 	"glDeleteFramebuffers",
    225 	"glDeleteProgram",
    226 	"glDeleteRenderbuffers",
    227 	"glDeleteShader",
    228 	"glDeleteTextures",
    229 	"glDepthFunc",
    230 	"glDepthMask",
    231 	"glDepthRangef",
    232 	"glDetachShader",
    233 	"glDisable",
    234 	"glDisableVertexAttribArray",
    235 	"glDrawArrays",
    236 	"glDrawElements",
    237 	"glEnable",
    238 	"glEnableVertexAttribArray",
    239 	"glFinish",
    240 	"glFlush",
    241 	"glFramebufferRenderbuffer",
    242 	"glFramebufferTexture2D",
    243 	"glFrontFace",
    244 	"glGenBuffers",
    245 	"glGenFramebuffers",
    246 	"glGenRenderbuffers",
    247 	"glGenTextures",
    248 	"glGenerateMipmap",
    249 	"glGetActiveAttrib",
    250 	"glGetActiveUniform",
    251 	"glGetAttachedShaders",
    252 	"glGetAttribLocation",
    253 	"glGetBooleanv",
    254 	"glGetBufferParameteriv",
    255 	"glGetError",
    256 	"glGetFloatv",
    257 	"glGetFramebufferAttachmentParameteriv",
    258 	"glGetIntegerv",
    259 	"glGetProgramInfoLog",
    260 	"glGetProgramiv",
    261 	"glGetRenderbufferParameteriv",
    262 	"glGetShaderInfoLog",
    263 	"glGetShaderPrecisionFormat",
    264 	"glGetShaderSource",
    265 	"glGetShaderiv",
    266 	"glGetString",
    267 	"glGetTexParameterfv",
    268 	"glGetTexParameteriv",
    269 	"glGetUniformLocation",
    270 	"glGetUniformfv",
    271 	"glGetUniformiv",
    272 	"glGetVertexAttribPointerv",
    273 	"glGetVertexAttribfv",
    274 	"glGetVertexAttribiv",
    275 	"glHint",
    276 	"glIsBuffer",
    277 	"glIsEnabled",
    278 	"glIsFramebuffer",
    279 	"glIsProgram",
    280 	"glIsRenderbuffer",
    281 	"glIsShader",
    282 	"glIsTexture",
    283 	"glLineWidth",
    284 	"glLinkProgram",
    285 	"glPixelStorei",
    286 	"glPolygonOffset",
    287 	"glReadPixels",
    288 	"glReleaseShaderCompiler",
    289 	"glRenderbufferStorage",
    290 	"glSampleCoverage",
    291 	"glScissor",
    292 	"glShaderBinary",
    293 	"glShaderSource",
    294 	"glStencilFunc",
    295 	"glStencilFuncSeparate",
    296 	"glStencilMask",
    297 	"glStencilMaskSeparate",
    298 	"glStencilOp",
    299 	"glStencilOpSeparate",
    300 	"glTexImage2D",
    301 	"glTexParameterf",
    302 	"glTexParameterfv",
    303 	"glTexParameteri",
    304 	"glTexParameteriv",
    305 	"glTexSubImage2D",
    306 	"glUniform1f",
    307 	"glUniform1fv",
    308 	"glUniform1i",
    309 	"glUniform1iv",
    310 	"glUniform2f",
    311 	"glUniform2fv",
    312 	"glUniform2i",
    313 	"glUniform2iv",
    314 	"glUniform3f",
    315 	"glUniform3fv",
    316 	"glUniform3i",
    317 	"glUniform3iv",
    318 	"glUniform4f",
    319 	"glUniform4fv",
    320 	"glUniform4i",
    321 	"glUniform4iv",
    322 	"glUniformMatrix2fv",
    323 	"glUniformMatrix3fv",
    324 	"glUniformMatrix4fv",
    325 	"glUseProgram",
    326 	"glValidateProgram",
    327 	"glVertexAttrib1f",
    328 	"glVertexAttrib1fv",
    329 	"glVertexAttrib2f",
    330 	"glVertexAttrib2fv",
    331 	"glVertexAttrib3f",
    332 	"glVertexAttrib3fv",
    333 	"glVertexAttrib4f",
    334 	"glVertexAttrib4fv",
    335 	"glVertexAttribPointer",
    336 	"glViewport",
    337 };
    338 
    339 static const char* s_GLES30[] =
    340 {
    341 	"glBeginQuery",
    342 	"glBeginTransformFeedback",
    343 	"glBindBufferBase",
    344 	"glBindBufferRange",
    345 	"glBindSampler",
    346 	"glBindTransformFeedback",
    347 	"glBindVertexArray",
    348 	"glBlitFramebuffer",
    349 	"glClearBufferfi",
    350 	"glClearBufferfv",
    351 	"glClearBufferiv",
    352 	"glClearBufferuiv",
    353 	"glClientWaitSync",
    354 	"glCompressedTexImage3D",
    355 	"glCompressedTexSubImage3D",
    356 	"glCopyBufferSubData",
    357 	"glCopyTexSubImage3D",
    358 	"glDeleteQueries",
    359 	"glDeleteSamplers",
    360 	"glDeleteSync",
    361 	"glDeleteTransformFeedbacks",
    362 	"glDeleteVertexArrays",
    363 	"glDrawArraysInstanced",
    364 	"glDrawBuffers",
    365 	"glDrawElementsInstanced",
    366 	"glDrawRangeElements",
    367 	"glEndQuery",
    368 	"glEndTransformFeedback",
    369 	"glFenceSync",
    370 	"glFlushMappedBufferRange",
    371 	"glFramebufferTextureLayer",
    372 	"glGenQueries",
    373 	"glGenSamplers",
    374 	"glGenTransformFeedbacks",
    375 	"glGenVertexArrays",
    376 	"glGetActiveUniformBlockName",
    377 	"glGetActiveUniformBlockiv",
    378 	"glGetActiveUniformsiv",
    379 	"glGetBufferParameteri64v",
    380 	"glGetBufferPointerv",
    381 	"glGetFragDataLocation",
    382 	"glGetInteger64i_v",
    383 	"glGetInteger64v",
    384 	"glGetIntegeri_v",
    385 	"glGetInternalformativ",
    386 	"glGetProgramBinary",
    387 	"glGetQueryObjectuiv",
    388 	"glGetQueryiv",
    389 	"glGetSamplerParameterfv",
    390 	"glGetSamplerParameteriv",
    391 	"glGetStringi",
    392 	"glGetSynciv",
    393 	"glGetTransformFeedbackVarying",
    394 	"glGetUniformBlockIndex",
    395 	"glGetUniformIndices",
    396 	"glGetUniformuiv",
    397 	"glGetVertexAttribIiv",
    398 	"glGetVertexAttribIuiv",
    399 	"glInvalidateFramebuffer",
    400 	"glInvalidateSubFramebuffer",
    401 	"glIsQuery",
    402 	"glIsSampler",
    403 	"glIsSync",
    404 	"glIsTransformFeedback",
    405 	"glIsVertexArray",
    406 	"glMapBufferRange",
    407 	"glPauseTransformFeedback",
    408 	"glProgramBinary",
    409 	"glProgramParameteri",
    410 	"glReadBuffer",
    411 	"glRenderbufferStorageMultisample",
    412 	"glResumeTransformFeedback",
    413 	"glSamplerParameterf",
    414 	"glSamplerParameterfv",
    415 	"glSamplerParameteri",
    416 	"glSamplerParameteriv",
    417 	"glTexImage3D",
    418 	"glTexStorage2D",
    419 	"glTexStorage3D",
    420 	"glTexSubImage3D",
    421 	"glTransformFeedbackVaryings",
    422 	"glUniform1ui",
    423 	"glUniform1uiv",
    424 	"glUniform2ui",
    425 	"glUniform2uiv",
    426 	"glUniform3ui",
    427 	"glUniform3uiv",
    428 	"glUniform4ui",
    429 	"glUniform4uiv",
    430 	"glUniformBlockBinding",
    431 	"glUniformMatrix2x3fv",
    432 	"glUniformMatrix2x4fv",
    433 	"glUniformMatrix3x2fv",
    434 	"glUniformMatrix3x4fv",
    435 	"glUniformMatrix4x2fv",
    436 	"glUniformMatrix4x3fv",
    437 	"glUnmapBuffer",
    438 	"glVertexAttribDivisor",
    439 	"glVertexAttribI4i",
    440 	"glVertexAttribI4iv",
    441 	"glVertexAttribI4ui",
    442 	"glVertexAttribI4uiv",
    443 	"glVertexAttribIPointer",
    444 	"glWaitSync",
    445 };
    446 
    447 static const char* s_EGL_ANDROID_blob_cache[] =
    448 {
    449 	"eglSetBlobCacheFuncsANDROID",
    450 };
    451 
    452 static const char* s_EGL_ANDROID_create_native_client_buffer[] =
    453 {
    454 	"eglCreateNativeClientBufferANDROID",
    455 };
    456 
    457 static const char* s_EGL_ANDROID_native_fence_sync[] =
    458 {
    459 	"eglDupNativeFenceFDANDROID",
    460 };
    461 
    462 static const char* s_EGL_ANDROID_presentation_time[] =
    463 {
    464 	"eglPresentationTimeANDROID",
    465 };
    466 
    467 static const char* s_EGL_ANGLE_query_surface_pointer[] =
    468 {
    469 	"eglQuerySurfacePointerANGLE",
    470 };
    471 
    472 static const char* s_EGL_EXT_device_base[] =
    473 {
    474 	"eglQueryDeviceAttribEXT",
    475 	"eglQueryDeviceStringEXT",
    476 	"eglQueryDevicesEXT",
    477 	"eglQueryDisplayAttribEXT",
    478 };
    479 
    480 static const char* s_EGL_EXT_device_enumeration[] =
    481 {
    482 	"eglQueryDevicesEXT",
    483 };
    484 
    485 static const char* s_EGL_EXT_device_query[] =
    486 {
    487 	"eglQueryDeviceAttribEXT",
    488 	"eglQueryDeviceStringEXT",
    489 	"eglQueryDisplayAttribEXT",
    490 };
    491 
    492 static const char* s_EGL_EXT_image_dma_buf_import_modifiers[] =
    493 {
    494 	"eglQueryDmaBufFormatsEXT",
    495 	"eglQueryDmaBufModifiersEXT",
    496 };
    497 
    498 static const char* s_EGL_EXT_output_base[] =
    499 {
    500 	"eglGetOutputLayersEXT",
    501 	"eglGetOutputPortsEXT",
    502 	"eglOutputLayerAttribEXT",
    503 	"eglOutputPortAttribEXT",
    504 	"eglQueryOutputLayerAttribEXT",
    505 	"eglQueryOutputLayerStringEXT",
    506 	"eglQueryOutputPortAttribEXT",
    507 	"eglQueryOutputPortStringEXT",
    508 };
    509 
    510 static const char* s_EGL_EXT_platform_base[] =
    511 {
    512 	"eglCreatePlatformPixmapSurfaceEXT",
    513 	"eglCreatePlatformWindowSurfaceEXT",
    514 	"eglGetPlatformDisplayEXT",
    515 };
    516 
    517 static const char* s_EGL_EXT_stream_consumer_egloutput[] =
    518 {
    519 	"eglStreamConsumerOutputEXT",
    520 };
    521 
    522 static const char* s_EGL_EXT_swap_buffers_with_damage[] =
    523 {
    524 	"eglSwapBuffersWithDamageEXT",
    525 };
    526 
    527 static const char* s_EGL_HI_clientpixmap[] =
    528 {
    529 	"eglCreatePixmapSurfaceHI",
    530 };
    531 
    532 static const char* s_EGL_KHR_cl_event2[] =
    533 {
    534 	"eglCreateSync64KHR",
    535 };
    536 
    537 static const char* s_EGL_KHR_debug[] =
    538 {
    539 	"eglDebugMessageControlKHR",
    540 	"eglLabelObjectKHR",
    541 	"eglQueryDebugKHR",
    542 };
    543 
    544 static const char* s_EGL_KHR_fence_sync[] =
    545 {
    546 	"eglClientWaitSyncKHR",
    547 	"eglCreateSyncKHR",
    548 	"eglDestroySyncKHR",
    549 	"eglGetSyncAttribKHR",
    550 };
    551 
    552 static const char* s_EGL_KHR_image[] =
    553 {
    554 	"eglCreateImageKHR",
    555 	"eglDestroyImageKHR",
    556 };
    557 
    558 static const char* s_EGL_KHR_image_base[] =
    559 {
    560 	"eglCreateImageKHR",
    561 	"eglDestroyImageKHR",
    562 };
    563 
    564 static const char* s_EGL_KHR_lock_surface[] =
    565 {
    566 	"eglLockSurfaceKHR",
    567 	"eglUnlockSurfaceKHR",
    568 };
    569 
    570 static const char* s_EGL_KHR_lock_surface3[] =
    571 {
    572 	"eglLockSurfaceKHR",
    573 	"eglQuerySurface64KHR",
    574 	"eglUnlockSurfaceKHR",
    575 };
    576 
    577 static const char* s_EGL_KHR_partial_update[] =
    578 {
    579 	"eglSetDamageRegionKHR",
    580 };
    581 
    582 static const char* s_EGL_KHR_reusable_sync[] =
    583 {
    584 	"eglClientWaitSyncKHR",
    585 	"eglCreateSyncKHR",
    586 	"eglDestroySyncKHR",
    587 	"eglGetSyncAttribKHR",
    588 	"eglSignalSyncKHR",
    589 };
    590 
    591 static const char* s_EGL_KHR_stream[] =
    592 {
    593 	"eglCreateStreamKHR",
    594 	"eglDestroyStreamKHR",
    595 	"eglQueryStreamKHR",
    596 	"eglQueryStreamu64KHR",
    597 	"eglStreamAttribKHR",
    598 };
    599 
    600 static const char* s_EGL_KHR_stream_attrib[] =
    601 {
    602 	"eglCreateStreamAttribKHR",
    603 	"eglQueryStreamAttribKHR",
    604 	"eglSetStreamAttribKHR",
    605 	"eglStreamConsumerAcquireAttribKHR",
    606 	"eglStreamConsumerReleaseAttribKHR",
    607 };
    608 
    609 static const char* s_EGL_KHR_stream_consumer_gltexture[] =
    610 {
    611 	"eglStreamConsumerAcquireKHR",
    612 	"eglStreamConsumerGLTextureExternalKHR",
    613 	"eglStreamConsumerReleaseKHR",
    614 };
    615 
    616 static const char* s_EGL_KHR_stream_cross_process_fd[] =
    617 {
    618 	"eglCreateStreamFromFileDescriptorKHR",
    619 	"eglGetStreamFileDescriptorKHR",
    620 };
    621 
    622 static const char* s_EGL_KHR_stream_fifo[] =
    623 {
    624 	"eglQueryStreamTimeKHR",
    625 };
    626 
    627 static const char* s_EGL_KHR_stream_producer_eglsurface[] =
    628 {
    629 	"eglCreateStreamProducerSurfaceKHR",
    630 };
    631 
    632 static const char* s_EGL_KHR_swap_buffers_with_damage[] =
    633 {
    634 	"eglSwapBuffersWithDamageKHR",
    635 };
    636 
    637 static const char* s_EGL_KHR_wait_sync[] =
    638 {
    639 	"eglWaitSyncKHR",
    640 };
    641 
    642 static const char* s_EGL_MESA_drm_image[] =
    643 {
    644 	"eglCreateDRMImageMESA",
    645 	"eglExportDRMImageMESA",
    646 };
    647 
    648 static const char* s_EGL_MESA_image_dma_buf_export[] =
    649 {
    650 	"eglExportDMABUFImageMESA",
    651 	"eglExportDMABUFImageQueryMESA",
    652 };
    653 
    654 static const char* s_EGL_NOK_swap_region[] =
    655 {
    656 	"eglSwapBuffersRegionNOK",
    657 };
    658 
    659 static const char* s_EGL_NOK_swap_region2[] =
    660 {
    661 	"eglSwapBuffersRegion2NOK",
    662 };
    663 
    664 static const char* s_EGL_NV_native_query[] =
    665 {
    666 	"eglQueryNativeDisplayNV",
    667 	"eglQueryNativePixmapNV",
    668 	"eglQueryNativeWindowNV",
    669 };
    670 
    671 static const char* s_EGL_NV_post_sub_buffer[] =
    672 {
    673 	"eglPostSubBufferNV",
    674 };
    675 
    676 static const char* s_EGL_NV_stream_consumer_gltexture_yuv[] =
    677 {
    678 	"eglStreamConsumerGLTextureExternalAttribsNV",
    679 };
    680 
    681 static const char* s_EGL_NV_stream_metadata[] =
    682 {
    683 	"eglQueryDisplayAttribNV",
    684 	"eglQueryStreamMetadataNV",
    685 	"eglSetStreamMetadataNV",
    686 };
    687 
    688 static const char* s_EGL_NV_stream_reset[] =
    689 {
    690 	"eglResetStreamNV",
    691 };
    692 
    693 static const char* s_EGL_NV_stream_sync[] =
    694 {
    695 	"eglCreateStreamSyncNV",
    696 };
    697 
    698 static const char* s_EGL_NV_sync[] =
    699 {
    700 	"eglClientWaitSyncNV",
    701 	"eglCreateFenceSyncNV",
    702 	"eglDestroySyncNV",
    703 	"eglFenceNV",
    704 	"eglGetSyncAttribNV",
    705 	"eglSignalSyncNV",
    706 };
    707 
    708 static const char* s_EGL_NV_system_time[] =
    709 {
    710 	"eglGetSystemTimeFrequencyNV",
    711 	"eglGetSystemTimeNV",
    712 };
    713 
    714 static const char* s_GL_APPLE_copy_texture_levels[] =
    715 {
    716 	"glCopyTextureLevelsAPPLE",
    717 };
    718 
    719 static const char* s_GL_APPLE_framebuffer_multisample[] =
    720 {
    721 	"glRenderbufferStorageMultisampleAPPLE",
    722 	"glResolveMultisampleFramebufferAPPLE",
    723 };
    724 
    725 static const char* s_GL_APPLE_sync[] =
    726 {
    727 	"glClientWaitSyncAPPLE",
    728 	"glDeleteSyncAPPLE",
    729 	"glFenceSyncAPPLE",
    730 	"glGetInteger64vAPPLE",
    731 	"glGetSyncivAPPLE",
    732 	"glIsSyncAPPLE",
    733 	"glWaitSyncAPPLE",
    734 };
    735 
    736 static const char* s_GL_EXT_discard_framebuffer[] =
    737 {
    738 	"glDiscardFramebufferEXT",
    739 };
    740 
    741 static const char* s_GL_EXT_map_buffer_range[] =
    742 {
    743 	"glFlushMappedBufferRangeEXT",
    744 	"glMapBufferRangeEXT",
    745 };
    746 
    747 static const char* s_GL_EXT_multi_draw_arrays[] =
    748 {
    749 	"glMultiDrawArraysEXT",
    750 	"glMultiDrawElementsEXT",
    751 };
    752 
    753 static const char* s_GL_EXT_multisampled_render_to_texture[] =
    754 {
    755 	"glFramebufferTexture2DMultisampleEXT",
    756 	"glRenderbufferStorageMultisampleEXT",
    757 };
    758 
    759 static const char* s_GL_EXT_robustness[] =
    760 {
    761 	"glGetGraphicsResetStatusEXT",
    762 	"glGetnUniformfvEXT",
    763 	"glGetnUniformivEXT",
    764 	"glReadnPixelsEXT",
    765 };
    766 
    767 static const char* s_GL_EXT_texture_storage[] =
    768 {
    769 	"glTexStorage1DEXT",
    770 	"glTexStorage2DEXT",
    771 	"glTexStorage3DEXT",
    772 	"glTextureStorage1DEXT",
    773 	"glTextureStorage2DEXT",
    774 	"glTextureStorage3DEXT",
    775 };
    776 
    777 static const char* s_GL_IMG_multisampled_render_to_texture[] =
    778 {
    779 	"glFramebufferTexture2DMultisampleIMG",
    780 	"glRenderbufferStorageMultisampleIMG",
    781 };
    782 
    783 static const char* s_GL_IMG_user_clip_plane[] =
    784 {
    785 	"glClipPlanefIMG",
    786 	"glClipPlanexIMG",
    787 };
    788 
    789 static const char* s_GL_NV_fence[] =
    790 {
    791 	"glDeleteFencesNV",
    792 	"glFinishFenceNV",
    793 	"glGenFencesNV",
    794 	"glGetFenceivNV",
    795 	"glIsFenceNV",
    796 	"glSetFenceNV",
    797 	"glTestFenceNV",
    798 };
    799 
    800 static const char* s_GL_OES_EGL_image[] =
    801 {
    802 	"glEGLImageTargetRenderbufferStorageOES",
    803 	"glEGLImageTargetTexture2DOES",
    804 };
    805 
    806 static const char* s_GL_OES_blend_equation_separate[] =
    807 {
    808 	"glBlendEquationSeparateOES",
    809 };
    810 
    811 static const char* s_GL_OES_blend_func_separate[] =
    812 {
    813 	"glBlendFuncSeparateOES",
    814 };
    815 
    816 static const char* s_GL_OES_blend_subtract[] =
    817 {
    818 	"glBlendEquationOES",
    819 };
    820 
    821 static const char* s_GL_OES_draw_texture[] =
    822 {
    823 	"glDrawTexfOES",
    824 	"glDrawTexfvOES",
    825 	"glDrawTexiOES",
    826 	"glDrawTexivOES",
    827 	"glDrawTexsOES",
    828 	"glDrawTexsvOES",
    829 	"glDrawTexxOES",
    830 	"glDrawTexxvOES",
    831 };
    832 
    833 static const char* s_GL_OES_fixed_point[] =
    834 {
    835 	"glAlphaFuncxOES",
    836 	"glClearColorxOES",
    837 	"glClearDepthxOES",
    838 	"glClipPlanexOES",
    839 	"glColor4xOES",
    840 	"glDepthRangexOES",
    841 	"glFogxOES",
    842 	"glFogxvOES",
    843 	"glFrustumxOES",
    844 	"glGetClipPlanexOES",
    845 	"glGetFixedvOES",
    846 	"glGetLightxvOES",
    847 	"glGetMaterialxvOES",
    848 	"glGetTexEnvxvOES",
    849 	"glGetTexParameterxvOES",
    850 	"glLightModelxOES",
    851 	"glLightModelxvOES",
    852 	"glLightxOES",
    853 	"glLightxvOES",
    854 	"glLineWidthxOES",
    855 	"glLoadMatrixxOES",
    856 	"glMaterialxOES",
    857 	"glMaterialxvOES",
    858 	"glMultMatrixxOES",
    859 	"glMultiTexCoord4xOES",
    860 	"glNormal3xOES",
    861 	"glOrthoxOES",
    862 	"glPointParameterxOES",
    863 	"glPointParameterxvOES",
    864 	"glPointSizexOES",
    865 	"glPolygonOffsetxOES",
    866 	"glRotatexOES",
    867 	"glSampleCoveragexOES",
    868 	"glScalexOES",
    869 	"glTexEnvxOES",
    870 	"glTexEnvxvOES",
    871 	"glTexParameterxOES",
    872 	"glTexParameterxvOES",
    873 	"glTranslatexOES",
    874 };
    875 
    876 static const char* s_GL_OES_framebuffer_object[] =
    877 {
    878 	"glBindFramebufferOES",
    879 	"glBindRenderbufferOES",
    880 	"glCheckFramebufferStatusOES",
    881 	"glDeleteFramebuffersOES",
    882 	"glDeleteRenderbuffersOES",
    883 	"glFramebufferRenderbufferOES",
    884 	"glFramebufferTexture2DOES",
    885 	"glGenFramebuffersOES",
    886 	"glGenRenderbuffersOES",
    887 	"glGenerateMipmapOES",
    888 	"glGetFramebufferAttachmentParameterivOES",
    889 	"glGetRenderbufferParameterivOES",
    890 	"glIsFramebufferOES",
    891 	"glIsRenderbufferOES",
    892 	"glRenderbufferStorageOES",
    893 };
    894 
    895 static const char* s_GL_OES_mapbuffer[] =
    896 {
    897 	"glGetBufferPointervOES",
    898 	"glMapBufferOES",
    899 	"glUnmapBufferOES",
    900 };
    901 
    902 static const char* s_GL_OES_matrix_palette[] =
    903 {
    904 	"glCurrentPaletteMatrixOES",
    905 	"glLoadPaletteFromModelViewMatrixOES",
    906 	"glMatrixIndexPointerOES",
    907 	"glWeightPointerOES",
    908 };
    909 
    910 static const char* s_GL_OES_point_size_array[] =
    911 {
    912 	"glPointSizePointerOES",
    913 };
    914 
    915 static const char* s_GL_OES_query_matrix[] =
    916 {
    917 	"glQueryMatrixxOES",
    918 };
    919 
    920 static const char* s_GL_OES_single_precision[] =
    921 {
    922 	"glClearDepthfOES",
    923 	"glClipPlanefOES",
    924 	"glDepthRangefOES",
    925 	"glFrustumfOES",
    926 	"glGetClipPlanefOES",
    927 	"glOrthofOES",
    928 };
    929 
    930 static const char* s_GL_OES_texture_cube_map[] =
    931 {
    932 	"glGetTexGenfvOES",
    933 	"glGetTexGenivOES",
    934 	"glGetTexGenxvOES",
    935 	"glTexGenfOES",
    936 	"glTexGenfvOES",
    937 	"glTexGeniOES",
    938 	"glTexGenivOES",
    939 	"glTexGenxOES",
    940 	"glTexGenxvOES",
    941 };
    942 
    943 static const char* s_GL_OES_vertex_array_object[] =
    944 {
    945 	"glBindVertexArrayOES",
    946 	"glDeleteVertexArraysOES",
    947 	"glGenVertexArraysOES",
    948 	"glIsVertexArrayOES",
    949 };
    950 
    951 static const char* s_GL_QCOM_driver_control[] =
    952 {
    953 	"glDisableDriverControlQCOM",
    954 	"glEnableDriverControlQCOM",
    955 	"glGetDriverControlStringQCOM",
    956 	"glGetDriverControlsQCOM",
    957 };
    958 
    959 static const char* s_GL_QCOM_extended_get[] =
    960 {
    961 	"glExtGetBufferPointervQCOM",
    962 	"glExtGetBuffersQCOM",
    963 	"glExtGetFramebuffersQCOM",
    964 	"glExtGetRenderbuffersQCOM",
    965 	"glExtGetTexLevelParameterivQCOM",
    966 	"glExtGetTexSubImageQCOM",
    967 	"glExtGetTexturesQCOM",
    968 	"glExtTexObjectStateOverrideiQCOM",
    969 };
    970 
    971 static const char* s_GL_QCOM_extended_get2[] =
    972 {
    973 	"glExtGetProgramBinarySourceQCOM",
    974 	"glExtGetProgramsQCOM",
    975 	"glExtGetShadersQCOM",
    976 	"glExtIsProgramBinaryQCOM",
    977 };
    978 
    979 static const char* s_GL_QCOM_tiled_rendering[] =
    980 {
    981 	"glEndTilingQCOM",
    982 	"glStartTilingQCOM",
    983 };
    984 
    985 static const char* s_GL_AMD_performance_monitor[] =
    986 {
    987 	"glBeginPerfMonitorAMD",
    988 	"glDeletePerfMonitorsAMD",
    989 	"glEndPerfMonitorAMD",
    990 	"glGenPerfMonitorsAMD",
    991 	"glGetPerfMonitorCounterDataAMD",
    992 	"glGetPerfMonitorCounterInfoAMD",
    993 	"glGetPerfMonitorCounterStringAMD",
    994 	"glGetPerfMonitorCountersAMD",
    995 	"glGetPerfMonitorGroupStringAMD",
    996 	"glGetPerfMonitorGroupsAMD",
    997 	"glSelectPerfMonitorCountersAMD",
    998 };
    999 
   1000 static const char* s_GL_ANGLE_framebuffer_blit[] =
   1001 {
   1002 	"glBlitFramebufferANGLE",
   1003 };
   1004 
   1005 static const char* s_GL_ANGLE_framebuffer_multisample[] =
   1006 {
   1007 	"glRenderbufferStorageMultisampleANGLE",
   1008 };
   1009 
   1010 static const char* s_GL_ANGLE_instanced_arrays[] =
   1011 {
   1012 	"glDrawArraysInstancedANGLE",
   1013 	"glDrawElementsInstancedANGLE",
   1014 	"glVertexAttribDivisorANGLE",
   1015 };
   1016 
   1017 static const char* s_GL_ANGLE_translated_shader_source[] =
   1018 {
   1019 	"glGetTranslatedShaderSourceANGLE",
   1020 };
   1021 
   1022 static const char* s_GL_EXT_base_instance[] =
   1023 {
   1024 	"glDrawArraysInstancedBaseInstanceEXT",
   1025 	"glDrawElementsInstancedBaseInstanceEXT",
   1026 	"glDrawElementsInstancedBaseVertexBaseInstanceEXT",
   1027 };
   1028 
   1029 static const char* s_GL_EXT_blend_func_extended[] =
   1030 {
   1031 	"glBindFragDataLocationEXT",
   1032 	"glBindFragDataLocationIndexedEXT",
   1033 	"glGetFragDataIndexEXT",
   1034 	"glGetProgramResourceLocationIndexEXT",
   1035 };
   1036 
   1037 static const char* s_GL_EXT_buffer_storage[] =
   1038 {
   1039 	"glBufferStorageEXT",
   1040 };
   1041 
   1042 static const char* s_GL_EXT_copy_image[] =
   1043 {
   1044 	"glCopyImageSubDataEXT",
   1045 };
   1046 
   1047 static const char* s_GL_EXT_debug_label[] =
   1048 {
   1049 	"glGetObjectLabelEXT",
   1050 	"glLabelObjectEXT",
   1051 };
   1052 
   1053 static const char* s_GL_EXT_debug_marker[] =
   1054 {
   1055 	"glInsertEventMarkerEXT",
   1056 	"glPopGroupMarkerEXT",
   1057 	"glPushGroupMarkerEXT",
   1058 };
   1059 
   1060 static const char* s_GL_EXT_disjoint_timer_query[] =
   1061 {
   1062 	"glBeginQueryEXT",
   1063 	"glDeleteQueriesEXT",
   1064 	"glEndQueryEXT",
   1065 	"glGenQueriesEXT",
   1066 	"glGetQueryObjecti64vEXT",
   1067 	"glGetQueryObjectivEXT",
   1068 	"glGetQueryObjectui64vEXT",
   1069 	"glGetQueryObjectuivEXT",
   1070 	"glGetQueryivEXT",
   1071 	"glIsQueryEXT",
   1072 	"glQueryCounterEXT",
   1073 };
   1074 
   1075 static const char* s_GL_EXT_draw_buffers[] =
   1076 {
   1077 	"glDrawBuffersEXT",
   1078 };
   1079 
   1080 static const char* s_GL_EXT_draw_buffers_indexed[] =
   1081 {
   1082 	"glBlendEquationSeparateiEXT",
   1083 	"glBlendEquationiEXT",
   1084 	"glBlendFuncSeparateiEXT",
   1085 	"glBlendFunciEXT",
   1086 	"glColorMaskiEXT",
   1087 	"glDisableiEXT",
   1088 	"glEnableiEXT",
   1089 	"glIsEnablediEXT",
   1090 };
   1091 
   1092 static const char* s_GL_EXT_draw_elements_base_vertex[] =
   1093 {
   1094 	"glDrawElementsBaseVertexEXT",
   1095 	"glDrawElementsInstancedBaseVertexEXT",
   1096 	"glDrawRangeElementsBaseVertexEXT",
   1097 	"glMultiDrawElementsBaseVertexEXT",
   1098 };
   1099 
   1100 static const char* s_GL_EXT_draw_instanced[] =
   1101 {
   1102 	"glDrawArraysInstancedEXT",
   1103 	"glDrawElementsInstancedEXT",
   1104 };
   1105 
   1106 static const char* s_GL_EXT_geometry_shader[] =
   1107 {
   1108 	"glFramebufferTextureEXT",
   1109 };
   1110 
   1111 static const char* s_GL_EXT_instanced_arrays[] =
   1112 {
   1113 	"glDrawArraysInstancedEXT",
   1114 	"glDrawElementsInstancedEXT",
   1115 	"glVertexAttribDivisorEXT",
   1116 };
   1117 
   1118 static const char* s_GL_EXT_multi_draw_indirect[] =
   1119 {
   1120 	"glMultiDrawArraysIndirectEXT",
   1121 	"glMultiDrawElementsIndirectEXT",
   1122 };
   1123 
   1124 static const char* s_GL_EXT_multiview_draw_buffers[] =
   1125 {
   1126 	"glDrawBuffersIndexedEXT",
   1127 	"glGetIntegeri_vEXT",
   1128 	"glReadBufferIndexedEXT",
   1129 };
   1130 
   1131 static const char* s_GL_EXT_occlusion_query_boolean[] =
   1132 {
   1133 	"glBeginQueryEXT",
   1134 	"glDeleteQueriesEXT",
   1135 	"glEndQueryEXT",
   1136 	"glGenQueriesEXT",
   1137 	"glGetQueryObjectuivEXT",
   1138 	"glGetQueryivEXT",
   1139 	"glIsQueryEXT",
   1140 };
   1141 
   1142 static const char* s_GL_EXT_primitive_bounding_box[] =
   1143 {
   1144 	"glPrimitiveBoundingBoxEXT",
   1145 };
   1146 
   1147 static const char* s_GL_EXT_raster_multisample[] =
   1148 {
   1149 	"glRasterSamplesEXT",
   1150 };
   1151 
   1152 static const char* s_GL_EXT_separate_shader_objects[] =
   1153 {
   1154 	"glActiveShaderProgramEXT",
   1155 	"glBindProgramPipelineEXT",
   1156 	"glCreateShaderProgramvEXT",
   1157 	"glDeleteProgramPipelinesEXT",
   1158 	"glGenProgramPipelinesEXT",
   1159 	"glGetProgramPipelineInfoLogEXT",
   1160 	"glGetProgramPipelineivEXT",
   1161 	"glIsProgramPipelineEXT",
   1162 	"glProgramParameteriEXT",
   1163 	"glProgramUniform1fEXT",
   1164 	"glProgramUniform1fvEXT",
   1165 	"glProgramUniform1iEXT",
   1166 	"glProgramUniform1ivEXT",
   1167 	"glProgramUniform1uiEXT",
   1168 	"glProgramUniform1uivEXT",
   1169 	"glProgramUniform2fEXT",
   1170 	"glProgramUniform2fvEXT",
   1171 	"glProgramUniform2iEXT",
   1172 	"glProgramUniform2ivEXT",
   1173 	"glProgramUniform2uiEXT",
   1174 	"glProgramUniform2uivEXT",
   1175 	"glProgramUniform3fEXT",
   1176 	"glProgramUniform3fvEXT",
   1177 	"glProgramUniform3iEXT",
   1178 	"glProgramUniform3ivEXT",
   1179 	"glProgramUniform3uiEXT",
   1180 	"glProgramUniform3uivEXT",
   1181 	"glProgramUniform4fEXT",
   1182 	"glProgramUniform4fvEXT",
   1183 	"glProgramUniform4iEXT",
   1184 	"glProgramUniform4ivEXT",
   1185 	"glProgramUniform4uiEXT",
   1186 	"glProgramUniform4uivEXT",
   1187 	"glProgramUniformMatrix2fvEXT",
   1188 	"glProgramUniformMatrix2x3fvEXT",
   1189 	"glProgramUniformMatrix2x4fvEXT",
   1190 	"glProgramUniformMatrix3fvEXT",
   1191 	"glProgramUniformMatrix3x2fvEXT",
   1192 	"glProgramUniformMatrix3x4fvEXT",
   1193 	"glProgramUniformMatrix4fvEXT",
   1194 	"glProgramUniformMatrix4x2fvEXT",
   1195 	"glProgramUniformMatrix4x3fvEXT",
   1196 	"glUseProgramStagesEXT",
   1197 	"glValidateProgramPipelineEXT",
   1198 };
   1199 
   1200 static const char* s_GL_EXT_sparse_texture[] =
   1201 {
   1202 	"glTexPageCommitmentEXT",
   1203 };
   1204 
   1205 static const char* s_GL_EXT_tessellation_shader[] =
   1206 {
   1207 	"glPatchParameteriEXT",
   1208 };
   1209 
   1210 static const char* s_GL_EXT_texture_border_clamp[] =
   1211 {
   1212 	"glGetSamplerParameterIivEXT",
   1213 	"glGetSamplerParameterIuivEXT",
   1214 	"glGetTexParameterIivEXT",
   1215 	"glGetTexParameterIuivEXT",
   1216 	"glSamplerParameterIivEXT",
   1217 	"glSamplerParameterIuivEXT",
   1218 	"glTexParameterIivEXT",
   1219 	"glTexParameterIuivEXT",
   1220 };
   1221 
   1222 static const char* s_GL_EXT_texture_buffer[] =
   1223 {
   1224 	"glTexBufferEXT",
   1225 	"glTexBufferRangeEXT",
   1226 };
   1227 
   1228 static const char* s_GL_EXT_texture_filter_minmax[] =
   1229 {
   1230 	"glRasterSamplesEXT",
   1231 };
   1232 
   1233 static const char* s_GL_EXT_texture_view[] =
   1234 {
   1235 	"glTextureViewEXT",
   1236 };
   1237 
   1238 static const char* s_GL_INTEL_framebuffer_CMAA[] =
   1239 {
   1240 	"glApplyFramebufferAttachmentCMAAINTEL",
   1241 };
   1242 
   1243 static const char* s_GL_INTEL_performance_query[] =
   1244 {
   1245 	"glBeginPerfQueryINTEL",
   1246 	"glCreatePerfQueryINTEL",
   1247 	"glDeletePerfQueryINTEL",
   1248 	"glEndPerfQueryINTEL",
   1249 	"glGetFirstPerfQueryIdINTEL",
   1250 	"glGetNextPerfQueryIdINTEL",
   1251 	"glGetPerfCounterInfoINTEL",
   1252 	"glGetPerfQueryDataINTEL",
   1253 	"glGetPerfQueryIdByNameINTEL",
   1254 	"glGetPerfQueryInfoINTEL",
   1255 };
   1256 
   1257 static const char* s_GL_KHR_blend_equation_advanced[] =
   1258 {
   1259 	"glBlendBarrierKHR",
   1260 };
   1261 
   1262 static const char* s_GL_KHR_debug[] =
   1263 {
   1264 	"glDebugMessageCallbackKHR",
   1265 	"glDebugMessageControlKHR",
   1266 	"glDebugMessageInsertKHR",
   1267 	"glGetDebugMessageLogKHR",
   1268 	"glGetObjectLabelKHR",
   1269 	"glGetObjectPtrLabelKHR",
   1270 	"glGetPointervKHR",
   1271 	"glObjectLabelKHR",
   1272 	"glObjectPtrLabelKHR",
   1273 	"glPopDebugGroupKHR",
   1274 	"glPushDebugGroupKHR",
   1275 };
   1276 
   1277 static const char* s_GL_KHR_robustness[] =
   1278 {
   1279 	"glGetGraphicsResetStatusKHR",
   1280 	"glGetnUniformfvKHR",
   1281 	"glGetnUniformivKHR",
   1282 	"glGetnUniformuivKHR",
   1283 	"glReadnPixelsKHR",
   1284 };
   1285 
   1286 static const char* s_GL_NV_bindless_texture[] =
   1287 {
   1288 	"glGetImageHandleNV",
   1289 	"glGetTextureHandleNV",
   1290 	"glGetTextureSamplerHandleNV",
   1291 	"glIsImageHandleResidentNV",
   1292 	"glIsTextureHandleResidentNV",
   1293 	"glMakeImageHandleNonResidentNV",
   1294 	"glMakeImageHandleResidentNV",
   1295 	"glMakeTextureHandleNonResidentNV",
   1296 	"glMakeTextureHandleResidentNV",
   1297 	"glProgramUniformHandleui64NV",
   1298 	"glProgramUniformHandleui64vNV",
   1299 	"glUniformHandleui64NV",
   1300 	"glUniformHandleui64vNV",
   1301 };
   1302 
   1303 static const char* s_GL_NV_blend_equation_advanced[] =
   1304 {
   1305 	"glBlendBarrierNV",
   1306 	"glBlendParameteriNV",
   1307 };
   1308 
   1309 static const char* s_GL_NV_conditional_render[] =
   1310 {
   1311 	"glBeginConditionalRenderNV",
   1312 	"glEndConditionalRenderNV",
   1313 };
   1314 
   1315 static const char* s_GL_NV_conservative_raster[] =
   1316 {
   1317 	"glSubpixelPrecisionBiasNV",
   1318 };
   1319 
   1320 static const char* s_GL_NV_copy_buffer[] =
   1321 {
   1322 	"glCopyBufferSubDataNV",
   1323 };
   1324 
   1325 static const char* s_GL_NV_coverage_sample[] =
   1326 {
   1327 	"glCoverageMaskNV",
   1328 	"glCoverageOperationNV",
   1329 };
   1330 
   1331 static const char* s_GL_NV_draw_buffers[] =
   1332 {
   1333 	"glDrawBuffersNV",
   1334 };
   1335 
   1336 static const char* s_GL_NV_draw_instanced[] =
   1337 {
   1338 	"glDrawArraysInstancedNV",
   1339 	"glDrawElementsInstancedNV",
   1340 };
   1341 
   1342 static const char* s_GL_NV_fragment_coverage_to_color[] =
   1343 {
   1344 	"glFragmentCoverageColorNV",
   1345 };
   1346 
   1347 static const char* s_GL_NV_framebuffer_blit[] =
   1348 {
   1349 	"glBlitFramebufferNV",
   1350 };
   1351 
   1352 static const char* s_GL_NV_framebuffer_mixed_samples[] =
   1353 {
   1354 	"glCoverageModulationNV",
   1355 	"glCoverageModulationTableNV",
   1356 	"glGetCoverageModulationTableNV",
   1357 	"glRasterSamplesEXT",
   1358 };
   1359 
   1360 static const char* s_GL_NV_framebuffer_multisample[] =
   1361 {
   1362 	"glRenderbufferStorageMultisampleNV",
   1363 };
   1364 
   1365 static const char* s_GL_NV_instanced_arrays[] =
   1366 {
   1367 	"glVertexAttribDivisorNV",
   1368 };
   1369 
   1370 static const char* s_GL_NV_internalformat_sample_query[] =
   1371 {
   1372 	"glGetInternalformatSampleivNV",
   1373 };
   1374 
   1375 static const char* s_GL_NV_non_square_matrices[] =
   1376 {
   1377 	"glUniformMatrix2x3fvNV",
   1378 	"glUniformMatrix2x4fvNV",
   1379 	"glUniformMatrix3x2fvNV",
   1380 	"glUniformMatrix3x4fvNV",
   1381 	"glUniformMatrix4x2fvNV",
   1382 	"glUniformMatrix4x3fvNV",
   1383 };
   1384 
   1385 static const char* s_GL_NV_path_rendering[] =
   1386 {
   1387 	"glCopyPathNV",
   1388 	"glCoverFillPathInstancedNV",
   1389 	"glCoverFillPathNV",
   1390 	"glCoverStrokePathInstancedNV",
   1391 	"glCoverStrokePathNV",
   1392 	"glDeletePathsNV",
   1393 	"glGenPathsNV",
   1394 	"glGetPathCommandsNV",
   1395 	"glGetPathCoordsNV",
   1396 	"glGetPathDashArrayNV",
   1397 	"glGetPathLengthNV",
   1398 	"glGetPathMetricRangeNV",
   1399 	"glGetPathMetricsNV",
   1400 	"glGetPathParameterfvNV",
   1401 	"glGetPathParameterivNV",
   1402 	"glGetPathSpacingNV",
   1403 	"glGetProgramResourcefvNV",
   1404 	"glInterpolatePathsNV",
   1405 	"glIsPathNV",
   1406 	"glIsPointInFillPathNV",
   1407 	"glIsPointInStrokePathNV",
   1408 	"glMatrixLoad3x2fNV",
   1409 	"glMatrixLoad3x3fNV",
   1410 	"glMatrixLoadTranspose3x3fNV",
   1411 	"glMatrixMult3x2fNV",
   1412 	"glMatrixMult3x3fNV",
   1413 	"glMatrixMultTranspose3x3fNV",
   1414 	"glPathCommandsNV",
   1415 	"glPathCoordsNV",
   1416 	"glPathCoverDepthFuncNV",
   1417 	"glPathDashArrayNV",
   1418 	"glPathGlyphIndexArrayNV",
   1419 	"glPathGlyphIndexRangeNV",
   1420 	"glPathGlyphRangeNV",
   1421 	"glPathGlyphsNV",
   1422 	"glPathMemoryGlyphIndexArrayNV",
   1423 	"glPathParameterfNV",
   1424 	"glPathParameterfvNV",
   1425 	"glPathParameteriNV",
   1426 	"glPathParameterivNV",
   1427 	"glPathStencilDepthOffsetNV",
   1428 	"glPathStencilFuncNV",
   1429 	"glPathStringNV",
   1430 	"glPathSubCommandsNV",
   1431 	"glPathSubCoordsNV",
   1432 	"glPointAlongPathNV",
   1433 	"glProgramPathFragmentInputGenNV",
   1434 	"glStencilFillPathInstancedNV",
   1435 	"glStencilFillPathNV",
   1436 	"glStencilStrokePathInstancedNV",
   1437 	"glStencilStrokePathNV",
   1438 	"glStencilThenCoverFillPathInstancedNV",
   1439 	"glStencilThenCoverFillPathNV",
   1440 	"glStencilThenCoverStrokePathInstancedNV",
   1441 	"glStencilThenCoverStrokePathNV",
   1442 	"glTransformPathNV",
   1443 	"glWeightPathsNV",
   1444 };
   1445 
   1446 static const char* s_GL_NV_polygon_mode[] =
   1447 {
   1448 	"glPolygonModeNV",
   1449 };
   1450 
   1451 static const char* s_GL_NV_read_buffer[] =
   1452 {
   1453 	"glReadBufferNV",
   1454 };
   1455 
   1456 static const char* s_GL_NV_sample_locations[] =
   1457 {
   1458 	"glFramebufferSampleLocationsfvNV",
   1459 	"glNamedFramebufferSampleLocationsfvNV",
   1460 	"glResolveDepthValuesNV",
   1461 };
   1462 
   1463 static const char* s_GL_NV_viewport_array[] =
   1464 {
   1465 	"glDepthRangeArrayfvNV",
   1466 	"glDepthRangeIndexedfNV",
   1467 	"glDisableiNV",
   1468 	"glEnableiNV",
   1469 	"glGetFloati_vNV",
   1470 	"glIsEnablediNV",
   1471 	"glScissorArrayvNV",
   1472 	"glScissorIndexedNV",
   1473 	"glScissorIndexedvNV",
   1474 	"glViewportArrayvNV",
   1475 	"glViewportIndexedfNV",
   1476 	"glViewportIndexedfvNV",
   1477 };
   1478 
   1479 static const char* s_GL_OES_copy_image[] =
   1480 {
   1481 	"glCopyImageSubDataOES",
   1482 };
   1483 
   1484 static const char* s_GL_OES_draw_buffers_indexed[] =
   1485 {
   1486 	"glBlendEquationSeparateiOES",
   1487 	"glBlendEquationiOES",
   1488 	"glBlendFuncSeparateiOES",
   1489 	"glBlendFunciOES",
   1490 	"glColorMaskiOES",
   1491 	"glDisableiOES",
   1492 	"glEnableiOES",
   1493 	"glIsEnablediOES",
   1494 };
   1495 
   1496 static const char* s_GL_OES_draw_elements_base_vertex[] =
   1497 {
   1498 	"glDrawElementsBaseVertexOES",
   1499 	"glDrawElementsInstancedBaseVertexOES",
   1500 	"glDrawRangeElementsBaseVertexOES",
   1501 	"glMultiDrawElementsBaseVertexOES",
   1502 };
   1503 
   1504 static const char* s_GL_OES_geometry_shader[] =
   1505 {
   1506 	"glFramebufferTextureOES",
   1507 };
   1508 
   1509 static const char* s_GL_OES_get_program_binary[] =
   1510 {
   1511 	"glGetProgramBinaryOES",
   1512 	"glProgramBinaryOES",
   1513 };
   1514 
   1515 static const char* s_GL_OES_primitive_bounding_box[] =
   1516 {
   1517 	"glPrimitiveBoundingBoxOES",
   1518 };
   1519 
   1520 static const char* s_GL_OES_sample_shading[] =
   1521 {
   1522 	"glMinSampleShadingOES",
   1523 };
   1524 
   1525 static const char* s_GL_OES_tessellation_shader[] =
   1526 {
   1527 	"glPatchParameteriOES",
   1528 };
   1529 
   1530 static const char* s_GL_OES_texture_3D[] =
   1531 {
   1532 	"glCompressedTexImage3DOES",
   1533 	"glCompressedTexSubImage3DOES",
   1534 	"glCopyTexSubImage3DOES",
   1535 	"glFramebufferTexture3DOES",
   1536 	"glTexImage3DOES",
   1537 	"glTexSubImage3DOES",
   1538 };
   1539 
   1540 static const char* s_GL_OES_texture_border_clamp[] =
   1541 {
   1542 	"glGetSamplerParameterIivOES",
   1543 	"glGetSamplerParameterIuivOES",
   1544 	"glGetTexParameterIivOES",
   1545 	"glGetTexParameterIuivOES",
   1546 	"glSamplerParameterIivOES",
   1547 	"glSamplerParameterIuivOES",
   1548 	"glTexParameterIivOES",
   1549 	"glTexParameterIuivOES",
   1550 };
   1551 
   1552 static const char* s_GL_OES_texture_buffer[] =
   1553 {
   1554 	"glTexBufferOES",
   1555 	"glTexBufferRangeOES",
   1556 };
   1557 
   1558 static const char* s_GL_OES_texture_storage_multisample_2d_array[] =
   1559 {
   1560 	"glTexStorage3DMultisampleOES",
   1561 };
   1562 
   1563 static const char* s_GL_OES_texture_view[] =
   1564 {
   1565 	"glTextureViewOES",
   1566 };
   1567 
   1568 static const char* s_GL_OVR_multiview[] =
   1569 {
   1570 	"glFramebufferTextureMultiviewOVR",
   1571 };
   1572 
   1573 static const char* s_GL_QCOM_alpha_test[] =
   1574 {
   1575 	"glAlphaFuncQCOM",
   1576 };
   1577 
   1578 static const struct
   1579 {
   1580 	const char*			name;
   1581 	const int			numFunctions;
   1582 	const char* const*	functions;
   1583 } s_extensions[] =
   1584 {
   1585 	{ "EGL_ANDROID_blob_cache",							DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache),						s_EGL_ANDROID_blob_cache						},
   1586 	{ "EGL_ANDROID_create_native_client_buffer",		DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer),		s_EGL_ANDROID_create_native_client_buffer		},
   1587 	{ "EGL_ANDROID_native_fence_sync",					DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync),				s_EGL_ANDROID_native_fence_sync					},
   1588 	{ "EGL_ANDROID_presentation_time",					DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time),				s_EGL_ANDROID_presentation_time					},
   1589 	{ "EGL_ANGLE_query_surface_pointer",				DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer),				s_EGL_ANGLE_query_surface_pointer				},
   1590 	{ "EGL_EXT_device_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base),							s_EGL_EXT_device_base							},
   1591 	{ "EGL_EXT_device_enumeration",						DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration),					s_EGL_EXT_device_enumeration					},
   1592 	{ "EGL_EXT_device_query",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query),							s_EGL_EXT_device_query							},
   1593 	{ "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		},
   1594 	{ "EGL_EXT_output_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base),							s_EGL_EXT_output_base							},
   1595 	{ "EGL_EXT_platform_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base),						s_EGL_EXT_platform_base							},
   1596 	{ "EGL_EXT_stream_consumer_egloutput",				DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput),			s_EGL_EXT_stream_consumer_egloutput				},
   1597 	{ "EGL_EXT_swap_buffers_with_damage",				DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage),				s_EGL_EXT_swap_buffers_with_damage				},
   1598 	{ "EGL_HI_clientpixmap",							DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap),							s_EGL_HI_clientpixmap							},
   1599 	{ "EGL_KHR_cl_event2",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2),							s_EGL_KHR_cl_event2								},
   1600 	{ "EGL_KHR_debug",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug),								s_EGL_KHR_debug									},
   1601 	{ "EGL_KHR_fence_sync",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync),							s_EGL_KHR_fence_sync							},
   1602 	{ "EGL_KHR_image",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_image),								s_EGL_KHR_image									},
   1603 	{ "EGL_KHR_image_base",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base),							s_EGL_KHR_image_base							},
   1604 	{ "EGL_KHR_lock_surface",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface),							s_EGL_KHR_lock_surface							},
   1605 	{ "EGL_KHR_lock_surface3",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3),						s_EGL_KHR_lock_surface3							},
   1606 	{ "EGL_KHR_partial_update",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update),						s_EGL_KHR_partial_update						},
   1607 	{ "EGL_KHR_reusable_sync",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync),						s_EGL_KHR_reusable_sync							},
   1608 	{ "EGL_KHR_stream",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream),								s_EGL_KHR_stream								},
   1609 	{ "EGL_KHR_stream_attrib",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib),						s_EGL_KHR_stream_attrib							},
   1610 	{ "EGL_KHR_stream_consumer_gltexture",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture),			s_EGL_KHR_stream_consumer_gltexture				},
   1611 	{ "EGL_KHR_stream_cross_process_fd",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd),				s_EGL_KHR_stream_cross_process_fd				},
   1612 	{ "EGL_KHR_stream_fifo",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo),							s_EGL_KHR_stream_fifo							},
   1613 	{ "EGL_KHR_stream_producer_eglsurface",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface),			s_EGL_KHR_stream_producer_eglsurface			},
   1614 	{ "EGL_KHR_swap_buffers_with_damage",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage),				s_EGL_KHR_swap_buffers_with_damage				},
   1615 	{ "EGL_KHR_wait_sync",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync),							s_EGL_KHR_wait_sync								},
   1616 	{ "EGL_MESA_drm_image",								DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image),							s_EGL_MESA_drm_image							},
   1617 	{ "EGL_MESA_image_dma_buf_export",					DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export),				s_EGL_MESA_image_dma_buf_export					},
   1618 	{ "EGL_NOK_swap_region",							DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region),							s_EGL_NOK_swap_region							},
   1619 	{ "EGL_NOK_swap_region2",							DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2),							s_EGL_NOK_swap_region2							},
   1620 	{ "EGL_NV_native_query",							DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query),							s_EGL_NV_native_query							},
   1621 	{ "EGL_NV_post_sub_buffer",							DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer),						s_EGL_NV_post_sub_buffer						},
   1622 	{ "EGL_NV_stream_consumer_gltexture_yuv",			DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv),			s_EGL_NV_stream_consumer_gltexture_yuv			},
   1623 	{ "EGL_NV_stream_metadata",							DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata),						s_EGL_NV_stream_metadata						},
   1624 	{ "EGL_NV_stream_reset",							DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset),							s_EGL_NV_stream_reset							},
   1625 	{ "EGL_NV_stream_sync",								DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync),							s_EGL_NV_stream_sync							},
   1626 	{ "EGL_NV_sync",									DE_LENGTH_OF_ARRAY(s_EGL_NV_sync),									s_EGL_NV_sync									},
   1627 	{ "EGL_NV_system_time",								DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time),							s_EGL_NV_system_time							},
   1628 	{ "GL_APPLE_copy_texture_levels",					DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels),					s_GL_APPLE_copy_texture_levels					},
   1629 	{ "GL_APPLE_framebuffer_multisample",				DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample),				s_GL_APPLE_framebuffer_multisample				},
   1630 	{ "GL_APPLE_sync",									DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync),								s_GL_APPLE_sync									},
   1631 	{ "GL_EXT_discard_framebuffer",						DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer),					s_GL_EXT_discard_framebuffer					},
   1632 	{ "GL_EXT_map_buffer_range",						DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range),						s_GL_EXT_map_buffer_range						},
   1633 	{ "GL_EXT_multi_draw_arrays",						DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays),						s_GL_EXT_multi_draw_arrays						},
   1634 	{ "GL_EXT_multisampled_render_to_texture",			DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture),		s_GL_EXT_multisampled_render_to_texture			},
   1635 	{ "GL_EXT_robustness",								DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness),							s_GL_EXT_robustness								},
   1636 	{ "GL_EXT_texture_storage",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage),						s_GL_EXT_texture_storage						},
   1637 	{ "GL_IMG_multisampled_render_to_texture",			DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture),		s_GL_IMG_multisampled_render_to_texture			},
   1638 	{ "GL_IMG_user_clip_plane",							DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane),						s_GL_IMG_user_clip_plane						},
   1639 	{ "GL_NV_fence",									DE_LENGTH_OF_ARRAY(s_GL_NV_fence),									s_GL_NV_fence									},
   1640 	{ "GL_OES_EGL_image",								DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image),								s_GL_OES_EGL_image								},
   1641 	{ "GL_OES_blend_equation_separate",					DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate),				s_GL_OES_blend_equation_separate				},
   1642 	{ "GL_OES_blend_func_separate",						DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate),					s_GL_OES_blend_func_separate					},
   1643 	{ "GL_OES_blend_subtract",							DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract),						s_GL_OES_blend_subtract							},
   1644 	{ "GL_OES_draw_texture",							DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture),							s_GL_OES_draw_texture							},
   1645 	{ "GL_OES_fixed_point",								DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point),							s_GL_OES_fixed_point							},
   1646 	{ "GL_OES_framebuffer_object",						DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object),					s_GL_OES_framebuffer_object						},
   1647 	{ "GL_OES_mapbuffer",								DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer),								s_GL_OES_mapbuffer								},
   1648 	{ "GL_OES_matrix_palette",							DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette),						s_GL_OES_matrix_palette							},
   1649 	{ "GL_OES_point_size_array",						DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array),						s_GL_OES_point_size_array						},
   1650 	{ "GL_OES_query_matrix",							DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix),							s_GL_OES_query_matrix							},
   1651 	{ "GL_OES_single_precision",						DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision),						s_GL_OES_single_precision						},
   1652 	{ "GL_OES_texture_cube_map",						DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map),						s_GL_OES_texture_cube_map						},
   1653 	{ "GL_OES_vertex_array_object",						DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object),					s_GL_OES_vertex_array_object					},
   1654 	{ "GL_QCOM_driver_control",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control),						s_GL_QCOM_driver_control						},
   1655 	{ "GL_QCOM_extended_get",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get),							s_GL_QCOM_extended_get							},
   1656 	{ "GL_QCOM_extended_get2",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2),						s_GL_QCOM_extended_get2							},
   1657 	{ "GL_QCOM_tiled_rendering",						DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering),						s_GL_QCOM_tiled_rendering						},
   1658 	{ "GL_AMD_performance_monitor",						DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor),					s_GL_AMD_performance_monitor					},
   1659 	{ "GL_ANGLE_framebuffer_blit",						DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit),					s_GL_ANGLE_framebuffer_blit						},
   1660 	{ "GL_ANGLE_framebuffer_multisample",				DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample),				s_GL_ANGLE_framebuffer_multisample				},
   1661 	{ "GL_ANGLE_instanced_arrays",						DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays),					s_GL_ANGLE_instanced_arrays						},
   1662 	{ "GL_ANGLE_translated_shader_source",				DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source),			s_GL_ANGLE_translated_shader_source				},
   1663 	{ "GL_EXT_base_instance",							DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance),							s_GL_EXT_base_instance							},
   1664 	{ "GL_EXT_blend_func_extended",						DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended),					s_GL_EXT_blend_func_extended					},
   1665 	{ "GL_EXT_buffer_storage",							DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage),						s_GL_EXT_buffer_storage							},
   1666 	{ "GL_EXT_copy_image",								DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image),							s_GL_EXT_copy_image								},
   1667 	{ "GL_EXT_debug_label",								DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label),							s_GL_EXT_debug_label							},
   1668 	{ "GL_EXT_debug_marker",							DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker),							s_GL_EXT_debug_marker							},
   1669 	{ "GL_EXT_disjoint_timer_query",					DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query),					s_GL_EXT_disjoint_timer_query					},
   1670 	{ "GL_EXT_draw_buffers",							DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers),							s_GL_EXT_draw_buffers							},
   1671 	{ "GL_EXT_draw_buffers_indexed",					DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed),					s_GL_EXT_draw_buffers_indexed					},
   1672 	{ "GL_EXT_draw_elements_base_vertex",				DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex),				s_GL_EXT_draw_elements_base_vertex				},
   1673 	{ "GL_EXT_draw_instanced",							DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced),						s_GL_EXT_draw_instanced							},
   1674 	{ "GL_EXT_geometry_shader",							DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader),						s_GL_EXT_geometry_shader						},
   1675 	{ "GL_EXT_instanced_arrays",						DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays),						s_GL_EXT_instanced_arrays						},
   1676 	{ "GL_EXT_multi_draw_indirect",						DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect),					s_GL_EXT_multi_draw_indirect					},
   1677 	{ "GL_EXT_multiview_draw_buffers",					DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers),				s_GL_EXT_multiview_draw_buffers					},
   1678 	{ "GL_EXT_occlusion_query_boolean",					DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean),				s_GL_EXT_occlusion_query_boolean				},
   1679 	{ "GL_EXT_primitive_bounding_box",					DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box),				s_GL_EXT_primitive_bounding_box					},
   1680 	{ "GL_EXT_raster_multisample",						DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample),					s_GL_EXT_raster_multisample						},
   1681 	{ "GL_EXT_separate_shader_objects",					DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects),				s_GL_EXT_separate_shader_objects				},
   1682 	{ "GL_EXT_sparse_texture",							DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture),						s_GL_EXT_sparse_texture							},
   1683 	{ "GL_EXT_tessellation_shader",						DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader),					s_GL_EXT_tessellation_shader					},
   1684 	{ "GL_EXT_texture_border_clamp",					DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp),					s_GL_EXT_texture_border_clamp					},
   1685 	{ "GL_EXT_texture_buffer",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer),						s_GL_EXT_texture_buffer							},
   1686 	{ "GL_EXT_texture_filter_minmax",					DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_filter_minmax),					s_GL_EXT_texture_filter_minmax					},
   1687 	{ "GL_EXT_texture_view",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view),							s_GL_EXT_texture_view							},
   1688 	{ "GL_INTEL_framebuffer_CMAA",						DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA),					s_GL_INTEL_framebuffer_CMAA						},
   1689 	{ "GL_INTEL_performance_query",						DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query),					s_GL_INTEL_performance_query					},
   1690 	{ "GL_KHR_blend_equation_advanced",					DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced),				s_GL_KHR_blend_equation_advanced				},
   1691 	{ "GL_KHR_debug",									DE_LENGTH_OF_ARRAY(s_GL_KHR_debug),									s_GL_KHR_debug									},
   1692 	{ "GL_KHR_robustness",								DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness),							s_GL_KHR_robustness								},
   1693 	{ "GL_NV_bindless_texture",							DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture),						s_GL_NV_bindless_texture						},
   1694 	{ "GL_NV_blend_equation_advanced",					DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced),				s_GL_NV_blend_equation_advanced					},
   1695 	{ "GL_NV_conditional_render",						DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render),						s_GL_NV_conditional_render						},
   1696 	{ "GL_NV_conservative_raster",						DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster),					s_GL_NV_conservative_raster						},
   1697 	{ "GL_NV_copy_buffer",								DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer),							s_GL_NV_copy_buffer								},
   1698 	{ "GL_NV_coverage_sample",							DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample),						s_GL_NV_coverage_sample							},
   1699 	{ "GL_NV_draw_buffers",								DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers),							s_GL_NV_draw_buffers							},
   1700 	{ "GL_NV_draw_instanced",							DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced),							s_GL_NV_draw_instanced							},
   1701 	{ "GL_NV_fragment_coverage_to_color",				DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color),				s_GL_NV_fragment_coverage_to_color				},
   1702 	{ "GL_NV_framebuffer_blit",							DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit),						s_GL_NV_framebuffer_blit						},
   1703 	{ "GL_NV_framebuffer_mixed_samples",				DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples),				s_GL_NV_framebuffer_mixed_samples				},
   1704 	{ "GL_NV_framebuffer_multisample",					DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample),				s_GL_NV_framebuffer_multisample					},
   1705 	{ "GL_NV_instanced_arrays",							DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays),						s_GL_NV_instanced_arrays						},
   1706 	{ "GL_NV_internalformat_sample_query",				DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query),			s_GL_NV_internalformat_sample_query				},
   1707 	{ "GL_NV_non_square_matrices",						DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices),					s_GL_NV_non_square_matrices						},
   1708 	{ "GL_NV_path_rendering",							DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering),							s_GL_NV_path_rendering							},
   1709 	{ "GL_NV_polygon_mode",								DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode),							s_GL_NV_polygon_mode							},
   1710 	{ "GL_NV_read_buffer",								DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer),							s_GL_NV_read_buffer								},
   1711 	{ "GL_NV_sample_locations",							DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations),						s_GL_NV_sample_locations						},
   1712 	{ "GL_NV_viewport_array",							DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array),							s_GL_NV_viewport_array							},
   1713 	{ "GL_OES_copy_image",								DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image),							s_GL_OES_copy_image								},
   1714 	{ "GL_OES_draw_buffers_indexed",					DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed),					s_GL_OES_draw_buffers_indexed					},
   1715 	{ "GL_OES_draw_elements_base_vertex",				DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex),				s_GL_OES_draw_elements_base_vertex				},
   1716 	{ "GL_OES_geometry_shader",							DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader),						s_GL_OES_geometry_shader						},
   1717 	{ "GL_OES_get_program_binary",						DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary),					s_GL_OES_get_program_binary						},
   1718 	{ "GL_OES_primitive_bounding_box",					DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box),				s_GL_OES_primitive_bounding_box					},
   1719 	{ "GL_OES_sample_shading",							DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading),						s_GL_OES_sample_shading							},
   1720 	{ "GL_OES_tessellation_shader",						DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader),					s_GL_OES_tessellation_shader					},
   1721 	{ "GL_OES_texture_3D",								DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D),							s_GL_OES_texture_3D								},
   1722 	{ "GL_OES_texture_border_clamp",					DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp),					s_GL_OES_texture_border_clamp					},
   1723 	{ "GL_OES_texture_buffer",							DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer),						s_GL_OES_texture_buffer							},
   1724 	{ "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	},
   1725 	{ "GL_OES_texture_view",							DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view),							s_GL_OES_texture_view							},
   1726 	{ "GL_OVR_multiview",								DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview),								s_GL_OVR_multiview								},
   1727 	{ "GL_QCOM_alpha_test",								DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test),							s_GL_QCOM_alpha_test							},
   1728 };
   1729