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