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 3338ed0db494d6a4db7f76627b38f0b1892db096. 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_EGL15[] = 46{ 47 "eglClientWaitSync", 48 "eglCreateImage", 49 "eglCreatePlatformPixmapSurface", 50 "eglCreatePlatformWindowSurface", 51 "eglCreateSync", 52 "eglDestroyImage", 53 "eglDestroySync", 54 "eglGetPlatformDisplay", 55 "eglGetSyncAttrib", 56 "eglWaitSync", 57}; 58 59static const char* s_GLES10[] = 60{ 61 "glActiveTexture", 62 "glAlphaFunc", 63 "glAlphaFuncx", 64 "glBindBuffer", 65 "glBindTexture", 66 "glBlendFunc", 67 "glBufferData", 68 "glBufferSubData", 69 "glClear", 70 "glClearColor", 71 "glClearColorx", 72 "glClearDepthf", 73 "glClearDepthx", 74 "glClearStencil", 75 "glClientActiveTexture", 76 "glClipPlanef", 77 "glClipPlanex", 78 "glColor4f", 79 "glColor4ub", 80 "glColor4x", 81 "glColorMask", 82 "glColorPointer", 83 "glCompressedTexImage2D", 84 "glCompressedTexSubImage2D", 85 "glCopyTexImage2D", 86 "glCopyTexSubImage2D", 87 "glCullFace", 88 "glDeleteBuffers", 89 "glDeleteTextures", 90 "glDepthFunc", 91 "glDepthMask", 92 "glDepthRangef", 93 "glDepthRangex", 94 "glDisable", 95 "glDisableClientState", 96 "glDrawArrays", 97 "glDrawElements", 98 "glEnable", 99 "glEnableClientState", 100 "glFinish", 101 "glFlush", 102 "glFogf", 103 "glFogfv", 104 "glFogx", 105 "glFogxv", 106 "glFrontFace", 107 "glFrustumf", 108 "glFrustumx", 109 "glGenBuffers", 110 "glGenTextures", 111 "glGetBooleanv", 112 "glGetBufferParameteriv", 113 "glGetClipPlanef", 114 "glGetClipPlanex", 115 "glGetError", 116 "glGetFixedv", 117 "glGetFloatv", 118 "glGetIntegerv", 119 "glGetLightfv", 120 "glGetLightxv", 121 "glGetMaterialfv", 122 "glGetMaterialxv", 123 "glGetPointerv", 124 "glGetString", 125 "glGetTexEnvfv", 126 "glGetTexEnviv", 127 "glGetTexEnvxv", 128 "glGetTexParameterfv", 129 "glGetTexParameteriv", 130 "glGetTexParameterxv", 131 "glHint", 132 "glIsBuffer", 133 "glIsEnabled", 134 "glIsTexture", 135 "glLightModelf", 136 "glLightModelfv", 137 "glLightModelx", 138 "glLightModelxv", 139 "glLightf", 140 "glLightfv", 141 "glLightx", 142 "glLightxv", 143 "glLineWidth", 144 "glLineWidthx", 145 "glLoadIdentity", 146 "glLoadMatrixf", 147 "glLoadMatrixx", 148 "glLogicOp", 149 "glMaterialf", 150 "glMaterialfv", 151 "glMaterialx", 152 "glMaterialxv", 153 "glMatrixMode", 154 "glMultMatrixf", 155 "glMultMatrixx", 156 "glMultiTexCoord4f", 157 "glMultiTexCoord4x", 158 "glNormal3f", 159 "glNormal3x", 160 "glNormalPointer", 161 "glOrthof", 162 "glOrthox", 163 "glPixelStorei", 164 "glPointParameterf", 165 "glPointParameterfv", 166 "glPointParameterx", 167 "glPointParameterxv", 168 "glPointSize", 169 "glPointSizex", 170 "glPolygonOffset", 171 "glPolygonOffsetx", 172 "glPopMatrix", 173 "glPushMatrix", 174 "glReadPixels", 175 "glRotatef", 176 "glRotatex", 177 "glSampleCoverage", 178 "glSampleCoveragex", 179 "glScalef", 180 "glScalex", 181 "glScissor", 182 "glShadeModel", 183 "glStencilFunc", 184 "glStencilMask", 185 "glStencilOp", 186 "glTexCoordPointer", 187 "glTexEnvf", 188 "glTexEnvfv", 189 "glTexEnvi", 190 "glTexEnviv", 191 "glTexEnvx", 192 "glTexEnvxv", 193 "glTexImage2D", 194 "glTexParameterf", 195 "glTexParameterfv", 196 "glTexParameteri", 197 "glTexParameteriv", 198 "glTexParameterx", 199 "glTexParameterxv", 200 "glTexSubImage2D", 201 "glTranslatef", 202 "glTranslatex", 203 "glVertexPointer", 204 "glViewport", 205}; 206 207static const char* s_GLES20[] = 208{ 209 "glActiveTexture", 210 "glAttachShader", 211 "glBindAttribLocation", 212 "glBindBuffer", 213 "glBindFramebuffer", 214 "glBindRenderbuffer", 215 "glBindTexture", 216 "glBlendColor", 217 "glBlendEquation", 218 "glBlendEquationSeparate", 219 "glBlendFunc", 220 "glBlendFuncSeparate", 221 "glBufferData", 222 "glBufferSubData", 223 "glCheckFramebufferStatus", 224 "glClear", 225 "glClearColor", 226 "glClearDepthf", 227 "glClearStencil", 228 "glColorMask", 229 "glCompileShader", 230 "glCompressedTexImage2D", 231 "glCompressedTexSubImage2D", 232 "glCopyTexImage2D", 233 "glCopyTexSubImage2D", 234 "glCreateProgram", 235 "glCreateShader", 236 "glCullFace", 237 "glDeleteBuffers", 238 "glDeleteFramebuffers", 239 "glDeleteProgram", 240 "glDeleteRenderbuffers", 241 "glDeleteShader", 242 "glDeleteTextures", 243 "glDepthFunc", 244 "glDepthMask", 245 "glDepthRangef", 246 "glDetachShader", 247 "glDisable", 248 "glDisableVertexAttribArray", 249 "glDrawArrays", 250 "glDrawElements", 251 "glEnable", 252 "glEnableVertexAttribArray", 253 "glFinish", 254 "glFlush", 255 "glFramebufferRenderbuffer", 256 "glFramebufferTexture2D", 257 "glFrontFace", 258 "glGenBuffers", 259 "glGenFramebuffers", 260 "glGenRenderbuffers", 261 "glGenTextures", 262 "glGenerateMipmap", 263 "glGetActiveAttrib", 264 "glGetActiveUniform", 265 "glGetAttachedShaders", 266 "glGetAttribLocation", 267 "glGetBooleanv", 268 "glGetBufferParameteriv", 269 "glGetError", 270 "glGetFloatv", 271 "glGetFramebufferAttachmentParameteriv", 272 "glGetIntegerv", 273 "glGetProgramInfoLog", 274 "glGetProgramiv", 275 "glGetRenderbufferParameteriv", 276 "glGetShaderInfoLog", 277 "glGetShaderPrecisionFormat", 278 "glGetShaderSource", 279 "glGetShaderiv", 280 "glGetString", 281 "glGetTexParameterfv", 282 "glGetTexParameteriv", 283 "glGetUniformLocation", 284 "glGetUniformfv", 285 "glGetUniformiv", 286 "glGetVertexAttribPointerv", 287 "glGetVertexAttribfv", 288 "glGetVertexAttribiv", 289 "glHint", 290 "glIsBuffer", 291 "glIsEnabled", 292 "glIsFramebuffer", 293 "glIsProgram", 294 "glIsRenderbuffer", 295 "glIsShader", 296 "glIsTexture", 297 "glLineWidth", 298 "glLinkProgram", 299 "glPixelStorei", 300 "glPolygonOffset", 301 "glReadPixels", 302 "glReleaseShaderCompiler", 303 "glRenderbufferStorage", 304 "glSampleCoverage", 305 "glScissor", 306 "glShaderBinary", 307 "glShaderSource", 308 "glStencilFunc", 309 "glStencilFuncSeparate", 310 "glStencilMask", 311 "glStencilMaskSeparate", 312 "glStencilOp", 313 "glStencilOpSeparate", 314 "glTexImage2D", 315 "glTexParameterf", 316 "glTexParameterfv", 317 "glTexParameteri", 318 "glTexParameteriv", 319 "glTexSubImage2D", 320 "glUniform1f", 321 "glUniform1fv", 322 "glUniform1i", 323 "glUniform1iv", 324 "glUniform2f", 325 "glUniform2fv", 326 "glUniform2i", 327 "glUniform2iv", 328 "glUniform3f", 329 "glUniform3fv", 330 "glUniform3i", 331 "glUniform3iv", 332 "glUniform4f", 333 "glUniform4fv", 334 "glUniform4i", 335 "glUniform4iv", 336 "glUniformMatrix2fv", 337 "glUniformMatrix3fv", 338 "glUniformMatrix4fv", 339 "glUseProgram", 340 "glValidateProgram", 341 "glVertexAttrib1f", 342 "glVertexAttrib1fv", 343 "glVertexAttrib2f", 344 "glVertexAttrib2fv", 345 "glVertexAttrib3f", 346 "glVertexAttrib3fv", 347 "glVertexAttrib4f", 348 "glVertexAttrib4fv", 349 "glVertexAttribPointer", 350 "glViewport", 351}; 352 353static const char* s_GLES30[] = 354{ 355 "glBeginQuery", 356 "glBeginTransformFeedback", 357 "glBindBufferBase", 358 "glBindBufferRange", 359 "glBindSampler", 360 "glBindTransformFeedback", 361 "glBindVertexArray", 362 "glBlitFramebuffer", 363 "glClearBufferfi", 364 "glClearBufferfv", 365 "glClearBufferiv", 366 "glClearBufferuiv", 367 "glClientWaitSync", 368 "glCompressedTexImage3D", 369 "glCompressedTexSubImage3D", 370 "glCopyBufferSubData", 371 "glCopyTexSubImage3D", 372 "glDeleteQueries", 373 "glDeleteSamplers", 374 "glDeleteSync", 375 "glDeleteTransformFeedbacks", 376 "glDeleteVertexArrays", 377 "glDrawArraysInstanced", 378 "glDrawBuffers", 379 "glDrawElementsInstanced", 380 "glDrawRangeElements", 381 "glEndQuery", 382 "glEndTransformFeedback", 383 "glFenceSync", 384 "glFlushMappedBufferRange", 385 "glFramebufferTextureLayer", 386 "glGenQueries", 387 "glGenSamplers", 388 "glGenTransformFeedbacks", 389 "glGenVertexArrays", 390 "glGetActiveUniformBlockName", 391 "glGetActiveUniformBlockiv", 392 "glGetActiveUniformsiv", 393 "glGetBufferParameteri64v", 394 "glGetBufferPointerv", 395 "glGetFragDataLocation", 396 "glGetInteger64i_v", 397 "glGetInteger64v", 398 "glGetIntegeri_v", 399 "glGetInternalformativ", 400 "glGetProgramBinary", 401 "glGetQueryObjectuiv", 402 "glGetQueryiv", 403 "glGetSamplerParameterfv", 404 "glGetSamplerParameteriv", 405 "glGetStringi", 406 "glGetSynciv", 407 "glGetTransformFeedbackVarying", 408 "glGetUniformBlockIndex", 409 "glGetUniformIndices", 410 "glGetUniformuiv", 411 "glGetVertexAttribIiv", 412 "glGetVertexAttribIuiv", 413 "glInvalidateFramebuffer", 414 "glInvalidateSubFramebuffer", 415 "glIsQuery", 416 "glIsSampler", 417 "glIsSync", 418 "glIsTransformFeedback", 419 "glIsVertexArray", 420 "glMapBufferRange", 421 "glPauseTransformFeedback", 422 "glProgramBinary", 423 "glProgramParameteri", 424 "glReadBuffer", 425 "glRenderbufferStorageMultisample", 426 "glResumeTransformFeedback", 427 "glSamplerParameterf", 428 "glSamplerParameterfv", 429 "glSamplerParameteri", 430 "glSamplerParameteriv", 431 "glTexImage3D", 432 "glTexStorage2D", 433 "glTexStorage3D", 434 "glTexSubImage3D", 435 "glTransformFeedbackVaryings", 436 "glUniform1ui", 437 "glUniform1uiv", 438 "glUniform2ui", 439 "glUniform2uiv", 440 "glUniform3ui", 441 "glUniform3uiv", 442 "glUniform4ui", 443 "glUniform4uiv", 444 "glUniformBlockBinding", 445 "glUniformMatrix2x3fv", 446 "glUniformMatrix2x4fv", 447 "glUniformMatrix3x2fv", 448 "glUniformMatrix3x4fv", 449 "glUniformMatrix4x2fv", 450 "glUniformMatrix4x3fv", 451 "glUnmapBuffer", 452 "glVertexAttribDivisor", 453 "glVertexAttribI4i", 454 "glVertexAttribI4iv", 455 "glVertexAttribI4ui", 456 "glVertexAttribI4uiv", 457 "glVertexAttribIPointer", 458 "glWaitSync", 459}; 460 461static const char* s_EGL_ANDROID_blob_cache[] = 462{ 463 "eglSetBlobCacheFuncsANDROID", 464}; 465 466static const char* s_EGL_ANDROID_create_native_client_buffer[] = 467{ 468 "eglCreateNativeClientBufferANDROID", 469}; 470 471static const char* s_EGL_ANDROID_get_native_client_buffer[] = 472{ 473 "eglGetNativeClientBufferANDROID", 474}; 475 476static const char* s_EGL_ANDROID_native_fence_sync[] = 477{ 478 "eglDupNativeFenceFDANDROID", 479}; 480 481static const char* s_EGL_ANDROID_presentation_time[] = 482{ 483 "eglPresentationTimeANDROID", 484}; 485 486static const char* s_EGL_ANDROID_get_frame_timestamps[] = 487{ 488 "eglGetCompositorTimingSupportedANDROID", 489 "eglGetCompositorTimingANDROID", 490 "eglGetNextFrameIdANDROID", 491 "eglGetFrameTimestampSupportedANDROID", 492 "eglGetFrameTimestampsANDROID", 493}; 494 495static const char* s_EGL_ANGLE_query_surface_pointer[] = 496{ 497 "eglQuerySurfacePointerANGLE", 498}; 499 500static const char* s_EGL_EXT_client_sync[] = 501{ 502 "eglClientSignalSyncEXT", 503}; 504 505static const char* s_EGL_EXT_device_base[] = 506{ 507 "eglQueryDeviceAttribEXT", 508 "eglQueryDeviceStringEXT", 509 "eglQueryDevicesEXT", 510 "eglQueryDisplayAttribEXT", 511}; 512 513static const char* s_EGL_EXT_device_enumeration[] = 514{ 515 "eglQueryDevicesEXT", 516}; 517 518static const char* s_EGL_EXT_device_query[] = 519{ 520 "eglQueryDeviceAttribEXT", 521 "eglQueryDeviceStringEXT", 522 "eglQueryDisplayAttribEXT", 523}; 524 525static const char* s_EGL_EXT_image_dma_buf_import_modifiers[] = 526{ 527 "eglQueryDmaBufFormatsEXT", 528 "eglQueryDmaBufModifiersEXT", 529}; 530 531static const char* s_EGL_EXT_output_base[] = 532{ 533 "eglGetOutputLayersEXT", 534 "eglGetOutputPortsEXT", 535 "eglOutputLayerAttribEXT", 536 "eglOutputPortAttribEXT", 537 "eglQueryOutputLayerAttribEXT", 538 "eglQueryOutputLayerStringEXT", 539 "eglQueryOutputPortAttribEXT", 540 "eglQueryOutputPortStringEXT", 541}; 542 543static const char* s_EGL_EXT_platform_base[] = 544{ 545 "eglCreatePlatformPixmapSurfaceEXT", 546 "eglCreatePlatformWindowSurfaceEXT", 547 "eglGetPlatformDisplayEXT", 548}; 549 550static const char* s_EGL_EXT_stream_consumer_egloutput[] = 551{ 552 "eglStreamConsumerOutputEXT", 553}; 554 555static const char* s_EGL_EXT_swap_buffers_with_damage[] = 556{ 557 "eglSwapBuffersWithDamageEXT", 558}; 559 560static const char* s_EGL_EXT_sync_reuse[] = 561{ 562 "eglUnsignalSyncEXT", 563}; 564 565static const char* s_EGL_HI_clientpixmap[] = 566{ 567 "eglCreatePixmapSurfaceHI", 568}; 569 570static const char* s_EGL_KHR_cl_event2[] = 571{ 572 "eglCreateSync64KHR", 573}; 574 575static const char* s_EGL_KHR_debug[] = 576{ 577 "eglDebugMessageControlKHR", 578 "eglLabelObjectKHR", 579 "eglQueryDebugKHR", 580}; 581 582static const char* s_EGL_KHR_display_reference[] = 583{ 584 "eglQueryDisplayAttribKHR", 585}; 586 587static const char* s_EGL_KHR_fence_sync[] = 588{ 589 "eglClientWaitSyncKHR", 590 "eglCreateSyncKHR", 591 "eglDestroySyncKHR", 592 "eglGetSyncAttribKHR", 593}; 594 595static const char* s_EGL_KHR_image[] = 596{ 597 "eglCreateImageKHR", 598 "eglDestroyImageKHR", 599}; 600 601static const char* s_EGL_KHR_image_base[] = 602{ 603 "eglCreateImageKHR", 604 "eglDestroyImageKHR", 605}; 606 607static const char* s_EGL_KHR_lock_surface[] = 608{ 609 "eglLockSurfaceKHR", 610 "eglUnlockSurfaceKHR", 611}; 612 613static const char* s_EGL_KHR_lock_surface3[] = 614{ 615 "eglLockSurfaceKHR", 616 "eglQuerySurface64KHR", 617 "eglUnlockSurfaceKHR", 618}; 619 620static const char* s_EGL_KHR_partial_update[] = 621{ 622 "eglSetDamageRegionKHR", 623}; 624 625static const char* s_EGL_KHR_reusable_sync[] = 626{ 627 "eglClientWaitSyncKHR", 628 "eglCreateSyncKHR", 629 "eglDestroySyncKHR", 630 "eglGetSyncAttribKHR", 631 "eglSignalSyncKHR", 632}; 633 634static const char* s_EGL_KHR_stream[] = 635{ 636 "eglCreateStreamKHR", 637 "eglDestroyStreamKHR", 638 "eglQueryStreamKHR", 639 "eglQueryStreamu64KHR", 640 "eglStreamAttribKHR", 641}; 642 643static const char* s_EGL_KHR_stream_attrib[] = 644{ 645 "eglCreateStreamAttribKHR", 646 "eglQueryStreamAttribKHR", 647 "eglSetStreamAttribKHR", 648 "eglStreamConsumerAcquireAttribKHR", 649 "eglStreamConsumerReleaseAttribKHR", 650}; 651 652static const char* s_EGL_KHR_stream_consumer_gltexture[] = 653{ 654 "eglStreamConsumerAcquireKHR", 655 "eglStreamConsumerGLTextureExternalKHR", 656 "eglStreamConsumerReleaseKHR", 657}; 658 659static const char* s_EGL_KHR_stream_cross_process_fd[] = 660{ 661 "eglCreateStreamFromFileDescriptorKHR", 662 "eglGetStreamFileDescriptorKHR", 663}; 664 665static const char* s_EGL_KHR_stream_fifo[] = 666{ 667 "eglQueryStreamTimeKHR", 668}; 669 670static const char* s_EGL_KHR_stream_producer_eglsurface[] = 671{ 672 "eglCreateStreamProducerSurfaceKHR", 673}; 674 675static const char* s_EGL_KHR_swap_buffers_with_damage[] = 676{ 677 "eglSwapBuffersWithDamageKHR", 678}; 679 680static const char* s_EGL_KHR_wait_sync[] = 681{ 682 "eglWaitSyncKHR", 683}; 684 685static const char* s_EGL_MESA_drm_image[] = 686{ 687 "eglCreateDRMImageMESA", 688 "eglExportDRMImageMESA", 689}; 690 691static const char* s_EGL_MESA_image_dma_buf_export[] = 692{ 693 "eglExportDMABUFImageMESA", 694 "eglExportDMABUFImageQueryMESA", 695}; 696 697static const char* s_EGL_NOK_swap_region[] = 698{ 699 "eglSwapBuffersRegionNOK", 700}; 701 702static const char* s_EGL_NOK_swap_region2[] = 703{ 704 "eglSwapBuffersRegion2NOK", 705}; 706 707static const char* s_EGL_NV_native_query[] = 708{ 709 "eglQueryNativeDisplayNV", 710 "eglQueryNativePixmapNV", 711 "eglQueryNativeWindowNV", 712}; 713 714static const char* s_EGL_NV_post_sub_buffer[] = 715{ 716 "eglPostSubBufferNV", 717}; 718 719static const char* s_EGL_NV_stream_consumer_gltexture_yuv[] = 720{ 721 "eglStreamConsumerGLTextureExternalAttribsNV", 722}; 723 724static const char* s_EGL_NV_stream_flush[] = 725{ 726 "eglStreamFlushNV", 727}; 728 729static const char* s_EGL_NV_stream_metadata[] = 730{ 731 "eglQueryDisplayAttribNV", 732 "eglQueryStreamMetadataNV", 733 "eglSetStreamMetadataNV", 734}; 735 736static const char* s_EGL_NV_stream_reset[] = 737{ 738 "eglResetStreamNV", 739}; 740 741static const char* s_EGL_NV_stream_sync[] = 742{ 743 "eglCreateStreamSyncNV", 744}; 745 746static const char* s_EGL_NV_sync[] = 747{ 748 "eglClientWaitSyncNV", 749 "eglCreateFenceSyncNV", 750 "eglDestroySyncNV", 751 "eglFenceNV", 752 "eglGetSyncAttribNV", 753 "eglSignalSyncNV", 754}; 755 756static const char* s_EGL_NV_system_time[] = 757{ 758 "eglGetSystemTimeFrequencyNV", 759 "eglGetSystemTimeNV", 760}; 761 762static const char* s_EGL_EXT_compositor[] = 763{ 764 "eglCompositorSetContextListEXT", 765 "eglCompositorSetContextAttributesEXT", 766 "eglCompositorSetWindowListEXT", 767 "eglCompositorSetWindowAttributesEXT", 768 "eglCompositorBindTexWindowEXT", 769 "eglCompositorSetSizeEXT", 770 "eglCompositorSwapPolicyEXT", 771}; 772 773static const char* s_GL_APPLE_copy_texture_levels[] = 774{ 775 "glCopyTextureLevelsAPPLE", 776}; 777 778static const char* s_GL_APPLE_framebuffer_multisample[] = 779{ 780 "glRenderbufferStorageMultisampleAPPLE", 781 "glResolveMultisampleFramebufferAPPLE", 782}; 783 784static const char* s_GL_APPLE_sync[] = 785{ 786 "glClientWaitSyncAPPLE", 787 "glDeleteSyncAPPLE", 788 "glFenceSyncAPPLE", 789 "glGetInteger64vAPPLE", 790 "glGetSyncivAPPLE", 791 "glIsSyncAPPLE", 792 "glWaitSyncAPPLE", 793}; 794 795static const char* s_GL_EXT_debug_marker[] = 796{ 797 "glInsertEventMarkerEXT", 798 "glPopGroupMarkerEXT", 799 "glPushGroupMarkerEXT", 800}; 801 802static const char* s_GL_EXT_discard_framebuffer[] = 803{ 804 "glDiscardFramebufferEXT", 805}; 806 807static const char* s_GL_EXT_map_buffer_range[] = 808{ 809 "glFlushMappedBufferRangeEXT", 810 "glMapBufferRangeEXT", 811}; 812 813static const char* s_GL_EXT_multi_draw_arrays[] = 814{ 815 "glMultiDrawArraysEXT", 816 "glMultiDrawElementsEXT", 817}; 818 819static const char* s_GL_EXT_multisampled_render_to_texture[] = 820{ 821 "glFramebufferTexture2DMultisampleEXT", 822 "glRenderbufferStorageMultisampleEXT", 823}; 824 825static const char* s_GL_EXT_robustness[] = 826{ 827 "glGetGraphicsResetStatusEXT", 828 "glGetnUniformfvEXT", 829 "glGetnUniformivEXT", 830 "glReadnPixelsEXT", 831}; 832 833static const char* s_GL_EXT_texture_storage[] = 834{ 835 "glTexStorage1DEXT", 836 "glTexStorage2DEXT", 837 "glTexStorage3DEXT", 838 "glTextureStorage1DEXT", 839 "glTextureStorage2DEXT", 840 "glTextureStorage3DEXT", 841}; 842 843static const char* s_GL_IMG_multisampled_render_to_texture[] = 844{ 845 "glFramebufferTexture2DMultisampleIMG", 846 "glRenderbufferStorageMultisampleIMG", 847}; 848 849static const char* s_GL_IMG_user_clip_plane[] = 850{ 851 "glClipPlanefIMG", 852 "glClipPlanexIMG", 853}; 854 855static const char* s_GL_NV_fence[] = 856{ 857 "glDeleteFencesNV", 858 "glFinishFenceNV", 859 "glGenFencesNV", 860 "glGetFenceivNV", 861 "glIsFenceNV", 862 "glSetFenceNV", 863 "glTestFenceNV", 864}; 865 866static const char* s_GL_OES_EGL_image[] = 867{ 868 "glEGLImageTargetRenderbufferStorageOES", 869 "glEGLImageTargetTexture2DOES", 870}; 871 872static const char* s_GL_OES_blend_equation_separate[] = 873{ 874 "glBlendEquationSeparateOES", 875}; 876 877static const char* s_GL_OES_blend_func_separate[] = 878{ 879 "glBlendFuncSeparateOES", 880}; 881 882static const char* s_GL_OES_blend_subtract[] = 883{ 884 "glBlendEquationOES", 885}; 886 887static const char* s_GL_OES_draw_texture[] = 888{ 889 "glDrawTexfOES", 890 "glDrawTexfvOES", 891 "glDrawTexiOES", 892 "glDrawTexivOES", 893 "glDrawTexsOES", 894 "glDrawTexsvOES", 895 "glDrawTexxOES", 896 "glDrawTexxvOES", 897}; 898 899static const char* s_GL_OES_fixed_point[] = 900{ 901 "glAlphaFuncxOES", 902 "glClearColorxOES", 903 "glClearDepthxOES", 904 "glClipPlanexOES", 905 "glColor4xOES", 906 "glDepthRangexOES", 907 "glFogxOES", 908 "glFogxvOES", 909 "glFrustumxOES", 910 "glGetClipPlanexOES", 911 "glGetFixedvOES", 912 "glGetLightxvOES", 913 "glGetMaterialxvOES", 914 "glGetTexEnvxvOES", 915 "glGetTexParameterxvOES", 916 "glLightModelxOES", 917 "glLightModelxvOES", 918 "glLightxOES", 919 "glLightxvOES", 920 "glLineWidthxOES", 921 "glLoadMatrixxOES", 922 "glMaterialxOES", 923 "glMaterialxvOES", 924 "glMultMatrixxOES", 925 "glMultiTexCoord4xOES", 926 "glNormal3xOES", 927 "glOrthoxOES", 928 "glPointParameterxOES", 929 "glPointParameterxvOES", 930 "glPointSizexOES", 931 "glPolygonOffsetxOES", 932 "glRotatexOES", 933 "glSampleCoveragexOES", 934 "glScalexOES", 935 "glTexEnvxOES", 936 "glTexEnvxvOES", 937 "glTexParameterxOES", 938 "glTexParameterxvOES", 939 "glTranslatexOES", 940}; 941 942static const char* s_GL_OES_framebuffer_object[] = 943{ 944 "glBindFramebufferOES", 945 "glBindRenderbufferOES", 946 "glCheckFramebufferStatusOES", 947 "glDeleteFramebuffersOES", 948 "glDeleteRenderbuffersOES", 949 "glFramebufferRenderbufferOES", 950 "glFramebufferTexture2DOES", 951 "glGenFramebuffersOES", 952 "glGenRenderbuffersOES", 953 "glGenerateMipmapOES", 954 "glGetFramebufferAttachmentParameterivOES", 955 "glGetRenderbufferParameterivOES", 956 "glIsFramebufferOES", 957 "glIsRenderbufferOES", 958 "glRenderbufferStorageOES", 959}; 960 961static const char* s_GL_OES_mapbuffer[] = 962{ 963 "glGetBufferPointervOES", 964 "glMapBufferOES", 965 "glUnmapBufferOES", 966}; 967 968static const char* s_GL_OES_matrix_palette[] = 969{ 970 "glCurrentPaletteMatrixOES", 971 "glLoadPaletteFromModelViewMatrixOES", 972 "glMatrixIndexPointerOES", 973 "glWeightPointerOES", 974}; 975 976static const char* s_GL_OES_point_size_array[] = 977{ 978 "glPointSizePointerOES", 979}; 980 981static const char* s_GL_OES_query_matrix[] = 982{ 983 "glQueryMatrixxOES", 984}; 985 986static const char* s_GL_OES_single_precision[] = 987{ 988 "glClearDepthfOES", 989 "glClipPlanefOES", 990 "glDepthRangefOES", 991 "glFrustumfOES", 992 "glGetClipPlanefOES", 993 "glOrthofOES", 994}; 995 996static const char* s_GL_OES_texture_cube_map[] = 997{ 998 "glGetTexGenfvOES", 999 "glGetTexGenivOES", 1000 "glGetTexGenxvOES", 1001 "glTexGenfOES", 1002 "glTexGenfvOES", 1003 "glTexGeniOES", 1004 "glTexGenivOES", 1005 "glTexGenxOES", 1006 "glTexGenxvOES", 1007}; 1008 1009static const char* s_GL_OES_vertex_array_object[] = 1010{ 1011 "glBindVertexArrayOES", 1012 "glDeleteVertexArraysOES", 1013 "glGenVertexArraysOES", 1014 "glIsVertexArrayOES", 1015}; 1016 1017static const char* s_GL_QCOM_driver_control[] = 1018{ 1019 "glDisableDriverControlQCOM", 1020 "glEnableDriverControlQCOM", 1021 "glGetDriverControlStringQCOM", 1022 "glGetDriverControlsQCOM", 1023}; 1024 1025static const char* s_GL_QCOM_extended_get[] = 1026{ 1027 "glExtGetBufferPointervQCOM", 1028 "glExtGetBuffersQCOM", 1029 "glExtGetFramebuffersQCOM", 1030 "glExtGetRenderbuffersQCOM", 1031 "glExtGetTexLevelParameterivQCOM", 1032 "glExtGetTexSubImageQCOM", 1033 "glExtGetTexturesQCOM", 1034 "glExtTexObjectStateOverrideiQCOM", 1035}; 1036 1037static const char* s_GL_QCOM_extended_get2[] = 1038{ 1039 "glExtGetProgramBinarySourceQCOM", 1040 "glExtGetProgramsQCOM", 1041 "glExtGetShadersQCOM", 1042 "glExtIsProgramBinaryQCOM", 1043}; 1044 1045static const char* s_GL_QCOM_tiled_rendering[] = 1046{ 1047 "glEndTilingQCOM", 1048 "glStartTilingQCOM", 1049}; 1050 1051static const char* s_GL_AMD_framebuffer_multisample_advanced[] = 1052{ 1053 "glNamedRenderbufferStorageMultisampleAdvancedAMD", 1054 "glRenderbufferStorageMultisampleAdvancedAMD", 1055}; 1056 1057static const char* s_GL_AMD_performance_monitor[] = 1058{ 1059 "glBeginPerfMonitorAMD", 1060 "glDeletePerfMonitorsAMD", 1061 "glEndPerfMonitorAMD", 1062 "glGenPerfMonitorsAMD", 1063 "glGetPerfMonitorCounterDataAMD", 1064 "glGetPerfMonitorCounterInfoAMD", 1065 "glGetPerfMonitorCounterStringAMD", 1066 "glGetPerfMonitorCountersAMD", 1067 "glGetPerfMonitorGroupStringAMD", 1068 "glGetPerfMonitorGroupsAMD", 1069 "glSelectPerfMonitorCountersAMD", 1070}; 1071 1072static const char* s_GL_ANGLE_framebuffer_blit[] = 1073{ 1074 "glBlitFramebufferANGLE", 1075}; 1076 1077static const char* s_GL_ANGLE_framebuffer_multisample[] = 1078{ 1079 "glRenderbufferStorageMultisampleANGLE", 1080}; 1081 1082static const char* s_GL_ANGLE_instanced_arrays[] = 1083{ 1084 "glDrawArraysInstancedANGLE", 1085 "glDrawElementsInstancedANGLE", 1086 "glVertexAttribDivisorANGLE", 1087}; 1088 1089static const char* s_GL_ANGLE_translated_shader_source[] = 1090{ 1091 "glGetTranslatedShaderSourceANGLE", 1092}; 1093 1094static const char* s_GL_EXT_EGL_image_storage[] = 1095{ 1096 "glEGLImageTargetTexStorageEXT", 1097 "glEGLImageTargetTextureStorageEXT", 1098}; 1099 1100static const char* s_GL_EXT_base_instance[] = 1101{ 1102 "glDrawArraysInstancedBaseInstanceEXT", 1103 "glDrawElementsInstancedBaseInstanceEXT", 1104 "glDrawElementsInstancedBaseVertexBaseInstanceEXT", 1105}; 1106 1107static const char* s_GL_EXT_blend_func_extended[] = 1108{ 1109 "glBindFragDataLocationEXT", 1110 "glBindFragDataLocationIndexedEXT", 1111 "glGetFragDataIndexEXT", 1112 "glGetProgramResourceLocationIndexEXT", 1113}; 1114 1115static const char* s_GL_EXT_buffer_storage[] = 1116{ 1117 "glBufferStorageEXT", 1118}; 1119 1120static const char* s_GL_EXT_clear_texture[] = 1121{ 1122 "glClearTexImageEXT", 1123 "glClearTexSubImageEXT", 1124}; 1125 1126static const char* s_GL_EXT_clip_control[] = 1127{ 1128 "glClipControlEXT", 1129}; 1130 1131static const char* s_GL_EXT_copy_image[] = 1132{ 1133 "glCopyImageSubDataEXT", 1134}; 1135 1136static const char* s_GL_EXT_debug_label[] = 1137{ 1138 "glGetObjectLabelEXT", 1139 "glLabelObjectEXT", 1140}; 1141 1142static const char* s_GL_EXT_disjoint_timer_query[] = 1143{ 1144 "glBeginQueryEXT", 1145 "glDeleteQueriesEXT", 1146 "glEndQueryEXT", 1147 "glGenQueriesEXT", 1148 "glGetQueryObjecti64vEXT", 1149 "glGetQueryObjectivEXT", 1150 "glGetQueryObjectui64vEXT", 1151 "glGetQueryObjectuivEXT", 1152 "glGetQueryivEXT", 1153 "glIsQueryEXT", 1154 "glQueryCounterEXT", 1155}; 1156 1157static const char* s_GL_EXT_draw_buffers[] = 1158{ 1159 "glDrawBuffersEXT", 1160}; 1161 1162static const char* s_GL_EXT_draw_buffers_indexed[] = 1163{ 1164 "glBlendEquationSeparateiEXT", 1165 "glBlendEquationiEXT", 1166 "glBlendFuncSeparateiEXT", 1167 "glBlendFunciEXT", 1168 "glColorMaskiEXT", 1169 "glDisableiEXT", 1170 "glEnableiEXT", 1171 "glIsEnablediEXT", 1172}; 1173 1174static const char* s_GL_EXT_draw_elements_base_vertex[] = 1175{ 1176 "glDrawElementsBaseVertexEXT", 1177 "glDrawElementsInstancedBaseVertexEXT", 1178 "glDrawRangeElementsBaseVertexEXT", 1179 "glMultiDrawElementsBaseVertexEXT", 1180}; 1181 1182static const char* s_GL_EXT_draw_instanced[] = 1183{ 1184 "glDrawArraysInstancedEXT", 1185 "glDrawElementsInstancedEXT", 1186}; 1187 1188static const char* s_GL_EXT_draw_transform_feedback[] = 1189{ 1190 "glDrawTransformFeedbackEXT", 1191 "glDrawTransformFeedbackInstancedEXT", 1192}; 1193 1194static const char* s_GL_EXT_external_buffer[] = 1195{ 1196 "glBufferStorageExternalEXT", 1197 "glNamedBufferStorageExternalEXT", 1198}; 1199 1200static const char* s_GL_EXT_geometry_shader[] = 1201{ 1202 "glFramebufferTextureEXT", 1203}; 1204 1205static const char* s_GL_EXT_instanced_arrays[] = 1206{ 1207 "glDrawArraysInstancedEXT", 1208 "glDrawElementsInstancedEXT", 1209 "glVertexAttribDivisorEXT", 1210}; 1211 1212static const char* s_GL_EXT_memory_object[] = 1213{ 1214 "glBufferStorageMemEXT", 1215 "glCreateMemoryObjectsEXT", 1216 "glDeleteMemoryObjectsEXT", 1217 "glGetMemoryObjectParameterivEXT", 1218 "glGetUnsignedBytevEXT", 1219 "glGetUnsignedBytei_vEXT", 1220 "glIsMemoryObjectEXT", 1221 "glMemoryObjectParameterivEXT", 1222 "glNamedBufferStorageMemEXT", 1223 "glTexStorageMem2DEXT", 1224 "glTexStorageMem2DMultisampleEXT", 1225 "glTexStorageMem3DEXT", 1226 "glTexStorageMem3DMultisampleEXT", 1227 "glTextureStorageMem2DEXT", 1228 "glTextureStorageMem2DMultisampleEXT", 1229 "glTextureStorageMem3DEXT", 1230 "glTextureStorageMem3DMultisampleEXT", 1231}; 1232 1233static const char* s_GL_EXT_memory_object_fd[] = 1234{ 1235 "glImportMemoryFdEXT", 1236}; 1237 1238static const char* s_GL_EXT_memory_object_win32[] = 1239{ 1240 "glImportMemoryWin32HandleEXT", 1241 "glImportMemoryWin32NameEXT", 1242}; 1243 1244static const char* s_GL_EXT_multi_draw_indirect[] = 1245{ 1246 "glMultiDrawArraysIndirectEXT", 1247 "glMultiDrawElementsIndirectEXT", 1248}; 1249 1250static const char* s_GL_EXT_multiview_draw_buffers[] = 1251{ 1252 "glDrawBuffersIndexedEXT", 1253 "glGetIntegeri_vEXT", 1254 "glReadBufferIndexedEXT", 1255}; 1256 1257static const char* s_GL_EXT_occlusion_query_boolean[] = 1258{ 1259 "glBeginQueryEXT", 1260 "glDeleteQueriesEXT", 1261 "glEndQueryEXT", 1262 "glGenQueriesEXT", 1263 "glGetQueryObjectuivEXT", 1264 "glGetQueryivEXT", 1265 "glIsQueryEXT", 1266}; 1267 1268static const char* s_GL_EXT_polygon_offset_clamp[] = 1269{ 1270 "glPolygonOffsetClampEXT", 1271}; 1272 1273static const char* s_GL_EXT_primitive_bounding_box[] = 1274{ 1275 "glPrimitiveBoundingBoxEXT", 1276}; 1277 1278static const char* s_GL_EXT_raster_multisample[] = 1279{ 1280 "glRasterSamplesEXT", 1281}; 1282 1283static const char* s_GL_EXT_semaphore[] = 1284{ 1285 "glDeleteSemaphoresEXT", 1286 "glGenSemaphoresEXT", 1287 "glGetSemaphoreParameterui64vEXT", 1288 "glGetUnsignedBytevEXT", 1289 "glGetUnsignedBytei_vEXT", 1290 "glIsSemaphoreEXT", 1291 "glSemaphoreParameterui64vEXT", 1292 "glSignalSemaphoreEXT", 1293 "glWaitSemaphoreEXT", 1294}; 1295 1296static const char* s_GL_EXT_semaphore_fd[] = 1297{ 1298 "glImportSemaphoreFdEXT", 1299}; 1300 1301static const char* s_GL_EXT_semaphore_win32[] = 1302{ 1303 "glImportSemaphoreWin32HandleEXT", 1304 "glImportSemaphoreWin32NameEXT", 1305}; 1306 1307static const char* s_GL_EXT_separate_shader_objects[] = 1308{ 1309 "glActiveShaderProgramEXT", 1310 "glBindProgramPipelineEXT", 1311 "glCreateShaderProgramvEXT", 1312 "glDeleteProgramPipelinesEXT", 1313 "glGenProgramPipelinesEXT", 1314 "glGetProgramPipelineInfoLogEXT", 1315 "glGetProgramPipelineivEXT", 1316 "glIsProgramPipelineEXT", 1317 "glProgramParameteriEXT", 1318 "glProgramUniform1fEXT", 1319 "glProgramUniform1fvEXT", 1320 "glProgramUniform1iEXT", 1321 "glProgramUniform1ivEXT", 1322 "glProgramUniform1uiEXT", 1323 "glProgramUniform1uivEXT", 1324 "glProgramUniform2fEXT", 1325 "glProgramUniform2fvEXT", 1326 "glProgramUniform2iEXT", 1327 "glProgramUniform2ivEXT", 1328 "glProgramUniform2uiEXT", 1329 "glProgramUniform2uivEXT", 1330 "glProgramUniform3fEXT", 1331 "glProgramUniform3fvEXT", 1332 "glProgramUniform3iEXT", 1333 "glProgramUniform3ivEXT", 1334 "glProgramUniform3uiEXT", 1335 "glProgramUniform3uivEXT", 1336 "glProgramUniform4fEXT", 1337 "glProgramUniform4fvEXT", 1338 "glProgramUniform4iEXT", 1339 "glProgramUniform4ivEXT", 1340 "glProgramUniform4uiEXT", 1341 "glProgramUniform4uivEXT", 1342 "glProgramUniformMatrix2fvEXT", 1343 "glProgramUniformMatrix2x3fvEXT", 1344 "glProgramUniformMatrix2x4fvEXT", 1345 "glProgramUniformMatrix3fvEXT", 1346 "glProgramUniformMatrix3x2fvEXT", 1347 "glProgramUniformMatrix3x4fvEXT", 1348 "glProgramUniformMatrix4fvEXT", 1349 "glProgramUniformMatrix4x2fvEXT", 1350 "glProgramUniformMatrix4x3fvEXT", 1351 "glUseProgramStagesEXT", 1352 "glValidateProgramPipelineEXT", 1353}; 1354 1355static const char* s_GL_EXT_shader_framebuffer_fetch_non_coherent[] = 1356{ 1357 "glFramebufferFetchBarrierEXT", 1358}; 1359 1360static const char* s_GL_EXT_shader_pixel_local_storage2[] = 1361{ 1362 "glClearPixelLocalStorageuiEXT", 1363 "glFramebufferPixelLocalStorageSizeEXT", 1364 "glGetFramebufferPixelLocalStorageSizeEXT", 1365}; 1366 1367static const char* s_GL_EXT_sparse_texture[] = 1368{ 1369 "glTexPageCommitmentEXT", 1370}; 1371 1372static const char* s_GL_EXT_tessellation_shader[] = 1373{ 1374 "glPatchParameteriEXT", 1375}; 1376 1377static const char* s_GL_EXT_texture_border_clamp[] = 1378{ 1379 "glGetSamplerParameterIivEXT", 1380 "glGetSamplerParameterIuivEXT", 1381 "glGetTexParameterIivEXT", 1382 "glGetTexParameterIuivEXT", 1383 "glSamplerParameterIivEXT", 1384 "glSamplerParameterIuivEXT", 1385 "glTexParameterIivEXT", 1386 "glTexParameterIuivEXT", 1387}; 1388 1389static const char* s_GL_EXT_texture_buffer[] = 1390{ 1391 "glTexBufferEXT", 1392 "glTexBufferRangeEXT", 1393}; 1394 1395static const char* s_GL_EXT_texture_view[] = 1396{ 1397 "glTextureViewEXT", 1398}; 1399 1400static const char* s_GL_EXT_win32_keyed_mutex[] = 1401{ 1402 "glAcquireKeyedMutexWin32EXT", 1403 "glReleaseKeyedMutexWin32EXT", 1404}; 1405 1406static const char* s_GL_EXT_window_rectangles[] = 1407{ 1408 "glWindowRectanglesEXT", 1409}; 1410 1411static const char* s_GL_IMG_bindless_texture[] = 1412{ 1413 "glGetTextureHandleIMG", 1414 "glGetTextureSamplerHandleIMG", 1415 "glProgramUniformHandleui64IMG", 1416 "glProgramUniformHandleui64vIMG", 1417 "glUniformHandleui64IMG", 1418 "glUniformHandleui64vIMG", 1419}; 1420 1421static const char* s_GL_IMG_framebuffer_downsample[] = 1422{ 1423 "glFramebufferTexture2DDownsampleIMG", 1424 "glFramebufferTextureLayerDownsampleIMG", 1425}; 1426 1427static const char* s_GL_INTEL_framebuffer_CMAA[] = 1428{ 1429 "glApplyFramebufferAttachmentCMAAINTEL", 1430}; 1431 1432static const char* s_GL_INTEL_performance_query[] = 1433{ 1434 "glBeginPerfQueryINTEL", 1435 "glCreatePerfQueryINTEL", 1436 "glDeletePerfQueryINTEL", 1437 "glEndPerfQueryINTEL", 1438 "glGetFirstPerfQueryIdINTEL", 1439 "glGetNextPerfQueryIdINTEL", 1440 "glGetPerfCounterInfoINTEL", 1441 "glGetPerfQueryDataINTEL", 1442 "glGetPerfQueryIdByNameINTEL", 1443 "glGetPerfQueryInfoINTEL", 1444}; 1445 1446static const char* s_GL_KHR_blend_equation_advanced[] = 1447{ 1448 "glBlendBarrierKHR", 1449}; 1450 1451static const char* s_GL_KHR_debug[] = 1452{ 1453 "glDebugMessageCallbackKHR", 1454 "glDebugMessageControlKHR", 1455 "glDebugMessageInsertKHR", 1456 "glGetDebugMessageLogKHR", 1457 "glGetObjectLabelKHR", 1458 "glGetObjectPtrLabelKHR", 1459 "glGetPointervKHR", 1460 "glObjectLabelKHR", 1461 "glObjectPtrLabelKHR", 1462 "glPopDebugGroupKHR", 1463 "glPushDebugGroupKHR", 1464}; 1465 1466static const char* s_GL_KHR_robustness[] = 1467{ 1468 "glGetGraphicsResetStatusKHR", 1469 "glGetnUniformfvKHR", 1470 "glGetnUniformivKHR", 1471 "glGetnUniformuivKHR", 1472 "glReadnPixelsKHR", 1473}; 1474 1475static const char* s_GL_KHR_parallel_shader_compile[] = 1476{ 1477 "glMaxShaderCompilerThreadsKHR", 1478}; 1479 1480static const char* s_GL_NV_bindless_texture[] = 1481{ 1482 "glGetImageHandleNV", 1483 "glGetTextureHandleNV", 1484 "glGetTextureSamplerHandleNV", 1485 "glIsImageHandleResidentNV", 1486 "glIsTextureHandleResidentNV", 1487 "glMakeImageHandleNonResidentNV", 1488 "glMakeImageHandleResidentNV", 1489 "glMakeTextureHandleNonResidentNV", 1490 "glMakeTextureHandleResidentNV", 1491 "glProgramUniformHandleui64NV", 1492 "glProgramUniformHandleui64vNV", 1493 "glUniformHandleui64NV", 1494 "glUniformHandleui64vNV", 1495}; 1496 1497static const char* s_GL_NV_blend_equation_advanced[] = 1498{ 1499 "glBlendBarrierNV", 1500 "glBlendParameteriNV", 1501}; 1502 1503static const char* s_GL_NV_clip_space_w_scaling[] = 1504{ 1505 "glViewportPositionWScaleNV", 1506}; 1507 1508static const char* s_GL_NV_conditional_render[] = 1509{ 1510 "glBeginConditionalRenderNV", 1511 "glEndConditionalRenderNV", 1512}; 1513 1514static const char* s_GL_NV_conservative_raster[] = 1515{ 1516 "glSubpixelPrecisionBiasNV", 1517}; 1518 1519static const char* s_GL_NV_conservative_raster_pre_snap_triangles[] = 1520{ 1521 "glConservativeRasterParameteriNV", 1522}; 1523 1524static const char* s_GL_NV_copy_buffer[] = 1525{ 1526 "glCopyBufferSubDataNV", 1527}; 1528 1529static const char* s_GL_NV_coverage_sample[] = 1530{ 1531 "glCoverageMaskNV", 1532 "glCoverageOperationNV", 1533}; 1534 1535static const char* s_GL_NV_draw_buffers[] = 1536{ 1537 "glDrawBuffersNV", 1538}; 1539 1540static const char* s_GL_NV_draw_instanced[] = 1541{ 1542 "glDrawArraysInstancedNV", 1543 "glDrawElementsInstancedNV", 1544}; 1545 1546static const char* s_GL_NV_draw_vulkan_image[] = 1547{ 1548 "glDrawVkImageNV", 1549 "glGetVkProcAddrNV", 1550 "glWaitVkSemaphoreNV", 1551 "glSignalVkSemaphoreNV", 1552 "glSignalVkFenceNV", 1553}; 1554 1555static const char* s_GL_NV_fragment_coverage_to_color[] = 1556{ 1557 "glFragmentCoverageColorNV", 1558}; 1559 1560static const char* s_GL_NV_framebuffer_blit[] = 1561{ 1562 "glBlitFramebufferNV", 1563}; 1564 1565static const char* s_GL_NV_framebuffer_mixed_samples[] = 1566{ 1567 "glCoverageModulationNV", 1568 "glCoverageModulationTableNV", 1569 "glGetCoverageModulationTableNV", 1570 "glRasterSamplesEXT", 1571}; 1572 1573static const char* s_GL_NV_framebuffer_multisample[] = 1574{ 1575 "glRenderbufferStorageMultisampleNV", 1576}; 1577 1578static const char* s_GL_NV_gpu_shader5[] = 1579{ 1580 "glGetUniformi64vNV", 1581 "glProgramUniform1i64NV", 1582 "glProgramUniform1i64vNV", 1583 "glProgramUniform1ui64NV", 1584 "glProgramUniform1ui64vNV", 1585 "glProgramUniform2i64NV", 1586 "glProgramUniform2i64vNV", 1587 "glProgramUniform2ui64NV", 1588 "glProgramUniform2ui64vNV", 1589 "glProgramUniform3i64NV", 1590 "glProgramUniform3i64vNV", 1591 "glProgramUniform3ui64NV", 1592 "glProgramUniform3ui64vNV", 1593 "glProgramUniform4i64NV", 1594 "glProgramUniform4i64vNV", 1595 "glProgramUniform4ui64NV", 1596 "glProgramUniform4ui64vNV", 1597 "glUniform1i64NV", 1598 "glUniform1i64vNV", 1599 "glUniform1ui64NV", 1600 "glUniform1ui64vNV", 1601 "glUniform2i64NV", 1602 "glUniform2i64vNV", 1603 "glUniform2ui64NV", 1604 "glUniform2ui64vNV", 1605 "glUniform3i64NV", 1606 "glUniform3i64vNV", 1607 "glUniform3ui64NV", 1608 "glUniform3ui64vNV", 1609 "glUniform4i64NV", 1610 "glUniform4i64vNV", 1611 "glUniform4ui64NV", 1612 "glUniform4ui64vNV", 1613}; 1614 1615static const char* s_GL_NV_instanced_arrays[] = 1616{ 1617 "glVertexAttribDivisorNV", 1618}; 1619 1620static const char* s_GL_NV_internalformat_sample_query[] = 1621{ 1622 "glGetInternalformatSampleivNV", 1623}; 1624 1625static const char* s_GL_NV_memory_attachment[] = 1626{ 1627 "glBufferAttachMemoryNV", 1628 "glGetMemoryObjectDetachedResourcesuivNV", 1629 "glNamedBufferAttachMemoryNV", 1630 "glResetMemoryObjectParameterNV", 1631 "glTexAttachMemoryNV", 1632 "glTextureAttachMemoryNV", 1633}; 1634 1635static const char* s_GL_NV_non_square_matrices[] = 1636{ 1637 "glUniformMatrix2x3fvNV", 1638 "glUniformMatrix2x4fvNV", 1639 "glUniformMatrix3x2fvNV", 1640 "glUniformMatrix3x4fvNV", 1641 "glUniformMatrix4x2fvNV", 1642 "glUniformMatrix4x3fvNV", 1643}; 1644 1645static const char* s_GL_NV_path_rendering[] = 1646{ 1647 "glCopyPathNV", 1648 "glCoverFillPathInstancedNV", 1649 "glCoverFillPathNV", 1650 "glCoverStrokePathInstancedNV", 1651 "glCoverStrokePathNV", 1652 "glDeletePathsNV", 1653 "glGenPathsNV", 1654 "glGetPathCommandsNV", 1655 "glGetPathCoordsNV", 1656 "glGetPathDashArrayNV", 1657 "glGetPathLengthNV", 1658 "glGetPathMetricRangeNV", 1659 "glGetPathMetricsNV", 1660 "glGetPathParameterfvNV", 1661 "glGetPathParameterivNV", 1662 "glGetPathSpacingNV", 1663 "glGetProgramResourcefvNV", 1664 "glInterpolatePathsNV", 1665 "glIsPathNV", 1666 "glIsPointInFillPathNV", 1667 "glIsPointInStrokePathNV", 1668 "glMatrixFrustumEXT", 1669 "glMatrixLoad3x2fNV", 1670 "glMatrixLoad3x3fNV", 1671 "glMatrixLoadIdentityEXT", 1672 "glMatrixLoadTranspose3x3fNV", 1673 "glMatrixLoadTransposedEXT", 1674 "glMatrixLoadTransposefEXT", 1675 "glMatrixLoaddEXT", 1676 "glMatrixLoadfEXT", 1677 "glMatrixMult3x2fNV", 1678 "glMatrixMult3x3fNV", 1679 "glMatrixMultTranspose3x3fNV", 1680 "glMatrixMultTransposedEXT", 1681 "glMatrixMultTransposefEXT", 1682 "glMatrixMultdEXT", 1683 "glMatrixMultfEXT", 1684 "glMatrixOrthoEXT", 1685 "glMatrixPopEXT", 1686 "glMatrixPushEXT", 1687 "glMatrixRotatedEXT", 1688 "glMatrixRotatefEXT", 1689 "glMatrixScaledEXT", 1690 "glMatrixScalefEXT", 1691 "glMatrixTranslatedEXT", 1692 "glMatrixTranslatefEXT", 1693 "glPathCommandsNV", 1694 "glPathCoordsNV", 1695 "glPathCoverDepthFuncNV", 1696 "glPathDashArrayNV", 1697 "glPathGlyphIndexArrayNV", 1698 "glPathGlyphIndexRangeNV", 1699 "glPathGlyphRangeNV", 1700 "glPathGlyphsNV", 1701 "glPathMemoryGlyphIndexArrayNV", 1702 "glPathParameterfNV", 1703 "glPathParameterfvNV", 1704 "glPathParameteriNV", 1705 "glPathParameterivNV", 1706 "glPathStencilDepthOffsetNV", 1707 "glPathStencilFuncNV", 1708 "glPathStringNV", 1709 "glPathSubCommandsNV", 1710 "glPathSubCoordsNV", 1711 "glPointAlongPathNV", 1712 "glProgramPathFragmentInputGenNV", 1713 "glStencilFillPathInstancedNV", 1714 "glStencilFillPathNV", 1715 "glStencilStrokePathInstancedNV", 1716 "glStencilStrokePathNV", 1717 "glStencilThenCoverFillPathInstancedNV", 1718 "glStencilThenCoverFillPathNV", 1719 "glStencilThenCoverStrokePathInstancedNV", 1720 "glStencilThenCoverStrokePathNV", 1721 "glTransformPathNV", 1722 "glWeightPathsNV", 1723}; 1724 1725static const char* s_GL_NV_polygon_mode[] = 1726{ 1727 "glPolygonModeNV", 1728}; 1729 1730static const char* s_GL_NV_read_buffer[] = 1731{ 1732 "glReadBufferNV", 1733}; 1734 1735static const char* s_GL_NV_sample_locations[] = 1736{ 1737 "glFramebufferSampleLocationsfvNV", 1738 "glNamedFramebufferSampleLocationsfvNV", 1739 "glResolveDepthValuesNV", 1740}; 1741 1742static const char* s_GL_NV_scissor_exclusive[] = 1743{ 1744 "glScissorExclusiveArrayvNV", 1745 "glScissorExclusiveNV", 1746}; 1747 1748static const char* s_GL_NV_viewport_array[] = 1749{ 1750 "glDepthRangeArrayfvNV", 1751 "glDepthRangeIndexedfNV", 1752 "glDisableiNV", 1753 "glEnableiNV", 1754 "glGetFloati_vNV", 1755 "glIsEnablediNV", 1756 "glScissorArrayvNV", 1757 "glScissorIndexedNV", 1758 "glScissorIndexedvNV", 1759 "glViewportArrayvNV", 1760 "glViewportIndexedfNV", 1761 "glViewportIndexedfvNV", 1762}; 1763 1764static const char* s_GL_NV_viewport_swizzle[] = 1765{ 1766 "glViewportSwizzleNV", 1767}; 1768 1769static const char* s_GL_OES_copy_image[] = 1770{ 1771 "glCopyImageSubDataOES", 1772}; 1773 1774static const char* s_GL_OES_draw_buffers_indexed[] = 1775{ 1776 "glBlendEquationSeparateiOES", 1777 "glBlendEquationiOES", 1778 "glBlendFuncSeparateiOES", 1779 "glBlendFunciOES", 1780 "glColorMaskiOES", 1781 "glDisableiOES", 1782 "glEnableiOES", 1783 "glIsEnablediOES", 1784}; 1785 1786static const char* s_GL_OES_draw_elements_base_vertex[] = 1787{ 1788 "glDrawElementsBaseVertexOES", 1789 "glDrawElementsInstancedBaseVertexOES", 1790 "glDrawRangeElementsBaseVertexOES", 1791 "glMultiDrawElementsBaseVertexEXT", 1792}; 1793 1794static const char* s_GL_OES_geometry_shader[] = 1795{ 1796 "glFramebufferTextureOES", 1797}; 1798 1799static const char* s_GL_OES_get_program_binary[] = 1800{ 1801 "glGetProgramBinaryOES", 1802 "glProgramBinaryOES", 1803}; 1804 1805static const char* s_GL_OES_primitive_bounding_box[] = 1806{ 1807 "glPrimitiveBoundingBoxOES", 1808}; 1809 1810static const char* s_GL_OES_sample_shading[] = 1811{ 1812 "glMinSampleShadingOES", 1813}; 1814 1815static const char* s_GL_OES_tessellation_shader[] = 1816{ 1817 "glPatchParameteriOES", 1818}; 1819 1820static const char* s_GL_OES_texture_3D[] = 1821{ 1822 "glCompressedTexImage3DOES", 1823 "glCompressedTexSubImage3DOES", 1824 "glCopyTexSubImage3DOES", 1825 "glFramebufferTexture3DOES", 1826 "glTexImage3DOES", 1827 "glTexSubImage3DOES", 1828}; 1829 1830static const char* s_GL_OES_texture_border_clamp[] = 1831{ 1832 "glGetSamplerParameterIivOES", 1833 "glGetSamplerParameterIuivOES", 1834 "glGetTexParameterIivOES", 1835 "glGetTexParameterIuivOES", 1836 "glSamplerParameterIivOES", 1837 "glSamplerParameterIuivOES", 1838 "glTexParameterIivOES", 1839 "glTexParameterIuivOES", 1840}; 1841 1842static const char* s_GL_OES_texture_buffer[] = 1843{ 1844 "glTexBufferOES", 1845 "glTexBufferRangeOES", 1846}; 1847 1848static const char* s_GL_OES_texture_storage_multisample_2d_array[] = 1849{ 1850 "glTexStorage3DMultisampleOES", 1851}; 1852 1853static const char* s_GL_OES_texture_view[] = 1854{ 1855 "glTextureViewOES", 1856}; 1857 1858static const char* s_GL_OES_viewport_array[] = 1859{ 1860 "glDepthRangeArrayfvOES", 1861 "glDepthRangeIndexedfOES", 1862 "glDisableiOES", 1863 "glEnableiOES", 1864 "glGetFloati_vOES", 1865 "glIsEnablediOES", 1866 "glScissorArrayvOES", 1867 "glScissorIndexedOES", 1868 "glScissorIndexedvOES", 1869 "glViewportArrayvOES", 1870 "glViewportIndexedfOES", 1871 "glViewportIndexedfvOES", 1872}; 1873 1874static const char* s_GL_OVR_multiview[] = 1875{ 1876 "glFramebufferTextureMultiviewOVR", 1877}; 1878 1879static const char* s_GL_OVR_multiview_multisampled_render_to_texture[] = 1880{ 1881 "glFramebufferTextureMultisampleMultiviewOVR", 1882}; 1883 1884static const char* s_GL_QCOM_alpha_test[] = 1885{ 1886 "glAlphaFuncQCOM", 1887}; 1888 1889static const char* s_GL_QCOM_framebuffer_foveated[] = 1890{ 1891 "glFramebufferFoveationConfigQCOM", 1892 "glFramebufferFoveationParametersQCOM", 1893}; 1894 1895static const char* s_GL_QCOM_texture_foveated[] = 1896{ 1897 "glTextureFoveationParametersQCOM", 1898}; 1899 1900static const char* s_GL_QCOM_shader_framebuffer_fetch_noncoherent[] = 1901{ 1902 "glFramebufferFetchBarrierQCOM", 1903}; 1904 1905static const struct 1906{ 1907 const char* name; 1908 const int numFunctions; 1909 const char* const* functions; 1910} s_extensions[] = 1911{ 1912 { "EGL_ANDROID_blob_cache", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache), s_EGL_ANDROID_blob_cache }, 1913 { "EGL_ANDROID_create_native_client_buffer", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer), s_EGL_ANDROID_create_native_client_buffer }, 1914 { "EGL_ANDROID_get_native_client_buffer", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_get_native_client_buffer), s_EGL_ANDROID_get_native_client_buffer }, 1915 { "EGL_ANDROID_native_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync), s_EGL_ANDROID_native_fence_sync }, 1916 { "EGL_ANDROID_presentation_time", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time), s_EGL_ANDROID_presentation_time }, 1917 { "EGL_ANDROID_get_frame_timestamps", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_get_frame_timestamps), s_EGL_ANDROID_get_frame_timestamps }, 1918 { "EGL_ANGLE_query_surface_pointer", DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer), s_EGL_ANGLE_query_surface_pointer }, 1919 { "EGL_EXT_client_sync", DE_LENGTH_OF_ARRAY(s_EGL_EXT_client_sync), s_EGL_EXT_client_sync }, 1920 { "EGL_EXT_device_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base), s_EGL_EXT_device_base }, 1921 { "EGL_EXT_device_enumeration", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration), s_EGL_EXT_device_enumeration }, 1922 { "EGL_EXT_device_query", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query), s_EGL_EXT_device_query }, 1923 { "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 }, 1924 { "EGL_EXT_output_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base), s_EGL_EXT_output_base }, 1925 { "EGL_EXT_platform_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base), s_EGL_EXT_platform_base }, 1926 { "EGL_EXT_stream_consumer_egloutput", DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput), s_EGL_EXT_stream_consumer_egloutput }, 1927 { "EGL_EXT_swap_buffers_with_damage", DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage), s_EGL_EXT_swap_buffers_with_damage }, 1928 { "EGL_EXT_sync_reuse", DE_LENGTH_OF_ARRAY(s_EGL_EXT_sync_reuse), s_EGL_EXT_sync_reuse }, 1929 { "EGL_HI_clientpixmap", DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap), s_EGL_HI_clientpixmap }, 1930 { "EGL_KHR_cl_event2", DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2), s_EGL_KHR_cl_event2 }, 1931 { "EGL_KHR_debug", DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug), s_EGL_KHR_debug }, 1932 { "EGL_KHR_display_reference", DE_LENGTH_OF_ARRAY(s_EGL_KHR_display_reference), s_EGL_KHR_display_reference }, 1933 { "EGL_KHR_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync), s_EGL_KHR_fence_sync }, 1934 { "EGL_KHR_image", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image), s_EGL_KHR_image }, 1935 { "EGL_KHR_image_base", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base), s_EGL_KHR_image_base }, 1936 { "EGL_KHR_lock_surface", DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface), s_EGL_KHR_lock_surface }, 1937 { "EGL_KHR_lock_surface3", DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3), s_EGL_KHR_lock_surface3 }, 1938 { "EGL_KHR_partial_update", DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update), s_EGL_KHR_partial_update }, 1939 { "EGL_KHR_reusable_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync), s_EGL_KHR_reusable_sync }, 1940 { "EGL_KHR_stream", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream), s_EGL_KHR_stream }, 1941 { "EGL_KHR_stream_attrib", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib), s_EGL_KHR_stream_attrib }, 1942 { "EGL_KHR_stream_consumer_gltexture", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture), s_EGL_KHR_stream_consumer_gltexture }, 1943 { "EGL_KHR_stream_cross_process_fd", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd), s_EGL_KHR_stream_cross_process_fd }, 1944 { "EGL_KHR_stream_fifo", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo), s_EGL_KHR_stream_fifo }, 1945 { "EGL_KHR_stream_producer_eglsurface", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface), s_EGL_KHR_stream_producer_eglsurface }, 1946 { "EGL_KHR_swap_buffers_with_damage", DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage), s_EGL_KHR_swap_buffers_with_damage }, 1947 { "EGL_KHR_wait_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync), s_EGL_KHR_wait_sync }, 1948 { "EGL_MESA_drm_image", DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image), s_EGL_MESA_drm_image }, 1949 { "EGL_MESA_image_dma_buf_export", DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export), s_EGL_MESA_image_dma_buf_export }, 1950 { "EGL_NOK_swap_region", DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region), s_EGL_NOK_swap_region }, 1951 { "EGL_NOK_swap_region2", DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2), s_EGL_NOK_swap_region2 }, 1952 { "EGL_NV_native_query", DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query), s_EGL_NV_native_query }, 1953 { "EGL_NV_post_sub_buffer", DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer), s_EGL_NV_post_sub_buffer }, 1954 { "EGL_NV_stream_consumer_gltexture_yuv", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv), s_EGL_NV_stream_consumer_gltexture_yuv }, 1955 { "EGL_NV_stream_flush", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_flush), s_EGL_NV_stream_flush }, 1956 { "EGL_NV_stream_metadata", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata), s_EGL_NV_stream_metadata }, 1957 { "EGL_NV_stream_reset", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset), s_EGL_NV_stream_reset }, 1958 { "EGL_NV_stream_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync), s_EGL_NV_stream_sync }, 1959 { "EGL_NV_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_sync), s_EGL_NV_sync }, 1960 { "EGL_NV_system_time", DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time), s_EGL_NV_system_time }, 1961 { "EGL_EXT_compositor", DE_LENGTH_OF_ARRAY(s_EGL_EXT_compositor), s_EGL_EXT_compositor }, 1962 { "GL_APPLE_copy_texture_levels", DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels), s_GL_APPLE_copy_texture_levels }, 1963 { "GL_APPLE_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample), s_GL_APPLE_framebuffer_multisample }, 1964 { "GL_APPLE_sync", DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync), s_GL_APPLE_sync }, 1965 { "GL_EXT_debug_marker", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker), s_GL_EXT_debug_marker }, 1966 { "GL_EXT_discard_framebuffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer), s_GL_EXT_discard_framebuffer }, 1967 { "GL_EXT_map_buffer_range", DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range), s_GL_EXT_map_buffer_range }, 1968 { "GL_EXT_multi_draw_arrays", DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays), s_GL_EXT_multi_draw_arrays }, 1969 { "GL_EXT_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture), s_GL_EXT_multisampled_render_to_texture }, 1970 { "GL_EXT_robustness", DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness), s_GL_EXT_robustness }, 1971 { "GL_EXT_texture_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage), s_GL_EXT_texture_storage }, 1972 { "GL_IMG_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture), s_GL_IMG_multisampled_render_to_texture }, 1973 { "GL_IMG_user_clip_plane", DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane), s_GL_IMG_user_clip_plane }, 1974 { "GL_NV_fence", DE_LENGTH_OF_ARRAY(s_GL_NV_fence), s_GL_NV_fence }, 1975 { "GL_OES_EGL_image", DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image), s_GL_OES_EGL_image }, 1976 { "GL_OES_blend_equation_separate", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate), s_GL_OES_blend_equation_separate }, 1977 { "GL_OES_blend_func_separate", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate), s_GL_OES_blend_func_separate }, 1978 { "GL_OES_blend_subtract", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract), s_GL_OES_blend_subtract }, 1979 { "GL_OES_draw_texture", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture), s_GL_OES_draw_texture }, 1980 { "GL_OES_fixed_point", DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point), s_GL_OES_fixed_point }, 1981 { "GL_OES_framebuffer_object", DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object), s_GL_OES_framebuffer_object }, 1982 { "GL_OES_mapbuffer", DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer), s_GL_OES_mapbuffer }, 1983 { "GL_OES_matrix_palette", DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette), s_GL_OES_matrix_palette }, 1984 { "GL_OES_point_size_array", DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array), s_GL_OES_point_size_array }, 1985 { "GL_OES_query_matrix", DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix), s_GL_OES_query_matrix }, 1986 { "GL_OES_single_precision", DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision), s_GL_OES_single_precision }, 1987 { "GL_OES_texture_cube_map", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map), s_GL_OES_texture_cube_map }, 1988 { "GL_OES_vertex_array_object", DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object), s_GL_OES_vertex_array_object }, 1989 { "GL_QCOM_driver_control", DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control), s_GL_QCOM_driver_control }, 1990 { "GL_QCOM_extended_get", DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get), s_GL_QCOM_extended_get }, 1991 { "GL_QCOM_extended_get2", DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2), s_GL_QCOM_extended_get2 }, 1992 { "GL_QCOM_tiled_rendering", DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering), s_GL_QCOM_tiled_rendering }, 1993 { "GL_AMD_framebuffer_multisample_advanced", DE_LENGTH_OF_ARRAY(s_GL_AMD_framebuffer_multisample_advanced), s_GL_AMD_framebuffer_multisample_advanced }, 1994 { "GL_AMD_performance_monitor", DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor), s_GL_AMD_performance_monitor }, 1995 { "GL_ANGLE_framebuffer_blit", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit), s_GL_ANGLE_framebuffer_blit }, 1996 { "GL_ANGLE_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample), s_GL_ANGLE_framebuffer_multisample }, 1997 { "GL_ANGLE_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays), s_GL_ANGLE_instanced_arrays }, 1998 { "GL_ANGLE_translated_shader_source", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source), s_GL_ANGLE_translated_shader_source }, 1999 { "GL_EXT_EGL_image_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_EGL_image_storage), s_GL_EXT_EGL_image_storage }, 2000 { "GL_EXT_base_instance", DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance), s_GL_EXT_base_instance }, 2001 { "GL_EXT_blend_func_extended", DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended), s_GL_EXT_blend_func_extended }, 2002 { "GL_EXT_buffer_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage), s_GL_EXT_buffer_storage }, 2003 { "GL_EXT_clear_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_clear_texture), s_GL_EXT_clear_texture }, 2004 { "GL_EXT_clip_control", DE_LENGTH_OF_ARRAY(s_GL_EXT_clip_control), s_GL_EXT_clip_control }, 2005 { "GL_EXT_copy_image", DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image), s_GL_EXT_copy_image }, 2006 { "GL_EXT_debug_label", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label), s_GL_EXT_debug_label }, 2007 { "GL_EXT_disjoint_timer_query", DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query), s_GL_EXT_disjoint_timer_query }, 2008 { "GL_EXT_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers), s_GL_EXT_draw_buffers }, 2009 { "GL_EXT_draw_buffers_indexed", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed), s_GL_EXT_draw_buffers_indexed }, 2010 { "GL_EXT_draw_elements_base_vertex", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex), s_GL_EXT_draw_elements_base_vertex }, 2011 { "GL_EXT_draw_instanced", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced), s_GL_EXT_draw_instanced }, 2012 { "GL_EXT_draw_transform_feedback", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_transform_feedback), s_GL_EXT_draw_transform_feedback }, 2013 { "GL_EXT_external_buffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_external_buffer), s_GL_EXT_external_buffer }, 2014 { "GL_EXT_geometry_shader", DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader), s_GL_EXT_geometry_shader }, 2015 { "GL_EXT_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays), s_GL_EXT_instanced_arrays }, 2016 { "GL_EXT_memory_object", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object), s_GL_EXT_memory_object }, 2017 { "GL_EXT_memory_object_fd", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_fd), s_GL_EXT_memory_object_fd }, 2018 { "GL_EXT_memory_object_win32", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_win32), s_GL_EXT_memory_object_win32 }, 2019 { "GL_EXT_multi_draw_indirect", DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect), s_GL_EXT_multi_draw_indirect }, 2020 { "GL_EXT_multiview_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers), s_GL_EXT_multiview_draw_buffers }, 2021 { "GL_EXT_occlusion_query_boolean", DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean), s_GL_EXT_occlusion_query_boolean }, 2022 { "GL_EXT_polygon_offset_clamp", DE_LENGTH_OF_ARRAY(s_GL_EXT_polygon_offset_clamp), s_GL_EXT_polygon_offset_clamp }, 2023 { "GL_EXT_primitive_bounding_box", DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box), s_GL_EXT_primitive_bounding_box }, 2024 { "GL_EXT_raster_multisample", DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample), s_GL_EXT_raster_multisample }, 2025 { "GL_EXT_semaphore", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore), s_GL_EXT_semaphore }, 2026 { "GL_EXT_semaphore_fd", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_fd), s_GL_EXT_semaphore_fd }, 2027 { "GL_EXT_semaphore_win32", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_win32), s_GL_EXT_semaphore_win32 }, 2028 { "GL_EXT_separate_shader_objects", DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects), s_GL_EXT_separate_shader_objects }, 2029 { "GL_EXT_shader_framebuffer_fetch_non_coherent", DE_LENGTH_OF_ARRAY(s_GL_EXT_shader_framebuffer_fetch_non_coherent), s_GL_EXT_shader_framebuffer_fetch_non_coherent }, 2030 { "GL_EXT_shader_pixel_local_storage2", DE_LENGTH_OF_ARRAY(s_GL_EXT_shader_pixel_local_storage2), s_GL_EXT_shader_pixel_local_storage2 }, 2031 { "GL_EXT_sparse_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture), s_GL_EXT_sparse_texture }, 2032 { "GL_EXT_tessellation_shader", DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader), s_GL_EXT_tessellation_shader }, 2033 { "GL_EXT_texture_border_clamp", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp), s_GL_EXT_texture_border_clamp }, 2034 { "GL_EXT_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer), s_GL_EXT_texture_buffer }, 2035 { "GL_EXT_texture_view", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view), s_GL_EXT_texture_view }, 2036 { "GL_EXT_win32_keyed_mutex", DE_LENGTH_OF_ARRAY(s_GL_EXT_win32_keyed_mutex), s_GL_EXT_win32_keyed_mutex }, 2037 { "GL_EXT_window_rectangles", DE_LENGTH_OF_ARRAY(s_GL_EXT_window_rectangles), s_GL_EXT_window_rectangles }, 2038 { "GL_IMG_bindless_texture", DE_LENGTH_OF_ARRAY(s_GL_IMG_bindless_texture), s_GL_IMG_bindless_texture }, 2039 { "GL_IMG_framebuffer_downsample", DE_LENGTH_OF_ARRAY(s_GL_IMG_framebuffer_downsample), s_GL_IMG_framebuffer_downsample }, 2040 { "GL_INTEL_framebuffer_CMAA", DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA), s_GL_INTEL_framebuffer_CMAA }, 2041 { "GL_INTEL_performance_query", DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query), s_GL_INTEL_performance_query }, 2042 { "GL_KHR_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced), s_GL_KHR_blend_equation_advanced }, 2043 { "GL_KHR_debug", DE_LENGTH_OF_ARRAY(s_GL_KHR_debug), s_GL_KHR_debug }, 2044 { "GL_KHR_robustness", DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness), s_GL_KHR_robustness }, 2045 { "GL_KHR_parallel_shader_compile", DE_LENGTH_OF_ARRAY(s_GL_KHR_parallel_shader_compile), s_GL_KHR_parallel_shader_compile }, 2046 { "GL_NV_bindless_texture", DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture), s_GL_NV_bindless_texture }, 2047 { "GL_NV_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced), s_GL_NV_blend_equation_advanced }, 2048 { "GL_NV_clip_space_w_scaling", DE_LENGTH_OF_ARRAY(s_GL_NV_clip_space_w_scaling), s_GL_NV_clip_space_w_scaling }, 2049 { "GL_NV_conditional_render", DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render), s_GL_NV_conditional_render }, 2050 { "GL_NV_conservative_raster", DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster), s_GL_NV_conservative_raster }, 2051 { "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 }, 2052 { "GL_NV_copy_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer), s_GL_NV_copy_buffer }, 2053 { "GL_NV_coverage_sample", DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample), s_GL_NV_coverage_sample }, 2054 { "GL_NV_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers), s_GL_NV_draw_buffers }, 2055 { "GL_NV_draw_instanced", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced), s_GL_NV_draw_instanced }, 2056 { "GL_NV_draw_vulkan_image", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_vulkan_image), s_GL_NV_draw_vulkan_image }, 2057 { "GL_NV_fragment_coverage_to_color", DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color), s_GL_NV_fragment_coverage_to_color }, 2058 { "GL_NV_framebuffer_blit", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit), s_GL_NV_framebuffer_blit }, 2059 { "GL_NV_framebuffer_mixed_samples", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples), s_GL_NV_framebuffer_mixed_samples }, 2060 { "GL_NV_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample), s_GL_NV_framebuffer_multisample }, 2061 { "GL_NV_gpu_shader5", DE_LENGTH_OF_ARRAY(s_GL_NV_gpu_shader5), s_GL_NV_gpu_shader5 }, 2062 { "GL_NV_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays), s_GL_NV_instanced_arrays }, 2063 { "GL_NV_internalformat_sample_query", DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query), s_GL_NV_internalformat_sample_query }, 2064 { "GL_NV_memory_attachment", DE_LENGTH_OF_ARRAY(s_GL_NV_memory_attachment), s_GL_NV_memory_attachment }, 2065 { "GL_NV_non_square_matrices", DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices), s_GL_NV_non_square_matrices }, 2066 { "GL_NV_path_rendering", DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering), s_GL_NV_path_rendering }, 2067 { "GL_NV_polygon_mode", DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode), s_GL_NV_polygon_mode }, 2068 { "GL_NV_read_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer), s_GL_NV_read_buffer }, 2069 { "GL_NV_sample_locations", DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations), s_GL_NV_sample_locations }, 2070 { "GL_NV_scissor_exclusive", DE_LENGTH_OF_ARRAY(s_GL_NV_scissor_exclusive), s_GL_NV_scissor_exclusive }, 2071 { "GL_NV_viewport_array", DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array), s_GL_NV_viewport_array }, 2072 { "GL_NV_viewport_swizzle", DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_swizzle), s_GL_NV_viewport_swizzle }, 2073 { "GL_OES_copy_image", DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image), s_GL_OES_copy_image }, 2074 { "GL_OES_draw_buffers_indexed", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed), s_GL_OES_draw_buffers_indexed }, 2075 { "GL_OES_draw_elements_base_vertex", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex), s_GL_OES_draw_elements_base_vertex }, 2076 { "GL_OES_geometry_shader", DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader), s_GL_OES_geometry_shader }, 2077 { "GL_OES_get_program_binary", DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary), s_GL_OES_get_program_binary }, 2078 { "GL_OES_primitive_bounding_box", DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box), s_GL_OES_primitive_bounding_box }, 2079 { "GL_OES_sample_shading", DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading), s_GL_OES_sample_shading }, 2080 { "GL_OES_tessellation_shader", DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader), s_GL_OES_tessellation_shader }, 2081 { "GL_OES_texture_3D", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D), s_GL_OES_texture_3D }, 2082 { "GL_OES_texture_border_clamp", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp), s_GL_OES_texture_border_clamp }, 2083 { "GL_OES_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer), s_GL_OES_texture_buffer }, 2084 { "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 }, 2085 { "GL_OES_texture_view", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view), s_GL_OES_texture_view }, 2086 { "GL_OES_viewport_array", DE_LENGTH_OF_ARRAY(s_GL_OES_viewport_array), s_GL_OES_viewport_array }, 2087 { "GL_OVR_multiview", DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview), s_GL_OVR_multiview }, 2088 { "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 }, 2089 { "GL_QCOM_alpha_test", DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test), s_GL_QCOM_alpha_test }, 2090 { "GL_QCOM_framebuffer_foveated", DE_LENGTH_OF_ARRAY(s_GL_QCOM_framebuffer_foveated), s_GL_QCOM_framebuffer_foveated }, 2091 { "GL_QCOM_texture_foveated", DE_LENGTH_OF_ARRAY(s_GL_QCOM_texture_foveated), s_GL_QCOM_texture_foveated }, 2092 { "GL_QCOM_shader_framebuffer_fetch_noncoherent", DE_LENGTH_OF_ARRAY(s_GL_QCOM_shader_framebuffer_fetch_noncoherent), s_GL_QCOM_shader_framebuffer_fetch_noncoherent }, 2093}; 2094