Home | History | Annotate | Download | only in egl
      1 /* WARNING! THIS IS A PROGRAMMATICALLY GENERATED CODE. DO NOT MODIFY THE CODE,
      2  * SINCE THE CHANGES WILL BE LOST! MODIFY THE GENERATING PYTHON INSTEAD.
      3  */
      4 
      5 const char** getCoreFunctionStrs (void)
      6 {
      7 	static const char* funcs[] =
      8 	{
      9 		"eglGetError",
     10 		"eglGetDisplay",
     11 		"eglInitialize",
     12 		"eglTerminate",
     13 		"eglQueryString",
     14 		"eglGetConfigs",
     15 		"eglChooseConfig",
     16 		"eglGetConfigAttrib",
     17 		"eglCreateWindowSurface",
     18 		"eglCreatePbufferSurface",
     19 		"eglCreatePixmapSurface",
     20 		"eglDestroySurface",
     21 		"eglQuerySurface",
     22 		"eglBindAPI",
     23 		"eglQueryAPI",
     24 		"eglWaitClient",
     25 		"eglReleaseThread",
     26 		"eglCreatePbufferFromClientBuffer",
     27 		"eglSurfaceAttrib",
     28 		"eglBindTexImage",
     29 		"eglReleaseTexImage",
     30 		"eglSwapInterval",
     31 		"eglCreateContext",
     32 		"eglDestroyContext",
     33 		"eglMakeCurrent",
     34 		"eglGetCurrentContext",
     35 		"eglGetCurrentSurface",
     36 		"eglGetCurrentDisplay",
     37 		"eglQueryContext",
     38 		"eglWaitGL",
     39 		"eglWaitNative",
     40 		"eglSwapBuffers",
     41 		"eglCopyBuffers",
     42 		DE_NULL
     43 	};
     44 
     45 	return funcs;
     46 }
     47 
     48 const char** getGlesFunctionStrs (void)
     49 {
     50 	static const char* funcs[] =
     51 	{
     52 		"glActiveTexture",
     53 		"glAlphaFunc",
     54 		"glAlphaFuncx",
     55 		"glBindTexture",
     56 		"glBlendFunc",
     57 		"glClear",
     58 		"glClearColor",
     59 		"glClearColorx",
     60 		"glClearDepthf",
     61 		"glClearDepthx",
     62 		"glClearStencil",
     63 		"glClientActiveTexture",
     64 		"glColor4f",
     65 		"glColor4x",
     66 		"glColorMask",
     67 		"glColorPointer",
     68 		"glCompressedTexImage2D",
     69 		"glCompressedTexSubImage2D",
     70 		"glCopyTexImage2D",
     71 		"glCopyTexSubImage2D",
     72 		"glCullFace",
     73 		"glDeleteTextures",
     74 		"glDepthFunc",
     75 		"glDepthMask",
     76 		"glDepthRangef",
     77 		"glDepthRangex",
     78 		"glDisable",
     79 		"glDisableClientState",
     80 		"glDrawArrays",
     81 		"glDrawElements",
     82 		"glEnable",
     83 		"glEnableClientState",
     84 		"glFinish",
     85 		"glFlush",
     86 		"glFogf",
     87 		"glFogfv",
     88 		"glFogx",
     89 		"glFogxv",
     90 		"glFrontFace",
     91 		"glFrustumf",
     92 		"glFrustumx",
     93 		"glGenTextures",
     94 		"glGetError",
     95 		"glGetIntegerv",
     96 		"glGetString",
     97 		"glHint",
     98 		"glLightModelf",
     99 		"glLightModelfv",
    100 		"glLightModelx",
    101 		"glLightModelxv",
    102 		"glLightf",
    103 		"glLightfv",
    104 		"glLightx",
    105 		"glLightxv",
    106 		"glLineWidth",
    107 		"glLineWidthx",
    108 		"glLoadIdentity",
    109 		"glLoadMatrixf",
    110 		"glLoadMatrixx",
    111 		"glLogicOp",
    112 		"glMaterialf",
    113 		"glMaterialfv",
    114 		"glMaterialx",
    115 		"glMaterialxv",
    116 		"glMatrixMode",
    117 		"glMultMatrixf",
    118 		"glMultMatrixx",
    119 		"glMultiTexCoord4f",
    120 		"glMultiTexCoord4x",
    121 		"glNormal3f",
    122 		"glNormal3x",
    123 		"glNormalPointer",
    124 		"glOrthof",
    125 		"glOrthox",
    126 		"glPixelStorei",
    127 		"glPointSize",
    128 		"glPointSizex",
    129 		"glPolygonOffset",
    130 		"glPolygonOffsetx",
    131 		"glPopMatrix",
    132 		"glPushMatrix",
    133 		"glReadPixels",
    134 		"glRotatef",
    135 		"glRotatex",
    136 		"glSampleCoverage",
    137 		"glSampleCoveragex",
    138 		"glScalef",
    139 		"glScalex",
    140 		"glScissor",
    141 		"glShadeModel",
    142 		"glStencilFunc",
    143 		"glStencilMask",
    144 		"glStencilOp",
    145 		"glTexCoordPointer",
    146 		"glTexEnvf",
    147 		"glTexEnvfv",
    148 		"glTexEnvx",
    149 		"glTexEnvxv",
    150 		"glTexImage2D",
    151 		"glTexParameterf",
    152 		"glTexParameterx",
    153 		"glTexSubImage2D",
    154 		"glTranslatef",
    155 		"glTranslatex",
    156 		"glVertexPointer",
    157 		"glViewport",
    158 		DE_NULL
    159 	};
    160 
    161 	return funcs;
    162 }
    163 
    164 const char** getGles2FunctionStrs (void)
    165 {
    166 	static const char* funcs[] =
    167 	{
    168 		"glAttachShader",
    169 		"glBindAttribLocation",
    170 		"glBindBuffer",
    171 		"glBindFramebuffer",
    172 		"glBindRenderbuffer",
    173 		"glBlendColor",
    174 		"glBlendEquation",
    175 		"glBlendEquationSeparate",
    176 		"glBlendFuncSeparate",
    177 		"glBufferData",
    178 		"glBufferSubData",
    179 		"glCheckFramebufferStatus",
    180 		"glCompileShader",
    181 		"glCreateProgram",
    182 		"glCreateShader",
    183 		"glDeleteBuffers",
    184 		"glDeleteFramebuffers",
    185 		"glDeleteProgram",
    186 		"glDeleteRenderbuffers",
    187 		"glDeleteShader",
    188 		"glDetachShader",
    189 		"glDisableVertexAttribArray",
    190 		"glEnableVertexAttribArray",
    191 		"glFramebufferRenderbuffer",
    192 		"glFramebufferTexture2D",
    193 		"glGenBuffers",
    194 		"glGenerateMipmap",
    195 		"glGenFramebuffers",
    196 		"glGenRenderbuffers",
    197 		"glGetActiveAttrib",
    198 		"glGetActiveUniform",
    199 		"glGetAttachedShaders",
    200 		"glGetAttribLocation",
    201 		"glGetBooleanv",
    202 		"glGetBufferParameteriv",
    203 		"glGetFloatv",
    204 		"glGetFramebufferAttachmentParameteriv",
    205 		"glGetProgramiv",
    206 		"glGetProgramInfoLog",
    207 		"glGetRenderbufferParameteriv",
    208 		"glGetShaderiv",
    209 		"glGetShaderInfoLog",
    210 		"glGetShaderPrecisionFormat",
    211 		"glGetShaderSource",
    212 		"glGetTexParameterfv",
    213 		"glGetTexParameteriv",
    214 		"glGetUniformfv",
    215 		"glGetUniformiv",
    216 		"glGetUniformLocation",
    217 		"glGetVertexAttribfv",
    218 		"glGetVertexAttribiv",
    219 		"glGetVertexAttribPointerv",
    220 		"glIsBuffer",
    221 		"glIsEnabled",
    222 		"glIsFramebuffer",
    223 		"glIsProgram",
    224 		"glIsRenderbuffer",
    225 		"glIsShader",
    226 		"glIsTexture",
    227 		"glLinkProgram",
    228 		"glReleaseShaderCompiler",
    229 		"glRenderbufferStorage",
    230 		"glShaderBinary",
    231 		"glShaderSource",
    232 		"glStencilFuncSeparate",
    233 		"glStencilMaskSeparate",
    234 		"glStencilOpSeparate",
    235 		"glTexParameterfv",
    236 		"glTexParameteri",
    237 		"glTexParameteriv",
    238 		"glUniform1f",
    239 		"glUniform1fv",
    240 		"glUniform1i",
    241 		"glUniform1iv",
    242 		"glUniform2f",
    243 		"glUniform2fv",
    244 		"glUniform2i",
    245 		"glUniform2iv",
    246 		"glUniform3f",
    247 		"glUniform3fv",
    248 		"glUniform3i",
    249 		"glUniform3iv",
    250 		"glUniform4f",
    251 		"glUniform4fv",
    252 		"glUniform4i",
    253 		"glUniform4iv",
    254 		"glUniformMatrix2fv",
    255 		"glUniformMatrix3fv",
    256 		"glUniformMatrix4fv",
    257 		"glUseProgram",
    258 		"glValidateProgram",
    259 		"glVertexAttrib1f",
    260 		"glVertexAttrib1fv",
    261 		"glVertexAttrib2f",
    262 		"glVertexAttrib2fv",
    263 		"glVertexAttrib3f",
    264 		"glVertexAttrib3fv",
    265 		"glVertexAttrib4f",
    266 		"glVertexAttrib4fv",
    267 		"glVertexAttribPointer",
    268 		DE_NULL
    269 	};
    270 
    271 	return funcs;
    272 }
    273 
    274 const char** getGles3FunctionStrs (void)
    275 {
    276 	static const char* funcs[] =
    277 	{
    278 		"glReadBuffer",
    279 		"glDrawRangeElements",
    280 		"glTexImage3D",
    281 		"glTexSubImage3D",
    282 		"glCopyTexSubImage3D",
    283 		"glCompressedTexImage3D",
    284 		"glCompressedTexSubImage3D",
    285 		"glGenQueries",
    286 		"glDeleteQueries",
    287 		"glIsQuery",
    288 		"glBeginQuery",
    289 		"glEndQuery",
    290 		"glGetQueryiv",
    291 		"glGetQueryObjectuiv",
    292 		"glUnmapBuffer",
    293 		"glGetBufferPointerv",
    294 		"glDrawBuffers",
    295 		"glUniformMatrix2x3fv",
    296 		"glUniformMatrix3x2fv",
    297 		"glUniformMatrix2x4fv",
    298 		"glUniformMatrix4x2fv",
    299 		"glUniformMatrix3x4fv",
    300 		"glUniformMatrix4x3fv",
    301 		"glBlitFramebuffer",
    302 		"glRenderbufferStorageMultisample",
    303 		"glFramebufferTextureLayer",
    304 		"glMapBufferRange",
    305 		"glFlushMappedBufferRange",
    306 		"glBindVertexArray",
    307 		"glDeleteVertexArrays",
    308 		"glGenVertexArrays",
    309 		"glIsVertexArray",
    310 		"glGetIntegeri_v",
    311 		"glBeginTransformFeedback",
    312 		"glEndTransformFeedback",
    313 		"glBindBufferRange",
    314 		"glBindBufferBase",
    315 		"glTransformFeedbackVaryings",
    316 		"glGetTransformFeedbackVarying",
    317 		"glVertexAttribIPointer",
    318 		"glGetVertexAttribIiv",
    319 		"glGetVertexAttribIuiv",
    320 		"glVertexAttribI4i",
    321 		"glVertexAttribI4ui",
    322 		"glVertexAttribI4iv",
    323 		"glVertexAttribI4uiv",
    324 		"glGetUniformuiv",
    325 		"glGetFragDataLocation",
    326 		"glUniform1ui",
    327 		"glUniform2ui",
    328 		"glUniform3ui",
    329 		"glUniform4ui",
    330 		"glUniform1uiv",
    331 		"glUniform2uiv",
    332 		"glUniform3uiv",
    333 		"glUniform4uiv",
    334 		"glClearBufferiv",
    335 		"glClearBufferuiv",
    336 		"glClearBufferfv",
    337 		"glClearBufferfi",
    338 		"glGetStringi",
    339 		"glCopyBufferSubData",
    340 		"glGetUniformIndices",
    341 		"glGetActiveUniformsiv",
    342 		"glGetUniformBlockIndex",
    343 		"glGetActiveUniformBlockiv",
    344 		"glGetActiveUniformBlockName",
    345 		"glUniformBlockBinding",
    346 		"glDrawArraysInstanced",
    347 		"glDrawElementsInstanced",
    348 		"glFenceSync",
    349 		"glIsSync",
    350 		"glDeleteSync",
    351 		"glClientWaitSync",
    352 		"glWaitSync",
    353 		"glGetInteger64v",
    354 		"glGetSynciv",
    355 		"glGetInteger64i_v",
    356 		"glGetBufferParameteri64v",
    357 		"glGenSamplers",
    358 		"glDeleteSamplers",
    359 		"glIsSampler",
    360 		"glBindSampler",
    361 		"glSamplerParameteri",
    362 		"glSamplerParameteriv",
    363 		"glSamplerParameterf",
    364 		"glSamplerParameterfv",
    365 		"glGetSamplerParameteriv",
    366 		"glGetSamplerParameterfv",
    367 		"glVertexAttribDivisor",
    368 		"glBindTransformFeedback",
    369 		"glDeleteTransformFeedbacks",
    370 		"glGenTransformFeedbacks",
    371 		"glIsTransformFeedback",
    372 		"glPauseTransformFeedback",
    373 		"glResumeTransformFeedback",
    374 		"glGetProgramBinary",
    375 		"glProgramBinary",
    376 		"glProgramParameteri",
    377 		"glInvalidateFramebuffer",
    378 		"glInvalidateSubFramebuffer",
    379 		"glTexStorage2D",
    380 		"glTexStorage3D",
    381 		"glGetInternalformativ",
    382 		DE_NULL
    383 	};
    384 
    385 	return funcs;
    386 }
    387 
    388 const char** getKhrLockSurfaceFuncStrs (void)
    389 {
    390 	static const char* funcs[] =
    391 	{
    392 		"eglLockSurfaceKHR",
    393 		"eglUnlockSurfaceKHR",
    394 		DE_NULL
    395 	};
    396 
    397 	return funcs;
    398 }
    399 
    400 const char** getOesSinglePrecisionFuncStrs (void)
    401 {
    402 	static const char* funcs[] =
    403 	{
    404 		"glDepthRangefOES",
    405 		"glFrustumfOES",
    406 		"glOrthofOES",
    407 		"glClipPlanefOES",
    408 		"glGetClipPlanefOES",
    409 		"glClearDepthfOES",
    410 		DE_NULL
    411 	};
    412 
    413 	return funcs;
    414 }
    415 
    416 const char** getQcomTiledRenderingFuncStrs (void)
    417 {
    418 	static const char* funcs[] =
    419 	{
    420 		"glStartTilingQCOM",
    421 		"glEndTilingQCOM",
    422 		DE_NULL
    423 	};
    424 
    425 	return funcs;
    426 }
    427 
    428 const char** getNvNativeQueryFuncStrs (void)
    429 {
    430 	static const char* funcs[] =
    431 	{
    432 		"eglQueryNativeDisplayNV",
    433 		"eglQueryNativeWindowNV",
    434 		"eglQueryNativePixmapNV",
    435 		DE_NULL
    436 	};
    437 
    438 	return funcs;
    439 }
    440 
    441 const char** getMesaDrmImageFuncStrs (void)
    442 {
    443 	static const char* funcs[] =
    444 	{
    445 		"eglCreateDRMImageMESA",
    446 		"eglExportDRMImageMESA",
    447 		DE_NULL
    448 	};
    449 
    450 	return funcs;
    451 }
    452 
    453 const char** getNvFenceFuncStrs (void)
    454 {
    455 	static const char* funcs[] =
    456 	{
    457 		"glDeleteFencesNV",
    458 		"glGenFencesNV",
    459 		"glIsFenceNV",
    460 		"glTestFenceNV",
    461 		"glGetFenceivNV",
    462 		"glFinishFenceNV",
    463 		"glSetFenceNV",
    464 		DE_NULL
    465 	};
    466 
    467 	return funcs;
    468 }
    469 
    470 const char** getOesBlendSubtractFuncStrs (void)
    471 {
    472 	static const char* funcs[] =
    473 	{
    474 		"glBlendEquationOES",
    475 		DE_NULL
    476 	};
    477 
    478 	return funcs;
    479 }
    480 
    481 const char** getKhrStreamConsumerGltextureFuncStrs (void)
    482 {
    483 	static const char* funcs[] =
    484 	{
    485 		"eglStreamConsumerGLTextureExternalKHR",
    486 		"eglStreamConsumerAcquireKHR",
    487 		"eglStreamConsumerReleaseKHR",
    488 		DE_NULL
    489 	};
    490 
    491 	return funcs;
    492 }
    493 
    494 const char** getQcomExtendedGet2FuncStrs (void)
    495 {
    496 	static const char* funcs[] =
    497 	{
    498 		"glExtGetShadersQCOM",
    499 		"glExtGetProgramsQCOM",
    500 		"glExtIsProgramBinaryQCOM",
    501 		"glExtGetProgramBinarySourceQCOM",
    502 		DE_NULL
    503 	};
    504 
    505 	return funcs;
    506 }
    507 
    508 const char** getExtMultiDrawArraysFuncStrs (void)
    509 {
    510 	static const char* funcs[] =
    511 	{
    512 		"glMultiDrawArraysEXT",
    513 		"glMultiDrawElementsEXT",
    514 		DE_NULL
    515 	};
    516 
    517 	return funcs;
    518 }
    519 
    520 const char** getOesMatrixPaletteFuncStrs (void)
    521 {
    522 	static const char* funcs[] =
    523 	{
    524 		"glCurrentPaletteMatrixOES",
    525 		"glLoadPaletteFromModelViewMatrixOES",
    526 		"glMatrixIndexPointerOES",
    527 		"glWeightPointerOES",
    528 		DE_NULL
    529 	};
    530 
    531 	return funcs;
    532 }
    533 
    534 const char** getExtSeparateShaderObjectsFuncStrs (void)
    535 {
    536 	static const char* funcs[] =
    537 	{
    538 		"glUseProgramStagesEXT",
    539 		"glActiveShaderProgramEXT",
    540 		"glCreateShaderProgramvEXT",
    541 		"glBindProgramPipelineEXT",
    542 		"glDeleteProgramPipelinesEXT",
    543 		"glGenProgramPipelinesEXT",
    544 		"glIsProgramPipelineEXT",
    545 		"glProgramParameteriEXT",
    546 		"glGetProgramPipelineivEXT",
    547 		"glProgramUniform1iEXT",
    548 		"glProgramUniform2iEXT",
    549 		"glProgramUniform3iEXT",
    550 		"glProgramUniform4iEXT",
    551 		"glProgramUniform1fEXT",
    552 		"glProgramUniform2fEXT",
    553 		"glProgramUniform3fEXT",
    554 		"glProgramUniform4fEXT",
    555 		"glProgramUniform1ivEXT",
    556 		"glProgramUniform2ivEXT",
    557 		"glProgramUniform3ivEXT",
    558 		"glProgramUniform4ivEXT",
    559 		"glProgramUniform1fvEXT",
    560 		"glProgramUniform2fvEXT",
    561 		"glProgramUniform3fvEXT",
    562 		"glProgramUniform4fvEXT",
    563 		"glProgramUniformMatrix2fvEXT",
    564 		"glProgramUniformMatrix3fvEXT",
    565 		"glProgramUniformMatrix4fvEXT",
    566 		"glValidateProgramPipelineEXT",
    567 		"glGetProgramPipelineInfoLogEXT",
    568 		DE_NULL
    569 	};
    570 
    571 	return funcs;
    572 }
    573 
    574 const char** getAngleTranslatedShaderSourceFuncStrs (void)
    575 {
    576 	static const char* funcs[] =
    577 	{
    578 		"glGetTranslatedShaderSourceANGLE",
    579 		DE_NULL
    580 	};
    581 
    582 	return funcs;
    583 }
    584 
    585 const char** getNvFramebufferMultisampleFuncStrs (void)
    586 {
    587 	static const char* funcs[] =
    588 	{
    589 		"glRenderbufferStorageMultisampleNV",
    590 		DE_NULL
    591 	};
    592 
    593 	return funcs;
    594 }
    595 
    596 const char** getNvDrawBuffersFuncStrs (void)
    597 {
    598 	static const char* funcs[] =
    599 	{
    600 		"glDrawBuffersNV",
    601 		DE_NULL
    602 	};
    603 
    604 	return funcs;
    605 }
    606 
    607 const char** getOesEglImageFuncStrs (void)
    608 {
    609 	static const char* funcs[] =
    610 	{
    611 		"glEGLImageTargetTexture2DOES",
    612 		"glEGLImageTargetRenderbufferStorageOES",
    613 		DE_NULL
    614 	};
    615 
    616 	return funcs;
    617 }
    618 
    619 const char** getKhrWaitSyncFuncStrs (void)
    620 {
    621 	static const char* funcs[] =
    622 	{
    623 		"eglWaitSyncKHR",
    624 		DE_NULL
    625 	};
    626 
    627 	return funcs;
    628 }
    629 
    630 const char** getNvSystemTimeFuncStrs (void)
    631 {
    632 	static const char* funcs[] =
    633 	{
    634 		"eglGetSystemTimeFrequencyNV",
    635 		"eglGetSystemTimeNV",
    636 		DE_NULL
    637 	};
    638 
    639 	return funcs;
    640 }
    641 
    642 const char** getExtRobustnessFuncStrs (void)
    643 {
    644 	static const char* funcs[] =
    645 	{
    646 		"glGetGraphicsResetStatusEXT",
    647 		"glReadnPixelsEXT",
    648 		"glGetnUniformfvEXT",
    649 		"glGetnUniformivEXT",
    650 		DE_NULL
    651 	};
    652 
    653 	return funcs;
    654 }
    655 
    656 const char** getKhrImageFuncStrs (void)
    657 {
    658 	static const char* funcs[] =
    659 	{
    660 		"eglCreateImageKHR",
    661 		"eglDestroyImageKHR",
    662 		DE_NULL
    663 	};
    664 
    665 	return funcs;
    666 }
    667 
    668 const char** getNvDrawInstancedFuncStrs (void)
    669 {
    670 	static const char* funcs[] =
    671 	{
    672 		"glDrawArraysInstancedNV",
    673 		"glDrawElementsInstancedNV",
    674 		DE_NULL
    675 	};
    676 
    677 	return funcs;
    678 }
    679 
    680 const char** getImgUserClipPlaneFuncStrs (void)
    681 {
    682 	static const char* funcs[] =
    683 	{
    684 		"glClipPlanefIMG",
    685 		"glClipPlanexIMG",
    686 		DE_NULL
    687 	};
    688 
    689 	return funcs;
    690 }
    691 
    692 const char** getOesQueryMatrixFuncStrs (void)
    693 {
    694 	static const char* funcs[] =
    695 	{
    696 		"glQueryMatrixxOES",
    697 		DE_NULL
    698 	};
    699 
    700 	return funcs;
    701 }
    702 
    703 const char** getNvCoverageSampleFuncStrs (void)
    704 {
    705 	static const char* funcs[] =
    706 	{
    707 		"glCoverageMaskNV",
    708 		"glCoverageOperationNV",
    709 		DE_NULL
    710 	};
    711 
    712 	return funcs;
    713 }
    714 
    715 const char** getExtDisjointTimerQueryFuncStrs (void)
    716 {
    717 	static const char* funcs[] =
    718 	{
    719 		"glGenQueriesEXT",
    720 		"glDeleteQueriesEXT",
    721 		"glIsQueryEXT",
    722 		"glBeginQueryEXT",
    723 		"glEndQueryEXT",
    724 		"glQueryCounterEXT",
    725 		"glGetQueryivEXT",
    726 		"glGetQueryObjectivEXT",
    727 		"glGetQueryObjectuivEXT",
    728 		"glGetQueryObjecti64vEXT",
    729 		"glGetQueryObjectui64vEXT",
    730 		DE_NULL
    731 	};
    732 
    733 	return funcs;
    734 }
    735 
    736 const char** getOesVertexArrayObjectFuncStrs (void)
    737 {
    738 	static const char* funcs[] =
    739 	{
    740 		"glBindVertexArrayOES",
    741 		"glDeleteVertexArraysOES",
    742 		"glGenVertexArraysOES",
    743 		"glIsVertexArrayOES",
    744 		DE_NULL
    745 	};
    746 
    747 	return funcs;
    748 }
    749 
    750 const char** getKhrReusableSyncFuncStrs (void)
    751 {
    752 	static const char* funcs[] =
    753 	{
    754 		"eglCreateSyncKHR",
    755 		"eglDestroySyncKHR",
    756 		"eglClientWaitSyncKHR",
    757 		"eglSignalSyncKHR",
    758 		"eglGetSyncAttribKHR",
    759 		DE_NULL
    760 	};
    761 
    762 	return funcs;
    763 }
    764 
    765 const char** getExtDebugLabelFuncStrs (void)
    766 {
    767 	static const char* funcs[] =
    768 	{
    769 		"glLabelObjectEXT",
    770 		"glGetObjectLabelEXT",
    771 		DE_NULL
    772 	};
    773 
    774 	return funcs;
    775 }
    776 
    777 const char** getExtMapBufferRangeFuncStrs (void)
    778 {
    779 	static const char* funcs[] =
    780 	{
    781 		"glMapBufferRangeEXT",
    782 		"glFlushMappedBufferRangeEXT",
    783 		DE_NULL
    784 	};
    785 
    786 	return funcs;
    787 }
    788 
    789 const char** getAngleFramebufferMultisampleFuncStrs (void)
    790 {
    791 	static const char* funcs[] =
    792 	{
    793 		"glRenderbufferStorageMultisampleANGLE",
    794 		DE_NULL
    795 	};
    796 
    797 	return funcs;
    798 }
    799 
    800 const char** getKhrStreamCrossProcessFdFuncStrs (void)
    801 {
    802 	static const char* funcs[] =
    803 	{
    804 		"eglGetStreamFileDescriptorKHR",
    805 		"eglCreateStreamFromFileDescriptorKHR",
    806 		DE_NULL
    807 	};
    808 
    809 	return funcs;
    810 }
    811 
    812 const char** getExtTextureStorageFuncStrs (void)
    813 {
    814 	static const char* funcs[] =
    815 	{
    816 		"glTexStorage1DEXT",
    817 		"glTexStorage2DEXT",
    818 		"glTexStorage3DEXT",
    819 		"glTextureStorage1DEXT",
    820 		"glTextureStorage2DEXT",
    821 		"glTextureStorage3DEXT",
    822 		DE_NULL
    823 	};
    824 
    825 	return funcs;
    826 }
    827 
    828 const char** getKhrStreamFifoFuncStrs (void)
    829 {
    830 	static const char* funcs[] =
    831 	{
    832 		"eglQueryStreamTimeKHR",
    833 		DE_NULL
    834 	};
    835 
    836 	return funcs;
    837 }
    838 
    839 const char** getOesMapbufferFuncStrs (void)
    840 {
    841 	static const char* funcs[] =
    842 	{
    843 		"glMapBufferOES",
    844 		"glUnmapBufferOES",
    845 		"glGetBufferPointervOES",
    846 		DE_NULL
    847 	};
    848 
    849 	return funcs;
    850 }
    851 
    852 const char** getNvPostSubBufferFuncStrs (void)
    853 {
    854 	static const char* funcs[] =
    855 	{
    856 		"eglPostSubBufferNV",
    857 		DE_NULL
    858 	};
    859 
    860 	return funcs;
    861 }
    862 
    863 const char** getOesTextureCubeMapFuncStrs (void)
    864 {
    865 	static const char* funcs[] =
    866 	{
    867 		"glTexGenfOES",
    868 		"glTexGenfvOES",
    869 		"glTexGeniOES",
    870 		"glTexGenivOES",
    871 		"glTexGenxOES",
    872 		"glTexGenxvOES",
    873 		"glGetTexGenfvOES",
    874 		"glGetTexGenivOES",
    875 		"glGetTexGenxvOES",
    876 		DE_NULL
    877 	};
    878 
    879 	return funcs;
    880 }
    881 
    882 const char** getKhrStreamProducerEglsurfaceFuncStrs (void)
    883 {
    884 	static const char* funcs[] =
    885 	{
    886 		"eglCreateStreamProducerSurfaceKHR",
    887 		DE_NULL
    888 	};
    889 
    890 	return funcs;
    891 }
    892 
    893 const char** getOesBlendEquationSeparateFuncStrs (void)
    894 {
    895 	static const char* funcs[] =
    896 	{
    897 		"glBlendEquationSeparateOES",
    898 		DE_NULL
    899 	};
    900 
    901 	return funcs;
    902 }
    903 
    904 const char** getExtDrawBuffersFuncStrs (void)
    905 {
    906 	static const char* funcs[] =
    907 	{
    908 		"glDrawBuffersEXT",
    909 		DE_NULL
    910 	};
    911 
    912 	return funcs;
    913 }
    914 
    915 const char** getOesFramebufferObjectFuncStrs (void)
    916 {
    917 	static const char* funcs[] =
    918 	{
    919 		"glIsRenderbufferOES",
    920 		"glBindRenderbufferOES",
    921 		"glDeleteRenderbuffersOES",
    922 		"glGenRenderbuffersOES",
    923 		"glRenderbufferStorageOES",
    924 		"glGetRenderbufferParameterivOES",
    925 		"glIsFramebufferOES",
    926 		"glBindFramebufferOES",
    927 		"glDeleteFramebuffersOES",
    928 		"glGenFramebuffersOES",
    929 		"glCheckFramebufferStatusOES",
    930 		"glFramebufferRenderbufferOES",
    931 		"glFramebufferTexture2DOES",
    932 		"glGetFramebufferAttachmentParameterivOES",
    933 		"glGenerateMipmapOES",
    934 		DE_NULL
    935 	};
    936 
    937 	return funcs;
    938 }
    939 
    940 const char** getExtDebugMarkerFuncStrs (void)
    941 {
    942 	static const char* funcs[] =
    943 	{
    944 		"glInsertEventMarkerEXT",
    945 		"glPushGroupMarkerEXT",
    946 		"glPopGroupMarkerEXT",
    947 		DE_NULL
    948 	};
    949 
    950 	return funcs;
    951 }
    952 
    953 const char** getExtMultisampledRenderToTextureFuncStrs (void)
    954 {
    955 	static const char* funcs[] =
    956 	{
    957 		"glRenderbufferStorageMultisampleEXT",
    958 		"glFramebufferTexture2DMultisampleEXT",
    959 		DE_NULL
    960 	};
    961 
    962 	return funcs;
    963 }
    964 
    965 const char** getExtDiscardFramebufferFuncStrs (void)
    966 {
    967 	static const char* funcs[] =
    968 	{
    969 		"glDiscardFramebufferEXT",
    970 		DE_NULL
    971 	};
    972 
    973 	return funcs;
    974 }
    975 
    976 const char** getOesFixedPointFuncStrs (void)
    977 {
    978 	static const char* funcs[] =
    979 	{
    980 		"glAlphaFuncxOES",
    981 		"glClearColorxOES",
    982 		"glClearDepthxOES",
    983 		"glClipPlanexOES",
    984 		"glColor4xOES",
    985 		"glDepthRangexOES",
    986 		"glFogxOES",
    987 		"glFogxvOES",
    988 		"glFrustumxOES",
    989 		"glGetClipPlanexOES",
    990 		"glGetFixedvOES",
    991 		"glGetLightxvOES",
    992 		"glGetMaterialxvOES",
    993 		"glGetTexEnvxvOES",
    994 		"glGetTexParameterxvOES",
    995 		"glLightModelxOES",
    996 		"glLightModelxvOES",
    997 		"glLightxOES",
    998 		"glLightxvOES",
    999 		"glLineWidthxOES",
   1000 		"glLoadMatrixxOES",
   1001 		"glMaterialxOES",
   1002 		"glMaterialxvOES",
   1003 		"glMultMatrixxOES",
   1004 		"glMultiTexCoord4xOES",
   1005 		"glNormal3xOES",
   1006 		"glOrthoxOES",
   1007 		"glPointParameterxOES",
   1008 		"glPointParameterxvOES",
   1009 		"glPointSizexOES",
   1010 		"glPolygonOffsetxOES",
   1011 		"glRotatexOES",
   1012 		"glSampleCoveragexOES",
   1013 		"glScalexOES",
   1014 		"glTexEnvxOES",
   1015 		"glTexEnvxvOES",
   1016 		"glTexParameterxOES",
   1017 		"glTexParameterxvOES",
   1018 		"glTranslatexOES",
   1019 		DE_NULL
   1020 	};
   1021 
   1022 	return funcs;
   1023 }
   1024 
   1025 const char** getImgMultisampledRenderToTextureFuncStrs (void)
   1026 {
   1027 	static const char* funcs[] =
   1028 	{
   1029 		"glRenderbufferStorageMultisampleIMG",
   1030 		"glFramebufferTexture2DMultisampleIMG",
   1031 		DE_NULL
   1032 	};
   1033 
   1034 	return funcs;
   1035 }
   1036 
   1037 const char** getOesGetProgramBinaryFuncStrs (void)
   1038 {
   1039 	static const char* funcs[] =
   1040 	{
   1041 		"glGetProgramBinaryOES",
   1042 		"glProgramBinaryOES",
   1043 		DE_NULL
   1044 	};
   1045 
   1046 	return funcs;
   1047 }
   1048 
   1049 const char** getAppleFramebufferMultisampleFuncStrs (void)
   1050 {
   1051 	static const char* funcs[] =
   1052 	{
   1053 		"glRenderbufferStorageMultisampleAPPLE",
   1054 		"glResolveMultisampleFramebufferAPPLE",
   1055 		DE_NULL
   1056 	};
   1057 
   1058 	return funcs;
   1059 }
   1060 
   1061 const char** getAppleCopyTextureLevelsFuncStrs (void)
   1062 {
   1063 	static const char* funcs[] =
   1064 	{
   1065 		"glCopyTextureLevelsAPPLE",
   1066 		DE_NULL
   1067 	};
   1068 
   1069 	return funcs;
   1070 }
   1071 
   1072 const char** getExtMultiviewDrawBuffersFuncStrs (void)
   1073 {
   1074 	static const char* funcs[] =
   1075 	{
   1076 		"glReadBufferIndexedEXT",
   1077 		"glDrawBuffersIndexedEXT",
   1078 		"glGetIntegeri_vEXT",
   1079 		DE_NULL
   1080 	};
   1081 
   1082 	return funcs;
   1083 }
   1084 
   1085 const char** getOesBlendFuncSeparateFuncStrs (void)
   1086 {
   1087 	static const char* funcs[] =
   1088 	{
   1089 		"glBlendFuncSeparateOES",
   1090 		DE_NULL
   1091 	};
   1092 
   1093 	return funcs;
   1094 }
   1095 
   1096 const char** getQcomExtendedGetFuncStrs (void)
   1097 {
   1098 	static const char* funcs[] =
   1099 	{
   1100 		"glExtGetTexturesQCOM",
   1101 		"glExtGetBuffersQCOM",
   1102 		"glExtGetRenderbuffersQCOM",
   1103 		"glExtGetFramebuffersQCOM",
   1104 		"glExtGetTexLevelParameterivQCOM",
   1105 		"glExtTexObjectStateOverrideiQCOM",
   1106 		"glExtGetTexSubImageQCOM",
   1107 		"glExtGetBufferPointervQCOM",
   1108 		DE_NULL
   1109 	};
   1110 
   1111 	return funcs;
   1112 }
   1113 
   1114 const char** getNvFramebufferBlitFuncStrs (void)
   1115 {
   1116 	static const char* funcs[] =
   1117 	{
   1118 		"glBlitFramebufferNV",
   1119 		DE_NULL
   1120 	};
   1121 
   1122 	return funcs;
   1123 }
   1124 
   1125 const char** getAndroidBlobCacheFuncStrs (void)
   1126 {
   1127 	static const char* funcs[] =
   1128 	{
   1129 		"eglSetBlobCacheFuncsANDROID",
   1130 		DE_NULL
   1131 	};
   1132 
   1133 	return funcs;
   1134 }
   1135 
   1136 const char** getAngleFramebufferBlitFuncStrs (void)
   1137 {
   1138 	static const char* funcs[] =
   1139 	{
   1140 		"glBlitFramebufferANGLE",
   1141 		DE_NULL
   1142 	};
   1143 
   1144 	return funcs;
   1145 }
   1146 
   1147 const char** getOesTexture3DFuncStrs (void)
   1148 {
   1149 	static const char* funcs[] =
   1150 	{
   1151 		"glTexImage3DOES",
   1152 		"glTexSubImage3DOES",
   1153 		"glCopyTexSubImage3DOES",
   1154 		"glCompressedTexImage3DOES",
   1155 		"glCompressedTexSubImage3DOES",
   1156 		"glFramebufferTexture3DOES",
   1157 		DE_NULL
   1158 	};
   1159 
   1160 	return funcs;
   1161 }
   1162 
   1163 const char** getKhrDebugFuncStrs (void)
   1164 {
   1165 	static const char* funcs[] =
   1166 	{
   1167 		"glDebugMessageControlKHR",
   1168 		"glDebugMessageInsertKHR",
   1169 		"glDebugMessageCallbackKHR",
   1170 		"glGetDebugMessageLogKHR",
   1171 		"glPushDebugGroupKHR",
   1172 		"glPopDebugGroupKHR",
   1173 		"glObjectLabelKHR",
   1174 		"glGetObjectLabelKHR",
   1175 		"glObjectPtrLabelKHR",
   1176 		"glGetObjectPtrLabelKHR",
   1177 		"glGetPointervKHR",
   1178 		DE_NULL
   1179 	};
   1180 
   1181 	return funcs;
   1182 }
   1183 
   1184 const char** getQcomAlphaTestFuncStrs (void)
   1185 {
   1186 	static const char* funcs[] =
   1187 	{
   1188 		"glAlphaFuncQCOM",
   1189 		DE_NULL
   1190 	};
   1191 
   1192 	return funcs;
   1193 }
   1194 
   1195 const char** getHiClientpixmapFuncStrs (void)
   1196 {
   1197 	static const char* funcs[] =
   1198 	{
   1199 		"eglCreatePixmapSurfaceHI",
   1200 		DE_NULL
   1201 	};
   1202 
   1203 	return funcs;
   1204 }
   1205 
   1206 const char** getKhrStreamFuncStrs (void)
   1207 {
   1208 	static const char* funcs[] =
   1209 	{
   1210 		"eglCreateStreamKHR",
   1211 		"eglDestroyStreamKHR",
   1212 		"eglStreamAttribKHR",
   1213 		"eglQueryStreamKHR",
   1214 		"eglQueryStreamu64KHR",
   1215 		DE_NULL
   1216 	};
   1217 
   1218 	return funcs;
   1219 }
   1220 
   1221 const char** getOesDrawTextureFuncStrs (void)
   1222 {
   1223 	static const char* funcs[] =
   1224 	{
   1225 		"glDrawTexsOES",
   1226 		"glDrawTexiOES",
   1227 		"glDrawTexxOES",
   1228 		"glDrawTexsvOES",
   1229 		"glDrawTexivOES",
   1230 		"glDrawTexxvOES",
   1231 		"glDrawTexfOES",
   1232 		"glDrawTexfvOES",
   1233 		DE_NULL
   1234 	};
   1235 
   1236 	return funcs;
   1237 }
   1238 
   1239 const char** getExtOcclusionQueryBooleanFuncStrs (void)
   1240 {
   1241 	static const char* funcs[] =
   1242 	{
   1243 		"glGenQueriesEXT",
   1244 		"glDeleteQueriesEXT",
   1245 		"glIsQueryEXT",
   1246 		"glBeginQueryEXT",
   1247 		"glEndQueryEXT",
   1248 		"glGetQueryivEXT",
   1249 		"glGetQueryObjectuivEXT",
   1250 		DE_NULL
   1251 	};
   1252 
   1253 	return funcs;
   1254 }
   1255 
   1256 const char** getAngleQuerySurfacePointerFuncStrs (void)
   1257 {
   1258 	static const char* funcs[] =
   1259 	{
   1260 		"eglQuerySurfacePointerANGLE",
   1261 		DE_NULL
   1262 	};
   1263 
   1264 	return funcs;
   1265 }
   1266 
   1267 const char** getNvReadBufferFuncStrs (void)
   1268 {
   1269 	static const char* funcs[] =
   1270 	{
   1271 		"glReadBufferNV",
   1272 		DE_NULL
   1273 	};
   1274 
   1275 	return funcs;
   1276 }
   1277 
   1278 const char** getNvInstancedArraysFuncStrs (void)
   1279 {
   1280 	static const char* funcs[] =
   1281 	{
   1282 		"glVertexAttribDivisorNV",
   1283 		DE_NULL
   1284 	};
   1285 
   1286 	return funcs;
   1287 }
   1288 
   1289 const char** getAngleInstancedArraysFuncStrs (void)
   1290 {
   1291 	static const char* funcs[] =
   1292 	{
   1293 		"glDrawArraysInstancedANGLE",
   1294 		"glDrawElementsInstancedANGLE",
   1295 		"glVertexAttribDivisorANGLE",
   1296 		DE_NULL
   1297 	};
   1298 
   1299 	return funcs;
   1300 }
   1301 
   1302 const char** getAmdPerformanceMonitorFuncStrs (void)
   1303 {
   1304 	static const char* funcs[] =
   1305 	{
   1306 		"glGetPerfMonitorGroupsAMD",
   1307 		"glGetPerfMonitorCountersAMD",
   1308 		"glGetPerfMonitorGroupStringAMD",
   1309 		"glGetPerfMonitorCounterStringAMD",
   1310 		"glGetPerfMonitorCounterInfoAMD",
   1311 		"glGenPerfMonitorsAMD",
   1312 		"glDeletePerfMonitorsAMD",
   1313 		"glSelectPerfMonitorCountersAMD",
   1314 		"glBeginPerfMonitorAMD",
   1315 		"glEndPerfMonitorAMD",
   1316 		"glGetPerfMonitorCounterDataAMD",
   1317 		DE_NULL
   1318 	};
   1319 
   1320 	return funcs;
   1321 }
   1322 
   1323 const char** getAndroidNativeFenceSyncFuncStrs (void)
   1324 {
   1325 	static const char* funcs[] =
   1326 	{
   1327 		"eglDupNativeFenceFDANDROID",
   1328 		DE_NULL
   1329 	};
   1330 
   1331 	return funcs;
   1332 }
   1333 
   1334 const char** getAppleSyncFuncStrs (void)
   1335 {
   1336 	static const char* funcs[] =
   1337 	{
   1338 		"glFenceSyncAPPLE",
   1339 		"glIsSyncAPPLE",
   1340 		"glDeleteSyncAPPLE",
   1341 		"glClientWaitSyncAPPLE",
   1342 		"glWaitSyncAPPLE",
   1343 		"glGetInteger64vAPPLE",
   1344 		"glGetSyncivAPPLE",
   1345 		DE_NULL
   1346 	};
   1347 
   1348 	return funcs;
   1349 }
   1350 
   1351 const char** getNvSyncFuncStrs (void)
   1352 {
   1353 	static const char* funcs[] =
   1354 	{
   1355 		"eglCreateFenceSyncNV",
   1356 		"eglDestroySyncNV",
   1357 		"eglFenceNV",
   1358 		"eglClientWaitSyncNV",
   1359 		"eglSignalSyncNV",
   1360 		"eglGetSyncAttribNV",
   1361 		DE_NULL
   1362 	};
   1363 
   1364 	return funcs;
   1365 }
   1366 
   1367 const char** getQcomDriverControlFuncStrs (void)
   1368 {
   1369 	static const char* funcs[] =
   1370 	{
   1371 		"glGetDriverControlsQCOM",
   1372 		"glGetDriverControlStringQCOM",
   1373 		"glEnableDriverControlQCOM",
   1374 		"glDisableDriverControlQCOM",
   1375 		DE_NULL
   1376 	};
   1377 
   1378 	return funcs;
   1379 }
   1380 
   1381 const char** getExtensionFuncStrs (const std::string& extensionName)
   1382 {
   1383 	if (extensionName == "EGL_KHR_lock_surface")
   1384 		return getKhrLockSurfaceFuncStrs();
   1385 	else if (extensionName == "GL_OES_single_precision")
   1386 		return getOesSinglePrecisionFuncStrs();
   1387 	else if (extensionName == "GL_QCOM_tiled_rendering")
   1388 		return getQcomTiledRenderingFuncStrs();
   1389 	else if (extensionName == "EGL_NV_native_query")
   1390 		return getNvNativeQueryFuncStrs();
   1391 	else if (extensionName == "EGL_MESA_drm_image")
   1392 		return getMesaDrmImageFuncStrs();
   1393 	else if (extensionName == "GL_NV_fence")
   1394 		return getNvFenceFuncStrs();
   1395 	else if (extensionName == "GL_OES_blend_subtract")
   1396 		return getOesBlendSubtractFuncStrs();
   1397 	else if (extensionName == "EGL_KHR_stream_consumer_gltexture")
   1398 		return getKhrStreamConsumerGltextureFuncStrs();
   1399 	else if (extensionName == "GL_QCOM_extended_get2")
   1400 		return getQcomExtendedGet2FuncStrs();
   1401 	else if (extensionName == "GL_EXT_multi_draw_arrays")
   1402 		return getExtMultiDrawArraysFuncStrs();
   1403 	else if (extensionName == "GL_OES_matrix_palette")
   1404 		return getOesMatrixPaletteFuncStrs();
   1405 	else if (extensionName == "GL_EXT_separate_shader_objects")
   1406 		return getExtSeparateShaderObjectsFuncStrs();
   1407 	else if (extensionName == "GL_ANGLE_translated_shader_source")
   1408 		return getAngleTranslatedShaderSourceFuncStrs();
   1409 	else if (extensionName == "GL_NV_framebuffer_multisample")
   1410 		return getNvFramebufferMultisampleFuncStrs();
   1411 	else if (extensionName == "GL_NV_draw_buffers")
   1412 		return getNvDrawBuffersFuncStrs();
   1413 	else if (extensionName == "GL_OES_EGL_image")
   1414 		return getOesEglImageFuncStrs();
   1415 	else if (extensionName == "EGL_KHR_wait_sync")
   1416 		return getKhrWaitSyncFuncStrs();
   1417 	else if (extensionName == "EGL_NV_system_time")
   1418 		return getNvSystemTimeFuncStrs();
   1419 	else if (extensionName == "GL_EXT_robustness")
   1420 		return getExtRobustnessFuncStrs();
   1421 	else if (extensionName == "EGL_KHR_image")
   1422 		return getKhrImageFuncStrs();
   1423 	else if (extensionName == "GL_NV_draw_instanced")
   1424 		return getNvDrawInstancedFuncStrs();
   1425 	else if (extensionName == "GL_IMG_user_clip_plane")
   1426 		return getImgUserClipPlaneFuncStrs();
   1427 	else if (extensionName == "GL_OES_query_matrix")
   1428 		return getOesQueryMatrixFuncStrs();
   1429 	else if (extensionName == "GL_NV_coverage_sample")
   1430 		return getNvCoverageSampleFuncStrs();
   1431 	else if (extensionName == "GL_EXT_disjoint_timer_query")
   1432 		return getExtDisjointTimerQueryFuncStrs();
   1433 	else if (extensionName == "GL_OES_vertex_array_object")
   1434 		return getOesVertexArrayObjectFuncStrs();
   1435 	else if (extensionName == "EGL_KHR_reusable_sync")
   1436 		return getKhrReusableSyncFuncStrs();
   1437 	else if (extensionName == "GL_EXT_debug_label")
   1438 		return getExtDebugLabelFuncStrs();
   1439 	else if (extensionName == "GL_EXT_map_buffer_range")
   1440 		return getExtMapBufferRangeFuncStrs();
   1441 	else if (extensionName == "GL_ANGLE_framebuffer_multisample")
   1442 		return getAngleFramebufferMultisampleFuncStrs();
   1443 	else if (extensionName == "EGL_KHR_stream_cross_process_fd")
   1444 		return getKhrStreamCrossProcessFdFuncStrs();
   1445 	else if (extensionName == "GL_EXT_texture_storage")
   1446 		return getExtTextureStorageFuncStrs();
   1447 	else if (extensionName == "EGL_KHR_stream_fifo")
   1448 		return getKhrStreamFifoFuncStrs();
   1449 	else if (extensionName == "GL_OES_mapbuffer")
   1450 		return getOesMapbufferFuncStrs();
   1451 	else if (extensionName == "EGL_NV_post_sub_buffer")
   1452 		return getNvPostSubBufferFuncStrs();
   1453 	else if (extensionName == "GL_OES_texture_cube_map")
   1454 		return getOesTextureCubeMapFuncStrs();
   1455 	else if (extensionName == "EGL_KHR_stream_producer_eglsurface")
   1456 		return getKhrStreamProducerEglsurfaceFuncStrs();
   1457 	else if (extensionName == "GL_OES_blend_equation_separate")
   1458 		return getOesBlendEquationSeparateFuncStrs();
   1459 	else if (extensionName == "GL_EXT_draw_buffers")
   1460 		return getExtDrawBuffersFuncStrs();
   1461 	else if (extensionName == "GL_OES_framebuffer_object")
   1462 		return getOesFramebufferObjectFuncStrs();
   1463 	else if (extensionName == "GL_EXT_debug_marker")
   1464 		return getExtDebugMarkerFuncStrs();
   1465 	else if (extensionName == "GL_EXT_multisampled_render_to_texture")
   1466 		return getExtMultisampledRenderToTextureFuncStrs();
   1467 	else if (extensionName == "GL_EXT_discard_framebuffer")
   1468 		return getExtDiscardFramebufferFuncStrs();
   1469 	else if (extensionName == "GL_OES_fixed_point")
   1470 		return getOesFixedPointFuncStrs();
   1471 	else if (extensionName == "GL_IMG_multisampled_render_to_texture")
   1472 		return getImgMultisampledRenderToTextureFuncStrs();
   1473 	else if (extensionName == "GL_OES_get_program_binary")
   1474 		return getOesGetProgramBinaryFuncStrs();
   1475 	else if (extensionName == "GL_APPLE_framebuffer_multisample")
   1476 		return getAppleFramebufferMultisampleFuncStrs();
   1477 	else if (extensionName == "GL_APPLE_copy_texture_levels")
   1478 		return getAppleCopyTextureLevelsFuncStrs();
   1479 	else if (extensionName == "GL_EXT_multiview_draw_buffers")
   1480 		return getExtMultiviewDrawBuffersFuncStrs();
   1481 	else if (extensionName == "GL_OES_blend_func_separate")
   1482 		return getOesBlendFuncSeparateFuncStrs();
   1483 	else if (extensionName == "GL_QCOM_extended_get")
   1484 		return getQcomExtendedGetFuncStrs();
   1485 	else if (extensionName == "GL_NV_framebuffer_blit")
   1486 		return getNvFramebufferBlitFuncStrs();
   1487 	else if (extensionName == "EGL_ANDROID_blob_cache")
   1488 		return getAndroidBlobCacheFuncStrs();
   1489 	else if (extensionName == "GL_ANGLE_framebuffer_blit")
   1490 		return getAngleFramebufferBlitFuncStrs();
   1491 	else if (extensionName == "GL_OES_texture_3D")
   1492 		return getOesTexture3DFuncStrs();
   1493 	else if (extensionName == "GL_KHR_debug")
   1494 		return getKhrDebugFuncStrs();
   1495 	else if (extensionName == "GL_QCOM_alpha_test")
   1496 		return getQcomAlphaTestFuncStrs();
   1497 	else if (extensionName == "EGL_HI_clientpixmap")
   1498 		return getHiClientpixmapFuncStrs();
   1499 	else if (extensionName == "EGL_KHR_stream")
   1500 		return getKhrStreamFuncStrs();
   1501 	else if (extensionName == "GL_OES_draw_texture")
   1502 		return getOesDrawTextureFuncStrs();
   1503 	else if (extensionName == "GL_EXT_occlusion_query_boolean")
   1504 		return getExtOcclusionQueryBooleanFuncStrs();
   1505 	else if (extensionName == "EGL_ANGLE_query_surface_pointer")
   1506 		return getAngleQuerySurfacePointerFuncStrs();
   1507 	else if (extensionName == "GL_NV_read_buffer")
   1508 		return getNvReadBufferFuncStrs();
   1509 	else if (extensionName == "GL_NV_instanced_arrays")
   1510 		return getNvInstancedArraysFuncStrs();
   1511 	else if (extensionName == "GL_ANGLE_instanced_arrays")
   1512 		return getAngleInstancedArraysFuncStrs();
   1513 	else if (extensionName == "GL_AMD_performance_monitor")
   1514 		return getAmdPerformanceMonitorFuncStrs();
   1515 	else if (extensionName == "EGL_ANDROID_native_fence_sync")
   1516 		return getAndroidNativeFenceSyncFuncStrs();
   1517 	else if (extensionName == "GL_APPLE_sync")
   1518 		return getAppleSyncFuncStrs();
   1519 	else if (extensionName == "EGL_NV_sync")
   1520 		return getNvSyncFuncStrs();
   1521 	else if (extensionName == "GL_QCOM_driver_control")
   1522 		return getQcomDriverControlFuncStrs();
   1523 	else
   1524 		return 0;
   1525 }
   1526 
   1527 const char** getExtensionStrs (void)
   1528 {
   1529 	static const char* extensions[] =
   1530 	{
   1531 		"EGL_KHR_config_attribs",
   1532 		"EGL_KHR_lock_surface",
   1533 		"EGL_KHR_image",
   1534 		"EGL_KHR_vg_parent_image",
   1535 		"EGL_KHR_gl_texture_2D_image",
   1536 		"EGL_KHR_gl_texture_cubemap_image",
   1537 		"EGL_KHR_gl_texture_3D_image",
   1538 		"EGL_KHR_gl_renderbuffer_image",
   1539 		"EGL_KHR_reusable_sync",
   1540 		"EGL_KHR_image_base",
   1541 		"EGL_KHR_image_pixmap",
   1542 		"EGL_IMG_context_priority",
   1543 		"EGL_KHR_lock_surface2",
   1544 		"EGL_NV_coverage_sample",
   1545 		"EGL_NV_depth_nonlinear",
   1546 		"EGL_NV_sync",
   1547 		"EGL_KHR_fence_sync",
   1548 		"EGL_HI_clientpixmap",
   1549 		"EGL_HI_colorformats",
   1550 		"EGL_MESA_drm_image",
   1551 		"EGL_NV_post_sub_buffer",
   1552 		"EGL_ANGLE_query_surface_pointer",
   1553 		"EGL_ANGLE_surface_d3d_texture_2d_share_handle",
   1554 		"EGL_NV_coverage_sample_resolve",
   1555 		"EGL_NV_system_time",
   1556 		"EGL_KHR_stream",
   1557 		"EGL_KHR_stream_consumer_gltexture",
   1558 		"EGL_KHR_stream_producer_eglsurface",
   1559 		"EGL_KHR_stream_producer_aldatalocator",
   1560 		"EGL_KHR_stream_fifo",
   1561 		"EGL_EXT_create_context_robustness",
   1562 		"EGL_ANGLE_d3d_share_handle_client_buffer",
   1563 		"EGL_KHR_create_context",
   1564 		"EGL_KHR_surfaceless_context",
   1565 		"EGL_KHR_stream_cross_process_fd",
   1566 		"EGL_EXT_multiview_window",
   1567 		"EGL_KHR_wait_sync",
   1568 		"EGL_NV_post_convert_rounding",
   1569 		"EGL_NV_native_query",
   1570 		"EGL_NV_3dvision_surface",
   1571 		"EGL_ANDROID_framebuffer_target",
   1572 		"EGL_ANDROID_blob_cache",
   1573 		"EGL_ANDROID_image_native_buffer",
   1574 		"EGL_ANDROID_native_fence_sync",
   1575 		"EGL_ANDROID_recordable",
   1576 		"EGL_EXT_buffer_age",
   1577 		"EGL_EXT_image_dma_buf_import",
   1578 		"EGL_ARM_pixmap_multisample_discard",
   1579 		"GL_APIENTRYP",
   1580 		"GL_OES_blend_equation_separate",
   1581 		"GL_OES_blend_func_separate",
   1582 		"GL_OES_blend_subtract",
   1583 		"GL_OES_compressed_ETC1_RGB8_texture",
   1584 		"GL_OES_depth24",
   1585 		"GL_OES_depth32",
   1586 		"GL_OES_draw_texture",
   1587 		"GL_OES_EGL_image",
   1588 		"GL_OES_EGL_image_external",
   1589 		"GL_OES_element_index_uint",
   1590 		"GL_OES_fixed_point",
   1591 		"GL_OES_framebuffer_object",
   1592 		"GL_OES_mapbuffer",
   1593 		"GL_OES_matrix_get",
   1594 		"GL_OES_matrix_palette",
   1595 		"GL_OES_packed_depth_stencil",
   1596 		"GL_OES_rgb8_rgba8",
   1597 		"GL_OES_stencil1",
   1598 		"GL_OES_stencil4",
   1599 		"GL_OES_stencil8",
   1600 		"GL_OES_stencil_wrap",
   1601 		"GL_OES_texture_cube_map",
   1602 		"GL_OES_texture_mirrored_repeat",
   1603 		"GL_OES_vertex_array_object",
   1604 		"GL_AMD_compressed_3DC_texture",
   1605 		"GL_AMD_compressed_ATC_texture",
   1606 		"GL_APPLE_framebuffer_multisample",
   1607 		"GL_APPLE_sync",
   1608 		"GL_APPLE_texture_format_BGRA8888",
   1609 		"GL_APPLE_texture_max_level",
   1610 		"GL_EXT_blend_minmax",
   1611 		"GL_EXT_discard_framebuffer",
   1612 		"GL_EXT_map_buffer_range",
   1613 		"GL_EXT_multisampled_render_to_texture",
   1614 		"GL_EXT_read_format_bgra",
   1615 		"GL_EXT_robustness",
   1616 		"GL_EXT_sRGB",
   1617 		"GL_EXT_texture_compression_dxt1",
   1618 		"GL_EXT_texture_filter_anisotropic",
   1619 		"GL_EXT_texture_format_BGRA8888",
   1620 		"GL_EXT_texture_lod_bias",
   1621 		"GL_EXT_texture_storage",
   1622 		"GL_IMG_read_format",
   1623 		"GL_IMG_texture_compression_pvrtc",
   1624 		"GL_IMG_texture_env_enhanced_fixed_function",
   1625 		"GL_IMG_user_clip_plane",
   1626 		"GL_IMG_multisampled_render_to_texture",
   1627 		"GL_NV_fence",
   1628 		"GL_QCOM_extended_get",
   1629 		"GL_QCOM_perfmon_global_mode",
   1630 		"GL_QCOM_writeonly_rendering",
   1631 		"GL_QCOM_tiled_rendering",
   1632 		"GL_OES_byte_coordinates",
   1633 		"GL_OES_extended_matrix_palette",
   1634 		"GL_OES_fbo_render_mipmap",
   1635 		"GL_OES_required_internalformat",
   1636 		"GL_OES_query_matrix",
   1637 		"GL_OES_single_precision",
   1638 		"GL_OES_texture_env_crossbar",
   1639 		"GL_APPLE_copy_texture_levels",
   1640 		"GL_APPLE_texture_2D_limited_npot",
   1641 		"GL_ARM_rgba8",
   1642 		"GL_EXT_multi_draw_arrays",
   1643 		"GL_QCOM_driver_control",
   1644 		"GL_QCOM_extended_get2",
   1645 		"GL_OES_compressed_paletted_texture",
   1646 		"GL_OES_get_program_binary",
   1647 		"GL_OES_standard_derivatives",
   1648 		"GL_OES_surfaceless_context",
   1649 		"GL_OES_texture_3D",
   1650 		"GL_OES_texture_half_float",
   1651 		"GL_OES_vertex_type_10_10_10_2",
   1652 		"GL_KHR_debug",
   1653 		"GL_KHR_texture_compression_astc_ldr",
   1654 		"GL_AMD_performance_monitor",
   1655 		"GL_AMD_program_binary_Z400",
   1656 		"GL_ANGLE_depth_texture",
   1657 		"GL_ANGLE_framebuffer_blit",
   1658 		"GL_ANGLE_framebuffer_multisample",
   1659 		"GL_ANGLE_instanced_arrays",
   1660 		"GL_ANGLE_pack_reverse_row_order",
   1661 		"GL_ANGLE_program_binary",
   1662 		"GL_ANGLE_texture_compression_dxt3",
   1663 		"GL_ANGLE_texture_compression_dxt5",
   1664 		"GL_ANGLE_texture_usage",
   1665 		"GL_ANGLE_translated_shader_source",
   1666 		"GL_APPLE_rgb_422",
   1667 		"GL_ARM_mali_program_binary",
   1668 		"GL_ARM_mali_shader_binary",
   1669 		"GL_EXT_color_buffer_half_float",
   1670 		"GL_EXT_debug_label",
   1671 		"GL_EXT_disjoint_timer_query",
   1672 		"GL_EXT_draw_buffers",
   1673 		"GL_EXT_multiview_draw_buffers",
   1674 		"GL_EXT_occlusion_query_boolean",
   1675 		"GL_EXT_separate_shader_objects",
   1676 		"GL_EXT_shader_framebuffer_fetch",
   1677 		"GL_EXT_shadow_samplers",
   1678 		"GL_EXT_texture_rg",
   1679 		"GL_EXT_texture_type_2_10_10_10_REV",
   1680 		"GL_EXT_unpack_subimage",
   1681 		"GL_DMP_shader_binary",
   1682 		"GL_FJ_shader_binary_GCCSO",
   1683 		"GL_IMG_program_binary",
   1684 		"GL_IMG_shader_binary",
   1685 		"GL_IMG_texture_compression_pvrtc2",
   1686 		"GL_NV_coverage_sample",
   1687 		"GL_NV_depth_nonlinear",
   1688 		"GL_NV_draw_buffers",
   1689 		"GL_NV_fbo_color_attachments",
   1690 		"GL_NV_framebuffer_blit",
   1691 		"GL_NV_framebuffer_multisample",
   1692 		"GL_NV_instanced_arrays",
   1693 		"GL_NV_read_buffer",
   1694 		"GL_NV_shadow_samplers_array",
   1695 		"GL_NV_shadow_samplers_cube",
   1696 		"GL_NV_sRGB_formats",
   1697 		"GL_NV_texture_border_clamp",
   1698 		"GL_QCOM_alpha_test",
   1699 		"GL_QCOM_binning_control",
   1700 		"GL_VIV_shader_binary",
   1701 		"GL_OES_depth_texture",
   1702 		"GL_OES_fragment_precision_high",
   1703 		"GL_OES_texture_float",
   1704 		"GL_OES_texture_float_linear",
   1705 		"GL_OES_texture_half_float_linear",
   1706 		"GL_OES_texture_npot",
   1707 		"GL_OES_vertex_half_float",
   1708 		"GL_EXT_debug_marker",
   1709 		"GL_EXT_shader_texture_lod",
   1710 		"GL_NV_draw_instanced",
   1711 		"GL_NV_generate_mipmap_sRGB",
   1712 		"GL_NV_read_buffer_front",
   1713 		"GL_NV_read_depth",
   1714 		"GL_NV_read_depth_stencil",
   1715 		"GL_NV_read_stencil",
   1716 		"GL_NV_texture_compression_s3tc_update",
   1717 		"GL_NV_texture_npot_2D_mipmap",
   1718 		DE_NULL
   1719 	};
   1720 
   1721 	return extensions;
   1722 }
   1723