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