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 13a26984991216cbf9a44fbf390f95dc05b5493a. 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_create_native_client_buffer[] = 453{ 454 "eglCreateNativeClientBufferANDROID", 455}; 456 457static const char* s_EGL_ANDROID_native_fence_sync[] = 458{ 459 "eglDupNativeFenceFDANDROID", 460}; 461 462static const char* s_EGL_ANDROID_presentation_time[] = 463{ 464 "eglPresentationTimeANDROID", 465}; 466 467static const char* s_EGL_ANGLE_query_surface_pointer[] = 468{ 469 "eglQuerySurfacePointerANGLE", 470}; 471 472static const char* s_EGL_EXT_device_base[] = 473{ 474 "eglQueryDeviceAttribEXT", 475 "eglQueryDeviceStringEXT", 476 "eglQueryDevicesEXT", 477 "eglQueryDisplayAttribEXT", 478}; 479 480static const char* s_EGL_EXT_device_enumeration[] = 481{ 482 "eglQueryDevicesEXT", 483}; 484 485static const char* s_EGL_EXT_device_query[] = 486{ 487 "eglQueryDeviceAttribEXT", 488 "eglQueryDeviceStringEXT", 489 "eglQueryDisplayAttribEXT", 490}; 491 492static const char* s_EGL_EXT_image_dma_buf_import_modifiers[] = 493{ 494 "eglQueryDmaBufFormatsEXT", 495 "eglQueryDmaBufModifiersEXT", 496}; 497 498static 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 510static const char* s_EGL_EXT_platform_base[] = 511{ 512 "eglCreatePlatformPixmapSurfaceEXT", 513 "eglCreatePlatformWindowSurfaceEXT", 514 "eglGetPlatformDisplayEXT", 515}; 516 517static const char* s_EGL_EXT_stream_consumer_egloutput[] = 518{ 519 "eglStreamConsumerOutputEXT", 520}; 521 522static const char* s_EGL_EXT_swap_buffers_with_damage[] = 523{ 524 "eglSwapBuffersWithDamageEXT", 525}; 526 527static const char* s_EGL_HI_clientpixmap[] = 528{ 529 "eglCreatePixmapSurfaceHI", 530}; 531 532static const char* s_EGL_KHR_cl_event2[] = 533{ 534 "eglCreateSync64KHR", 535}; 536 537static const char* s_EGL_KHR_debug[] = 538{ 539 "eglDebugMessageControlKHR", 540 "eglLabelObjectKHR", 541 "eglQueryDebugKHR", 542}; 543 544static const char* s_EGL_KHR_display_reference[] = 545{ 546 "eglQueryDisplayAttribKHR", 547}; 548 549static const char* s_EGL_KHR_fence_sync[] = 550{ 551 "eglClientWaitSyncKHR", 552 "eglCreateSyncKHR", 553 "eglDestroySyncKHR", 554 "eglGetSyncAttribKHR", 555}; 556 557static const char* s_EGL_KHR_image[] = 558{ 559 "eglCreateImageKHR", 560 "eglDestroyImageKHR", 561}; 562 563static const char* s_EGL_KHR_image_base[] = 564{ 565 "eglCreateImageKHR", 566 "eglDestroyImageKHR", 567}; 568 569static const char* s_EGL_KHR_lock_surface[] = 570{ 571 "eglLockSurfaceKHR", 572 "eglUnlockSurfaceKHR", 573}; 574 575static const char* s_EGL_KHR_lock_surface3[] = 576{ 577 "eglLockSurfaceKHR", 578 "eglQuerySurface64KHR", 579 "eglUnlockSurfaceKHR", 580}; 581 582static const char* s_EGL_KHR_partial_update[] = 583{ 584 "eglSetDamageRegionKHR", 585}; 586 587static const char* s_EGL_KHR_reusable_sync[] = 588{ 589 "eglClientWaitSyncKHR", 590 "eglCreateSyncKHR", 591 "eglDestroySyncKHR", 592 "eglGetSyncAttribKHR", 593 "eglSignalSyncKHR", 594}; 595 596static const char* s_EGL_KHR_stream[] = 597{ 598 "eglCreateStreamKHR", 599 "eglDestroyStreamKHR", 600 "eglQueryStreamKHR", 601 "eglQueryStreamu64KHR", 602 "eglStreamAttribKHR", 603}; 604 605static const char* s_EGL_KHR_stream_attrib[] = 606{ 607 "eglCreateStreamAttribKHR", 608 "eglQueryStreamAttribKHR", 609 "eglSetStreamAttribKHR", 610 "eglStreamConsumerAcquireAttribKHR", 611 "eglStreamConsumerReleaseAttribKHR", 612}; 613 614static const char* s_EGL_KHR_stream_consumer_gltexture[] = 615{ 616 "eglStreamConsumerAcquireKHR", 617 "eglStreamConsumerGLTextureExternalKHR", 618 "eglStreamConsumerReleaseKHR", 619}; 620 621static const char* s_EGL_KHR_stream_cross_process_fd[] = 622{ 623 "eglCreateStreamFromFileDescriptorKHR", 624 "eglGetStreamFileDescriptorKHR", 625}; 626 627static const char* s_EGL_KHR_stream_fifo[] = 628{ 629 "eglQueryStreamTimeKHR", 630}; 631 632static const char* s_EGL_KHR_stream_producer_eglsurface[] = 633{ 634 "eglCreateStreamProducerSurfaceKHR", 635}; 636 637static const char* s_EGL_KHR_swap_buffers_with_damage[] = 638{ 639 "eglSwapBuffersWithDamageKHR", 640}; 641 642static const char* s_EGL_KHR_wait_sync[] = 643{ 644 "eglWaitSyncKHR", 645}; 646 647static const char* s_EGL_MESA_drm_image[] = 648{ 649 "eglCreateDRMImageMESA", 650 "eglExportDRMImageMESA", 651}; 652 653static const char* s_EGL_MESA_image_dma_buf_export[] = 654{ 655 "eglExportDMABUFImageMESA", 656 "eglExportDMABUFImageQueryMESA", 657}; 658 659static const char* s_EGL_NOK_swap_region[] = 660{ 661 "eglSwapBuffersRegionNOK", 662}; 663 664static const char* s_EGL_NOK_swap_region2[] = 665{ 666 "eglSwapBuffersRegion2NOK", 667}; 668 669static const char* s_EGL_NV_native_query[] = 670{ 671 "eglQueryNativeDisplayNV", 672 "eglQueryNativePixmapNV", 673 "eglQueryNativeWindowNV", 674}; 675 676static const char* s_EGL_NV_post_sub_buffer[] = 677{ 678 "eglPostSubBufferNV", 679}; 680 681static const char* s_EGL_NV_stream_consumer_gltexture_yuv[] = 682{ 683 "eglStreamConsumerGLTextureExternalAttribsNV", 684}; 685 686static const char* s_EGL_NV_stream_metadata[] = 687{ 688 "eglQueryDisplayAttribNV", 689 "eglQueryStreamMetadataNV", 690 "eglSetStreamMetadataNV", 691}; 692 693static const char* s_EGL_NV_stream_reset[] = 694{ 695 "eglResetStreamNV", 696}; 697 698static const char* s_EGL_NV_stream_sync[] = 699{ 700 "eglCreateStreamSyncNV", 701}; 702 703static const char* s_EGL_NV_sync[] = 704{ 705 "eglClientWaitSyncNV", 706 "eglCreateFenceSyncNV", 707 "eglDestroySyncNV", 708 "eglFenceNV", 709 "eglGetSyncAttribNV", 710 "eglSignalSyncNV", 711}; 712 713static const char* s_EGL_NV_system_time[] = 714{ 715 "eglGetSystemTimeFrequencyNV", 716 "eglGetSystemTimeNV", 717}; 718 719static const char* s_EGL_EXT_compositor[] = 720{ 721 "eglCompositorSetContextListEXT", 722 "eglCompositorSetContextAttributesEXT", 723 "eglCompositorSetWindowListEXT", 724 "eglCompositorSetWindowAttributesEXT", 725 "eglCompositorBindTexWindowEXT", 726 "eglCompositorSetSizeEXT", 727 "eglCompositorSwapPolicyEXT", 728}; 729 730static const char* s_GL_APPLE_copy_texture_levels[] = 731{ 732 "glCopyTextureLevelsAPPLE", 733}; 734 735static const char* s_GL_APPLE_framebuffer_multisample[] = 736{ 737 "glRenderbufferStorageMultisampleAPPLE", 738 "glResolveMultisampleFramebufferAPPLE", 739}; 740 741static const char* s_GL_APPLE_sync[] = 742{ 743 "glClientWaitSyncAPPLE", 744 "glDeleteSyncAPPLE", 745 "glFenceSyncAPPLE", 746 "glGetInteger64vAPPLE", 747 "glGetSyncivAPPLE", 748 "glIsSyncAPPLE", 749 "glWaitSyncAPPLE", 750}; 751 752static const char* s_GL_EXT_discard_framebuffer[] = 753{ 754 "glDiscardFramebufferEXT", 755}; 756 757static const char* s_GL_EXT_map_buffer_range[] = 758{ 759 "glFlushMappedBufferRangeEXT", 760 "glMapBufferRangeEXT", 761}; 762 763static const char* s_GL_EXT_multi_draw_arrays[] = 764{ 765 "glMultiDrawArraysEXT", 766 "glMultiDrawElementsEXT", 767}; 768 769static const char* s_GL_EXT_multisampled_render_to_texture[] = 770{ 771 "glFramebufferTexture2DMultisampleEXT", 772 "glRenderbufferStorageMultisampleEXT", 773}; 774 775static const char* s_GL_EXT_robustness[] = 776{ 777 "glGetGraphicsResetStatusEXT", 778 "glGetnUniformfvEXT", 779 "glGetnUniformivEXT", 780 "glReadnPixelsEXT", 781}; 782 783static const char* s_GL_EXT_texture_storage[] = 784{ 785 "glTexStorage1DEXT", 786 "glTexStorage2DEXT", 787 "glTexStorage3DEXT", 788 "glTextureStorage1DEXT", 789 "glTextureStorage2DEXT", 790 "glTextureStorage3DEXT", 791}; 792 793static const char* s_GL_IMG_multisampled_render_to_texture[] = 794{ 795 "glFramebufferTexture2DMultisampleIMG", 796 "glRenderbufferStorageMultisampleIMG", 797}; 798 799static const char* s_GL_IMG_user_clip_plane[] = 800{ 801 "glClipPlanefIMG", 802 "glClipPlanexIMG", 803}; 804 805static const char* s_GL_NV_fence[] = 806{ 807 "glDeleteFencesNV", 808 "glFinishFenceNV", 809 "glGenFencesNV", 810 "glGetFenceivNV", 811 "glIsFenceNV", 812 "glSetFenceNV", 813 "glTestFenceNV", 814}; 815 816static const char* s_GL_OES_EGL_image[] = 817{ 818 "glEGLImageTargetRenderbufferStorageOES", 819 "glEGLImageTargetTexture2DOES", 820}; 821 822static const char* s_GL_OES_blend_equation_separate[] = 823{ 824 "glBlendEquationSeparateOES", 825}; 826 827static const char* s_GL_OES_blend_func_separate[] = 828{ 829 "glBlendFuncSeparateOES", 830}; 831 832static const char* s_GL_OES_blend_subtract[] = 833{ 834 "glBlendEquationOES", 835}; 836 837static const char* s_GL_OES_draw_texture[] = 838{ 839 "glDrawTexfOES", 840 "glDrawTexfvOES", 841 "glDrawTexiOES", 842 "glDrawTexivOES", 843 "glDrawTexsOES", 844 "glDrawTexsvOES", 845 "glDrawTexxOES", 846 "glDrawTexxvOES", 847}; 848 849static const char* s_GL_OES_fixed_point[] = 850{ 851 "glAlphaFuncxOES", 852 "glClearColorxOES", 853 "glClearDepthxOES", 854 "glClipPlanexOES", 855 "glColor4xOES", 856 "glDepthRangexOES", 857 "glFogxOES", 858 "glFogxvOES", 859 "glFrustumxOES", 860 "glGetClipPlanexOES", 861 "glGetFixedvOES", 862 "glGetLightxvOES", 863 "glGetMaterialxvOES", 864 "glGetTexEnvxvOES", 865 "glGetTexParameterxvOES", 866 "glLightModelxOES", 867 "glLightModelxvOES", 868 "glLightxOES", 869 "glLightxvOES", 870 "glLineWidthxOES", 871 "glLoadMatrixxOES", 872 "glMaterialxOES", 873 "glMaterialxvOES", 874 "glMultMatrixxOES", 875 "glMultiTexCoord4xOES", 876 "glNormal3xOES", 877 "glOrthoxOES", 878 "glPointParameterxOES", 879 "glPointParameterxvOES", 880 "glPointSizexOES", 881 "glPolygonOffsetxOES", 882 "glRotatexOES", 883 "glSampleCoveragexOES", 884 "glScalexOES", 885 "glTexEnvxOES", 886 "glTexEnvxvOES", 887 "glTexParameterxOES", 888 "glTexParameterxvOES", 889 "glTranslatexOES", 890}; 891 892static const char* s_GL_OES_framebuffer_object[] = 893{ 894 "glBindFramebufferOES", 895 "glBindRenderbufferOES", 896 "glCheckFramebufferStatusOES", 897 "glDeleteFramebuffersOES", 898 "glDeleteRenderbuffersOES", 899 "glFramebufferRenderbufferOES", 900 "glFramebufferTexture2DOES", 901 "glGenFramebuffersOES", 902 "glGenRenderbuffersOES", 903 "glGenerateMipmapOES", 904 "glGetFramebufferAttachmentParameterivOES", 905 "glGetRenderbufferParameterivOES", 906 "glIsFramebufferOES", 907 "glIsRenderbufferOES", 908 "glRenderbufferStorageOES", 909}; 910 911static const char* s_GL_OES_mapbuffer[] = 912{ 913 "glGetBufferPointervOES", 914 "glMapBufferOES", 915 "glUnmapBufferOES", 916}; 917 918static const char* s_GL_OES_matrix_palette[] = 919{ 920 "glCurrentPaletteMatrixOES", 921 "glLoadPaletteFromModelViewMatrixOES", 922 "glMatrixIndexPointerOES", 923 "glWeightPointerOES", 924}; 925 926static const char* s_GL_OES_point_size_array[] = 927{ 928 "glPointSizePointerOES", 929}; 930 931static const char* s_GL_OES_query_matrix[] = 932{ 933 "glQueryMatrixxOES", 934}; 935 936static const char* s_GL_OES_single_precision[] = 937{ 938 "glClearDepthfOES", 939 "glClipPlanefOES", 940 "glDepthRangefOES", 941 "glFrustumfOES", 942 "glGetClipPlanefOES", 943 "glOrthofOES", 944}; 945 946static const char* s_GL_OES_texture_cube_map[] = 947{ 948 "glGetTexGenfvOES", 949 "glGetTexGenivOES", 950 "glGetTexGenxvOES", 951 "glTexGenfOES", 952 "glTexGenfvOES", 953 "glTexGeniOES", 954 "glTexGenivOES", 955 "glTexGenxOES", 956 "glTexGenxvOES", 957}; 958 959static const char* s_GL_OES_vertex_array_object[] = 960{ 961 "glBindVertexArrayOES", 962 "glDeleteVertexArraysOES", 963 "glGenVertexArraysOES", 964 "glIsVertexArrayOES", 965}; 966 967static const char* s_GL_QCOM_driver_control[] = 968{ 969 "glDisableDriverControlQCOM", 970 "glEnableDriverControlQCOM", 971 "glGetDriverControlStringQCOM", 972 "glGetDriverControlsQCOM", 973}; 974 975static const char* s_GL_QCOM_extended_get[] = 976{ 977 "glExtGetBufferPointervQCOM", 978 "glExtGetBuffersQCOM", 979 "glExtGetFramebuffersQCOM", 980 "glExtGetRenderbuffersQCOM", 981 "glExtGetTexLevelParameterivQCOM", 982 "glExtGetTexSubImageQCOM", 983 "glExtGetTexturesQCOM", 984 "glExtTexObjectStateOverrideiQCOM", 985}; 986 987static const char* s_GL_QCOM_extended_get2[] = 988{ 989 "glExtGetProgramBinarySourceQCOM", 990 "glExtGetProgramsQCOM", 991 "glExtGetShadersQCOM", 992 "glExtIsProgramBinaryQCOM", 993}; 994 995static const char* s_GL_QCOM_tiled_rendering[] = 996{ 997 "glEndTilingQCOM", 998 "glStartTilingQCOM", 999}; 1000 1001static const char* s_GL_AMD_performance_monitor[] = 1002{ 1003 "glBeginPerfMonitorAMD", 1004 "glDeletePerfMonitorsAMD", 1005 "glEndPerfMonitorAMD", 1006 "glGenPerfMonitorsAMD", 1007 "glGetPerfMonitorCounterDataAMD", 1008 "glGetPerfMonitorCounterInfoAMD", 1009 "glGetPerfMonitorCounterStringAMD", 1010 "glGetPerfMonitorCountersAMD", 1011 "glGetPerfMonitorGroupStringAMD", 1012 "glGetPerfMonitorGroupsAMD", 1013 "glSelectPerfMonitorCountersAMD", 1014}; 1015 1016static const char* s_GL_ANGLE_framebuffer_blit[] = 1017{ 1018 "glBlitFramebufferANGLE", 1019}; 1020 1021static const char* s_GL_ANGLE_framebuffer_multisample[] = 1022{ 1023 "glRenderbufferStorageMultisampleANGLE", 1024}; 1025 1026static const char* s_GL_ANGLE_instanced_arrays[] = 1027{ 1028 "glDrawArraysInstancedANGLE", 1029 "glDrawElementsInstancedANGLE", 1030 "glVertexAttribDivisorANGLE", 1031}; 1032 1033static const char* s_GL_ANGLE_translated_shader_source[] = 1034{ 1035 "glGetTranslatedShaderSourceANGLE", 1036}; 1037 1038static const char* s_GL_EXT_base_instance[] = 1039{ 1040 "glDrawArraysInstancedBaseInstanceEXT", 1041 "glDrawElementsInstancedBaseInstanceEXT", 1042 "glDrawElementsInstancedBaseVertexBaseInstanceEXT", 1043}; 1044 1045static const char* s_GL_EXT_blend_func_extended[] = 1046{ 1047 "glBindFragDataLocationEXT", 1048 "glBindFragDataLocationIndexedEXT", 1049 "glGetFragDataIndexEXT", 1050 "glGetProgramResourceLocationIndexEXT", 1051}; 1052 1053static const char* s_GL_EXT_buffer_storage[] = 1054{ 1055 "glBufferStorageEXT", 1056}; 1057 1058static const char* s_GL_EXT_clear_texture[] = 1059{ 1060 "glClearTexImageEXT", 1061 "glClearTexSubImageEXT", 1062}; 1063 1064static const char* s_GL_EXT_copy_image[] = 1065{ 1066 "glCopyImageSubDataEXT", 1067}; 1068 1069static const char* s_GL_EXT_debug_label[] = 1070{ 1071 "glGetObjectLabelEXT", 1072 "glLabelObjectEXT", 1073}; 1074 1075static const char* s_GL_EXT_debug_marker[] = 1076{ 1077 "glInsertEventMarkerEXT", 1078 "glPopGroupMarkerEXT", 1079 "glPushGroupMarkerEXT", 1080}; 1081 1082static const char* s_GL_EXT_disjoint_timer_query[] = 1083{ 1084 "glBeginQueryEXT", 1085 "glDeleteQueriesEXT", 1086 "glEndQueryEXT", 1087 "glGenQueriesEXT", 1088 "glGetQueryObjecti64vEXT", 1089 "glGetQueryObjectivEXT", 1090 "glGetQueryObjectui64vEXT", 1091 "glGetQueryObjectuivEXT", 1092 "glGetQueryivEXT", 1093 "glIsQueryEXT", 1094 "glQueryCounterEXT", 1095}; 1096 1097static const char* s_GL_EXT_draw_buffers[] = 1098{ 1099 "glDrawBuffersEXT", 1100}; 1101 1102static const char* s_GL_EXT_draw_buffers_indexed[] = 1103{ 1104 "glBlendEquationSeparateiEXT", 1105 "glBlendEquationiEXT", 1106 "glBlendFuncSeparateiEXT", 1107 "glBlendFunciEXT", 1108 "glColorMaskiEXT", 1109 "glDisableiEXT", 1110 "glEnableiEXT", 1111 "glIsEnablediEXT", 1112}; 1113 1114static const char* s_GL_EXT_draw_elements_base_vertex[] = 1115{ 1116 "glDrawElementsBaseVertexEXT", 1117 "glDrawElementsInstancedBaseVertexEXT", 1118 "glDrawRangeElementsBaseVertexEXT", 1119 "glMultiDrawElementsBaseVertexEXT", 1120}; 1121 1122static const char* s_GL_EXT_draw_instanced[] = 1123{ 1124 "glDrawArraysInstancedEXT", 1125 "glDrawElementsInstancedEXT", 1126}; 1127 1128static const char* s_GL_EXT_draw_transform_feedback[] = 1129{ 1130 "glDrawTransformFeedbackEXT", 1131 "glDrawTransformFeedbackInstancedEXT", 1132}; 1133 1134static const char* s_GL_EXT_external_buffer[] = 1135{ 1136 "glBufferStorageExternalEXT", 1137 "glNamedBufferStorageExternalEXT", 1138}; 1139 1140static const char* s_GL_EXT_geometry_shader[] = 1141{ 1142 "glFramebufferTextureEXT", 1143}; 1144 1145static const char* s_GL_EXT_instanced_arrays[] = 1146{ 1147 "glDrawArraysInstancedEXT", 1148 "glDrawElementsInstancedEXT", 1149 "glVertexAttribDivisorEXT", 1150}; 1151 1152static const char* s_GL_EXT_memory_object[] = 1153{ 1154 "glBufferStorageMemEXT", 1155 "glCreateMemoryObjectsEXT", 1156 "glDeleteMemoryObjectsEXT", 1157 "glGetMemoryObjectParameterivEXT", 1158 "glGetUnsignedBytevEXT", 1159 "glGetUnsignedBytei_vEXT", 1160 "glIsMemoryObjectEXT", 1161 "glMemoryObjectParameterivEXT", 1162 "glNamedBufferStorageMemEXT", 1163 "glTexStorageMem2DEXT", 1164 "glTexStorageMem2DMultisampleEXT", 1165 "glTexStorageMem3DEXT", 1166 "glTexStorageMem3DMultisampleEXT", 1167 "glTextureStorageMem2DEXT", 1168 "glTextureStorageMem2DMultisampleEXT", 1169 "glTextureStorageMem3DEXT", 1170 "glTextureStorageMem3DMultisampleEXT", 1171}; 1172 1173static const char* s_GL_EXT_memory_object_fd[] = 1174{ 1175 "glImportMemoryFdEXT", 1176}; 1177 1178static const char* s_GL_EXT_memory_object_win32[] = 1179{ 1180 "glImportMemoryWin32HandleEXT", 1181 "glImportMemoryWin32NameEXT", 1182}; 1183 1184static const char* s_GL_EXT_multi_draw_indirect[] = 1185{ 1186 "glMultiDrawArraysIndirectEXT", 1187 "glMultiDrawElementsIndirectEXT", 1188}; 1189 1190static const char* s_GL_EXT_multiview_draw_buffers[] = 1191{ 1192 "glDrawBuffersIndexedEXT", 1193 "glGetIntegeri_vEXT", 1194 "glReadBufferIndexedEXT", 1195}; 1196 1197static const char* s_GL_EXT_occlusion_query_boolean[] = 1198{ 1199 "glBeginQueryEXT", 1200 "glDeleteQueriesEXT", 1201 "glEndQueryEXT", 1202 "glGenQueriesEXT", 1203 "glGetQueryObjectuivEXT", 1204 "glGetQueryivEXT", 1205 "glIsQueryEXT", 1206}; 1207 1208static const char* s_GL_EXT_polygon_offset_clamp[] = 1209{ 1210 "glPolygonOffsetClampEXT", 1211}; 1212 1213static const char* s_GL_EXT_primitive_bounding_box[] = 1214{ 1215 "glPrimitiveBoundingBoxEXT", 1216}; 1217 1218static const char* s_GL_EXT_raster_multisample[] = 1219{ 1220 "glRasterSamplesEXT", 1221}; 1222 1223static const char* s_GL_EXT_semaphore[] = 1224{ 1225 "glDeleteSemaphoresEXT", 1226 "glGenSemaphoresEXT", 1227 "glGetSemaphoreParameterui64vEXT", 1228 "glGetUnsignedBytevEXT", 1229 "glGetUnsignedBytei_vEXT", 1230 "glIsSemaphoreEXT", 1231 "glSemaphoreParameterui64vEXT", 1232 "glSignalSemaphoreEXT", 1233 "glWaitSemaphoreEXT", 1234}; 1235 1236static const char* s_GL_EXT_semaphore_fd[] = 1237{ 1238 "glImportSemaphoreFdEXT", 1239}; 1240 1241static const char* s_GL_EXT_semaphore_win32[] = 1242{ 1243 "glImportSemaphoreWin32HandleEXT", 1244 "glImportSemaphoreWin32NameEXT", 1245}; 1246 1247static const char* s_GL_EXT_separate_shader_objects[] = 1248{ 1249 "glActiveShaderProgramEXT", 1250 "glBindProgramPipelineEXT", 1251 "glCreateShaderProgramvEXT", 1252 "glDeleteProgramPipelinesEXT", 1253 "glGenProgramPipelinesEXT", 1254 "glGetProgramPipelineInfoLogEXT", 1255 "glGetProgramPipelineivEXT", 1256 "glIsProgramPipelineEXT", 1257 "glProgramParameteriEXT", 1258 "glProgramUniform1fEXT", 1259 "glProgramUniform1fvEXT", 1260 "glProgramUniform1iEXT", 1261 "glProgramUniform1ivEXT", 1262 "glProgramUniform1uiEXT", 1263 "glProgramUniform1uivEXT", 1264 "glProgramUniform2fEXT", 1265 "glProgramUniform2fvEXT", 1266 "glProgramUniform2iEXT", 1267 "glProgramUniform2ivEXT", 1268 "glProgramUniform2uiEXT", 1269 "glProgramUniform2uivEXT", 1270 "glProgramUniform3fEXT", 1271 "glProgramUniform3fvEXT", 1272 "glProgramUniform3iEXT", 1273 "glProgramUniform3ivEXT", 1274 "glProgramUniform3uiEXT", 1275 "glProgramUniform3uivEXT", 1276 "glProgramUniform4fEXT", 1277 "glProgramUniform4fvEXT", 1278 "glProgramUniform4iEXT", 1279 "glProgramUniform4ivEXT", 1280 "glProgramUniform4uiEXT", 1281 "glProgramUniform4uivEXT", 1282 "glProgramUniformMatrix2fvEXT", 1283 "glProgramUniformMatrix2x3fvEXT", 1284 "glProgramUniformMatrix2x4fvEXT", 1285 "glProgramUniformMatrix3fvEXT", 1286 "glProgramUniformMatrix3x2fvEXT", 1287 "glProgramUniformMatrix3x4fvEXT", 1288 "glProgramUniformMatrix4fvEXT", 1289 "glProgramUniformMatrix4x2fvEXT", 1290 "glProgramUniformMatrix4x3fvEXT", 1291 "glUseProgramStagesEXT", 1292 "glValidateProgramPipelineEXT", 1293}; 1294 1295static const char* s_GL_EXT_shader_pixel_local_storage2[] = 1296{ 1297 "glClearPixelLocalStorageuiEXT", 1298 "glFramebufferPixelLocalStorageSizeEXT", 1299 "glGetFramebufferPixelLocalStorageSizeEXT", 1300}; 1301 1302static const char* s_GL_EXT_sparse_texture[] = 1303{ 1304 "glTexPageCommitmentEXT", 1305}; 1306 1307static const char* s_GL_EXT_tessellation_shader[] = 1308{ 1309 "glPatchParameteriEXT", 1310}; 1311 1312static const char* s_GL_EXT_texture_border_clamp[] = 1313{ 1314 "glGetSamplerParameterIivEXT", 1315 "glGetSamplerParameterIuivEXT", 1316 "glGetTexParameterIivEXT", 1317 "glGetTexParameterIuivEXT", 1318 "glSamplerParameterIivEXT", 1319 "glSamplerParameterIuivEXT", 1320 "glTexParameterIivEXT", 1321 "glTexParameterIuivEXT", 1322}; 1323 1324static const char* s_GL_EXT_texture_buffer[] = 1325{ 1326 "glTexBufferEXT", 1327 "glTexBufferRangeEXT", 1328}; 1329 1330static const char* s_GL_EXT_texture_filter_minmax[] = 1331{ 1332 "glRasterSamplesEXT", 1333}; 1334 1335static const char* s_GL_EXT_texture_view[] = 1336{ 1337 "glTextureViewEXT", 1338}; 1339 1340static const char* s_GL_EXT_win32_keyed_mutex[] = 1341{ 1342 "glAcquireKeyedMutexWin32EXT", 1343 "glReleaseKeyedMutexWin32EXT", 1344}; 1345 1346static const char* s_GL_EXT_window_rectangles[] = 1347{ 1348 "glWindowRectanglesEXT", 1349}; 1350 1351static const char* s_GL_IMG_bindless_texture[] = 1352{ 1353 "glGetTextureHandleIMG", 1354 "glGetTextureSamplerHandleIMG", 1355 "glProgramUniformHandleui64IMG", 1356 "glProgramUniformHandleui64vIMG", 1357 "glUniformHandleui64IMG", 1358 "glUniformHandleui64vIMG", 1359}; 1360 1361static const char* s_GL_IMG_framebuffer_downsample[] = 1362{ 1363 "glFramebufferTexture2DDownsampleIMG", 1364 "glFramebufferTextureLayerDownsampleIMG", 1365}; 1366 1367static const char* s_GL_INTEL_framebuffer_CMAA[] = 1368{ 1369 "glApplyFramebufferAttachmentCMAAINTEL", 1370}; 1371 1372static const char* s_GL_INTEL_performance_query[] = 1373{ 1374 "glBeginPerfQueryINTEL", 1375 "glCreatePerfQueryINTEL", 1376 "glDeletePerfQueryINTEL", 1377 "glEndPerfQueryINTEL", 1378 "glGetFirstPerfQueryIdINTEL", 1379 "glGetNextPerfQueryIdINTEL", 1380 "glGetPerfCounterInfoINTEL", 1381 "glGetPerfQueryDataINTEL", 1382 "glGetPerfQueryIdByNameINTEL", 1383 "glGetPerfQueryInfoINTEL", 1384}; 1385 1386static const char* s_GL_KHR_blend_equation_advanced[] = 1387{ 1388 "glBlendBarrierKHR", 1389}; 1390 1391static const char* s_GL_KHR_debug[] = 1392{ 1393 "glDebugMessageCallbackKHR", 1394 "glDebugMessageControlKHR", 1395 "glDebugMessageInsertKHR", 1396 "glGetDebugMessageLogKHR", 1397 "glGetObjectLabelKHR", 1398 "glGetObjectPtrLabelKHR", 1399 "glGetPointervKHR", 1400 "glObjectLabelKHR", 1401 "glObjectPtrLabelKHR", 1402 "glPopDebugGroupKHR", 1403 "glPushDebugGroupKHR", 1404}; 1405 1406static const char* s_GL_KHR_robustness[] = 1407{ 1408 "glGetGraphicsResetStatusKHR", 1409 "glGetnUniformfvKHR", 1410 "glGetnUniformivKHR", 1411 "glGetnUniformuivKHR", 1412 "glReadnPixelsKHR", 1413}; 1414 1415static const char* s_GL_NV_bindless_texture[] = 1416{ 1417 "glGetImageHandleNV", 1418 "glGetTextureHandleNV", 1419 "glGetTextureSamplerHandleNV", 1420 "glIsImageHandleResidentNV", 1421 "glIsTextureHandleResidentNV", 1422 "glMakeImageHandleNonResidentNV", 1423 "glMakeImageHandleResidentNV", 1424 "glMakeTextureHandleNonResidentNV", 1425 "glMakeTextureHandleResidentNV", 1426 "glProgramUniformHandleui64NV", 1427 "glProgramUniformHandleui64vNV", 1428 "glUniformHandleui64NV", 1429 "glUniformHandleui64vNV", 1430}; 1431 1432static const char* s_GL_NV_blend_equation_advanced[] = 1433{ 1434 "glBlendBarrierNV", 1435 "glBlendParameteriNV", 1436}; 1437 1438static const char* s_GL_NV_conditional_render[] = 1439{ 1440 "glBeginConditionalRenderNV", 1441 "glEndConditionalRenderNV", 1442}; 1443 1444static const char* s_GL_NV_conservative_raster[] = 1445{ 1446 "glSubpixelPrecisionBiasNV", 1447}; 1448 1449static const char* s_GL_NV_conservative_raster_pre_snap_triangles[] = 1450{ 1451 "glConservativeRasterParameteriNV", 1452}; 1453 1454static const char* s_GL_NV_copy_buffer[] = 1455{ 1456 "glCopyBufferSubDataNV", 1457}; 1458 1459static const char* s_GL_NV_coverage_sample[] = 1460{ 1461 "glCoverageMaskNV", 1462 "glCoverageOperationNV", 1463}; 1464 1465static const char* s_GL_NV_draw_buffers[] = 1466{ 1467 "glDrawBuffersNV", 1468}; 1469 1470static const char* s_GL_NV_draw_instanced[] = 1471{ 1472 "glDrawArraysInstancedNV", 1473 "glDrawElementsInstancedNV", 1474}; 1475 1476static const char* s_GL_NV_draw_vulkan_image[] = 1477{ 1478 "glDrawVkImageNV", 1479 "glGetVkProcAddrNV", 1480 "glWaitVkSemaphoreNV", 1481 "glSignalVkSemaphoreNV", 1482 "glSignalVkFenceNV", 1483}; 1484 1485static const char* s_GL_NV_fragment_coverage_to_color[] = 1486{ 1487 "glFragmentCoverageColorNV", 1488}; 1489 1490static const char* s_GL_NV_framebuffer_blit[] = 1491{ 1492 "glBlitFramebufferNV", 1493}; 1494 1495static const char* s_GL_NV_framebuffer_mixed_samples[] = 1496{ 1497 "glCoverageModulationNV", 1498 "glCoverageModulationTableNV", 1499 "glGetCoverageModulationTableNV", 1500 "glRasterSamplesEXT", 1501}; 1502 1503static const char* s_GL_NV_framebuffer_multisample[] = 1504{ 1505 "glRenderbufferStorageMultisampleNV", 1506}; 1507 1508static const char* s_GL_NV_gpu_shader5[] = 1509{ 1510 "glGetUniformi64vNV", 1511 "glProgramUniform1i64NV", 1512 "glProgramUniform1i64vNV", 1513 "glProgramUniform1ui64NV", 1514 "glProgramUniform1ui64vNV", 1515 "glProgramUniform2i64NV", 1516 "glProgramUniform2i64vNV", 1517 "glProgramUniform2ui64NV", 1518 "glProgramUniform2ui64vNV", 1519 "glProgramUniform3i64NV", 1520 "glProgramUniform3i64vNV", 1521 "glProgramUniform3ui64NV", 1522 "glProgramUniform3ui64vNV", 1523 "glProgramUniform4i64NV", 1524 "glProgramUniform4i64vNV", 1525 "glProgramUniform4ui64NV", 1526 "glProgramUniform4ui64vNV", 1527 "glUniform1i64NV", 1528 "glUniform1i64vNV", 1529 "glUniform1ui64NV", 1530 "glUniform1ui64vNV", 1531 "glUniform2i64NV", 1532 "glUniform2i64vNV", 1533 "glUniform2ui64NV", 1534 "glUniform2ui64vNV", 1535 "glUniform3i64NV", 1536 "glUniform3i64vNV", 1537 "glUniform3ui64NV", 1538 "glUniform3ui64vNV", 1539 "glUniform4i64NV", 1540 "glUniform4i64vNV", 1541 "glUniform4ui64NV", 1542 "glUniform4ui64vNV", 1543}; 1544 1545static const char* s_GL_NV_instanced_arrays[] = 1546{ 1547 "glVertexAttribDivisorNV", 1548}; 1549 1550static const char* s_GL_NV_internalformat_sample_query[] = 1551{ 1552 "glGetInternalformatSampleivNV", 1553}; 1554 1555static const char* s_GL_NV_non_square_matrices[] = 1556{ 1557 "glUniformMatrix2x3fvNV", 1558 "glUniformMatrix2x4fvNV", 1559 "glUniformMatrix3x2fvNV", 1560 "glUniformMatrix3x4fvNV", 1561 "glUniformMatrix4x2fvNV", 1562 "glUniformMatrix4x3fvNV", 1563}; 1564 1565static const char* s_GL_NV_path_rendering[] = 1566{ 1567 "glCopyPathNV", 1568 "glCoverFillPathInstancedNV", 1569 "glCoverFillPathNV", 1570 "glCoverStrokePathInstancedNV", 1571 "glCoverStrokePathNV", 1572 "glDeletePathsNV", 1573 "glGenPathsNV", 1574 "glGetPathCommandsNV", 1575 "glGetPathCoordsNV", 1576 "glGetPathDashArrayNV", 1577 "glGetPathLengthNV", 1578 "glGetPathMetricRangeNV", 1579 "glGetPathMetricsNV", 1580 "glGetPathParameterfvNV", 1581 "glGetPathParameterivNV", 1582 "glGetPathSpacingNV", 1583 "glGetProgramResourcefvNV", 1584 "glInterpolatePathsNV", 1585 "glIsPathNV", 1586 "glIsPointInFillPathNV", 1587 "glIsPointInStrokePathNV", 1588 "glMatrixLoad3x2fNV", 1589 "glMatrixLoad3x3fNV", 1590 "glMatrixLoadTranspose3x3fNV", 1591 "glMatrixMult3x2fNV", 1592 "glMatrixMult3x3fNV", 1593 "glMatrixMultTranspose3x3fNV", 1594 "glPathCommandsNV", 1595 "glPathCoordsNV", 1596 "glPathCoverDepthFuncNV", 1597 "glPathDashArrayNV", 1598 "glPathGlyphIndexArrayNV", 1599 "glPathGlyphIndexRangeNV", 1600 "glPathGlyphRangeNV", 1601 "glPathGlyphsNV", 1602 "glPathMemoryGlyphIndexArrayNV", 1603 "glPathParameterfNV", 1604 "glPathParameterfvNV", 1605 "glPathParameteriNV", 1606 "glPathParameterivNV", 1607 "glPathStencilDepthOffsetNV", 1608 "glPathStencilFuncNV", 1609 "glPathStringNV", 1610 "glPathSubCommandsNV", 1611 "glPathSubCoordsNV", 1612 "glPointAlongPathNV", 1613 "glProgramPathFragmentInputGenNV", 1614 "glStencilFillPathInstancedNV", 1615 "glStencilFillPathNV", 1616 "glStencilStrokePathInstancedNV", 1617 "glStencilStrokePathNV", 1618 "glStencilThenCoverFillPathInstancedNV", 1619 "glStencilThenCoverFillPathNV", 1620 "glStencilThenCoverStrokePathInstancedNV", 1621 "glStencilThenCoverStrokePathNV", 1622 "glTransformPathNV", 1623 "glWeightPathsNV", 1624}; 1625 1626static const char* s_GL_NV_polygon_mode[] = 1627{ 1628 "glPolygonModeNV", 1629}; 1630 1631static const char* s_GL_NV_read_buffer[] = 1632{ 1633 "glReadBufferNV", 1634}; 1635 1636static const char* s_GL_NV_sample_locations[] = 1637{ 1638 "glFramebufferSampleLocationsfvNV", 1639 "glNamedFramebufferSampleLocationsfvNV", 1640 "glResolveDepthValuesNV", 1641}; 1642 1643static const char* s_GL_NV_viewport_array[] = 1644{ 1645 "glDepthRangeArrayfvNV", 1646 "glDepthRangeIndexedfNV", 1647 "glDisableiNV", 1648 "glEnableiNV", 1649 "glGetFloati_vNV", 1650 "glIsEnablediNV", 1651 "glScissorArrayvNV", 1652 "glScissorIndexedNV", 1653 "glScissorIndexedvNV", 1654 "glViewportArrayvNV", 1655 "glViewportIndexedfNV", 1656 "glViewportIndexedfvNV", 1657}; 1658 1659static const char* s_GL_NV_viewport_swizzle[] = 1660{ 1661 "glViewportSwizzleNV", 1662}; 1663 1664static const char* s_GL_OES_copy_image[] = 1665{ 1666 "glCopyImageSubDataOES", 1667}; 1668 1669static const char* s_GL_OES_draw_buffers_indexed[] = 1670{ 1671 "glBlendEquationSeparateiOES", 1672 "glBlendEquationiOES", 1673 "glBlendFuncSeparateiOES", 1674 "glBlendFunciOES", 1675 "glColorMaskiOES", 1676 "glDisableiOES", 1677 "glEnableiOES", 1678 "glIsEnablediOES", 1679}; 1680 1681static const char* s_GL_OES_draw_elements_base_vertex[] = 1682{ 1683 "glDrawElementsBaseVertexOES", 1684 "glDrawElementsInstancedBaseVertexOES", 1685 "glDrawRangeElementsBaseVertexOES", 1686 "glMultiDrawElementsBaseVertexOES", 1687}; 1688 1689static const char* s_GL_OES_geometry_shader[] = 1690{ 1691 "glFramebufferTextureOES", 1692}; 1693 1694static const char* s_GL_OES_get_program_binary[] = 1695{ 1696 "glGetProgramBinaryOES", 1697 "glProgramBinaryOES", 1698}; 1699 1700static const char* s_GL_OES_primitive_bounding_box[] = 1701{ 1702 "glPrimitiveBoundingBoxOES", 1703}; 1704 1705static const char* s_GL_OES_sample_shading[] = 1706{ 1707 "glMinSampleShadingOES", 1708}; 1709 1710static const char* s_GL_OES_tessellation_shader[] = 1711{ 1712 "glPatchParameteriOES", 1713}; 1714 1715static const char* s_GL_OES_texture_3D[] = 1716{ 1717 "glCompressedTexImage3DOES", 1718 "glCompressedTexSubImage3DOES", 1719 "glCopyTexSubImage3DOES", 1720 "glFramebufferTexture3DOES", 1721 "glTexImage3DOES", 1722 "glTexSubImage3DOES", 1723}; 1724 1725static const char* s_GL_OES_texture_border_clamp[] = 1726{ 1727 "glGetSamplerParameterIivOES", 1728 "glGetSamplerParameterIuivOES", 1729 "glGetTexParameterIivOES", 1730 "glGetTexParameterIuivOES", 1731 "glSamplerParameterIivOES", 1732 "glSamplerParameterIuivOES", 1733 "glTexParameterIivOES", 1734 "glTexParameterIuivOES", 1735}; 1736 1737static const char* s_GL_OES_texture_buffer[] = 1738{ 1739 "glTexBufferOES", 1740 "glTexBufferRangeOES", 1741}; 1742 1743static const char* s_GL_OES_texture_storage_multisample_2d_array[] = 1744{ 1745 "glTexStorage3DMultisampleOES", 1746}; 1747 1748static const char* s_GL_OES_texture_view[] = 1749{ 1750 "glTextureViewOES", 1751}; 1752 1753static const char* s_GL_OES_viewport_array[] = 1754{ 1755 "glDepthRangeArrayfvOES", 1756 "glDepthRangeIndexedfOES", 1757 "glDisableiOES", 1758 "glEnableiOES", 1759 "glGetFloati_vOES", 1760 "glIsEnablediOES", 1761 "glScissorArrayvOES", 1762 "glScissorIndexedOES", 1763 "glScissorIndexedvOES", 1764 "glViewportArrayvOES", 1765 "glViewportIndexedfOES", 1766 "glViewportIndexedfvOES", 1767}; 1768 1769static const char* s_GL_OVR_multiview[] = 1770{ 1771 "glFramebufferTextureMultiviewOVR", 1772}; 1773 1774static const char* s_GL_OVR_multiview_multisampled_render_to_texture[] = 1775{ 1776 "glFramebufferTextureMultisampleMultiviewOVR", 1777}; 1778 1779static const char* s_GL_QCOM_alpha_test[] = 1780{ 1781 "glAlphaFuncQCOM", 1782}; 1783 1784static const char* s_GL_QCOM_framebuffer_foveated[] = 1785{ 1786 "glFramebufferFoveationConfigQCOM", 1787 "glFramebufferFoveationParametersQCOM", 1788}; 1789 1790static const char* s_GL_QCOM_shader_framebuffer_fetch_noncoherent[] = 1791{ 1792 "glFramebufferFetchBarrierQCOM", 1793}; 1794 1795static const struct 1796{ 1797 const char* name; 1798 const int numFunctions; 1799 const char* const* functions; 1800} s_extensions[] = 1801{ 1802 { "EGL_ANDROID_blob_cache", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache), s_EGL_ANDROID_blob_cache }, 1803 { "EGL_ANDROID_create_native_client_buffer", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer), s_EGL_ANDROID_create_native_client_buffer }, 1804 { "EGL_ANDROID_native_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync), s_EGL_ANDROID_native_fence_sync }, 1805 { "EGL_ANDROID_presentation_time", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time), s_EGL_ANDROID_presentation_time }, 1806 { "EGL_ANGLE_query_surface_pointer", DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer), s_EGL_ANGLE_query_surface_pointer }, 1807 { "EGL_EXT_device_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base), s_EGL_EXT_device_base }, 1808 { "EGL_EXT_device_enumeration", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration), s_EGL_EXT_device_enumeration }, 1809 { "EGL_EXT_device_query", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query), s_EGL_EXT_device_query }, 1810 { "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 }, 1811 { "EGL_EXT_output_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base), s_EGL_EXT_output_base }, 1812 { "EGL_EXT_platform_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base), s_EGL_EXT_platform_base }, 1813 { "EGL_EXT_stream_consumer_egloutput", DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput), s_EGL_EXT_stream_consumer_egloutput }, 1814 { "EGL_EXT_swap_buffers_with_damage", DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage), s_EGL_EXT_swap_buffers_with_damage }, 1815 { "EGL_HI_clientpixmap", DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap), s_EGL_HI_clientpixmap }, 1816 { "EGL_KHR_cl_event2", DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2), s_EGL_KHR_cl_event2 }, 1817 { "EGL_KHR_debug", DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug), s_EGL_KHR_debug }, 1818 { "EGL_KHR_display_reference", DE_LENGTH_OF_ARRAY(s_EGL_KHR_display_reference), s_EGL_KHR_display_reference }, 1819 { "EGL_KHR_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync), s_EGL_KHR_fence_sync }, 1820 { "EGL_KHR_image", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image), s_EGL_KHR_image }, 1821 { "EGL_KHR_image_base", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base), s_EGL_KHR_image_base }, 1822 { "EGL_KHR_lock_surface", DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface), s_EGL_KHR_lock_surface }, 1823 { "EGL_KHR_lock_surface3", DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3), s_EGL_KHR_lock_surface3 }, 1824 { "EGL_KHR_partial_update", DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update), s_EGL_KHR_partial_update }, 1825 { "EGL_KHR_reusable_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync), s_EGL_KHR_reusable_sync }, 1826 { "EGL_KHR_stream", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream), s_EGL_KHR_stream }, 1827 { "EGL_KHR_stream_attrib", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib), s_EGL_KHR_stream_attrib }, 1828 { "EGL_KHR_stream_consumer_gltexture", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture), s_EGL_KHR_stream_consumer_gltexture }, 1829 { "EGL_KHR_stream_cross_process_fd", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd), s_EGL_KHR_stream_cross_process_fd }, 1830 { "EGL_KHR_stream_fifo", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo), s_EGL_KHR_stream_fifo }, 1831 { "EGL_KHR_stream_producer_eglsurface", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface), s_EGL_KHR_stream_producer_eglsurface }, 1832 { "EGL_KHR_swap_buffers_with_damage", DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage), s_EGL_KHR_swap_buffers_with_damage }, 1833 { "EGL_KHR_wait_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync), s_EGL_KHR_wait_sync }, 1834 { "EGL_MESA_drm_image", DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image), s_EGL_MESA_drm_image }, 1835 { "EGL_MESA_image_dma_buf_export", DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export), s_EGL_MESA_image_dma_buf_export }, 1836 { "EGL_NOK_swap_region", DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region), s_EGL_NOK_swap_region }, 1837 { "EGL_NOK_swap_region2", DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2), s_EGL_NOK_swap_region2 }, 1838 { "EGL_NV_native_query", DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query), s_EGL_NV_native_query }, 1839 { "EGL_NV_post_sub_buffer", DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer), s_EGL_NV_post_sub_buffer }, 1840 { "EGL_NV_stream_consumer_gltexture_yuv", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv), s_EGL_NV_stream_consumer_gltexture_yuv }, 1841 { "EGL_NV_stream_metadata", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata), s_EGL_NV_stream_metadata }, 1842 { "EGL_NV_stream_reset", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset), s_EGL_NV_stream_reset }, 1843 { "EGL_NV_stream_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync), s_EGL_NV_stream_sync }, 1844 { "EGL_NV_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_sync), s_EGL_NV_sync }, 1845 { "EGL_NV_system_time", DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time), s_EGL_NV_system_time }, 1846 { "EGL_EXT_compositor", DE_LENGTH_OF_ARRAY(s_EGL_EXT_compositor), s_EGL_EXT_compositor }, 1847 { "GL_APPLE_copy_texture_levels", DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels), s_GL_APPLE_copy_texture_levels }, 1848 { "GL_APPLE_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample), s_GL_APPLE_framebuffer_multisample }, 1849 { "GL_APPLE_sync", DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync), s_GL_APPLE_sync }, 1850 { "GL_EXT_discard_framebuffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer), s_GL_EXT_discard_framebuffer }, 1851 { "GL_EXT_map_buffer_range", DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range), s_GL_EXT_map_buffer_range }, 1852 { "GL_EXT_multi_draw_arrays", DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays), s_GL_EXT_multi_draw_arrays }, 1853 { "GL_EXT_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture), s_GL_EXT_multisampled_render_to_texture }, 1854 { "GL_EXT_robustness", DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness), s_GL_EXT_robustness }, 1855 { "GL_EXT_texture_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage), s_GL_EXT_texture_storage }, 1856 { "GL_IMG_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture), s_GL_IMG_multisampled_render_to_texture }, 1857 { "GL_IMG_user_clip_plane", DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane), s_GL_IMG_user_clip_plane }, 1858 { "GL_NV_fence", DE_LENGTH_OF_ARRAY(s_GL_NV_fence), s_GL_NV_fence }, 1859 { "GL_OES_EGL_image", DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image), s_GL_OES_EGL_image }, 1860 { "GL_OES_blend_equation_separate", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate), s_GL_OES_blend_equation_separate }, 1861 { "GL_OES_blend_func_separate", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate), s_GL_OES_blend_func_separate }, 1862 { "GL_OES_blend_subtract", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract), s_GL_OES_blend_subtract }, 1863 { "GL_OES_draw_texture", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture), s_GL_OES_draw_texture }, 1864 { "GL_OES_fixed_point", DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point), s_GL_OES_fixed_point }, 1865 { "GL_OES_framebuffer_object", DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object), s_GL_OES_framebuffer_object }, 1866 { "GL_OES_mapbuffer", DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer), s_GL_OES_mapbuffer }, 1867 { "GL_OES_matrix_palette", DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette), s_GL_OES_matrix_palette }, 1868 { "GL_OES_point_size_array", DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array), s_GL_OES_point_size_array }, 1869 { "GL_OES_query_matrix", DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix), s_GL_OES_query_matrix }, 1870 { "GL_OES_single_precision", DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision), s_GL_OES_single_precision }, 1871 { "GL_OES_texture_cube_map", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map), s_GL_OES_texture_cube_map }, 1872 { "GL_OES_vertex_array_object", DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object), s_GL_OES_vertex_array_object }, 1873 { "GL_QCOM_driver_control", DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control), s_GL_QCOM_driver_control }, 1874 { "GL_QCOM_extended_get", DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get), s_GL_QCOM_extended_get }, 1875 { "GL_QCOM_extended_get2", DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2), s_GL_QCOM_extended_get2 }, 1876 { "GL_QCOM_tiled_rendering", DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering), s_GL_QCOM_tiled_rendering }, 1877 { "GL_AMD_performance_monitor", DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor), s_GL_AMD_performance_monitor }, 1878 { "GL_ANGLE_framebuffer_blit", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit), s_GL_ANGLE_framebuffer_blit }, 1879 { "GL_ANGLE_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample), s_GL_ANGLE_framebuffer_multisample }, 1880 { "GL_ANGLE_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays), s_GL_ANGLE_instanced_arrays }, 1881 { "GL_ANGLE_translated_shader_source", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source), s_GL_ANGLE_translated_shader_source }, 1882 { "GL_EXT_base_instance", DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance), s_GL_EXT_base_instance }, 1883 { "GL_EXT_blend_func_extended", DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended), s_GL_EXT_blend_func_extended }, 1884 { "GL_EXT_buffer_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage), s_GL_EXT_buffer_storage }, 1885 { "GL_EXT_clear_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_clear_texture), s_GL_EXT_clear_texture }, 1886 { "GL_EXT_copy_image", DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image), s_GL_EXT_copy_image }, 1887 { "GL_EXT_debug_label", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label), s_GL_EXT_debug_label }, 1888 { "GL_EXT_debug_marker", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker), s_GL_EXT_debug_marker }, 1889 { "GL_EXT_disjoint_timer_query", DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query), s_GL_EXT_disjoint_timer_query }, 1890 { "GL_EXT_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers), s_GL_EXT_draw_buffers }, 1891 { "GL_EXT_draw_buffers_indexed", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed), s_GL_EXT_draw_buffers_indexed }, 1892 { "GL_EXT_draw_elements_base_vertex", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex), s_GL_EXT_draw_elements_base_vertex }, 1893 { "GL_EXT_draw_instanced", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced), s_GL_EXT_draw_instanced }, 1894 { "GL_EXT_draw_transform_feedback", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_transform_feedback), s_GL_EXT_draw_transform_feedback }, 1895 { "GL_EXT_external_buffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_external_buffer), s_GL_EXT_external_buffer }, 1896 { "GL_EXT_geometry_shader", DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader), s_GL_EXT_geometry_shader }, 1897 { "GL_EXT_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays), s_GL_EXT_instanced_arrays }, 1898 { "GL_EXT_memory_object", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object), s_GL_EXT_memory_object }, 1899 { "GL_EXT_memory_object_fd", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_fd), s_GL_EXT_memory_object_fd }, 1900 { "GL_EXT_memory_object_win32", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_win32), s_GL_EXT_memory_object_win32 }, 1901 { "GL_EXT_multi_draw_indirect", DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect), s_GL_EXT_multi_draw_indirect }, 1902 { "GL_EXT_multiview_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers), s_GL_EXT_multiview_draw_buffers }, 1903 { "GL_EXT_occlusion_query_boolean", DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean), s_GL_EXT_occlusion_query_boolean }, 1904 { "GL_EXT_polygon_offset_clamp", DE_LENGTH_OF_ARRAY(s_GL_EXT_polygon_offset_clamp), s_GL_EXT_polygon_offset_clamp }, 1905 { "GL_EXT_primitive_bounding_box", DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box), s_GL_EXT_primitive_bounding_box }, 1906 { "GL_EXT_raster_multisample", DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample), s_GL_EXT_raster_multisample }, 1907 { "GL_EXT_semaphore", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore), s_GL_EXT_semaphore }, 1908 { "GL_EXT_semaphore_fd", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_fd), s_GL_EXT_semaphore_fd }, 1909 { "GL_EXT_semaphore_win32", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_win32), s_GL_EXT_semaphore_win32 }, 1910 { "GL_EXT_separate_shader_objects", DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects), s_GL_EXT_separate_shader_objects }, 1911 { "GL_EXT_shader_pixel_local_storage2", DE_LENGTH_OF_ARRAY(s_GL_EXT_shader_pixel_local_storage2), s_GL_EXT_shader_pixel_local_storage2 }, 1912 { "GL_EXT_sparse_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture), s_GL_EXT_sparse_texture }, 1913 { "GL_EXT_tessellation_shader", DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader), s_GL_EXT_tessellation_shader }, 1914 { "GL_EXT_texture_border_clamp", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp), s_GL_EXT_texture_border_clamp }, 1915 { "GL_EXT_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer), s_GL_EXT_texture_buffer }, 1916 { "GL_EXT_texture_filter_minmax", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_filter_minmax), s_GL_EXT_texture_filter_minmax }, 1917 { "GL_EXT_texture_view", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view), s_GL_EXT_texture_view }, 1918 { "GL_EXT_win32_keyed_mutex", DE_LENGTH_OF_ARRAY(s_GL_EXT_win32_keyed_mutex), s_GL_EXT_win32_keyed_mutex }, 1919 { "GL_EXT_window_rectangles", DE_LENGTH_OF_ARRAY(s_GL_EXT_window_rectangles), s_GL_EXT_window_rectangles }, 1920 { "GL_IMG_bindless_texture", DE_LENGTH_OF_ARRAY(s_GL_IMG_bindless_texture), s_GL_IMG_bindless_texture }, 1921 { "GL_IMG_framebuffer_downsample", DE_LENGTH_OF_ARRAY(s_GL_IMG_framebuffer_downsample), s_GL_IMG_framebuffer_downsample }, 1922 { "GL_INTEL_framebuffer_CMAA", DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA), s_GL_INTEL_framebuffer_CMAA }, 1923 { "GL_INTEL_performance_query", DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query), s_GL_INTEL_performance_query }, 1924 { "GL_KHR_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced), s_GL_KHR_blend_equation_advanced }, 1925 { "GL_KHR_debug", DE_LENGTH_OF_ARRAY(s_GL_KHR_debug), s_GL_KHR_debug }, 1926 { "GL_KHR_robustness", DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness), s_GL_KHR_robustness }, 1927 { "GL_NV_bindless_texture", DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture), s_GL_NV_bindless_texture }, 1928 { "GL_NV_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced), s_GL_NV_blend_equation_advanced }, 1929 { "GL_NV_conditional_render", DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render), s_GL_NV_conditional_render }, 1930 { "GL_NV_conservative_raster", DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster), s_GL_NV_conservative_raster }, 1931 { "GL_NV_conservative_raster_pre_snap_triangles", DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster_pre_snap_triangles), s_GL_NV_conservative_raster_pre_snap_triangles }, 1932 { "GL_NV_copy_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer), s_GL_NV_copy_buffer }, 1933 { "GL_NV_coverage_sample", DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample), s_GL_NV_coverage_sample }, 1934 { "GL_NV_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers), s_GL_NV_draw_buffers }, 1935 { "GL_NV_draw_instanced", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced), s_GL_NV_draw_instanced }, 1936 { "GL_NV_draw_vulkan_image", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_vulkan_image), s_GL_NV_draw_vulkan_image }, 1937 { "GL_NV_fragment_coverage_to_color", DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color), s_GL_NV_fragment_coverage_to_color }, 1938 { "GL_NV_framebuffer_blit", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit), s_GL_NV_framebuffer_blit }, 1939 { "GL_NV_framebuffer_mixed_samples", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples), s_GL_NV_framebuffer_mixed_samples }, 1940 { "GL_NV_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample), s_GL_NV_framebuffer_multisample }, 1941 { "GL_NV_gpu_shader5", DE_LENGTH_OF_ARRAY(s_GL_NV_gpu_shader5), s_GL_NV_gpu_shader5 }, 1942 { "GL_NV_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays), s_GL_NV_instanced_arrays }, 1943 { "GL_NV_internalformat_sample_query", DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query), s_GL_NV_internalformat_sample_query }, 1944 { "GL_NV_non_square_matrices", DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices), s_GL_NV_non_square_matrices }, 1945 { "GL_NV_path_rendering", DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering), s_GL_NV_path_rendering }, 1946 { "GL_NV_polygon_mode", DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode), s_GL_NV_polygon_mode }, 1947 { "GL_NV_read_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer), s_GL_NV_read_buffer }, 1948 { "GL_NV_sample_locations", DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations), s_GL_NV_sample_locations }, 1949 { "GL_NV_viewport_array", DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array), s_GL_NV_viewport_array }, 1950 { "GL_NV_viewport_swizzle", DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_swizzle), s_GL_NV_viewport_swizzle }, 1951 { "GL_OES_copy_image", DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image), s_GL_OES_copy_image }, 1952 { "GL_OES_draw_buffers_indexed", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed), s_GL_OES_draw_buffers_indexed }, 1953 { "GL_OES_draw_elements_base_vertex", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex), s_GL_OES_draw_elements_base_vertex }, 1954 { "GL_OES_geometry_shader", DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader), s_GL_OES_geometry_shader }, 1955 { "GL_OES_get_program_binary", DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary), s_GL_OES_get_program_binary }, 1956 { "GL_OES_primitive_bounding_box", DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box), s_GL_OES_primitive_bounding_box }, 1957 { "GL_OES_sample_shading", DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading), s_GL_OES_sample_shading }, 1958 { "GL_OES_tessellation_shader", DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader), s_GL_OES_tessellation_shader }, 1959 { "GL_OES_texture_3D", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D), s_GL_OES_texture_3D }, 1960 { "GL_OES_texture_border_clamp", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp), s_GL_OES_texture_border_clamp }, 1961 { "GL_OES_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer), s_GL_OES_texture_buffer }, 1962 { "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 }, 1963 { "GL_OES_texture_view", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view), s_GL_OES_texture_view }, 1964 { "GL_OES_viewport_array", DE_LENGTH_OF_ARRAY(s_GL_OES_viewport_array), s_GL_OES_viewport_array }, 1965 { "GL_OVR_multiview", DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview), s_GL_OVR_multiview }, 1966 { "GL_OVR_multiview_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview_multisampled_render_to_texture), s_GL_OVR_multiview_multisampled_render_to_texture }, 1967 { "GL_QCOM_alpha_test", DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test), s_GL_QCOM_alpha_test }, 1968 { "GL_QCOM_framebuffer_foveated", DE_LENGTH_OF_ARRAY(s_GL_QCOM_framebuffer_foveated), s_GL_QCOM_framebuffer_foveated }, 1969 { "GL_QCOM_shader_framebuffer_fetch_noncoherent", DE_LENGTH_OF_ARRAY(s_GL_QCOM_shader_framebuffer_fetch_noncoherent), s_GL_QCOM_shader_framebuffer_fetch_noncoherent }, 1970}; 1971