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 7 static const char* s_EGL14[] = 8 { 9 "eglBindAPI", 10 "eglBindTexImage", 11 "eglChooseConfig", 12 "eglCopyBuffers", 13 "eglCreateContext", 14 "eglCreatePbufferFromClientBuffer", 15 "eglCreatePbufferSurface", 16 "eglCreatePixmapSurface", 17 "eglCreateWindowSurface", 18 "eglDestroyContext", 19 "eglDestroySurface", 20 "eglGetConfigAttrib", 21 "eglGetConfigs", 22 "eglGetCurrentContext", 23 "eglGetCurrentDisplay", 24 "eglGetCurrentSurface", 25 "eglGetDisplay", 26 "eglGetError", 27 "eglGetProcAddress", 28 "eglInitialize", 29 "eglMakeCurrent", 30 "eglQueryAPI", 31 "eglQueryContext", 32 "eglQueryString", 33 "eglQuerySurface", 34 "eglReleaseTexImage", 35 "eglReleaseThread", 36 "eglSurfaceAttrib", 37 "eglSwapBuffers", 38 "eglSwapInterval", 39 "eglTerminate", 40 "eglWaitClient", 41 "eglWaitGL", 42 "eglWaitNative", 43 }; 44 45 static const char* s_EGL15[] = 46 { 47 "eglClientWaitSync", 48 "eglCreateImage", 49 "eglCreatePlatformPixmapSurface", 50 "eglCreatePlatformWindowSurface", 51 "eglCreateSync", 52 "eglDestroyImage", 53 "eglDestroySync", 54 "eglGetPlatformDisplay", 55 "eglGetSyncAttrib", 56 "eglWaitSync", 57 }; 58 59 static 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 207 static 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 353 static 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 461 static const char* s_EGL_ANDROID_blob_cache[] = 462 { 463 "eglSetBlobCacheFuncsANDROID", 464 }; 465 466 static const char* s_EGL_ANDROID_create_native_client_buffer[] = 467 { 468 "eglCreateNativeClientBufferANDROID", 469 }; 470 471 static const char* s_EGL_ANDROID_get_native_client_buffer[] = 472 { 473 "eglGetNativeClientBufferANDROID", 474 }; 475 476 static const char* s_EGL_ANDROID_native_fence_sync[] = 477 { 478 "eglDupNativeFenceFDANDROID", 479 }; 480 481 static const char* s_EGL_ANDROID_presentation_time[] = 482 { 483 "eglPresentationTimeANDROID", 484 }; 485 486 static const char* s_EGL_ANDROID_get_frame_timestamps[] = 487 { 488 "eglGetCompositorTimingSupportedANDROID", 489 "eglGetCompositorTimingANDROID", 490 "eglGetNextFrameIdANDROID", 491 "eglGetFrameTimestampSupportedANDROID", 492 "eglGetFrameTimestampsANDROID", 493 }; 494 495 static const char* s_EGL_ANGLE_query_surface_pointer[] = 496 { 497 "eglQuerySurfacePointerANGLE", 498 }; 499 500 static const char* s_EGL_EXT_client_sync[] = 501 { 502 "eglClientSignalSyncEXT", 503 }; 504 505 static const char* s_EGL_EXT_device_base[] = 506 { 507 "eglQueryDeviceAttribEXT", 508 "eglQueryDeviceStringEXT", 509 "eglQueryDevicesEXT", 510 "eglQueryDisplayAttribEXT", 511 }; 512 513 static const char* s_EGL_EXT_device_enumeration[] = 514 { 515 "eglQueryDevicesEXT", 516 }; 517 518 static const char* s_EGL_EXT_device_query[] = 519 { 520 "eglQueryDeviceAttribEXT", 521 "eglQueryDeviceStringEXT", 522 "eglQueryDisplayAttribEXT", 523 }; 524 525 static const char* s_EGL_EXT_image_dma_buf_import_modifiers[] = 526 { 527 "eglQueryDmaBufFormatsEXT", 528 "eglQueryDmaBufModifiersEXT", 529 }; 530 531 static 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 543 static const char* s_EGL_EXT_platform_base[] = 544 { 545 "eglCreatePlatformPixmapSurfaceEXT", 546 "eglCreatePlatformWindowSurfaceEXT", 547 "eglGetPlatformDisplayEXT", 548 }; 549 550 static const char* s_EGL_EXT_stream_consumer_egloutput[] = 551 { 552 "eglStreamConsumerOutputEXT", 553 }; 554 555 static const char* s_EGL_EXT_swap_buffers_with_damage[] = 556 { 557 "eglSwapBuffersWithDamageEXT", 558 }; 559 560 static const char* s_EGL_EXT_sync_reuse[] = 561 { 562 "eglUnsignalSyncEXT", 563 }; 564 565 static const char* s_EGL_HI_clientpixmap[] = 566 { 567 "eglCreatePixmapSurfaceHI", 568 }; 569 570 static const char* s_EGL_KHR_cl_event2[] = 571 { 572 "eglCreateSync64KHR", 573 }; 574 575 static const char* s_EGL_KHR_debug[] = 576 { 577 "eglDebugMessageControlKHR", 578 "eglLabelObjectKHR", 579 "eglQueryDebugKHR", 580 }; 581 582 static const char* s_EGL_KHR_display_reference[] = 583 { 584 "eglQueryDisplayAttribKHR", 585 }; 586 587 static const char* s_EGL_KHR_fence_sync[] = 588 { 589 "eglClientWaitSyncKHR", 590 "eglCreateSyncKHR", 591 "eglDestroySyncKHR", 592 "eglGetSyncAttribKHR", 593 }; 594 595 static const char* s_EGL_KHR_image[] = 596 { 597 "eglCreateImageKHR", 598 "eglDestroyImageKHR", 599 }; 600 601 static const char* s_EGL_KHR_image_base[] = 602 { 603 "eglCreateImageKHR", 604 "eglDestroyImageKHR", 605 }; 606 607 static const char* s_EGL_KHR_lock_surface[] = 608 { 609 "eglLockSurfaceKHR", 610 "eglUnlockSurfaceKHR", 611 }; 612 613 static const char* s_EGL_KHR_lock_surface3[] = 614 { 615 "eglLockSurfaceKHR", 616 "eglQuerySurface64KHR", 617 "eglUnlockSurfaceKHR", 618 }; 619 620 static const char* s_EGL_KHR_partial_update[] = 621 { 622 "eglSetDamageRegionKHR", 623 }; 624 625 static const char* s_EGL_KHR_reusable_sync[] = 626 { 627 "eglClientWaitSyncKHR", 628 "eglCreateSyncKHR", 629 "eglDestroySyncKHR", 630 "eglGetSyncAttribKHR", 631 "eglSignalSyncKHR", 632 }; 633 634 static const char* s_EGL_KHR_stream[] = 635 { 636 "eglCreateStreamKHR", 637 "eglDestroyStreamKHR", 638 "eglQueryStreamKHR", 639 "eglQueryStreamu64KHR", 640 "eglStreamAttribKHR", 641 }; 642 643 static const char* s_EGL_KHR_stream_attrib[] = 644 { 645 "eglCreateStreamAttribKHR", 646 "eglQueryStreamAttribKHR", 647 "eglSetStreamAttribKHR", 648 "eglStreamConsumerAcquireAttribKHR", 649 "eglStreamConsumerReleaseAttribKHR", 650 }; 651 652 static const char* s_EGL_KHR_stream_consumer_gltexture[] = 653 { 654 "eglStreamConsumerAcquireKHR", 655 "eglStreamConsumerGLTextureExternalKHR", 656 "eglStreamConsumerReleaseKHR", 657 }; 658 659 static const char* s_EGL_KHR_stream_cross_process_fd[] = 660 { 661 "eglCreateStreamFromFileDescriptorKHR", 662 "eglGetStreamFileDescriptorKHR", 663 }; 664 665 static const char* s_EGL_KHR_stream_fifo[] = 666 { 667 "eglQueryStreamTimeKHR", 668 }; 669 670 static const char* s_EGL_KHR_stream_producer_eglsurface[] = 671 { 672 "eglCreateStreamProducerSurfaceKHR", 673 }; 674 675 static const char* s_EGL_KHR_swap_buffers_with_damage[] = 676 { 677 "eglSwapBuffersWithDamageKHR", 678 }; 679 680 static const char* s_EGL_KHR_wait_sync[] = 681 { 682 "eglWaitSyncKHR", 683 }; 684 685 static const char* s_EGL_MESA_drm_image[] = 686 { 687 "eglCreateDRMImageMESA", 688 "eglExportDRMImageMESA", 689 }; 690 691 static const char* s_EGL_MESA_image_dma_buf_export[] = 692 { 693 "eglExportDMABUFImageMESA", 694 "eglExportDMABUFImageQueryMESA", 695 }; 696 697 static const char* s_EGL_NOK_swap_region[] = 698 { 699 "eglSwapBuffersRegionNOK", 700 }; 701 702 static const char* s_EGL_NOK_swap_region2[] = 703 { 704 "eglSwapBuffersRegion2NOK", 705 }; 706 707 static const char* s_EGL_NV_native_query[] = 708 { 709 "eglQueryNativeDisplayNV", 710 "eglQueryNativePixmapNV", 711 "eglQueryNativeWindowNV", 712 }; 713 714 static const char* s_EGL_NV_post_sub_buffer[] = 715 { 716 "eglPostSubBufferNV", 717 }; 718 719 static const char* s_EGL_NV_stream_consumer_gltexture_yuv[] = 720 { 721 "eglStreamConsumerGLTextureExternalAttribsNV", 722 }; 723 724 static const char* s_EGL_NV_stream_flush[] = 725 { 726 "eglStreamFlushNV", 727 }; 728 729 static const char* s_EGL_NV_stream_metadata[] = 730 { 731 "eglQueryDisplayAttribNV", 732 "eglQueryStreamMetadataNV", 733 "eglSetStreamMetadataNV", 734 }; 735 736 static const char* s_EGL_NV_stream_reset[] = 737 { 738 "eglResetStreamNV", 739 }; 740 741 static const char* s_EGL_NV_stream_sync[] = 742 { 743 "eglCreateStreamSyncNV", 744 }; 745 746 static const char* s_EGL_NV_sync[] = 747 { 748 "eglClientWaitSyncNV", 749 "eglCreateFenceSyncNV", 750 "eglDestroySyncNV", 751 "eglFenceNV", 752 "eglGetSyncAttribNV", 753 "eglSignalSyncNV", 754 }; 755 756 static const char* s_EGL_NV_system_time[] = 757 { 758 "eglGetSystemTimeFrequencyNV", 759 "eglGetSystemTimeNV", 760 }; 761 762 static const char* s_EGL_EXT_compositor[] = 763 { 764 "eglCompositorSetContextListEXT", 765 "eglCompositorSetContextAttributesEXT", 766 "eglCompositorSetWindowListEXT", 767 "eglCompositorSetWindowAttributesEXT", 768 "eglCompositorBindTexWindowEXT", 769 "eglCompositorSetSizeEXT", 770 "eglCompositorSwapPolicyEXT", 771 }; 772 773 static const char* s_GL_APPLE_copy_texture_levels[] = 774 { 775 "glCopyTextureLevelsAPPLE", 776 }; 777 778 static const char* s_GL_APPLE_framebuffer_multisample[] = 779 { 780 "glRenderbufferStorageMultisampleAPPLE", 781 "glResolveMultisampleFramebufferAPPLE", 782 }; 783 784 static const char* s_GL_APPLE_sync[] = 785 { 786 "glClientWaitSyncAPPLE", 787 "glDeleteSyncAPPLE", 788 "glFenceSyncAPPLE", 789 "glGetInteger64vAPPLE", 790 "glGetSyncivAPPLE", 791 "glIsSyncAPPLE", 792 "glWaitSyncAPPLE", 793 }; 794 795 static const char* s_GL_EXT_debug_marker[] = 796 { 797 "glInsertEventMarkerEXT", 798 "glPopGroupMarkerEXT", 799 "glPushGroupMarkerEXT", 800 }; 801 802 static const char* s_GL_EXT_discard_framebuffer[] = 803 { 804 "glDiscardFramebufferEXT", 805 }; 806 807 static const char* s_GL_EXT_map_buffer_range[] = 808 { 809 "glFlushMappedBufferRangeEXT", 810 "glMapBufferRangeEXT", 811 }; 812 813 static const char* s_GL_EXT_multi_draw_arrays[] = 814 { 815 "glMultiDrawArraysEXT", 816 "glMultiDrawElementsEXT", 817 }; 818 819 static const char* s_GL_EXT_multisampled_render_to_texture[] = 820 { 821 "glFramebufferTexture2DMultisampleEXT", 822 "glRenderbufferStorageMultisampleEXT", 823 }; 824 825 static const char* s_GL_EXT_robustness[] = 826 { 827 "glGetGraphicsResetStatusEXT", 828 "glGetnUniformfvEXT", 829 "glGetnUniformivEXT", 830 "glReadnPixelsEXT", 831 }; 832 833 static const char* s_GL_EXT_texture_storage[] = 834 { 835 "glTexStorage1DEXT", 836 "glTexStorage2DEXT", 837 "glTexStorage3DEXT", 838 "glTextureStorage1DEXT", 839 "glTextureStorage2DEXT", 840 "glTextureStorage3DEXT", 841 }; 842 843 static const char* s_GL_IMG_multisampled_render_to_texture[] = 844 { 845 "glFramebufferTexture2DMultisampleIMG", 846 "glRenderbufferStorageMultisampleIMG", 847 }; 848 849 static const char* s_GL_IMG_user_clip_plane[] = 850 { 851 "glClipPlanefIMG", 852 "glClipPlanexIMG", 853 }; 854 855 static const char* s_GL_NV_fence[] = 856 { 857 "glDeleteFencesNV", 858 "glFinishFenceNV", 859 "glGenFencesNV", 860 "glGetFenceivNV", 861 "glIsFenceNV", 862 "glSetFenceNV", 863 "glTestFenceNV", 864 }; 865 866 static const char* s_GL_OES_EGL_image[] = 867 { 868 "glEGLImageTargetRenderbufferStorageOES", 869 "glEGLImageTargetTexture2DOES", 870 }; 871 872 static const char* s_GL_OES_blend_equation_separate[] = 873 { 874 "glBlendEquationSeparateOES", 875 }; 876 877 static const char* s_GL_OES_blend_func_separate[] = 878 { 879 "glBlendFuncSeparateOES", 880 }; 881 882 static const char* s_GL_OES_blend_subtract[] = 883 { 884 "glBlendEquationOES", 885 }; 886 887 static 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 899 static 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 942 static 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 961 static const char* s_GL_OES_mapbuffer[] = 962 { 963 "glGetBufferPointervOES", 964 "glMapBufferOES", 965 "glUnmapBufferOES", 966 }; 967 968 static const char* s_GL_OES_matrix_palette[] = 969 { 970 "glCurrentPaletteMatrixOES", 971 "glLoadPaletteFromModelViewMatrixOES", 972 "glMatrixIndexPointerOES", 973 "glWeightPointerOES", 974 }; 975 976 static const char* s_GL_OES_point_size_array[] = 977 { 978 "glPointSizePointerOES", 979 }; 980 981 static const char* s_GL_OES_query_matrix[] = 982 { 983 "glQueryMatrixxOES", 984 }; 985 986 static const char* s_GL_OES_single_precision[] = 987 { 988 "glClearDepthfOES", 989 "glClipPlanefOES", 990 "glDepthRangefOES", 991 "glFrustumfOES", 992 "glGetClipPlanefOES", 993 "glOrthofOES", 994 }; 995 996 static 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 1009 static const char* s_GL_OES_vertex_array_object[] = 1010 { 1011 "glBindVertexArrayOES", 1012 "glDeleteVertexArraysOES", 1013 "glGenVertexArraysOES", 1014 "glIsVertexArrayOES", 1015 }; 1016 1017 static const char* s_GL_QCOM_driver_control[] = 1018 { 1019 "glDisableDriverControlQCOM", 1020 "glEnableDriverControlQCOM", 1021 "glGetDriverControlStringQCOM", 1022 "glGetDriverControlsQCOM", 1023 }; 1024 1025 static 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 1037 static const char* s_GL_QCOM_extended_get2[] = 1038 { 1039 "glExtGetProgramBinarySourceQCOM", 1040 "glExtGetProgramsQCOM", 1041 "glExtGetShadersQCOM", 1042 "glExtIsProgramBinaryQCOM", 1043 }; 1044 1045 static const char* s_GL_QCOM_tiled_rendering[] = 1046 { 1047 "glEndTilingQCOM", 1048 "glStartTilingQCOM", 1049 }; 1050 1051 static const char* s_GL_AMD_framebuffer_multisample_advanced[] = 1052 { 1053 "glNamedRenderbufferStorageMultisampleAdvancedAMD", 1054 "glRenderbufferStorageMultisampleAdvancedAMD", 1055 }; 1056 1057 static 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 1072 static const char* s_GL_ANGLE_framebuffer_blit[] = 1073 { 1074 "glBlitFramebufferANGLE", 1075 }; 1076 1077 static const char* s_GL_ANGLE_framebuffer_multisample[] = 1078 { 1079 "glRenderbufferStorageMultisampleANGLE", 1080 }; 1081 1082 static const char* s_GL_ANGLE_instanced_arrays[] = 1083 { 1084 "glDrawArraysInstancedANGLE", 1085 "glDrawElementsInstancedANGLE", 1086 "glVertexAttribDivisorANGLE", 1087 }; 1088 1089 static const char* s_GL_ANGLE_translated_shader_source[] = 1090 { 1091 "glGetTranslatedShaderSourceANGLE", 1092 }; 1093 1094 static const char* s_GL_EXT_EGL_image_storage[] = 1095 { 1096 "glEGLImageTargetTexStorageEXT", 1097 "glEGLImageTargetTextureStorageEXT", 1098 }; 1099 1100 static const char* s_GL_EXT_base_instance[] = 1101 { 1102 "glDrawArraysInstancedBaseInstanceEXT", 1103 "glDrawElementsInstancedBaseInstanceEXT", 1104 "glDrawElementsInstancedBaseVertexBaseInstanceEXT", 1105 }; 1106 1107 static const char* s_GL_EXT_blend_func_extended[] = 1108 { 1109 "glBindFragDataLocationEXT", 1110 "glBindFragDataLocationIndexedEXT", 1111 "glGetFragDataIndexEXT", 1112 "glGetProgramResourceLocationIndexEXT", 1113 }; 1114 1115 static const char* s_GL_EXT_buffer_storage[] = 1116 { 1117 "glBufferStorageEXT", 1118 }; 1119 1120 static const char* s_GL_EXT_clear_texture[] = 1121 { 1122 "glClearTexImageEXT", 1123 "glClearTexSubImageEXT", 1124 }; 1125 1126 static const char* s_GL_EXT_clip_control[] = 1127 { 1128 "glClipControlEXT", 1129 }; 1130 1131 static const char* s_GL_EXT_copy_image[] = 1132 { 1133 "glCopyImageSubDataEXT", 1134 }; 1135 1136 static const char* s_GL_EXT_debug_label[] = 1137 { 1138 "glGetObjectLabelEXT", 1139 "glLabelObjectEXT", 1140 }; 1141 1142 static 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 1157 static const char* s_GL_EXT_draw_buffers[] = 1158 { 1159 "glDrawBuffersEXT", 1160 }; 1161 1162 static 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 1174 static const char* s_GL_EXT_draw_elements_base_vertex[] = 1175 { 1176 "glDrawElementsBaseVertexEXT", 1177 "glDrawElementsInstancedBaseVertexEXT", 1178 "glDrawRangeElementsBaseVertexEXT", 1179 "glMultiDrawElementsBaseVertexEXT", 1180 }; 1181 1182 static const char* s_GL_EXT_draw_instanced[] = 1183 { 1184 "glDrawArraysInstancedEXT", 1185 "glDrawElementsInstancedEXT", 1186 }; 1187 1188 static const char* s_GL_EXT_draw_transform_feedback[] = 1189 { 1190 "glDrawTransformFeedbackEXT", 1191 "glDrawTransformFeedbackInstancedEXT", 1192 }; 1193 1194 static const char* s_GL_EXT_external_buffer[] = 1195 { 1196 "glBufferStorageExternalEXT", 1197 "glNamedBufferStorageExternalEXT", 1198 }; 1199 1200 static const char* s_GL_EXT_geometry_shader[] = 1201 { 1202 "glFramebufferTextureEXT", 1203 }; 1204 1205 static const char* s_GL_EXT_instanced_arrays[] = 1206 { 1207 "glDrawArraysInstancedEXT", 1208 "glDrawElementsInstancedEXT", 1209 "glVertexAttribDivisorEXT", 1210 }; 1211 1212 static 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 1233 static const char* s_GL_EXT_memory_object_fd[] = 1234 { 1235 "glImportMemoryFdEXT", 1236 }; 1237 1238 static const char* s_GL_EXT_memory_object_win32[] = 1239 { 1240 "glImportMemoryWin32HandleEXT", 1241 "glImportMemoryWin32NameEXT", 1242 }; 1243 1244 static const char* s_GL_EXT_multi_draw_indirect[] = 1245 { 1246 "glMultiDrawArraysIndirectEXT", 1247 "glMultiDrawElementsIndirectEXT", 1248 }; 1249 1250 static const char* s_GL_EXT_multiview_draw_buffers[] = 1251 { 1252 "glDrawBuffersIndexedEXT", 1253 "glGetIntegeri_vEXT", 1254 "glReadBufferIndexedEXT", 1255 }; 1256 1257 static 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 1268 static const char* s_GL_EXT_polygon_offset_clamp[] = 1269 { 1270 "glPolygonOffsetClampEXT", 1271 }; 1272 1273 static const char* s_GL_EXT_primitive_bounding_box[] = 1274 { 1275 "glPrimitiveBoundingBoxEXT", 1276 }; 1277 1278 static const char* s_GL_EXT_raster_multisample[] = 1279 { 1280 "glRasterSamplesEXT", 1281 }; 1282 1283 static 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 1296 static const char* s_GL_EXT_semaphore_fd[] = 1297 { 1298 "glImportSemaphoreFdEXT", 1299 }; 1300 1301 static const char* s_GL_EXT_semaphore_win32[] = 1302 { 1303 "glImportSemaphoreWin32HandleEXT", 1304 "glImportSemaphoreWin32NameEXT", 1305 }; 1306 1307 static 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 1355 static const char* s_GL_EXT_shader_framebuffer_fetch_non_coherent[] = 1356 { 1357 "glFramebufferFetchBarrierEXT", 1358 }; 1359 1360 static const char* s_GL_EXT_shader_pixel_local_storage2[] = 1361 { 1362 "glClearPixelLocalStorageuiEXT", 1363 "glFramebufferPixelLocalStorageSizeEXT", 1364 "glGetFramebufferPixelLocalStorageSizeEXT", 1365 }; 1366 1367 static const char* s_GL_EXT_sparse_texture[] = 1368 { 1369 "glTexPageCommitmentEXT", 1370 }; 1371 1372 static const char* s_GL_EXT_tessellation_shader[] = 1373 { 1374 "glPatchParameteriEXT", 1375 }; 1376 1377 static 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 1389 static const char* s_GL_EXT_texture_buffer[] = 1390 { 1391 "glTexBufferEXT", 1392 "glTexBufferRangeEXT", 1393 }; 1394 1395 static const char* s_GL_EXT_texture_view[] = 1396 { 1397 "glTextureViewEXT", 1398 }; 1399 1400 static const char* s_GL_EXT_win32_keyed_mutex[] = 1401 { 1402 "glAcquireKeyedMutexWin32EXT", 1403 "glReleaseKeyedMutexWin32EXT", 1404 }; 1405 1406 static const char* s_GL_EXT_window_rectangles[] = 1407 { 1408 "glWindowRectanglesEXT", 1409 }; 1410 1411 static const char* s_GL_IMG_bindless_texture[] = 1412 { 1413 "glGetTextureHandleIMG", 1414 "glGetTextureSamplerHandleIMG", 1415 "glProgramUniformHandleui64IMG", 1416 "glProgramUniformHandleui64vIMG", 1417 "glUniformHandleui64IMG", 1418 "glUniformHandleui64vIMG", 1419 }; 1420 1421 static const char* s_GL_IMG_framebuffer_downsample[] = 1422 { 1423 "glFramebufferTexture2DDownsampleIMG", 1424 "glFramebufferTextureLayerDownsampleIMG", 1425 }; 1426 1427 static const char* s_GL_INTEL_framebuffer_CMAA[] = 1428 { 1429 "glApplyFramebufferAttachmentCMAAINTEL", 1430 }; 1431 1432 static 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 1446 static const char* s_GL_KHR_blend_equation_advanced[] = 1447 { 1448 "glBlendBarrierKHR", 1449 }; 1450 1451 static 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 1466 static const char* s_GL_KHR_robustness[] = 1467 { 1468 "glGetGraphicsResetStatusKHR", 1469 "glGetnUniformfvKHR", 1470 "glGetnUniformivKHR", 1471 "glGetnUniformuivKHR", 1472 "glReadnPixelsKHR", 1473 }; 1474 1475 static const char* s_GL_KHR_parallel_shader_compile[] = 1476 { 1477 "glMaxShaderCompilerThreadsKHR", 1478 }; 1479 1480 static 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 1497 static const char* s_GL_NV_blend_equation_advanced[] = 1498 { 1499 "glBlendBarrierNV", 1500 "glBlendParameteriNV", 1501 }; 1502 1503 static const char* s_GL_NV_clip_space_w_scaling[] = 1504 { 1505 "glViewportPositionWScaleNV", 1506 }; 1507 1508 static const char* s_GL_NV_conditional_render[] = 1509 { 1510 "glBeginConditionalRenderNV", 1511 "glEndConditionalRenderNV", 1512 }; 1513 1514 static const char* s_GL_NV_conservative_raster[] = 1515 { 1516 "glSubpixelPrecisionBiasNV", 1517 }; 1518 1519 static const char* s_GL_NV_conservative_raster_pre_snap_triangles[] = 1520 { 1521 "glConservativeRasterParameteriNV", 1522 }; 1523 1524 static const char* s_GL_NV_copy_buffer[] = 1525 { 1526 "glCopyBufferSubDataNV", 1527 }; 1528 1529 static const char* s_GL_NV_coverage_sample[] = 1530 { 1531 "glCoverageMaskNV", 1532 "glCoverageOperationNV", 1533 }; 1534 1535 static const char* s_GL_NV_draw_buffers[] = 1536 { 1537 "glDrawBuffersNV", 1538 }; 1539 1540 static const char* s_GL_NV_draw_instanced[] = 1541 { 1542 "glDrawArraysInstancedNV", 1543 "glDrawElementsInstancedNV", 1544 }; 1545 1546 static const char* s_GL_NV_draw_vulkan_image[] = 1547 { 1548 "glDrawVkImageNV", 1549 "glGetVkProcAddrNV", 1550 "glWaitVkSemaphoreNV", 1551 "glSignalVkSemaphoreNV", 1552 "glSignalVkFenceNV", 1553 }; 1554 1555 static const char* s_GL_NV_fragment_coverage_to_color[] = 1556 { 1557 "glFragmentCoverageColorNV", 1558 }; 1559 1560 static const char* s_GL_NV_framebuffer_blit[] = 1561 { 1562 "glBlitFramebufferNV", 1563 }; 1564 1565 static const char* s_GL_NV_framebuffer_mixed_samples[] = 1566 { 1567 "glCoverageModulationNV", 1568 "glCoverageModulationTableNV", 1569 "glGetCoverageModulationTableNV", 1570 "glRasterSamplesEXT", 1571 }; 1572 1573 static const char* s_GL_NV_framebuffer_multisample[] = 1574 { 1575 "glRenderbufferStorageMultisampleNV", 1576 }; 1577 1578 static 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 1615 static const char* s_GL_NV_instanced_arrays[] = 1616 { 1617 "glVertexAttribDivisorNV", 1618 }; 1619 1620 static const char* s_GL_NV_internalformat_sample_query[] = 1621 { 1622 "glGetInternalformatSampleivNV", 1623 }; 1624 1625 static const char* s_GL_NV_memory_attachment[] = 1626 { 1627 "glBufferAttachMemoryNV", 1628 "glGetMemoryObjectDetachedResourcesuivNV", 1629 "glNamedBufferAttachMemoryNV", 1630 "glResetMemoryObjectParameterNV", 1631 "glTexAttachMemoryNV", 1632 "glTextureAttachMemoryNV", 1633 }; 1634 1635 static const char* s_GL_NV_non_square_matrices[] = 1636 { 1637 "glUniformMatrix2x3fvNV", 1638 "glUniformMatrix2x4fvNV", 1639 "glUniformMatrix3x2fvNV", 1640 "glUniformMatrix3x4fvNV", 1641 "glUniformMatrix4x2fvNV", 1642 "glUniformMatrix4x3fvNV", 1643 }; 1644 1645 static 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 1725 static const char* s_GL_NV_polygon_mode[] = 1726 { 1727 "glPolygonModeNV", 1728 }; 1729 1730 static const char* s_GL_NV_read_buffer[] = 1731 { 1732 "glReadBufferNV", 1733 }; 1734 1735 static const char* s_GL_NV_sample_locations[] = 1736 { 1737 "glFramebufferSampleLocationsfvNV", 1738 "glNamedFramebufferSampleLocationsfvNV", 1739 "glResolveDepthValuesNV", 1740 }; 1741 1742 static const char* s_GL_NV_scissor_exclusive[] = 1743 { 1744 "glScissorExclusiveArrayvNV", 1745 "glScissorExclusiveNV", 1746 }; 1747 1748 static 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 1764 static const char* s_GL_NV_viewport_swizzle[] = 1765 { 1766 "glViewportSwizzleNV", 1767 }; 1768 1769 static const char* s_GL_OES_copy_image[] = 1770 { 1771 "glCopyImageSubDataOES", 1772 }; 1773 1774 static 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 1786 static const char* s_GL_OES_draw_elements_base_vertex[] = 1787 { 1788 "glDrawElementsBaseVertexOES", 1789 "glDrawElementsInstancedBaseVertexOES", 1790 "glDrawRangeElementsBaseVertexOES", 1791 "glMultiDrawElementsBaseVertexEXT", 1792 }; 1793 1794 static const char* s_GL_OES_geometry_shader[] = 1795 { 1796 "glFramebufferTextureOES", 1797 }; 1798 1799 static const char* s_GL_OES_get_program_binary[] = 1800 { 1801 "glGetProgramBinaryOES", 1802 "glProgramBinaryOES", 1803 }; 1804 1805 static const char* s_GL_OES_primitive_bounding_box[] = 1806 { 1807 "glPrimitiveBoundingBoxOES", 1808 }; 1809 1810 static const char* s_GL_OES_sample_shading[] = 1811 { 1812 "glMinSampleShadingOES", 1813 }; 1814 1815 static const char* s_GL_OES_tessellation_shader[] = 1816 { 1817 "glPatchParameteriOES", 1818 }; 1819 1820 static const char* s_GL_OES_texture_3D[] = 1821 { 1822 "glCompressedTexImage3DOES", 1823 "glCompressedTexSubImage3DOES", 1824 "glCopyTexSubImage3DOES", 1825 "glFramebufferTexture3DOES", 1826 "glTexImage3DOES", 1827 "glTexSubImage3DOES", 1828 }; 1829 1830 static 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 1842 static const char* s_GL_OES_texture_buffer[] = 1843 { 1844 "glTexBufferOES", 1845 "glTexBufferRangeOES", 1846 }; 1847 1848 static const char* s_GL_OES_texture_storage_multisample_2d_array[] = 1849 { 1850 "glTexStorage3DMultisampleOES", 1851 }; 1852 1853 static const char* s_GL_OES_texture_view[] = 1854 { 1855 "glTextureViewOES", 1856 }; 1857 1858 static 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 1874 static const char* s_GL_OVR_multiview[] = 1875 { 1876 "glFramebufferTextureMultiviewOVR", 1877 }; 1878 1879 static const char* s_GL_OVR_multiview_multisampled_render_to_texture[] = 1880 { 1881 "glFramebufferTextureMultisampleMultiviewOVR", 1882 }; 1883 1884 static const char* s_GL_QCOM_alpha_test[] = 1885 { 1886 "glAlphaFuncQCOM", 1887 }; 1888 1889 static const char* s_GL_QCOM_framebuffer_foveated[] = 1890 { 1891 "glFramebufferFoveationConfigQCOM", 1892 "glFramebufferFoveationParametersQCOM", 1893 }; 1894 1895 static const char* s_GL_QCOM_texture_foveated[] = 1896 { 1897 "glTextureFoveationParametersQCOM", 1898 }; 1899 1900 static const char* s_GL_QCOM_shader_framebuffer_fetch_noncoherent[] = 1901 { 1902 "glFramebufferFetchBarrierQCOM", 1903 }; 1904 1905 static 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