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 31042.
      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_native_fence_sync[] =
    453 {
    454 	"eglDupNativeFenceFDANDROID",
    455 };
    456 
    457 static const char* s_EGL_ANGLE_query_surface_pointer[] =
    458 {
    459 	"eglQuerySurfacePointerANGLE",
    460 };
    461 
    462 static const char* s_EGL_EXT_device_base[] =
    463 {
    464 	"eglQueryDeviceAttribEXT",
    465 	"eglQueryDeviceStringEXT",
    466 	"eglQueryDevicesEXT",
    467 	"eglQueryDisplayAttribEXT",
    468 };
    469 
    470 static const char* s_EGL_EXT_device_enumeration[] =
    471 {
    472 	"eglQueryDevicesEXT",
    473 };
    474 
    475 static const char* s_EGL_EXT_device_query[] =
    476 {
    477 	"eglQueryDeviceAttribEXT",
    478 	"eglQueryDeviceStringEXT",
    479 	"eglQueryDisplayAttribEXT",
    480 };
    481 
    482 static const char* s_EGL_EXT_output_base[] =
    483 {
    484 	"eglGetOutputLayersEXT",
    485 	"eglGetOutputPortsEXT",
    486 	"eglOutputLayerAttribEXT",
    487 	"eglOutputPortAttribEXT",
    488 	"eglQueryOutputLayerAttribEXT",
    489 	"eglQueryOutputLayerStringEXT",
    490 	"eglQueryOutputPortAttribEXT",
    491 	"eglQueryOutputPortStringEXT",
    492 };
    493 
    494 static const char* s_EGL_EXT_platform_base[] =
    495 {
    496 	"eglCreatePlatformPixmapSurfaceEXT",
    497 	"eglCreatePlatformWindowSurfaceEXT",
    498 	"eglGetPlatformDisplayEXT",
    499 };
    500 
    501 static const char* s_EGL_EXT_stream_consumer_egloutput[] =
    502 {
    503 	"eglStreamConsumerOutputEXT",
    504 };
    505 
    506 static const char* s_EGL_EXT_swap_buffers_with_damage[] =
    507 {
    508 	"eglSwapBuffersWithDamageEXT",
    509 };
    510 
    511 static const char* s_EGL_HI_clientpixmap[] =
    512 {
    513 	"eglCreatePixmapSurfaceHI",
    514 };
    515 
    516 static const char* s_EGL_KHR_cl_event2[] =
    517 {
    518 	"eglCreateSync64KHR",
    519 };
    520 
    521 static const char* s_EGL_KHR_fence_sync[] =
    522 {
    523 	"eglClientWaitSyncKHR",
    524 	"eglCreateSyncKHR",
    525 	"eglDestroySyncKHR",
    526 	"eglGetSyncAttribKHR",
    527 };
    528 
    529 static const char* s_EGL_KHR_image[] =
    530 {
    531 	"eglCreateImageKHR",
    532 	"eglDestroyImageKHR",
    533 };
    534 
    535 static const char* s_EGL_KHR_image_base[] =
    536 {
    537 	"eglCreateImageKHR",
    538 	"eglDestroyImageKHR",
    539 };
    540 
    541 static const char* s_EGL_KHR_lock_surface[] =
    542 {
    543 	"eglLockSurfaceKHR",
    544 	"eglUnlockSurfaceKHR",
    545 };
    546 
    547 static const char* s_EGL_KHR_lock_surface3[] =
    548 {
    549 	"eglLockSurfaceKHR",
    550 	"eglQuerySurface64KHR",
    551 	"eglUnlockSurfaceKHR",
    552 };
    553 
    554 static const char* s_EGL_KHR_partial_update[] =
    555 {
    556 	"eglSetDamageRegionKHR",
    557 };
    558 
    559 static const char* s_EGL_KHR_reusable_sync[] =
    560 {
    561 	"eglClientWaitSyncKHR",
    562 	"eglCreateSyncKHR",
    563 	"eglDestroySyncKHR",
    564 	"eglGetSyncAttribKHR",
    565 	"eglSignalSyncKHR",
    566 };
    567 
    568 static const char* s_EGL_KHR_stream[] =
    569 {
    570 	"eglCreateStreamKHR",
    571 	"eglDestroyStreamKHR",
    572 	"eglQueryStreamKHR",
    573 	"eglQueryStreamu64KHR",
    574 	"eglStreamAttribKHR",
    575 };
    576 
    577 static const char* s_EGL_KHR_stream_consumer_gltexture[] =
    578 {
    579 	"eglStreamConsumerAcquireKHR",
    580 	"eglStreamConsumerGLTextureExternalKHR",
    581 	"eglStreamConsumerReleaseKHR",
    582 };
    583 
    584 static const char* s_EGL_KHR_stream_cross_process_fd[] =
    585 {
    586 	"eglCreateStreamFromFileDescriptorKHR",
    587 	"eglGetStreamFileDescriptorKHR",
    588 };
    589 
    590 static const char* s_EGL_KHR_stream_fifo[] =
    591 {
    592 	"eglQueryStreamTimeKHR",
    593 };
    594 
    595 static const char* s_EGL_KHR_stream_producer_eglsurface[] =
    596 {
    597 	"eglCreateStreamProducerSurfaceKHR",
    598 };
    599 
    600 static const char* s_EGL_KHR_swap_buffers_with_damage[] =
    601 {
    602 	"eglSwapBuffersWithDamageKHR",
    603 };
    604 
    605 static const char* s_EGL_KHR_wait_sync[] =
    606 {
    607 	"eglWaitSyncKHR",
    608 };
    609 
    610 static const char* s_EGL_MESA_drm_image[] =
    611 {
    612 	"eglCreateDRMImageMESA",
    613 	"eglExportDRMImageMESA",
    614 };
    615 
    616 static const char* s_EGL_MESA_image_dma_buf_export[] =
    617 {
    618 	"eglExportDMABUFImageMESA",
    619 	"eglExportDMABUFImageQueryMESA",
    620 };
    621 
    622 static const char* s_EGL_NOK_swap_region[] =
    623 {
    624 	"eglSwapBuffersRegionNOK",
    625 };
    626 
    627 static const char* s_EGL_NOK_swap_region2[] =
    628 {
    629 	"eglSwapBuffersRegion2NOK",
    630 };
    631 
    632 static const char* s_EGL_NV_native_query[] =
    633 {
    634 	"eglQueryNativeDisplayNV",
    635 	"eglQueryNativePixmapNV",
    636 	"eglQueryNativeWindowNV",
    637 };
    638 
    639 static const char* s_EGL_NV_post_sub_buffer[] =
    640 {
    641 	"eglPostSubBufferNV",
    642 };
    643 
    644 static const char* s_EGL_NV_stream_sync[] =
    645 {
    646 	"eglCreateStreamSyncNV",
    647 };
    648 
    649 static const char* s_EGL_NV_sync[] =
    650 {
    651 	"eglClientWaitSyncNV",
    652 	"eglCreateFenceSyncNV",
    653 	"eglDestroySyncNV",
    654 	"eglFenceNV",
    655 	"eglGetSyncAttribNV",
    656 	"eglSignalSyncNV",
    657 };
    658 
    659 static const char* s_EGL_NV_system_time[] =
    660 {
    661 	"eglGetSystemTimeFrequencyNV",
    662 	"eglGetSystemTimeNV",
    663 };
    664 
    665 static const char* s_GL_APPLE_copy_texture_levels[] =
    666 {
    667 	"glCopyTextureLevelsAPPLE",
    668 };
    669 
    670 static const char* s_GL_APPLE_framebuffer_multisample[] =
    671 {
    672 	"glRenderbufferStorageMultisampleAPPLE",
    673 	"glResolveMultisampleFramebufferAPPLE",
    674 };
    675 
    676 static const char* s_GL_APPLE_sync[] =
    677 {
    678 	"glClientWaitSyncAPPLE",
    679 	"glDeleteSyncAPPLE",
    680 	"glFenceSyncAPPLE",
    681 	"glGetInteger64vAPPLE",
    682 	"glGetSyncivAPPLE",
    683 	"glIsSyncAPPLE",
    684 	"glWaitSyncAPPLE",
    685 };
    686 
    687 static const char* s_GL_EXT_discard_framebuffer[] =
    688 {
    689 	"glDiscardFramebufferEXT",
    690 };
    691 
    692 static const char* s_GL_EXT_map_buffer_range[] =
    693 {
    694 	"glFlushMappedBufferRangeEXT",
    695 	"glMapBufferRangeEXT",
    696 };
    697 
    698 static const char* s_GL_EXT_multi_draw_arrays[] =
    699 {
    700 	"glMultiDrawArraysEXT",
    701 	"glMultiDrawElementsEXT",
    702 };
    703 
    704 static const char* s_GL_EXT_multisampled_render_to_texture[] =
    705 {
    706 	"glFramebufferTexture2DMultisampleEXT",
    707 	"glRenderbufferStorageMultisampleEXT",
    708 };
    709 
    710 static const char* s_GL_EXT_robustness[] =
    711 {
    712 	"glGetGraphicsResetStatusEXT",
    713 	"glGetnUniformfvEXT",
    714 	"glGetnUniformivEXT",
    715 	"glReadnPixelsEXT",
    716 };
    717 
    718 static const char* s_GL_EXT_texture_storage[] =
    719 {
    720 	"glTexStorage1DEXT",
    721 	"glTexStorage2DEXT",
    722 	"glTexStorage3DEXT",
    723 	"glTextureStorage1DEXT",
    724 	"glTextureStorage2DEXT",
    725 	"glTextureStorage3DEXT",
    726 };
    727 
    728 static const char* s_GL_IMG_multisampled_render_to_texture[] =
    729 {
    730 	"glFramebufferTexture2DMultisampleIMG",
    731 	"glRenderbufferStorageMultisampleIMG",
    732 };
    733 
    734 static const char* s_GL_IMG_user_clip_plane[] =
    735 {
    736 	"glClipPlanefIMG",
    737 	"glClipPlanexIMG",
    738 };
    739 
    740 static const char* s_GL_NV_fence[] =
    741 {
    742 	"glDeleteFencesNV",
    743 	"glFinishFenceNV",
    744 	"glGenFencesNV",
    745 	"glGetFenceivNV",
    746 	"glIsFenceNV",
    747 	"glSetFenceNV",
    748 	"glTestFenceNV",
    749 };
    750 
    751 static const char* s_GL_OES_EGL_image[] =
    752 {
    753 	"glEGLImageTargetRenderbufferStorageOES",
    754 	"glEGLImageTargetTexture2DOES",
    755 };
    756 
    757 static const char* s_GL_OES_blend_equation_separate[] =
    758 {
    759 	"glBlendEquationSeparateOES",
    760 };
    761 
    762 static const char* s_GL_OES_blend_func_separate[] =
    763 {
    764 	"glBlendFuncSeparateOES",
    765 };
    766 
    767 static const char* s_GL_OES_blend_subtract[] =
    768 {
    769 	"glBlendEquationOES",
    770 };
    771 
    772 static const char* s_GL_OES_draw_texture[] =
    773 {
    774 	"glDrawTexfOES",
    775 	"glDrawTexfvOES",
    776 	"glDrawTexiOES",
    777 	"glDrawTexivOES",
    778 	"glDrawTexsOES",
    779 	"glDrawTexsvOES",
    780 	"glDrawTexxOES",
    781 	"glDrawTexxvOES",
    782 };
    783 
    784 static const char* s_GL_OES_fixed_point[] =
    785 {
    786 	"glAlphaFuncxOES",
    787 	"glClearColorxOES",
    788 	"glClearDepthxOES",
    789 	"glClipPlanexOES",
    790 	"glColor4xOES",
    791 	"glDepthRangexOES",
    792 	"glFogxOES",
    793 	"glFogxvOES",
    794 	"glFrustumxOES",
    795 	"glGetClipPlanexOES",
    796 	"glGetFixedvOES",
    797 	"glGetLightxvOES",
    798 	"glGetMaterialxvOES",
    799 	"glGetTexEnvxvOES",
    800 	"glGetTexParameterxvOES",
    801 	"glLightModelxOES",
    802 	"glLightModelxvOES",
    803 	"glLightxOES",
    804 	"glLightxvOES",
    805 	"glLineWidthxOES",
    806 	"glLoadMatrixxOES",
    807 	"glMaterialxOES",
    808 	"glMaterialxvOES",
    809 	"glMultMatrixxOES",
    810 	"glMultiTexCoord4xOES",
    811 	"glNormal3xOES",
    812 	"glOrthoxOES",
    813 	"glPointParameterxOES",
    814 	"glPointParameterxvOES",
    815 	"glPointSizexOES",
    816 	"glPolygonOffsetxOES",
    817 	"glRotatexOES",
    818 	"glSampleCoverageOES",
    819 	"glSampleCoveragexOES",
    820 	"glScalexOES",
    821 	"glTexEnvxOES",
    822 	"glTexEnvxvOES",
    823 	"glTexParameterxOES",
    824 	"glTexParameterxvOES",
    825 	"glTranslatexOES",
    826 };
    827 
    828 static const char* s_GL_OES_framebuffer_object[] =
    829 {
    830 	"glBindFramebufferOES",
    831 	"glBindRenderbufferOES",
    832 	"glCheckFramebufferStatusOES",
    833 	"glDeleteFramebuffersOES",
    834 	"glDeleteRenderbuffersOES",
    835 	"glFramebufferRenderbufferOES",
    836 	"glFramebufferTexture2DOES",
    837 	"glGenFramebuffersOES",
    838 	"glGenRenderbuffersOES",
    839 	"glGenerateMipmapOES",
    840 	"glGetFramebufferAttachmentParameterivOES",
    841 	"glGetRenderbufferParameterivOES",
    842 	"glIsFramebufferOES",
    843 	"glIsRenderbufferOES",
    844 	"glRenderbufferStorageOES",
    845 };
    846 
    847 static const char* s_GL_OES_mapbuffer[] =
    848 {
    849 	"glGetBufferPointervOES",
    850 	"glMapBufferOES",
    851 	"glUnmapBufferOES",
    852 };
    853 
    854 static const char* s_GL_OES_matrix_palette[] =
    855 {
    856 	"glCurrentPaletteMatrixOES",
    857 	"glLoadPaletteFromModelViewMatrixOES",
    858 	"glMatrixIndexPointerOES",
    859 	"glWeightPointerOES",
    860 };
    861 
    862 static const char* s_GL_OES_point_size_array[] =
    863 {
    864 	"glPointSizePointerOES",
    865 };
    866 
    867 static const char* s_GL_OES_query_matrix[] =
    868 {
    869 	"glQueryMatrixxOES",
    870 };
    871 
    872 static const char* s_GL_OES_single_precision[] =
    873 {
    874 	"glClearDepthfOES",
    875 	"glClipPlanefOES",
    876 	"glDepthRangefOES",
    877 	"glFrustumfOES",
    878 	"glGetClipPlanefOES",
    879 	"glOrthofOES",
    880 };
    881 
    882 static const char* s_GL_OES_texture_cube_map[] =
    883 {
    884 	"glGetTexGenfvOES",
    885 	"glGetTexGenivOES",
    886 	"glGetTexGenxvOES",
    887 	"glTexGenfOES",
    888 	"glTexGenfvOES",
    889 	"glTexGeniOES",
    890 	"glTexGenivOES",
    891 	"glTexGenxOES",
    892 	"glTexGenxvOES",
    893 };
    894 
    895 static const char* s_GL_OES_vertex_array_object[] =
    896 {
    897 	"glBindVertexArrayOES",
    898 	"glDeleteVertexArraysOES",
    899 	"glGenVertexArraysOES",
    900 	"glIsVertexArrayOES",
    901 };
    902 
    903 static const char* s_GL_QCOM_driver_control[] =
    904 {
    905 	"glDisableDriverControlQCOM",
    906 	"glEnableDriverControlQCOM",
    907 	"glGetDriverControlStringQCOM",
    908 	"glGetDriverControlsQCOM",
    909 };
    910 
    911 static const char* s_GL_QCOM_extended_get[] =
    912 {
    913 	"glExtGetBufferPointervQCOM",
    914 	"glExtGetBuffersQCOM",
    915 	"glExtGetFramebuffersQCOM",
    916 	"glExtGetRenderbuffersQCOM",
    917 	"glExtGetTexLevelParameterivQCOM",
    918 	"glExtGetTexSubImageQCOM",
    919 	"glExtGetTexturesQCOM",
    920 	"glExtTexObjectStateOverrideiQCOM",
    921 };
    922 
    923 static const char* s_GL_QCOM_extended_get2[] =
    924 {
    925 	"glExtGetProgramBinarySourceQCOM",
    926 	"glExtGetProgramsQCOM",
    927 	"glExtGetShadersQCOM",
    928 	"glExtIsProgramBinaryQCOM",
    929 };
    930 
    931 static const char* s_GL_QCOM_tiled_rendering[] =
    932 {
    933 	"glEndTilingQCOM",
    934 	"glStartTilingQCOM",
    935 };
    936 
    937 static const char* s_GL_AMD_performance_monitor[] =
    938 {
    939 	"glBeginPerfMonitorAMD",
    940 	"glDeletePerfMonitorsAMD",
    941 	"glEndPerfMonitorAMD",
    942 	"glGenPerfMonitorsAMD",
    943 	"glGetPerfMonitorCounterDataAMD",
    944 	"glGetPerfMonitorCounterInfoAMD",
    945 	"glGetPerfMonitorCounterStringAMD",
    946 	"glGetPerfMonitorCountersAMD",
    947 	"glGetPerfMonitorGroupStringAMD",
    948 	"glGetPerfMonitorGroupsAMD",
    949 	"glSelectPerfMonitorCountersAMD",
    950 };
    951 
    952 static const char* s_GL_ANGLE_framebuffer_blit[] =
    953 {
    954 	"glBlitFramebufferANGLE",
    955 };
    956 
    957 static const char* s_GL_ANGLE_framebuffer_multisample[] =
    958 {
    959 	"glRenderbufferStorageMultisampleANGLE",
    960 };
    961 
    962 static const char* s_GL_ANGLE_instanced_arrays[] =
    963 {
    964 	"glDrawArraysInstancedANGLE",
    965 	"glDrawElementsInstancedANGLE",
    966 	"glVertexAttribDivisorANGLE",
    967 };
    968 
    969 static const char* s_GL_ANGLE_translated_shader_source[] =
    970 {
    971 	"glGetTranslatedShaderSourceANGLE",
    972 };
    973 
    974 static const char* s_GL_EXT_base_instance[] =
    975 {
    976 	"glDrawArraysInstancedBaseInstanceEXT",
    977 	"glDrawElementsInstancedBaseInstanceEXT",
    978 	"glDrawElementsInstancedBaseVertexBaseInstanceEXT",
    979 };
    980 
    981 static const char* s_GL_EXT_copy_image[] =
    982 {
    983 	"glCopyImageSubDataEXT",
    984 };
    985 
    986 static const char* s_GL_EXT_debug_label[] =
    987 {
    988 	"glGetObjectLabelEXT",
    989 	"glLabelObjectEXT",
    990 };
    991 
    992 static const char* s_GL_EXT_debug_marker[] =
    993 {
    994 	"glInsertEventMarkerEXT",
    995 	"glPopGroupMarkerEXT",
    996 	"glPushGroupMarkerEXT",
    997 };
    998 
    999 static const char* s_GL_EXT_disjoint_timer_query[] =
   1000 {
   1001 	"glBeginQueryEXT",
   1002 	"glDeleteQueriesEXT",
   1003 	"glEndQueryEXT",
   1004 	"glGenQueriesEXT",
   1005 	"glGetQueryObjecti64vEXT",
   1006 	"glGetQueryObjectivEXT",
   1007 	"glGetQueryObjectui64vEXT",
   1008 	"glGetQueryObjectuivEXT",
   1009 	"glGetQueryivEXT",
   1010 	"glIsQueryEXT",
   1011 	"glQueryCounterEXT",
   1012 };
   1013 
   1014 static const char* s_GL_EXT_draw_buffers[] =
   1015 {
   1016 	"glDrawBuffersEXT",
   1017 };
   1018 
   1019 static const char* s_GL_EXT_draw_buffers_indexed[] =
   1020 {
   1021 	"glBlendEquationSeparateiEXT",
   1022 	"glBlendEquationiEXT",
   1023 	"glBlendFuncSeparateiEXT",
   1024 	"glBlendFunciEXT",
   1025 	"glColorMaskiEXT",
   1026 	"glDisableiEXT",
   1027 	"glEnableiEXT",
   1028 	"glIsEnablediEXT",
   1029 };
   1030 
   1031 static const char* s_GL_EXT_draw_elements_base_vertex[] =
   1032 {
   1033 	"glDrawElementsBaseVertexEXT",
   1034 	"glDrawElementsInstancedBaseVertexEXT",
   1035 	"glDrawRangeElementsBaseVertexEXT",
   1036 	"glMultiDrawElementsBaseVertexEXT",
   1037 };
   1038 
   1039 static const char* s_GL_EXT_draw_instanced[] =
   1040 {
   1041 	"glDrawArraysInstancedEXT",
   1042 	"glDrawElementsInstancedEXT",
   1043 };
   1044 
   1045 static const char* s_GL_EXT_geometry_shader[] =
   1046 {
   1047 	"glFramebufferTextureEXT",
   1048 };
   1049 
   1050 static const char* s_GL_EXT_instanced_arrays[] =
   1051 {
   1052 	"glDrawArraysInstancedEXT",
   1053 	"glDrawElementsInstancedEXT",
   1054 	"glVertexAttribDivisorEXT",
   1055 };
   1056 
   1057 static const char* s_GL_EXT_multi_draw_indirect[] =
   1058 {
   1059 	"glMultiDrawArraysIndirectEXT",
   1060 	"glMultiDrawElementsIndirectEXT",
   1061 };
   1062 
   1063 static const char* s_GL_EXT_multiview_draw_buffers[] =
   1064 {
   1065 	"glDrawBuffersIndexedEXT",
   1066 	"glGetIntegeri_vEXT",
   1067 	"glReadBufferIndexedEXT",
   1068 };
   1069 
   1070 static const char* s_GL_EXT_occlusion_query_boolean[] =
   1071 {
   1072 	"glBeginQueryEXT",
   1073 	"glDeleteQueriesEXT",
   1074 	"glEndQueryEXT",
   1075 	"glGenQueriesEXT",
   1076 	"glGetQueryObjectuivEXT",
   1077 	"glGetQueryivEXT",
   1078 	"glIsQueryEXT",
   1079 };
   1080 
   1081 static const char* s_GL_EXT_primitive_bounding_box[] =
   1082 {
   1083 	"glPrimitiveBoundingBoxEXT",
   1084 };
   1085 
   1086 static const char* s_GL_EXT_separate_shader_objects[] =
   1087 {
   1088 	"glActiveShaderProgramEXT",
   1089 	"glBindProgramPipelineEXT",
   1090 	"glCreateShaderProgramvEXT",
   1091 	"glDeleteProgramPipelinesEXT",
   1092 	"glGenProgramPipelinesEXT",
   1093 	"glGetProgramPipelineInfoLogEXT",
   1094 	"glGetProgramPipelineivEXT",
   1095 	"glIsProgramPipelineEXT",
   1096 	"glProgramParameteriEXT",
   1097 	"glProgramUniform1fEXT",
   1098 	"glProgramUniform1fvEXT",
   1099 	"glProgramUniform1iEXT",
   1100 	"glProgramUniform1ivEXT",
   1101 	"glProgramUniform1uiEXT",
   1102 	"glProgramUniform1uivEXT",
   1103 	"glProgramUniform2fEXT",
   1104 	"glProgramUniform2fvEXT",
   1105 	"glProgramUniform2iEXT",
   1106 	"glProgramUniform2ivEXT",
   1107 	"glProgramUniform2uiEXT",
   1108 	"glProgramUniform2uivEXT",
   1109 	"glProgramUniform3fEXT",
   1110 	"glProgramUniform3fvEXT",
   1111 	"glProgramUniform3iEXT",
   1112 	"glProgramUniform3ivEXT",
   1113 	"glProgramUniform3uiEXT",
   1114 	"glProgramUniform3uivEXT",
   1115 	"glProgramUniform4fEXT",
   1116 	"glProgramUniform4fvEXT",
   1117 	"glProgramUniform4iEXT",
   1118 	"glProgramUniform4ivEXT",
   1119 	"glProgramUniform4uiEXT",
   1120 	"glProgramUniform4uivEXT",
   1121 	"glProgramUniformMatrix2fvEXT",
   1122 	"glProgramUniformMatrix2x3fvEXT",
   1123 	"glProgramUniformMatrix2x4fvEXT",
   1124 	"glProgramUniformMatrix3fvEXT",
   1125 	"glProgramUniformMatrix3x2fvEXT",
   1126 	"glProgramUniformMatrix3x4fvEXT",
   1127 	"glProgramUniformMatrix4fvEXT",
   1128 	"glProgramUniformMatrix4x2fvEXT",
   1129 	"glProgramUniformMatrix4x3fvEXT",
   1130 	"glUseProgramStagesEXT",
   1131 	"glValidateProgramPipelineEXT",
   1132 };
   1133 
   1134 static const char* s_GL_EXT_tessellation_shader[] =
   1135 {
   1136 	"glPatchParameteriEXT",
   1137 };
   1138 
   1139 static const char* s_GL_EXT_texture_border_clamp[] =
   1140 {
   1141 	"glGetSamplerParameterIivEXT",
   1142 	"glGetSamplerParameterIuivEXT",
   1143 	"glGetTexParameterIivEXT",
   1144 	"glGetTexParameterIuivEXT",
   1145 	"glSamplerParameterIivEXT",
   1146 	"glSamplerParameterIuivEXT",
   1147 	"glTexParameterIivEXT",
   1148 	"glTexParameterIuivEXT",
   1149 };
   1150 
   1151 static const char* s_GL_EXT_texture_buffer[] =
   1152 {
   1153 	"glTexBufferEXT",
   1154 	"glTexBufferRangeEXT",
   1155 };
   1156 
   1157 static const char* s_GL_EXT_texture_view[] =
   1158 {
   1159 	"glTextureViewEXT",
   1160 };
   1161 
   1162 static const char* s_GL_INTEL_performance_query[] =
   1163 {
   1164 	"glBeginPerfQueryINTEL",
   1165 	"glCreatePerfQueryINTEL",
   1166 	"glDeletePerfQueryINTEL",
   1167 	"glEndPerfQueryINTEL",
   1168 	"glGetFirstPerfQueryIdINTEL",
   1169 	"glGetNextPerfQueryIdINTEL",
   1170 	"glGetPerfCounterInfoINTEL",
   1171 	"glGetPerfQueryDataINTEL",
   1172 	"glGetPerfQueryIdByNameINTEL",
   1173 	"glGetPerfQueryInfoINTEL",
   1174 };
   1175 
   1176 static const char* s_GL_KHR_blend_equation_advanced[] =
   1177 {
   1178 	"glBlendBarrierKHR",
   1179 };
   1180 
   1181 static const char* s_GL_KHR_debug[] =
   1182 {
   1183 	"glDebugMessageCallbackKHR",
   1184 	"glDebugMessageControlKHR",
   1185 	"glDebugMessageInsertKHR",
   1186 	"glGetDebugMessageLogKHR",
   1187 	"glGetObjectLabelKHR",
   1188 	"glGetObjectPtrLabelKHR",
   1189 	"glGetPointervKHR",
   1190 	"glObjectLabelKHR",
   1191 	"glObjectPtrLabelKHR",
   1192 	"glPopDebugGroupKHR",
   1193 	"glPushDebugGroupKHR",
   1194 };
   1195 
   1196 static const char* s_GL_KHR_robustness[] =
   1197 {
   1198 	"glGetGraphicsResetStatusKHR",
   1199 	"glGetnUniformfvKHR",
   1200 	"glGetnUniformivKHR",
   1201 	"glGetnUniformuivKHR",
   1202 	"glReadnPixelsKHR",
   1203 };
   1204 
   1205 static const char* s_GL_NV_bindless_texture[] =
   1206 {
   1207 	"glGetImageHandleNV",
   1208 	"glGetTextureHandleNV",
   1209 	"glGetTextureSamplerHandleNV",
   1210 	"glIsImageHandleResidentNV",
   1211 	"glIsTextureHandleResidentNV",
   1212 	"glMakeImageHandleNonResidentNV",
   1213 	"glMakeImageHandleResidentNV",
   1214 	"glMakeTextureHandleNonResidentNV",
   1215 	"glMakeTextureHandleResidentNV",
   1216 	"glProgramUniformHandleui64NV",
   1217 	"glProgramUniformHandleui64vNV",
   1218 	"glUniformHandleui64NV",
   1219 	"glUniformHandleui64vNV",
   1220 };
   1221 
   1222 static const char* s_GL_NV_blend_equation_advanced[] =
   1223 {
   1224 	"glBlendBarrierNV",
   1225 	"glBlendParameteriNV",
   1226 };
   1227 
   1228 static const char* s_GL_NV_conditional_render[] =
   1229 {
   1230 	"glBeginConditionalRenderNV",
   1231 	"glEndConditionalRenderNV",
   1232 };
   1233 
   1234 static const char* s_GL_NV_copy_buffer[] =
   1235 {
   1236 	"glCopyBufferSubDataNV",
   1237 };
   1238 
   1239 static const char* s_GL_NV_coverage_sample[] =
   1240 {
   1241 	"glCoverageMaskNV",
   1242 	"glCoverageOperationNV",
   1243 };
   1244 
   1245 static const char* s_GL_NV_draw_buffers[] =
   1246 {
   1247 	"glDrawBuffersNV",
   1248 };
   1249 
   1250 static const char* s_GL_NV_draw_instanced[] =
   1251 {
   1252 	"glDrawArraysInstancedNV",
   1253 	"glDrawElementsInstancedNV",
   1254 };
   1255 
   1256 static const char* s_GL_NV_framebuffer_blit[] =
   1257 {
   1258 	"glBlitFramebufferNV",
   1259 };
   1260 
   1261 static const char* s_GL_NV_framebuffer_multisample[] =
   1262 {
   1263 	"glRenderbufferStorageMultisampleNV",
   1264 };
   1265 
   1266 static const char* s_GL_NV_instanced_arrays[] =
   1267 {
   1268 	"glVertexAttribDivisorNV",
   1269 };
   1270 
   1271 static const char* s_GL_NV_internalformat_sample_query[] =
   1272 {
   1273 	"glGetInternalformatSampleivNV",
   1274 };
   1275 
   1276 static const char* s_GL_NV_non_square_matrices[] =
   1277 {
   1278 	"glUniformMatrix2x3fvNV",
   1279 	"glUniformMatrix2x4fvNV",
   1280 	"glUniformMatrix3x2fvNV",
   1281 	"glUniformMatrix3x4fvNV",
   1282 	"glUniformMatrix4x2fvNV",
   1283 	"glUniformMatrix4x3fvNV",
   1284 };
   1285 
   1286 static const char* s_GL_NV_path_rendering[] =
   1287 {
   1288 	"glCopyPathNV",
   1289 	"glCoverFillPathInstancedNV",
   1290 	"glCoverFillPathNV",
   1291 	"glCoverStrokePathInstancedNV",
   1292 	"glCoverStrokePathNV",
   1293 	"glDeletePathsNV",
   1294 	"glGenPathsNV",
   1295 	"glGetPathCommandsNV",
   1296 	"glGetPathCoordsNV",
   1297 	"glGetPathDashArrayNV",
   1298 	"glGetPathLengthNV",
   1299 	"glGetPathMetricRangeNV",
   1300 	"glGetPathMetricsNV",
   1301 	"glGetPathParameterfvNV",
   1302 	"glGetPathParameterivNV",
   1303 	"glGetPathSpacingNV",
   1304 	"glGetProgramResourcefvNV",
   1305 	"glInterpolatePathsNV",
   1306 	"glIsPathNV",
   1307 	"glIsPointInFillPathNV",
   1308 	"glIsPointInStrokePathNV",
   1309 	"glMatrixLoad3x2fNV",
   1310 	"glMatrixLoad3x3fNV",
   1311 	"glMatrixLoadTranspose3x3fNV",
   1312 	"glMatrixMult3x2fNV",
   1313 	"glMatrixMult3x3fNV",
   1314 	"glMatrixMultTranspose3x3fNV",
   1315 	"glPathCommandsNV",
   1316 	"glPathCoordsNV",
   1317 	"glPathCoverDepthFuncNV",
   1318 	"glPathDashArrayNV",
   1319 	"glPathGlyphIndexArrayNV",
   1320 	"glPathGlyphIndexRangeNV",
   1321 	"glPathGlyphRangeNV",
   1322 	"glPathGlyphsNV",
   1323 	"glPathMemoryGlyphIndexArrayNV",
   1324 	"glPathParameterfNV",
   1325 	"glPathParameterfvNV",
   1326 	"glPathParameteriNV",
   1327 	"glPathParameterivNV",
   1328 	"glPathStencilDepthOffsetNV",
   1329 	"glPathStencilFuncNV",
   1330 	"glPathStringNV",
   1331 	"glPathSubCommandsNV",
   1332 	"glPathSubCoordsNV",
   1333 	"glPointAlongPathNV",
   1334 	"glProgramPathFragmentInputGenNV",
   1335 	"glStencilFillPathInstancedNV",
   1336 	"glStencilFillPathNV",
   1337 	"glStencilStrokePathInstancedNV",
   1338 	"glStencilStrokePathNV",
   1339 	"glStencilThenCoverFillPathInstancedNV",
   1340 	"glStencilThenCoverFillPathNV",
   1341 	"glStencilThenCoverStrokePathInstancedNV",
   1342 	"glStencilThenCoverStrokePathNV",
   1343 	"glTransformPathNV",
   1344 	"glWeightPathsNV",
   1345 };
   1346 
   1347 static const char* s_GL_NV_read_buffer[] =
   1348 {
   1349 	"glReadBufferNV",
   1350 };
   1351 
   1352 static const char* s_GL_NV_viewport_array[] =
   1353 {
   1354 	"glDepthRangeArrayfvNV",
   1355 	"glDepthRangeIndexedfNV",
   1356 	"glDisableiNV",
   1357 	"glEnableiNV",
   1358 	"glGetFloati_vNV",
   1359 	"glIsEnablediNV",
   1360 	"glScissorArrayvNV",
   1361 	"glScissorIndexedNV",
   1362 	"glScissorIndexedvNV",
   1363 	"glViewportArrayvNV",
   1364 	"glViewportIndexedfNV",
   1365 	"glViewportIndexedfvNV",
   1366 };
   1367 
   1368 static const char* s_GL_OES_copy_image[] =
   1369 {
   1370 	"glCopyImageSubDataOES",
   1371 };
   1372 
   1373 static const char* s_GL_OES_draw_buffers_indexed[] =
   1374 {
   1375 	"glBlendEquationSeparateiOES",
   1376 	"glBlendEquationiOES",
   1377 	"glBlendFuncSeparateiOES",
   1378 	"glBlendFunciOES",
   1379 	"glColorMaskiOES",
   1380 	"glDisableiOES",
   1381 	"glEnableiOES",
   1382 	"glIsEnablediOES",
   1383 };
   1384 
   1385 static const char* s_GL_OES_draw_elements_base_vertex[] =
   1386 {
   1387 	"glDrawElementsBaseVertexOES",
   1388 	"glDrawElementsInstancedBaseVertexOES",
   1389 	"glDrawRangeElementsBaseVertexOES",
   1390 	"glMultiDrawElementsBaseVertexOES",
   1391 };
   1392 
   1393 static const char* s_GL_OES_geometry_shader[] =
   1394 {
   1395 	"glFramebufferTextureOES",
   1396 };
   1397 
   1398 static const char* s_GL_OES_get_program_binary[] =
   1399 {
   1400 	"glGetProgramBinaryOES",
   1401 	"glProgramBinaryOES",
   1402 };
   1403 
   1404 static const char* s_GL_OES_primitive_bounding_box[] =
   1405 {
   1406 	"glPrimitiveBoundingBoxOES",
   1407 };
   1408 
   1409 static const char* s_GL_OES_sample_shading[] =
   1410 {
   1411 	"glMinSampleShadingOES",
   1412 };
   1413 
   1414 static const char* s_GL_OES_tessellation_shader[] =
   1415 {
   1416 	"glPatchParameteriOES",
   1417 };
   1418 
   1419 static const char* s_GL_OES_texture_3D[] =
   1420 {
   1421 	"glCompressedTexImage3DOES",
   1422 	"glCompressedTexSubImage3DOES",
   1423 	"glCopyTexSubImage3DOES",
   1424 	"glFramebufferTexture3DOES",
   1425 	"glTexImage3DOES",
   1426 	"glTexSubImage3DOES",
   1427 };
   1428 
   1429 static const char* s_GL_OES_texture_border_clamp[] =
   1430 {
   1431 	"glGetSamplerParameterIivOES",
   1432 	"glGetSamplerParameterIuivOES",
   1433 	"glGetTexParameterIivOES",
   1434 	"glGetTexParameterIuivOES",
   1435 	"glSamplerParameterIivOES",
   1436 	"glSamplerParameterIuivOES",
   1437 	"glTexParameterIivOES",
   1438 	"glTexParameterIuivOES",
   1439 };
   1440 
   1441 static const char* s_GL_OES_texture_buffer[] =
   1442 {
   1443 	"glTexBufferOES",
   1444 	"glTexBufferRangeOES",
   1445 };
   1446 
   1447 static const char* s_GL_OES_texture_storage_multisample_2d_array[] =
   1448 {
   1449 	"glTexStorage3DMultisampleOES",
   1450 };
   1451 
   1452 static const char* s_GL_OES_texture_view[] =
   1453 {
   1454 	"glTextureViewOES",
   1455 };
   1456 
   1457 static const char* s_GL_QCOM_alpha_test[] =
   1458 {
   1459 	"glAlphaFuncQCOM",
   1460 };
   1461 
   1462 static const struct
   1463 {
   1464 	const char*			name;
   1465 	const int			numFunctions;
   1466 	const char* const*	functions;
   1467 } s_extensions[] =
   1468 {
   1469 	{ "EGL_ANDROID_blob_cache",							DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache),						s_EGL_ANDROID_blob_cache						},
   1470 	{ "EGL_ANDROID_native_fence_sync",					DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync),				s_EGL_ANDROID_native_fence_sync					},
   1471 	{ "EGL_ANGLE_query_surface_pointer",				DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer),				s_EGL_ANGLE_query_surface_pointer				},
   1472 	{ "EGL_EXT_device_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base),							s_EGL_EXT_device_base							},
   1473 	{ "EGL_EXT_device_enumeration",						DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration),					s_EGL_EXT_device_enumeration					},
   1474 	{ "EGL_EXT_device_query",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query),							s_EGL_EXT_device_query							},
   1475 	{ "EGL_EXT_output_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base),							s_EGL_EXT_output_base							},
   1476 	{ "EGL_EXT_platform_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base),						s_EGL_EXT_platform_base							},
   1477 	{ "EGL_EXT_stream_consumer_egloutput",				DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput),			s_EGL_EXT_stream_consumer_egloutput				},
   1478 	{ "EGL_EXT_swap_buffers_with_damage",				DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage),				s_EGL_EXT_swap_buffers_with_damage				},
   1479 	{ "EGL_HI_clientpixmap",							DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap),							s_EGL_HI_clientpixmap							},
   1480 	{ "EGL_KHR_cl_event2",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2),							s_EGL_KHR_cl_event2								},
   1481 	{ "EGL_KHR_fence_sync",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync),							s_EGL_KHR_fence_sync							},
   1482 	{ "EGL_KHR_image",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_image),								s_EGL_KHR_image									},
   1483 	{ "EGL_KHR_image_base",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base),							s_EGL_KHR_image_base							},
   1484 	{ "EGL_KHR_lock_surface",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface),							s_EGL_KHR_lock_surface							},
   1485 	{ "EGL_KHR_lock_surface3",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3),						s_EGL_KHR_lock_surface3							},
   1486 	{ "EGL_KHR_partial_update",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update),						s_EGL_KHR_partial_update						},
   1487 	{ "EGL_KHR_reusable_sync",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync),						s_EGL_KHR_reusable_sync							},
   1488 	{ "EGL_KHR_stream",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream),								s_EGL_KHR_stream								},
   1489 	{ "EGL_KHR_stream_consumer_gltexture",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture),			s_EGL_KHR_stream_consumer_gltexture				},
   1490 	{ "EGL_KHR_stream_cross_process_fd",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd),				s_EGL_KHR_stream_cross_process_fd				},
   1491 	{ "EGL_KHR_stream_fifo",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo),							s_EGL_KHR_stream_fifo							},
   1492 	{ "EGL_KHR_stream_producer_eglsurface",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface),			s_EGL_KHR_stream_producer_eglsurface			},
   1493 	{ "EGL_KHR_swap_buffers_with_damage",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage),				s_EGL_KHR_swap_buffers_with_damage				},
   1494 	{ "EGL_KHR_wait_sync",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync),							s_EGL_KHR_wait_sync								},
   1495 	{ "EGL_MESA_drm_image",								DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image),							s_EGL_MESA_drm_image							},
   1496 	{ "EGL_MESA_image_dma_buf_export",					DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export),				s_EGL_MESA_image_dma_buf_export					},
   1497 	{ "EGL_NOK_swap_region",							DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region),							s_EGL_NOK_swap_region							},
   1498 	{ "EGL_NOK_swap_region2",							DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2),							s_EGL_NOK_swap_region2							},
   1499 	{ "EGL_NV_native_query",							DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query),							s_EGL_NV_native_query							},
   1500 	{ "EGL_NV_post_sub_buffer",							DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer),						s_EGL_NV_post_sub_buffer						},
   1501 	{ "EGL_NV_stream_sync",								DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync),							s_EGL_NV_stream_sync							},
   1502 	{ "EGL_NV_sync",									DE_LENGTH_OF_ARRAY(s_EGL_NV_sync),									s_EGL_NV_sync									},
   1503 	{ "EGL_NV_system_time",								DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time),							s_EGL_NV_system_time							},
   1504 	{ "GL_APPLE_copy_texture_levels",					DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels),					s_GL_APPLE_copy_texture_levels					},
   1505 	{ "GL_APPLE_framebuffer_multisample",				DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample),				s_GL_APPLE_framebuffer_multisample				},
   1506 	{ "GL_APPLE_sync",									DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync),								s_GL_APPLE_sync									},
   1507 	{ "GL_EXT_discard_framebuffer",						DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer),					s_GL_EXT_discard_framebuffer					},
   1508 	{ "GL_EXT_map_buffer_range",						DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range),						s_GL_EXT_map_buffer_range						},
   1509 	{ "GL_EXT_multi_draw_arrays",						DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays),						s_GL_EXT_multi_draw_arrays						},
   1510 	{ "GL_EXT_multisampled_render_to_texture",			DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture),		s_GL_EXT_multisampled_render_to_texture			},
   1511 	{ "GL_EXT_robustness",								DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness),							s_GL_EXT_robustness								},
   1512 	{ "GL_EXT_texture_storage",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage),						s_GL_EXT_texture_storage						},
   1513 	{ "GL_IMG_multisampled_render_to_texture",			DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture),		s_GL_IMG_multisampled_render_to_texture			},
   1514 	{ "GL_IMG_user_clip_plane",							DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane),						s_GL_IMG_user_clip_plane						},
   1515 	{ "GL_NV_fence",									DE_LENGTH_OF_ARRAY(s_GL_NV_fence),									s_GL_NV_fence									},
   1516 	{ "GL_OES_EGL_image",								DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image),								s_GL_OES_EGL_image								},
   1517 	{ "GL_OES_blend_equation_separate",					DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate),				s_GL_OES_blend_equation_separate				},
   1518 	{ "GL_OES_blend_func_separate",						DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate),					s_GL_OES_blend_func_separate					},
   1519 	{ "GL_OES_blend_subtract",							DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract),						s_GL_OES_blend_subtract							},
   1520 	{ "GL_OES_draw_texture",							DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture),							s_GL_OES_draw_texture							},
   1521 	{ "GL_OES_fixed_point",								DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point),							s_GL_OES_fixed_point							},
   1522 	{ "GL_OES_framebuffer_object",						DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object),					s_GL_OES_framebuffer_object						},
   1523 	{ "GL_OES_mapbuffer",								DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer),								s_GL_OES_mapbuffer								},
   1524 	{ "GL_OES_matrix_palette",							DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette),						s_GL_OES_matrix_palette							},
   1525 	{ "GL_OES_point_size_array",						DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array),						s_GL_OES_point_size_array						},
   1526 	{ "GL_OES_query_matrix",							DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix),							s_GL_OES_query_matrix							},
   1527 	{ "GL_OES_single_precision",						DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision),						s_GL_OES_single_precision						},
   1528 	{ "GL_OES_texture_cube_map",						DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map),						s_GL_OES_texture_cube_map						},
   1529 	{ "GL_OES_vertex_array_object",						DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object),					s_GL_OES_vertex_array_object					},
   1530 	{ "GL_QCOM_driver_control",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control),						s_GL_QCOM_driver_control						},
   1531 	{ "GL_QCOM_extended_get",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get),							s_GL_QCOM_extended_get							},
   1532 	{ "GL_QCOM_extended_get2",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2),						s_GL_QCOM_extended_get2							},
   1533 	{ "GL_QCOM_tiled_rendering",						DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering),						s_GL_QCOM_tiled_rendering						},
   1534 	{ "GL_AMD_performance_monitor",						DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor),					s_GL_AMD_performance_monitor					},
   1535 	{ "GL_ANGLE_framebuffer_blit",						DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit),					s_GL_ANGLE_framebuffer_blit						},
   1536 	{ "GL_ANGLE_framebuffer_multisample",				DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample),				s_GL_ANGLE_framebuffer_multisample				},
   1537 	{ "GL_ANGLE_instanced_arrays",						DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays),					s_GL_ANGLE_instanced_arrays						},
   1538 	{ "GL_ANGLE_translated_shader_source",				DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source),			s_GL_ANGLE_translated_shader_source				},
   1539 	{ "GL_EXT_base_instance",							DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance),							s_GL_EXT_base_instance							},
   1540 	{ "GL_EXT_copy_image",								DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image),							s_GL_EXT_copy_image								},
   1541 	{ "GL_EXT_debug_label",								DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label),							s_GL_EXT_debug_label							},
   1542 	{ "GL_EXT_debug_marker",							DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker),							s_GL_EXT_debug_marker							},
   1543 	{ "GL_EXT_disjoint_timer_query",					DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query),					s_GL_EXT_disjoint_timer_query					},
   1544 	{ "GL_EXT_draw_buffers",							DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers),							s_GL_EXT_draw_buffers							},
   1545 	{ "GL_EXT_draw_buffers_indexed",					DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed),					s_GL_EXT_draw_buffers_indexed					},
   1546 	{ "GL_EXT_draw_elements_base_vertex",				DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex),				s_GL_EXT_draw_elements_base_vertex				},
   1547 	{ "GL_EXT_draw_instanced",							DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced),						s_GL_EXT_draw_instanced							},
   1548 	{ "GL_EXT_geometry_shader",							DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader),						s_GL_EXT_geometry_shader						},
   1549 	{ "GL_EXT_instanced_arrays",						DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays),						s_GL_EXT_instanced_arrays						},
   1550 	{ "GL_EXT_multi_draw_indirect",						DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect),					s_GL_EXT_multi_draw_indirect					},
   1551 	{ "GL_EXT_multiview_draw_buffers",					DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers),				s_GL_EXT_multiview_draw_buffers					},
   1552 	{ "GL_EXT_occlusion_query_boolean",					DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean),				s_GL_EXT_occlusion_query_boolean				},
   1553 	{ "GL_EXT_primitive_bounding_box",					DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box),				s_GL_EXT_primitive_bounding_box					},
   1554 	{ "GL_EXT_separate_shader_objects",					DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects),				s_GL_EXT_separate_shader_objects				},
   1555 	{ "GL_EXT_tessellation_shader",						DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader),					s_GL_EXT_tessellation_shader					},
   1556 	{ "GL_EXT_texture_border_clamp",					DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp),					s_GL_EXT_texture_border_clamp					},
   1557 	{ "GL_EXT_texture_buffer",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer),						s_GL_EXT_texture_buffer							},
   1558 	{ "GL_EXT_texture_view",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view),							s_GL_EXT_texture_view							},
   1559 	{ "GL_INTEL_performance_query",						DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query),					s_GL_INTEL_performance_query					},
   1560 	{ "GL_KHR_blend_equation_advanced",					DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced),				s_GL_KHR_blend_equation_advanced				},
   1561 	{ "GL_KHR_debug",									DE_LENGTH_OF_ARRAY(s_GL_KHR_debug),									s_GL_KHR_debug									},
   1562 	{ "GL_KHR_robustness",								DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness),							s_GL_KHR_robustness								},
   1563 	{ "GL_NV_bindless_texture",							DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture),						s_GL_NV_bindless_texture						},
   1564 	{ "GL_NV_blend_equation_advanced",					DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced),				s_GL_NV_blend_equation_advanced					},
   1565 	{ "GL_NV_conditional_render",						DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render),						s_GL_NV_conditional_render						},
   1566 	{ "GL_NV_copy_buffer",								DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer),							s_GL_NV_copy_buffer								},
   1567 	{ "GL_NV_coverage_sample",							DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample),						s_GL_NV_coverage_sample							},
   1568 	{ "GL_NV_draw_buffers",								DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers),							s_GL_NV_draw_buffers							},
   1569 	{ "GL_NV_draw_instanced",							DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced),							s_GL_NV_draw_instanced							},
   1570 	{ "GL_NV_framebuffer_blit",							DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit),						s_GL_NV_framebuffer_blit						},
   1571 	{ "GL_NV_framebuffer_multisample",					DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample),				s_GL_NV_framebuffer_multisample					},
   1572 	{ "GL_NV_instanced_arrays",							DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays),						s_GL_NV_instanced_arrays						},
   1573 	{ "GL_NV_internalformat_sample_query",				DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query),			s_GL_NV_internalformat_sample_query				},
   1574 	{ "GL_NV_non_square_matrices",						DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices),					s_GL_NV_non_square_matrices						},
   1575 	{ "GL_NV_path_rendering",							DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering),							s_GL_NV_path_rendering							},
   1576 	{ "GL_NV_read_buffer",								DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer),							s_GL_NV_read_buffer								},
   1577 	{ "GL_NV_viewport_array",							DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array),							s_GL_NV_viewport_array							},
   1578 	{ "GL_OES_copy_image",								DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image),							s_GL_OES_copy_image								},
   1579 	{ "GL_OES_draw_buffers_indexed",					DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed),					s_GL_OES_draw_buffers_indexed					},
   1580 	{ "GL_OES_draw_elements_base_vertex",				DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex),				s_GL_OES_draw_elements_base_vertex				},
   1581 	{ "GL_OES_geometry_shader",							DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader),						s_GL_OES_geometry_shader						},
   1582 	{ "GL_OES_get_program_binary",						DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary),					s_GL_OES_get_program_binary						},
   1583 	{ "GL_OES_primitive_bounding_box",					DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box),				s_GL_OES_primitive_bounding_box					},
   1584 	{ "GL_OES_sample_shading",							DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading),						s_GL_OES_sample_shading							},
   1585 	{ "GL_OES_tessellation_shader",						DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader),					s_GL_OES_tessellation_shader					},
   1586 	{ "GL_OES_texture_3D",								DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D),							s_GL_OES_texture_3D								},
   1587 	{ "GL_OES_texture_border_clamp",					DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp),					s_GL_OES_texture_border_clamp					},
   1588 	{ "GL_OES_texture_buffer",							DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer),						s_GL_OES_texture_buffer							},
   1589 	{ "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	},
   1590 	{ "GL_OES_texture_view",							DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view),							s_GL_OES_texture_view							},
   1591 	{ "GL_QCOM_alpha_test",								DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test),							s_GL_QCOM_alpha_test							},
   1592 };
   1593