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 7static 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 45static 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 193static 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 339static 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 447static const char* s_EGL_ANDROID_blob_cache[] = 448{ 449 "eglSetBlobCacheFuncsANDROID", 450}; 451 452static const char* s_EGL_ANDROID_native_fence_sync[] = 453{ 454 "eglDupNativeFenceFDANDROID", 455}; 456 457static const char* s_EGL_ANGLE_query_surface_pointer[] = 458{ 459 "eglQuerySurfacePointerANGLE", 460}; 461 462static const char* s_EGL_EXT_device_base[] = 463{ 464 "eglQueryDeviceAttribEXT", 465 "eglQueryDeviceStringEXT", 466 "eglQueryDevicesEXT", 467 "eglQueryDisplayAttribEXT", 468}; 469 470static const char* s_EGL_EXT_device_enumeration[] = 471{ 472 "eglQueryDevicesEXT", 473}; 474 475static const char* s_EGL_EXT_device_query[] = 476{ 477 "eglQueryDeviceAttribEXT", 478 "eglQueryDeviceStringEXT", 479 "eglQueryDisplayAttribEXT", 480}; 481 482static 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 494static const char* s_EGL_EXT_platform_base[] = 495{ 496 "eglCreatePlatformPixmapSurfaceEXT", 497 "eglCreatePlatformWindowSurfaceEXT", 498 "eglGetPlatformDisplayEXT", 499}; 500 501static const char* s_EGL_EXT_stream_consumer_egloutput[] = 502{ 503 "eglStreamConsumerOutputEXT", 504}; 505 506static const char* s_EGL_EXT_swap_buffers_with_damage[] = 507{ 508 "eglSwapBuffersWithDamageEXT", 509}; 510 511static const char* s_EGL_HI_clientpixmap[] = 512{ 513 "eglCreatePixmapSurfaceHI", 514}; 515 516static const char* s_EGL_KHR_cl_event2[] = 517{ 518 "eglCreateSync64KHR", 519}; 520 521static const char* s_EGL_KHR_fence_sync[] = 522{ 523 "eglClientWaitSyncKHR", 524 "eglCreateSyncKHR", 525 "eglDestroySyncKHR", 526 "eglGetSyncAttribKHR", 527}; 528 529static const char* s_EGL_KHR_image[] = 530{ 531 "eglCreateImageKHR", 532 "eglDestroyImageKHR", 533}; 534 535static const char* s_EGL_KHR_image_base[] = 536{ 537 "eglCreateImageKHR", 538 "eglDestroyImageKHR", 539}; 540 541static const char* s_EGL_KHR_lock_surface[] = 542{ 543 "eglLockSurfaceKHR", 544 "eglUnlockSurfaceKHR", 545}; 546 547static const char* s_EGL_KHR_lock_surface3[] = 548{ 549 "eglLockSurfaceKHR", 550 "eglQuerySurface64KHR", 551 "eglUnlockSurfaceKHR", 552}; 553 554static const char* s_EGL_KHR_partial_update[] = 555{ 556 "eglSetDamageRegionKHR", 557}; 558 559static const char* s_EGL_KHR_reusable_sync[] = 560{ 561 "eglClientWaitSyncKHR", 562 "eglCreateSyncKHR", 563 "eglDestroySyncKHR", 564 "eglGetSyncAttribKHR", 565 "eglSignalSyncKHR", 566}; 567 568static const char* s_EGL_KHR_stream[] = 569{ 570 "eglCreateStreamKHR", 571 "eglDestroyStreamKHR", 572 "eglQueryStreamKHR", 573 "eglQueryStreamu64KHR", 574 "eglStreamAttribKHR", 575}; 576 577static const char* s_EGL_KHR_stream_consumer_gltexture[] = 578{ 579 "eglStreamConsumerAcquireKHR", 580 "eglStreamConsumerGLTextureExternalKHR", 581 "eglStreamConsumerReleaseKHR", 582}; 583 584static const char* s_EGL_KHR_stream_cross_process_fd[] = 585{ 586 "eglCreateStreamFromFileDescriptorKHR", 587 "eglGetStreamFileDescriptorKHR", 588}; 589 590static const char* s_EGL_KHR_stream_fifo[] = 591{ 592 "eglQueryStreamTimeKHR", 593}; 594 595static const char* s_EGL_KHR_stream_producer_eglsurface[] = 596{ 597 "eglCreateStreamProducerSurfaceKHR", 598}; 599 600static const char* s_EGL_KHR_swap_buffers_with_damage[] = 601{ 602 "eglSwapBuffersWithDamageKHR", 603}; 604 605static const char* s_EGL_KHR_wait_sync[] = 606{ 607 "eglWaitSyncKHR", 608}; 609 610static const char* s_EGL_MESA_drm_image[] = 611{ 612 "eglCreateDRMImageMESA", 613 "eglExportDRMImageMESA", 614}; 615 616static const char* s_EGL_MESA_image_dma_buf_export[] = 617{ 618 "eglExportDMABUFImageMESA", 619 "eglExportDMABUFImageQueryMESA", 620}; 621 622static const char* s_EGL_NOK_swap_region[] = 623{ 624 "eglSwapBuffersRegionNOK", 625}; 626 627static const char* s_EGL_NOK_swap_region2[] = 628{ 629 "eglSwapBuffersRegion2NOK", 630}; 631 632static const char* s_EGL_NV_native_query[] = 633{ 634 "eglQueryNativeDisplayNV", 635 "eglQueryNativePixmapNV", 636 "eglQueryNativeWindowNV", 637}; 638 639static const char* s_EGL_NV_post_sub_buffer[] = 640{ 641 "eglPostSubBufferNV", 642}; 643 644static const char* s_EGL_NV_stream_sync[] = 645{ 646 "eglCreateStreamSyncNV", 647}; 648 649static const char* s_EGL_NV_sync[] = 650{ 651 "eglClientWaitSyncNV", 652 "eglCreateFenceSyncNV", 653 "eglDestroySyncNV", 654 "eglFenceNV", 655 "eglGetSyncAttribNV", 656 "eglSignalSyncNV", 657}; 658 659static const char* s_EGL_NV_system_time[] = 660{ 661 "eglGetSystemTimeFrequencyNV", 662 "eglGetSystemTimeNV", 663}; 664 665static const char* s_GL_APPLE_copy_texture_levels[] = 666{ 667 "glCopyTextureLevelsAPPLE", 668}; 669 670static const char* s_GL_APPLE_framebuffer_multisample[] = 671{ 672 "glRenderbufferStorageMultisampleAPPLE", 673 "glResolveMultisampleFramebufferAPPLE", 674}; 675 676static const char* s_GL_APPLE_sync[] = 677{ 678 "glClientWaitSyncAPPLE", 679 "glDeleteSyncAPPLE", 680 "glFenceSyncAPPLE", 681 "glGetInteger64vAPPLE", 682 "glGetSyncivAPPLE", 683 "glIsSyncAPPLE", 684 "glWaitSyncAPPLE", 685}; 686 687static const char* s_GL_EXT_discard_framebuffer[] = 688{ 689 "glDiscardFramebufferEXT", 690}; 691 692static const char* s_GL_EXT_map_buffer_range[] = 693{ 694 "glFlushMappedBufferRangeEXT", 695 "glMapBufferRangeEXT", 696}; 697 698static const char* s_GL_EXT_multi_draw_arrays[] = 699{ 700 "glMultiDrawArraysEXT", 701 "glMultiDrawElementsEXT", 702}; 703 704static const char* s_GL_EXT_multisampled_render_to_texture[] = 705{ 706 "glFramebufferTexture2DMultisampleEXT", 707 "glRenderbufferStorageMultisampleEXT", 708}; 709 710static const char* s_GL_EXT_robustness[] = 711{ 712 "glGetGraphicsResetStatusEXT", 713 "glGetnUniformfvEXT", 714 "glGetnUniformivEXT", 715 "glReadnPixelsEXT", 716}; 717 718static const char* s_GL_EXT_texture_storage[] = 719{ 720 "glTexStorage1DEXT", 721 "glTexStorage2DEXT", 722 "glTexStorage3DEXT", 723 "glTextureStorage1DEXT", 724 "glTextureStorage2DEXT", 725 "glTextureStorage3DEXT", 726}; 727 728static const char* s_GL_IMG_multisampled_render_to_texture[] = 729{ 730 "glFramebufferTexture2DMultisampleIMG", 731 "glRenderbufferStorageMultisampleIMG", 732}; 733 734static const char* s_GL_IMG_user_clip_plane[] = 735{ 736 "glClipPlanefIMG", 737 "glClipPlanexIMG", 738}; 739 740static const char* s_GL_NV_fence[] = 741{ 742 "glDeleteFencesNV", 743 "glFinishFenceNV", 744 "glGenFencesNV", 745 "glGetFenceivNV", 746 "glIsFenceNV", 747 "glSetFenceNV", 748 "glTestFenceNV", 749}; 750 751static const char* s_GL_OES_EGL_image[] = 752{ 753 "glEGLImageTargetRenderbufferStorageOES", 754 "glEGLImageTargetTexture2DOES", 755}; 756 757static const char* s_GL_OES_blend_equation_separate[] = 758{ 759 "glBlendEquationSeparateOES", 760}; 761 762static const char* s_GL_OES_blend_func_separate[] = 763{ 764 "glBlendFuncSeparateOES", 765}; 766 767static const char* s_GL_OES_blend_subtract[] = 768{ 769 "glBlendEquationOES", 770}; 771 772static 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 784static 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 828static 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 847static const char* s_GL_OES_mapbuffer[] = 848{ 849 "glGetBufferPointervOES", 850 "glMapBufferOES", 851 "glUnmapBufferOES", 852}; 853 854static const char* s_GL_OES_matrix_palette[] = 855{ 856 "glCurrentPaletteMatrixOES", 857 "glLoadPaletteFromModelViewMatrixOES", 858 "glMatrixIndexPointerOES", 859 "glWeightPointerOES", 860}; 861 862static const char* s_GL_OES_point_size_array[] = 863{ 864 "glPointSizePointerOES", 865}; 866 867static const char* s_GL_OES_query_matrix[] = 868{ 869 "glQueryMatrixxOES", 870}; 871 872static const char* s_GL_OES_single_precision[] = 873{ 874 "glClearDepthfOES", 875 "glClipPlanefOES", 876 "glDepthRangefOES", 877 "glFrustumfOES", 878 "glGetClipPlanefOES", 879 "glOrthofOES", 880}; 881 882static 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 895static const char* s_GL_OES_vertex_array_object[] = 896{ 897 "glBindVertexArrayOES", 898 "glDeleteVertexArraysOES", 899 "glGenVertexArraysOES", 900 "glIsVertexArrayOES", 901}; 902 903static const char* s_GL_QCOM_driver_control[] = 904{ 905 "glDisableDriverControlQCOM", 906 "glEnableDriverControlQCOM", 907 "glGetDriverControlStringQCOM", 908 "glGetDriverControlsQCOM", 909}; 910 911static 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 923static const char* s_GL_QCOM_extended_get2[] = 924{ 925 "glExtGetProgramBinarySourceQCOM", 926 "glExtGetProgramsQCOM", 927 "glExtGetShadersQCOM", 928 "glExtIsProgramBinaryQCOM", 929}; 930 931static const char* s_GL_QCOM_tiled_rendering[] = 932{ 933 "glEndTilingQCOM", 934 "glStartTilingQCOM", 935}; 936 937static 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 952static const char* s_GL_ANGLE_framebuffer_blit[] = 953{ 954 "glBlitFramebufferANGLE", 955}; 956 957static const char* s_GL_ANGLE_framebuffer_multisample[] = 958{ 959 "glRenderbufferStorageMultisampleANGLE", 960}; 961 962static const char* s_GL_ANGLE_instanced_arrays[] = 963{ 964 "glDrawArraysInstancedANGLE", 965 "glDrawElementsInstancedANGLE", 966 "glVertexAttribDivisorANGLE", 967}; 968 969static const char* s_GL_ANGLE_translated_shader_source[] = 970{ 971 "glGetTranslatedShaderSourceANGLE", 972}; 973 974static const char* s_GL_EXT_base_instance[] = 975{ 976 "glDrawArraysInstancedBaseInstanceEXT", 977 "glDrawElementsInstancedBaseInstanceEXT", 978 "glDrawElementsInstancedBaseVertexBaseInstanceEXT", 979}; 980 981static const char* s_GL_EXT_copy_image[] = 982{ 983 "glCopyImageSubDataEXT", 984}; 985 986static const char* s_GL_EXT_debug_label[] = 987{ 988 "glGetObjectLabelEXT", 989 "glLabelObjectEXT", 990}; 991 992static const char* s_GL_EXT_debug_marker[] = 993{ 994 "glInsertEventMarkerEXT", 995 "glPopGroupMarkerEXT", 996 "glPushGroupMarkerEXT", 997}; 998 999static 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 1014static const char* s_GL_EXT_draw_buffers[] = 1015{ 1016 "glDrawBuffersEXT", 1017}; 1018 1019static 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 1031static const char* s_GL_EXT_draw_elements_base_vertex[] = 1032{ 1033 "glDrawElementsBaseVertexEXT", 1034 "glDrawElementsInstancedBaseVertexEXT", 1035 "glDrawRangeElementsBaseVertexEXT", 1036 "glMultiDrawElementsBaseVertexEXT", 1037}; 1038 1039static const char* s_GL_EXT_draw_instanced[] = 1040{ 1041 "glDrawArraysInstancedEXT", 1042 "glDrawElementsInstancedEXT", 1043}; 1044 1045static const char* s_GL_EXT_geometry_shader[] = 1046{ 1047 "glFramebufferTextureEXT", 1048}; 1049 1050static const char* s_GL_EXT_instanced_arrays[] = 1051{ 1052 "glDrawArraysInstancedEXT", 1053 "glDrawElementsInstancedEXT", 1054 "glVertexAttribDivisorEXT", 1055}; 1056 1057static const char* s_GL_EXT_multi_draw_indirect[] = 1058{ 1059 "glMultiDrawArraysIndirectEXT", 1060 "glMultiDrawElementsIndirectEXT", 1061}; 1062 1063static const char* s_GL_EXT_multiview_draw_buffers[] = 1064{ 1065 "glDrawBuffersIndexedEXT", 1066 "glGetIntegeri_vEXT", 1067 "glReadBufferIndexedEXT", 1068}; 1069 1070static 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 1081static const char* s_GL_EXT_primitive_bounding_box[] = 1082{ 1083 "glPrimitiveBoundingBoxEXT", 1084}; 1085 1086static 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 1134static const char* s_GL_EXT_tessellation_shader[] = 1135{ 1136 "glPatchParameteriEXT", 1137}; 1138 1139static 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 1151static const char* s_GL_EXT_texture_buffer[] = 1152{ 1153 "glTexBufferEXT", 1154 "glTexBufferRangeEXT", 1155}; 1156 1157static const char* s_GL_EXT_texture_view[] = 1158{ 1159 "glTextureViewEXT", 1160}; 1161 1162static 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 1176static const char* s_GL_KHR_blend_equation_advanced[] = 1177{ 1178 "glBlendBarrierKHR", 1179}; 1180 1181static 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 1196static const char* s_GL_KHR_robustness[] = 1197{ 1198 "glGetGraphicsResetStatusKHR", 1199 "glGetnUniformfvKHR", 1200 "glGetnUniformivKHR", 1201 "glGetnUniformuivKHR", 1202 "glReadnPixelsKHR", 1203}; 1204 1205static 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 1222static const char* s_GL_NV_blend_equation_advanced[] = 1223{ 1224 "glBlendBarrierNV", 1225 "glBlendParameteriNV", 1226}; 1227 1228static const char* s_GL_NV_conditional_render[] = 1229{ 1230 "glBeginConditionalRenderNV", 1231 "glEndConditionalRenderNV", 1232}; 1233 1234static const char* s_GL_NV_copy_buffer[] = 1235{ 1236 "glCopyBufferSubDataNV", 1237}; 1238 1239static const char* s_GL_NV_coverage_sample[] = 1240{ 1241 "glCoverageMaskNV", 1242 "glCoverageOperationNV", 1243}; 1244 1245static const char* s_GL_NV_draw_buffers[] = 1246{ 1247 "glDrawBuffersNV", 1248}; 1249 1250static const char* s_GL_NV_draw_instanced[] = 1251{ 1252 "glDrawArraysInstancedNV", 1253 "glDrawElementsInstancedNV", 1254}; 1255 1256static const char* s_GL_NV_framebuffer_blit[] = 1257{ 1258 "glBlitFramebufferNV", 1259}; 1260 1261static const char* s_GL_NV_framebuffer_multisample[] = 1262{ 1263 "glRenderbufferStorageMultisampleNV", 1264}; 1265 1266static const char* s_GL_NV_instanced_arrays[] = 1267{ 1268 "glVertexAttribDivisorNV", 1269}; 1270 1271static const char* s_GL_NV_internalformat_sample_query[] = 1272{ 1273 "glGetInternalformatSampleivNV", 1274}; 1275 1276static const char* s_GL_NV_non_square_matrices[] = 1277{ 1278 "glUniformMatrix2x3fvNV", 1279 "glUniformMatrix2x4fvNV", 1280 "glUniformMatrix3x2fvNV", 1281 "glUniformMatrix3x4fvNV", 1282 "glUniformMatrix4x2fvNV", 1283 "glUniformMatrix4x3fvNV", 1284}; 1285 1286static 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 1347static const char* s_GL_NV_read_buffer[] = 1348{ 1349 "glReadBufferNV", 1350}; 1351 1352static 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 1368static const char* s_GL_OES_copy_image[] = 1369{ 1370 "glCopyImageSubDataOES", 1371}; 1372 1373static 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 1385static const char* s_GL_OES_draw_elements_base_vertex[] = 1386{ 1387 "glDrawElementsBaseVertexOES", 1388 "glDrawElementsInstancedBaseVertexOES", 1389 "glDrawRangeElementsBaseVertexOES", 1390 "glMultiDrawElementsBaseVertexOES", 1391}; 1392 1393static const char* s_GL_OES_geometry_shader[] = 1394{ 1395 "glFramebufferTextureOES", 1396}; 1397 1398static const char* s_GL_OES_get_program_binary[] = 1399{ 1400 "glGetProgramBinaryOES", 1401 "glProgramBinaryOES", 1402}; 1403 1404static const char* s_GL_OES_primitive_bounding_box[] = 1405{ 1406 "glPrimitiveBoundingBoxOES", 1407}; 1408 1409static const char* s_GL_OES_sample_shading[] = 1410{ 1411 "glMinSampleShadingOES", 1412}; 1413 1414static const char* s_GL_OES_tessellation_shader[] = 1415{ 1416 "glPatchParameteriOES", 1417}; 1418 1419static const char* s_GL_OES_texture_3D[] = 1420{ 1421 "glCompressedTexImage3DOES", 1422 "glCompressedTexSubImage3DOES", 1423 "glCopyTexSubImage3DOES", 1424 "glFramebufferTexture3DOES", 1425 "glTexImage3DOES", 1426 "glTexSubImage3DOES", 1427}; 1428 1429static 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 1441static const char* s_GL_OES_texture_buffer[] = 1442{ 1443 "glTexBufferOES", 1444 "glTexBufferRangeOES", 1445}; 1446 1447static const char* s_GL_OES_texture_storage_multisample_2d_array[] = 1448{ 1449 "glTexStorage3DMultisampleOES", 1450}; 1451 1452static const char* s_GL_OES_texture_view[] = 1453{ 1454 "glTextureViewOES", 1455}; 1456 1457static const char* s_GL_QCOM_alpha_test[] = 1458{ 1459 "glAlphaFuncQCOM", 1460}; 1461 1462static 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