Hash :
9a436772
        
        Author :
  
        
        Date :
2025-06-04T16:47:51
        
      
Vulkan: Add entry points for GL_EXT_fragment_shading_rate Bug: angleproject:420310117 Change-Id: I8a8efad6cad810b2cb0b600106f6496070495605 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6620340 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033
// GENERATED FILE - DO NOT EDIT.
// Generated by gen_proc_table.py using data from gl.xml, gl_angle_ext.xml, egl.xml,
// egl_angle_ext.xml.
//
// Copyright 2019 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// getProcAddress loader table:
//   Mapping from a string entry point name to function address.
//
#include "libANGLE/Thread.h"
#include "libGLESv2/entry_points_egl_autogen.h"
#include "libGLESv2/entry_points_egl_ext_autogen.h"
#include "libGLESv2/entry_points_gles_1_0_autogen.h"
#include "libGLESv2/entry_points_gles_2_0_autogen.h"
#include "libGLESv2/entry_points_gles_3_0_autogen.h"
#include "libGLESv2/entry_points_gles_3_1_autogen.h"
#include "libGLESv2/entry_points_gles_3_2_autogen.h"
#include "libGLESv2/entry_points_gles_ext_autogen.h"
#include "platform/PlatformMethods.h"
#include <iterator>
#define P(FUNC) reinterpret_cast<__eglMustCastToProperFunctionPointerType>(FUNC)
namespace egl
{
namespace
{
struct ProcEntry
{
    const char *name;
    __eglMustCastToProperFunctionPointerType func;
};
bool CompareProc(const ProcEntry &a, const char *b)
{
    return strcmp(a.name, b) < 0;
}
// clang-format off
const ProcEntry g_procTable[] = {
    {"ANGLEGetDisplayPlatform", P(ANGLEGetDisplayPlatform)},
    {"ANGLEResetDisplayPlatform", P(ANGLEResetDisplayPlatform)},
    {"eglAcquireExternalContextANGLE", P(EGL_AcquireExternalContextANGLE)},
    {"eglBindAPI", P(EGL_BindAPI)},
    {"eglBindTexImage", P(EGL_BindTexImage)},
    {"eglChooseConfig", P(EGL_ChooseConfig)},
    {"eglClientWaitSync", P(EGL_ClientWaitSync)},
    {"eglClientWaitSyncKHR", P(EGL_ClientWaitSyncKHR)},
    {"eglCopyBuffers", P(EGL_CopyBuffers)},
    {"eglCopyMetalSharedEventANGLE", P(EGL_CopyMetalSharedEventANGLE)},
    {"eglCreateContext", P(EGL_CreateContext)},
    {"eglCreateDeviceANGLE", P(EGL_CreateDeviceANGLE)},
    {"eglCreateImage", P(EGL_CreateImage)},
    {"eglCreateImageKHR", P(EGL_CreateImageKHR)},
    {"eglCreateNativeClientBufferANDROID", P(EGL_CreateNativeClientBufferANDROID)},
    {"eglCreatePbufferFromClientBuffer", P(EGL_CreatePbufferFromClientBuffer)},
    {"eglCreatePbufferSurface", P(EGL_CreatePbufferSurface)},
    {"eglCreatePixmapSurface", P(EGL_CreatePixmapSurface)},
    {"eglCreatePlatformPixmapSurface", P(EGL_CreatePlatformPixmapSurface)},
    {"eglCreatePlatformPixmapSurfaceEXT", P(EGL_CreatePlatformPixmapSurfaceEXT)},
    {"eglCreatePlatformWindowSurface", P(EGL_CreatePlatformWindowSurface)},
    {"eglCreatePlatformWindowSurfaceEXT", P(EGL_CreatePlatformWindowSurfaceEXT)},
    {"eglCreateStreamKHR", P(EGL_CreateStreamKHR)},
    {"eglCreateStreamProducerD3DTextureANGLE", P(EGL_CreateStreamProducerD3DTextureANGLE)},
    {"eglCreateSync", P(EGL_CreateSync)},
    {"eglCreateSyncKHR", P(EGL_CreateSyncKHR)},
    {"eglCreateWindowSurface", P(EGL_CreateWindowSurface)},
    {"eglDebugMessageControlKHR", P(EGL_DebugMessageControlKHR)},
    {"eglDestroyContext", P(EGL_DestroyContext)},
    {"eglDestroyImage", P(EGL_DestroyImage)},
    {"eglDestroyImageKHR", P(EGL_DestroyImageKHR)},
    {"eglDestroyStreamKHR", P(EGL_DestroyStreamKHR)},
    {"eglDestroySurface", P(EGL_DestroySurface)},
    {"eglDestroySync", P(EGL_DestroySync)},
    {"eglDestroySyncKHR", P(EGL_DestroySyncKHR)},
    {"eglDupNativeFenceFDANDROID", P(EGL_DupNativeFenceFDANDROID)},
    {"eglExportVkImageANGLE", P(EGL_ExportVkImageANGLE)},
    {"eglForceGPUSwitchANGLE", P(EGL_ForceGPUSwitchANGLE)},
    {"eglGetCompositorTimingANDROID", P(EGL_GetCompositorTimingANDROID)},
    {"eglGetCompositorTimingSupportedANDROID", P(EGL_GetCompositorTimingSupportedANDROID)},
    {"eglGetConfigAttrib", P(EGL_GetConfigAttrib)},
    {"eglGetConfigs", P(EGL_GetConfigs)},
    {"eglGetCurrentContext", P(EGL_GetCurrentContext)},
    {"eglGetCurrentDisplay", P(EGL_GetCurrentDisplay)},
    {"eglGetCurrentSurface", P(EGL_GetCurrentSurface)},
    {"eglGetDisplay", P(EGL_GetDisplay)},
    {"eglGetError", P(EGL_GetError)},
    {"eglGetFrameTimestampSupportedANDROID", P(EGL_GetFrameTimestampSupportedANDROID)},
    {"eglGetFrameTimestampsANDROID", P(EGL_GetFrameTimestampsANDROID)},
    {"eglGetMscRateANGLE", P(EGL_GetMscRateANGLE)},
    {"eglGetNativeClientBufferANDROID", P(EGL_GetNativeClientBufferANDROID)},
    {"eglGetNextFrameIdANDROID", P(EGL_GetNextFrameIdANDROID)},
    {"eglGetPlatformDisplay", P(EGL_GetPlatformDisplay)},
    {"eglGetPlatformDisplayEXT", P(EGL_GetPlatformDisplayEXT)},
    {"eglGetProcAddress", P(EGL_GetProcAddress)},
    {"eglGetSyncAttrib", P(EGL_GetSyncAttrib)},
    {"eglGetSyncAttribKHR", P(EGL_GetSyncAttribKHR)},
    {"eglGetSyncValuesCHROMIUM", P(EGL_GetSyncValuesCHROMIUM)},
    {"eglHandleGPUSwitchANGLE", P(EGL_HandleGPUSwitchANGLE)},
    {"eglInitialize", P(EGL_Initialize)},
    {"eglLabelObjectKHR", P(EGL_LabelObjectKHR)},
    {"eglLockSurfaceKHR", P(EGL_LockSurfaceKHR)},
    {"eglLockVulkanQueueANGLE", P(EGL_LockVulkanQueueANGLE)},
    {"eglMakeCurrent", P(EGL_MakeCurrent)},
    {"eglPostSubBufferNV", P(EGL_PostSubBufferNV)},
    {"eglPrepareSwapBuffersANGLE", P(EGL_PrepareSwapBuffersANGLE)},
    {"eglPresentationTimeANDROID", P(EGL_PresentationTimeANDROID)},
    {"eglProgramCacheGetAttribANGLE", P(EGL_ProgramCacheGetAttribANGLE)},
    {"eglProgramCachePopulateANGLE", P(EGL_ProgramCachePopulateANGLE)},
    {"eglProgramCacheQueryANGLE", P(EGL_ProgramCacheQueryANGLE)},
    {"eglProgramCacheResizeANGLE", P(EGL_ProgramCacheResizeANGLE)},
    {"eglQueryAPI", P(EGL_QueryAPI)},
    {"eglQueryContext", P(EGL_QueryContext)},
    {"eglQueryDebugKHR", P(EGL_QueryDebugKHR)},
    {"eglQueryDeviceAttribEXT", P(EGL_QueryDeviceAttribEXT)},
    {"eglQueryDeviceStringEXT", P(EGL_QueryDeviceStringEXT)},
    {"eglQueryDisplayAttribANGLE", P(EGL_QueryDisplayAttribANGLE)},
    {"eglQueryDisplayAttribEXT", P(EGL_QueryDisplayAttribEXT)},
    {"eglQueryDmaBufFormatsEXT", P(EGL_QueryDmaBufFormatsEXT)},
    {"eglQueryDmaBufModifiersEXT", P(EGL_QueryDmaBufModifiersEXT)},
    {"eglQueryStreamKHR", P(EGL_QueryStreamKHR)},
    {"eglQueryStreamu64KHR", P(EGL_QueryStreamu64KHR)},
    {"eglQueryString", P(EGL_QueryString)},
    {"eglQueryStringiANGLE", P(EGL_QueryStringiANGLE)},
    {"eglQuerySupportedCompressionRatesEXT", P(EGL_QuerySupportedCompressionRatesEXT)},
    {"eglQuerySurface", P(EGL_QuerySurface)},
    {"eglQuerySurface64KHR", P(EGL_QuerySurface64KHR)},
    {"eglQuerySurfacePointerANGLE", P(EGL_QuerySurfacePointerANGLE)},
    {"eglReacquireHighPowerGPUANGLE", P(EGL_ReacquireHighPowerGPUANGLE)},
    {"eglReleaseDeviceANGLE", P(EGL_ReleaseDeviceANGLE)},
    {"eglReleaseExternalContextANGLE", P(EGL_ReleaseExternalContextANGLE)},
    {"eglReleaseHighPowerGPUANGLE", P(EGL_ReleaseHighPowerGPUANGLE)},
    {"eglReleaseTexImage", P(EGL_ReleaseTexImage)},
    {"eglReleaseThread", P(EGL_ReleaseThread)},
    {"eglSetBlobCacheFuncsANDROID", P(EGL_SetBlobCacheFuncsANDROID)},
    {"eglSetDamageRegionKHR", P(EGL_SetDamageRegionKHR)},
    {"eglSetValidationEnabledANGLE", P(EGL_SetValidationEnabledANGLE)},
    {"eglSignalSyncKHR", P(EGL_SignalSyncKHR)},
    {"eglStreamAttribKHR", P(EGL_StreamAttribKHR)},
    {"eglStreamConsumerAcquireKHR", P(EGL_StreamConsumerAcquireKHR)},
    {"eglStreamConsumerGLTextureExternalAttribsNV", P(EGL_StreamConsumerGLTextureExternalAttribsNV)},
    {"eglStreamConsumerGLTextureExternalKHR", P(EGL_StreamConsumerGLTextureExternalKHR)},
    {"eglStreamConsumerReleaseKHR", P(EGL_StreamConsumerReleaseKHR)},
    {"eglStreamPostD3DTextureANGLE", P(EGL_StreamPostD3DTextureANGLE)},
    {"eglSurfaceAttrib", P(EGL_SurfaceAttrib)},
    {"eglSwapBuffers", P(EGL_SwapBuffers)},
    {"eglSwapBuffersWithDamageKHR", P(EGL_SwapBuffersWithDamageKHR)},
    {"eglSwapInterval", P(EGL_SwapInterval)},
    {"eglTerminate", P(EGL_Terminate)},
    {"eglUnlockSurfaceKHR", P(EGL_UnlockSurfaceKHR)},
    {"eglUnlockVulkanQueueANGLE", P(EGL_UnlockVulkanQueueANGLE)},
    {"eglWaitClient", P(EGL_WaitClient)},
    {"eglWaitGL", P(EGL_WaitGL)},
    {"eglWaitNative", P(EGL_WaitNative)},
    {"eglWaitSync", P(EGL_WaitSync)},
    {"eglWaitSyncKHR", P(EGL_WaitSyncKHR)},
    {"eglWaitUntilWorkScheduledANGLE", P(EGL_WaitUntilWorkScheduledANGLE)},
    {"glAcquireTexturesANGLE", P(GL_AcquireTexturesANGLE)},
    {"glActiveShaderProgram", P(GL_ActiveShaderProgram)},
    {"glActiveShaderProgramEXT", P(GL_ActiveShaderProgramEXT)},
    {"glActiveTexture", P(GL_ActiveTexture)},
    {"glAlphaFunc", P(GL_AlphaFunc)},
    {"glAlphaFuncx", P(GL_AlphaFuncx)},
    {"glAttachShader", P(GL_AttachShader)},
    {"glBeginPerfMonitorAMD", P(GL_BeginPerfMonitorAMD)},
    {"glBeginPixelLocalStorageANGLE", P(GL_BeginPixelLocalStorageANGLE)},
    {"glBeginQuery", P(GL_BeginQuery)},
    {"glBeginQueryEXT", P(GL_BeginQueryEXT)},
    {"glBeginTransformFeedback", P(GL_BeginTransformFeedback)},
    {"glBindAttribLocation", P(GL_BindAttribLocation)},
    {"glBindBuffer", P(GL_BindBuffer)},
    {"glBindBufferBase", P(GL_BindBufferBase)},
    {"glBindBufferRange", P(GL_BindBufferRange)},
    {"glBindFragDataLocationEXT", P(GL_BindFragDataLocationEXT)},
    {"glBindFragDataLocationIndexedEXT", P(GL_BindFragDataLocationIndexedEXT)},
    {"glBindFramebuffer", P(GL_BindFramebuffer)},
    {"glBindFramebufferOES", P(GL_BindFramebufferOES)},
    {"glBindImageTexture", P(GL_BindImageTexture)},
    {"glBindProgramPipeline", P(GL_BindProgramPipeline)},
    {"glBindProgramPipelineEXT", P(GL_BindProgramPipelineEXT)},
    {"glBindRenderbuffer", P(GL_BindRenderbuffer)},
    {"glBindRenderbufferOES", P(GL_BindRenderbufferOES)},
    {"glBindSampler", P(GL_BindSampler)},
    {"glBindTexture", P(GL_BindTexture)},
    {"glBindTransformFeedback", P(GL_BindTransformFeedback)},
    {"glBindUniformLocationCHROMIUM", P(GL_BindUniformLocationCHROMIUM)},
    {"glBindVertexArray", P(GL_BindVertexArray)},
    {"glBindVertexArrayOES", P(GL_BindVertexArrayOES)},
    {"glBindVertexBuffer", P(GL_BindVertexBuffer)},
    {"glBlendBarrier", P(GL_BlendBarrier)},
    {"glBlendBarrierKHR", P(GL_BlendBarrierKHR)},
    {"glBlendColor", P(GL_BlendColor)},
    {"glBlendEquation", P(GL_BlendEquation)},
    {"glBlendEquationOES", P(GL_BlendEquationOES)},
    {"glBlendEquationSeparate", P(GL_BlendEquationSeparate)},
    {"glBlendEquationSeparatei", P(GL_BlendEquationSeparatei)},
    {"glBlendEquationSeparateiEXT", P(GL_BlendEquationSeparateiEXT)},
    {"glBlendEquationSeparateiOES", P(GL_BlendEquationSeparateiOES)},
    {"glBlendEquationi", P(GL_BlendEquationi)},
    {"glBlendEquationiEXT", P(GL_BlendEquationiEXT)},
    {"glBlendEquationiOES", P(GL_BlendEquationiOES)},
    {"glBlendFunc", P(GL_BlendFunc)},
    {"glBlendFuncSeparate", P(GL_BlendFuncSeparate)},
    {"glBlendFuncSeparatei", P(GL_BlendFuncSeparatei)},
    {"glBlendFuncSeparateiEXT", P(GL_BlendFuncSeparateiEXT)},
    {"glBlendFuncSeparateiOES", P(GL_BlendFuncSeparateiOES)},
    {"glBlendFunci", P(GL_BlendFunci)},
    {"glBlendFunciEXT", P(GL_BlendFunciEXT)},
    {"glBlendFunciOES", P(GL_BlendFunciOES)},
    {"glBlitFramebuffer", P(GL_BlitFramebuffer)},
    {"glBlitFramebufferANGLE", P(GL_BlitFramebufferANGLE)},
    {"glBlitFramebufferNV", P(GL_BlitFramebufferNV)},
    {"glBlobCacheCallbacksANGLE", P(GL_BlobCacheCallbacksANGLE)},
    {"glBufferData", P(GL_BufferData)},
    {"glBufferStorageEXT", P(GL_BufferStorageEXT)},
    {"glBufferStorageExternalEXT", P(GL_BufferStorageExternalEXT)},
    {"glBufferStorageMemEXT", P(GL_BufferStorageMemEXT)},
    {"glBufferSubData", P(GL_BufferSubData)},
    {"glCheckFramebufferStatus", P(GL_CheckFramebufferStatus)},
    {"glCheckFramebufferStatusOES", P(GL_CheckFramebufferStatusOES)},
    {"glClear", P(GL_Clear)},
    {"glClearBufferfi", P(GL_ClearBufferfi)},
    {"glClearBufferfv", P(GL_ClearBufferfv)},
    {"glClearBufferiv", P(GL_ClearBufferiv)},
    {"glClearBufferuiv", P(GL_ClearBufferuiv)},
    {"glClearColor", P(GL_ClearColor)},
    {"glClearColorx", P(GL_ClearColorx)},
    {"glClearDepthf", P(GL_ClearDepthf)},
    {"glClearDepthx", P(GL_ClearDepthx)},
    {"glClearStencil", P(GL_ClearStencil)},
    {"glClearTexImageEXT", P(GL_ClearTexImageEXT)},
    {"glClearTexSubImageEXT", P(GL_ClearTexSubImageEXT)},
    {"glClientActiveTexture", P(GL_ClientActiveTexture)},
    {"glClientWaitSync", P(GL_ClientWaitSync)},
    {"glClipControlEXT", P(GL_ClipControlEXT)},
    {"glClipPlanef", P(GL_ClipPlanef)},
    {"glClipPlanex", P(GL_ClipPlanex)},
    {"glColor4f", P(GL_Color4f)},
    {"glColor4ub", P(GL_Color4ub)},
    {"glColor4x", P(GL_Color4x)},
    {"glColorMask", P(GL_ColorMask)},
    {"glColorMaski", P(GL_ColorMaski)},
    {"glColorMaskiEXT", P(GL_ColorMaskiEXT)},
    {"glColorMaskiOES", P(GL_ColorMaskiOES)},
    {"glColorPointer", P(GL_ColorPointer)},
    {"glCompileShader", P(GL_CompileShader)},
    {"glCompressedCopyTextureCHROMIUM", P(GL_CompressedCopyTextureCHROMIUM)},
    {"glCompressedTexImage2D", P(GL_CompressedTexImage2D)},
    {"glCompressedTexImage2DRobustANGLE", P(GL_CompressedTexImage2DRobustANGLE)},
    {"glCompressedTexImage3D", P(GL_CompressedTexImage3D)},
    {"glCompressedTexImage3DOES", P(GL_CompressedTexImage3DOES)},
    {"glCompressedTexImage3DRobustANGLE", P(GL_CompressedTexImage3DRobustANGLE)},
    {"glCompressedTexSubImage2D", P(GL_CompressedTexSubImage2D)},
    {"glCompressedTexSubImage2DRobustANGLE", P(GL_CompressedTexSubImage2DRobustANGLE)},
    {"glCompressedTexSubImage3D", P(GL_CompressedTexSubImage3D)},
    {"glCompressedTexSubImage3DOES", P(GL_CompressedTexSubImage3DOES)},
    {"glCompressedTexSubImage3DRobustANGLE", P(GL_CompressedTexSubImage3DRobustANGLE)},
    {"glCopyBufferSubData", P(GL_CopyBufferSubData)},
    {"glCopyImageSubData", P(GL_CopyImageSubData)},
    {"glCopyImageSubDataEXT", P(GL_CopyImageSubDataEXT)},
    {"glCopyImageSubDataOES", P(GL_CopyImageSubDataOES)},
    {"glCopySubTexture3DANGLE", P(GL_CopySubTexture3DANGLE)},
    {"glCopySubTextureCHROMIUM", P(GL_CopySubTextureCHROMIUM)},
    {"glCopyTexImage2D", P(GL_CopyTexImage2D)},
    {"glCopyTexSubImage2D", P(GL_CopyTexSubImage2D)},
    {"glCopyTexSubImage3D", P(GL_CopyTexSubImage3D)},
    {"glCopyTexSubImage3DOES", P(GL_CopyTexSubImage3DOES)},
    {"glCopyTexture3DANGLE", P(GL_CopyTexture3DANGLE)},
    {"glCopyTextureCHROMIUM", P(GL_CopyTextureCHROMIUM)},
    {"glCoverageModulationCHROMIUM", P(GL_CoverageModulationCHROMIUM)},
    {"glCreateMemoryObjectsEXT", P(GL_CreateMemoryObjectsEXT)},
    {"glCreateProgram", P(GL_CreateProgram)},
    {"glCreateShader", P(GL_CreateShader)},
    {"glCreateShaderProgramv", P(GL_CreateShaderProgramv)},
    {"glCreateShaderProgramvEXT", P(GL_CreateShaderProgramvEXT)},
    {"glCullFace", P(GL_CullFace)},
    {"glCurrentPaletteMatrixOES", P(GL_CurrentPaletteMatrixOES)},
    {"glDebugMessageCallback", P(GL_DebugMessageCallback)},
    {"glDebugMessageCallbackKHR", P(GL_DebugMessageCallbackKHR)},
    {"glDebugMessageControl", P(GL_DebugMessageControl)},
    {"glDebugMessageControlKHR", P(GL_DebugMessageControlKHR)},
    {"glDebugMessageInsert", P(GL_DebugMessageInsert)},
    {"glDebugMessageInsertKHR", P(GL_DebugMessageInsertKHR)},
    {"glDeleteBuffers", P(GL_DeleteBuffers)},
    {"glDeleteFencesNV", P(GL_DeleteFencesNV)},
    {"glDeleteFramebuffers", P(GL_DeleteFramebuffers)},
    {"glDeleteFramebuffersOES", P(GL_DeleteFramebuffersOES)},
    {"glDeleteMemoryObjectsEXT", P(GL_DeleteMemoryObjectsEXT)},
    {"glDeletePerfMonitorsAMD", P(GL_DeletePerfMonitorsAMD)},
    {"glDeleteProgram", P(GL_DeleteProgram)},
    {"glDeleteProgramPipelines", P(GL_DeleteProgramPipelines)},
    {"glDeleteProgramPipelinesEXT", P(GL_DeleteProgramPipelinesEXT)},
    {"glDeleteQueries", P(GL_DeleteQueries)},
    {"glDeleteQueriesEXT", P(GL_DeleteQueriesEXT)},
    {"glDeleteRenderbuffers", P(GL_DeleteRenderbuffers)},
    {"glDeleteRenderbuffersOES", P(GL_DeleteRenderbuffersOES)},
    {"glDeleteSamplers", P(GL_DeleteSamplers)},
    {"glDeleteSemaphoresEXT", P(GL_DeleteSemaphoresEXT)},
    {"glDeleteShader", P(GL_DeleteShader)},
    {"glDeleteSync", P(GL_DeleteSync)},
    {"glDeleteTextures", P(GL_DeleteTextures)},
    {"glDeleteTransformFeedbacks", P(GL_DeleteTransformFeedbacks)},
    {"glDeleteVertexArrays", P(GL_DeleteVertexArrays)},
    {"glDeleteVertexArraysOES", P(GL_DeleteVertexArraysOES)},
    {"glDepthFunc", P(GL_DepthFunc)},
    {"glDepthMask", P(GL_DepthMask)},
    {"glDepthRangef", P(GL_DepthRangef)},
    {"glDepthRangex", P(GL_DepthRangex)},
    {"glDetachShader", P(GL_DetachShader)},
    {"glDisable", P(GL_Disable)},
    {"glDisableClientState", P(GL_DisableClientState)},
    {"glDisableExtensionANGLE", P(GL_DisableExtensionANGLE)},
    {"glDisableVertexAttribArray", P(GL_DisableVertexAttribArray)},
    {"glDisablei", P(GL_Disablei)},
    {"glDisableiEXT", P(GL_DisableiEXT)},
    {"glDisableiOES", P(GL_DisableiOES)},
    {"glDiscardFramebufferEXT", P(GL_DiscardFramebufferEXT)},
    {"glDispatchCompute", P(GL_DispatchCompute)},
    {"glDispatchComputeIndirect", P(GL_DispatchComputeIndirect)},
    {"glDrawArrays", P(GL_DrawArrays)},
    {"glDrawArraysIndirect", P(GL_DrawArraysIndirect)},
    {"glDrawArraysInstanced", P(GL_DrawArraysInstanced)},
    {"glDrawArraysInstancedANGLE", P(GL_DrawArraysInstancedANGLE)},
    {"glDrawArraysInstancedBaseInstanceANGLE", P(GL_DrawArraysInstancedBaseInstanceANGLE)},
    {"glDrawArraysInstancedBaseInstanceEXT", P(GL_DrawArraysInstancedBaseInstanceEXT)},
    {"glDrawArraysInstancedEXT", P(GL_DrawArraysInstancedEXT)},
    {"glDrawBuffers", P(GL_DrawBuffers)},
    {"glDrawBuffersEXT", P(GL_DrawBuffersEXT)},
    {"glDrawElements", P(GL_DrawElements)},
    {"glDrawElementsBaseVertex", P(GL_DrawElementsBaseVertex)},
    {"glDrawElementsBaseVertexEXT", P(GL_DrawElementsBaseVertexEXT)},
    {"glDrawElementsBaseVertexOES", P(GL_DrawElementsBaseVertexOES)},
    {"glDrawElementsIndirect", P(GL_DrawElementsIndirect)},
    {"glDrawElementsInstanced", P(GL_DrawElementsInstanced)},
    {"glDrawElementsInstancedANGLE", P(GL_DrawElementsInstancedANGLE)},
    {"glDrawElementsInstancedBaseInstanceEXT", P(GL_DrawElementsInstancedBaseInstanceEXT)},
    {"glDrawElementsInstancedBaseVertex", P(GL_DrawElementsInstancedBaseVertex)},
    {"glDrawElementsInstancedBaseVertexBaseInstanceANGLE", P(GL_DrawElementsInstancedBaseVertexBaseInstanceANGLE)},
    {"glDrawElementsInstancedBaseVertexBaseInstanceEXT", P(GL_DrawElementsInstancedBaseVertexBaseInstanceEXT)},
    {"glDrawElementsInstancedBaseVertexEXT", P(GL_DrawElementsInstancedBaseVertexEXT)},
    {"glDrawElementsInstancedBaseVertexOES", P(GL_DrawElementsInstancedBaseVertexOES)},
    {"glDrawElementsInstancedEXT", P(GL_DrawElementsInstancedEXT)},
    {"glDrawRangeElements", P(GL_DrawRangeElements)},
    {"glDrawRangeElementsBaseVertex", P(GL_DrawRangeElementsBaseVertex)},
    {"glDrawRangeElementsBaseVertexEXT", P(GL_DrawRangeElementsBaseVertexEXT)},
    {"glDrawRangeElementsBaseVertexOES", P(GL_DrawRangeElementsBaseVertexOES)},
    {"glDrawTexfOES", P(GL_DrawTexfOES)},
    {"glDrawTexfvOES", P(GL_DrawTexfvOES)},
    {"glDrawTexiOES", P(GL_DrawTexiOES)},
    {"glDrawTexivOES", P(GL_DrawTexivOES)},
    {"glDrawTexsOES", P(GL_DrawTexsOES)},
    {"glDrawTexsvOES", P(GL_DrawTexsvOES)},
    {"glDrawTexxOES", P(GL_DrawTexxOES)},
    {"glDrawTexxvOES", P(GL_DrawTexxvOES)},
    {"glEGLImageTargetRenderbufferStorageOES", P(GL_EGLImageTargetRenderbufferStorageOES)},
    {"glEGLImageTargetTexStorageEXT", P(GL_EGLImageTargetTexStorageEXT)},
    {"glEGLImageTargetTexture2DOES", P(GL_EGLImageTargetTexture2DOES)},
    {"glEnable", P(GL_Enable)},
    {"glEnableClientState", P(GL_EnableClientState)},
    {"glEnableVertexAttribArray", P(GL_EnableVertexAttribArray)},
    {"glEnablei", P(GL_Enablei)},
    {"glEnableiEXT", P(GL_EnableiEXT)},
    {"glEnableiOES", P(GL_EnableiOES)},
    {"glEndPerfMonitorAMD", P(GL_EndPerfMonitorAMD)},
    {"glEndPixelLocalStorageANGLE", P(GL_EndPixelLocalStorageANGLE)},
    {"glEndQuery", P(GL_EndQuery)},
    {"glEndQueryEXT", P(GL_EndQueryEXT)},
    {"glEndTilingQCOM", P(GL_EndTilingQCOM)},
    {"glEndTransformFeedback", P(GL_EndTransformFeedback)},
    {"glFenceSync", P(GL_FenceSync)},
    {"glFinish", P(GL_Finish)},
    {"glFinishFenceNV", P(GL_FinishFenceNV)},
    {"glFlush", P(GL_Flush)},
    {"glFlushMappedBufferRange", P(GL_FlushMappedBufferRange)},
    {"glFlushMappedBufferRangeEXT", P(GL_FlushMappedBufferRangeEXT)},
    {"glFogf", P(GL_Fogf)},
    {"glFogfv", P(GL_Fogfv)},
    {"glFogx", P(GL_Fogx)},
    {"glFogxv", P(GL_Fogxv)},
    {"glFramebufferFetchBarrierEXT", P(GL_FramebufferFetchBarrierEXT)},
    {"glFramebufferFoveationConfigQCOM", P(GL_FramebufferFoveationConfigQCOM)},
    {"glFramebufferFoveationParametersQCOM", P(GL_FramebufferFoveationParametersQCOM)},
    {"glFramebufferMemorylessPixelLocalStorageANGLE", P(GL_FramebufferMemorylessPixelLocalStorageANGLE)},
    {"glFramebufferParameteri", P(GL_FramebufferParameteri)},
    {"glFramebufferParameteriMESA", P(GL_FramebufferParameteriMESA)},
    {"glFramebufferPixelLocalClearValuefvANGLE", P(GL_FramebufferPixelLocalClearValuefvANGLE)},
    {"glFramebufferPixelLocalClearValueivANGLE", P(GL_FramebufferPixelLocalClearValueivANGLE)},
    {"glFramebufferPixelLocalClearValueuivANGLE", P(GL_FramebufferPixelLocalClearValueuivANGLE)},
    {"glFramebufferPixelLocalStorageInterruptANGLE", P(GL_FramebufferPixelLocalStorageInterruptANGLE)},
    {"glFramebufferPixelLocalStorageRestoreANGLE", P(GL_FramebufferPixelLocalStorageRestoreANGLE)},
    {"glFramebufferRenderbuffer", P(GL_FramebufferRenderbuffer)},
    {"glFramebufferRenderbufferOES", P(GL_FramebufferRenderbufferOES)},
    {"glFramebufferShadingRateEXT", P(GL_FramebufferShadingRateEXT)},
    {"glFramebufferTexture", P(GL_FramebufferTexture)},
    {"glFramebufferTexture2D", P(GL_FramebufferTexture2D)},
    {"glFramebufferTexture2DMultisampleEXT", P(GL_FramebufferTexture2DMultisampleEXT)},
    {"glFramebufferTexture2DOES", P(GL_FramebufferTexture2DOES)},
    {"glFramebufferTexture3DOES", P(GL_FramebufferTexture3DOES)},
    {"glFramebufferTextureEXT", P(GL_FramebufferTextureEXT)},
    {"glFramebufferTextureLayer", P(GL_FramebufferTextureLayer)},
    {"glFramebufferTextureMultiviewOVR", P(GL_FramebufferTextureMultiviewOVR)},
    {"glFramebufferTextureOES", P(GL_FramebufferTextureOES)},
    {"glFramebufferTexturePixelLocalStorageANGLE", P(GL_FramebufferTexturePixelLocalStorageANGLE)},
    {"glFrontFace", P(GL_FrontFace)},
    {"glFrustumf", P(GL_Frustumf)},
    {"glFrustumx", P(GL_Frustumx)},
    {"glGenBuffers", P(GL_GenBuffers)},
    {"glGenFencesNV", P(GL_GenFencesNV)},
    {"glGenFramebuffers", P(GL_GenFramebuffers)},
    {"glGenFramebuffersOES", P(GL_GenFramebuffersOES)},
    {"glGenPerfMonitorsAMD", P(GL_GenPerfMonitorsAMD)},
    {"glGenProgramPipelines", P(GL_GenProgramPipelines)},
    {"glGenProgramPipelinesEXT", P(GL_GenProgramPipelinesEXT)},
    {"glGenQueries", P(GL_GenQueries)},
    {"glGenQueriesEXT", P(GL_GenQueriesEXT)},
    {"glGenRenderbuffers", P(GL_GenRenderbuffers)},
    {"glGenRenderbuffersOES", P(GL_GenRenderbuffersOES)},
    {"glGenSamplers", P(GL_GenSamplers)},
    {"glGenSemaphoresEXT", P(GL_GenSemaphoresEXT)},
    {"glGenTextures", P(GL_GenTextures)},
    {"glGenTransformFeedbacks", P(GL_GenTransformFeedbacks)},
    {"glGenVertexArrays", P(GL_GenVertexArrays)},
    {"glGenVertexArraysOES", P(GL_GenVertexArraysOES)},
    {"glGenerateMipmap", P(GL_GenerateMipmap)},
    {"glGenerateMipmapOES", P(GL_GenerateMipmapOES)},
    {"glGetActiveAttrib", P(GL_GetActiveAttrib)},
    {"glGetActiveUniform", P(GL_GetActiveUniform)},
    {"glGetActiveUniformBlockName", P(GL_GetActiveUniformBlockName)},
    {"glGetActiveUniformBlockiv", P(GL_GetActiveUniformBlockiv)},
    {"glGetActiveUniformBlockivRobustANGLE", P(GL_GetActiveUniformBlockivRobustANGLE)},
    {"glGetActiveUniformsiv", P(GL_GetActiveUniformsiv)},
    {"glGetAttachedShaders", P(GL_GetAttachedShaders)},
    {"glGetAttribLocation", P(GL_GetAttribLocation)},
    {"glGetBooleani_v", P(GL_GetBooleani_v)},
    {"glGetBooleani_vRobustANGLE", P(GL_GetBooleani_vRobustANGLE)},
    {"glGetBooleanv", P(GL_GetBooleanv)},
    {"glGetBooleanvRobustANGLE", P(GL_GetBooleanvRobustANGLE)},
    {"glGetBufferParameteri64v", P(GL_GetBufferParameteri64v)},
    {"glGetBufferParameteri64vRobustANGLE", P(GL_GetBufferParameteri64vRobustANGLE)},
    {"glGetBufferParameteriv", P(GL_GetBufferParameteriv)},
    {"glGetBufferParameterivRobustANGLE", P(GL_GetBufferParameterivRobustANGLE)},
    {"glGetBufferPointerv", P(GL_GetBufferPointerv)},
    {"glGetBufferPointervOES", P(GL_GetBufferPointervOES)},
    {"glGetBufferPointervRobustANGLE", P(GL_GetBufferPointervRobustANGLE)},
    {"glGetClipPlanef", P(GL_GetClipPlanef)},
    {"glGetClipPlanex", P(GL_GetClipPlanex)},
    {"glGetCompressedTexImageANGLE", P(GL_GetCompressedTexImageANGLE)},
    {"glGetDebugMessageLog", P(GL_GetDebugMessageLog)},
    {"glGetDebugMessageLogKHR", P(GL_GetDebugMessageLogKHR)},
    {"glGetError", P(GL_GetError)},
    {"glGetFenceivNV", P(GL_GetFenceivNV)},
    {"glGetFixedv", P(GL_GetFixedv)},
    {"glGetFloatv", P(GL_GetFloatv)},
    {"glGetFloatvRobustANGLE", P(GL_GetFloatvRobustANGLE)},
    {"glGetFragDataIndexEXT", P(GL_GetFragDataIndexEXT)},
    {"glGetFragDataLocation", P(GL_GetFragDataLocation)},
    {"glGetFragmentShadingRatesEXT", P(GL_GetFragmentShadingRatesEXT)},
    {"glGetFramebufferAttachmentParameteriv", P(GL_GetFramebufferAttachmentParameteriv)},
    {"glGetFramebufferAttachmentParameterivOES", P(GL_GetFramebufferAttachmentParameterivOES)},
    {"glGetFramebufferAttachmentParameterivRobustANGLE", P(GL_GetFramebufferAttachmentParameterivRobustANGLE)},
    {"glGetFramebufferParameteriv", P(GL_GetFramebufferParameteriv)},
    {"glGetFramebufferParameterivMESA", P(GL_GetFramebufferParameterivMESA)},
    {"glGetFramebufferParameterivRobustANGLE", P(GL_GetFramebufferParameterivRobustANGLE)},
    {"glGetFramebufferPixelLocalStorageParameterfvANGLE", P(GL_GetFramebufferPixelLocalStorageParameterfvANGLE)},
    {"glGetFramebufferPixelLocalStorageParameterfvRobustANGLE", P(GL_GetFramebufferPixelLocalStorageParameterfvRobustANGLE)},
    {"glGetFramebufferPixelLocalStorageParameterivANGLE", P(GL_GetFramebufferPixelLocalStorageParameterivANGLE)},
    {"glGetFramebufferPixelLocalStorageParameterivRobustANGLE", P(GL_GetFramebufferPixelLocalStorageParameterivRobustANGLE)},
    {"glGetGraphicsResetStatus", P(GL_GetGraphicsResetStatus)},
    {"glGetGraphicsResetStatusEXT", P(GL_GetGraphicsResetStatusEXT)},
    {"glGetGraphicsResetStatusKHR", P(GL_GetGraphicsResetStatusKHR)},
    {"glGetInteger64i_v", P(GL_GetInteger64i_v)},
    {"glGetInteger64i_vRobustANGLE", P(GL_GetInteger64i_vRobustANGLE)},
    {"glGetInteger64v", P(GL_GetInteger64v)},
    {"glGetInteger64vEXT", P(GL_GetInteger64vEXT)},
    {"glGetInteger64vRobustANGLE", P(GL_GetInteger64vRobustANGLE)},
    {"glGetIntegeri_v", P(GL_GetIntegeri_v)},
    {"glGetIntegeri_vRobustANGLE", P(GL_GetIntegeri_vRobustANGLE)},
    {"glGetIntegerv", P(GL_GetIntegerv)},
    {"glGetIntegervRobustANGLE", P(GL_GetIntegervRobustANGLE)},
    {"glGetInternalformativ", P(GL_GetInternalformativ)},
    {"glGetInternalformativRobustANGLE", P(GL_GetInternalformativRobustANGLE)},
    {"glGetLightfv", P(GL_GetLightfv)},
    {"glGetLightxv", P(GL_GetLightxv)},
    {"glGetMaterialfv", P(GL_GetMaterialfv)},
    {"glGetMaterialxv", P(GL_GetMaterialxv)},
    {"glGetMemoryObjectParameterivEXT", P(GL_GetMemoryObjectParameterivEXT)},
    {"glGetMultisamplefv", P(GL_GetMultisamplefv)},
    {"glGetMultisamplefvANGLE", P(GL_GetMultisamplefvANGLE)},
    {"glGetMultisamplefvRobustANGLE", P(GL_GetMultisamplefvRobustANGLE)},
    {"glGetObjectLabel", P(GL_GetObjectLabel)},
    {"glGetObjectLabelEXT", P(GL_GetObjectLabelEXT)},
    {"glGetObjectLabelKHR", P(GL_GetObjectLabelKHR)},
    {"glGetObjectPtrLabel", P(GL_GetObjectPtrLabel)},
    {"glGetObjectPtrLabelKHR", P(GL_GetObjectPtrLabelKHR)},
    {"glGetPerfMonitorCounterDataAMD", P(GL_GetPerfMonitorCounterDataAMD)},
    {"glGetPerfMonitorCounterInfoAMD", P(GL_GetPerfMonitorCounterInfoAMD)},
    {"glGetPerfMonitorCounterStringAMD", P(GL_GetPerfMonitorCounterStringAMD)},
    {"glGetPerfMonitorCountersAMD", P(GL_GetPerfMonitorCountersAMD)},
    {"glGetPerfMonitorGroupStringAMD", P(GL_GetPerfMonitorGroupStringAMD)},
    {"glGetPerfMonitorGroupsAMD", P(GL_GetPerfMonitorGroupsAMD)},
    {"glGetPointerv", P(GL_GetPointerv)},
    {"glGetPointervANGLE", P(GL_GetPointervANGLE)},
    {"glGetPointervKHR", P(GL_GetPointervKHR)},
    {"glGetPointervRobustANGLERobustANGLE", P(GL_GetPointervRobustANGLERobustANGLE)},
    {"glGetProgramBinary", P(GL_GetProgramBinary)},
    {"glGetProgramBinaryOES", P(GL_GetProgramBinaryOES)},
    {"glGetProgramInfoLog", P(GL_GetProgramInfoLog)},
    {"glGetProgramInterfaceiv", P(GL_GetProgramInterfaceiv)},
    {"glGetProgramInterfaceivRobustANGLE", P(GL_GetProgramInterfaceivRobustANGLE)},
    {"glGetProgramPipelineInfoLog", P(GL_GetProgramPipelineInfoLog)},
    {"glGetProgramPipelineInfoLogEXT", P(GL_GetProgramPipelineInfoLogEXT)},
    {"glGetProgramPipelineiv", P(GL_GetProgramPipelineiv)},
    {"glGetProgramPipelineivEXT", P(GL_GetProgramPipelineivEXT)},
    {"glGetProgramResourceIndex", P(GL_GetProgramResourceIndex)},
    {"glGetProgramResourceLocation", P(GL_GetProgramResourceLocation)},
    {"glGetProgramResourceLocationIndexEXT", P(GL_GetProgramResourceLocationIndexEXT)},
    {"glGetProgramResourceName", P(GL_GetProgramResourceName)},
    {"glGetProgramResourceiv", P(GL_GetProgramResourceiv)},
    {"glGetProgramiv", P(GL_GetProgramiv)},
    {"glGetProgramivRobustANGLE", P(GL_GetProgramivRobustANGLE)},
    {"glGetQueryObjecti64vEXT", P(GL_GetQueryObjecti64vEXT)},
    {"glGetQueryObjecti64vRobustANGLE", P(GL_GetQueryObjecti64vRobustANGLE)},
    {"glGetQueryObjectivEXT", P(GL_GetQueryObjectivEXT)},
    {"glGetQueryObjectivRobustANGLE", P(GL_GetQueryObjectivRobustANGLE)},
    {"glGetQueryObjectui64vEXT", P(GL_GetQueryObjectui64vEXT)},
    {"glGetQueryObjectui64vRobustANGLE", P(GL_GetQueryObjectui64vRobustANGLE)},
    {"glGetQueryObjectuiv", P(GL_GetQueryObjectuiv)},
    {"glGetQueryObjectuivEXT", P(GL_GetQueryObjectuivEXT)},
    {"glGetQueryObjectuivRobustANGLE", P(GL_GetQueryObjectuivRobustANGLE)},
    {"glGetQueryiv", P(GL_GetQueryiv)},
    {"glGetQueryivEXT", P(GL_GetQueryivEXT)},
    {"glGetQueryivRobustANGLE", P(GL_GetQueryivRobustANGLE)},
    {"glGetRenderbufferImageANGLE", P(GL_GetRenderbufferImageANGLE)},
    {"glGetRenderbufferParameteriv", P(GL_GetRenderbufferParameteriv)},
    {"glGetRenderbufferParameterivOES", P(GL_GetRenderbufferParameterivOES)},
    {"glGetRenderbufferParameterivRobustANGLE", P(GL_GetRenderbufferParameterivRobustANGLE)},
    {"glGetSamplerParameterIiv", P(GL_GetSamplerParameterIiv)},
    {"glGetSamplerParameterIivEXT", P(GL_GetSamplerParameterIivEXT)},
    {"glGetSamplerParameterIivOES", P(GL_GetSamplerParameterIivOES)},
    {"glGetSamplerParameterIivRobustANGLE", P(GL_GetSamplerParameterIivRobustANGLE)},
    {"glGetSamplerParameterIuiv", P(GL_GetSamplerParameterIuiv)},
    {"glGetSamplerParameterIuivEXT", P(GL_GetSamplerParameterIuivEXT)},
    {"glGetSamplerParameterIuivOES", P(GL_GetSamplerParameterIuivOES)},
    {"glGetSamplerParameterIuivRobustANGLE", P(GL_GetSamplerParameterIuivRobustANGLE)},
    {"glGetSamplerParameterfv", P(GL_GetSamplerParameterfv)},
    {"glGetSamplerParameterfvRobustANGLE", P(GL_GetSamplerParameterfvRobustANGLE)},
    {"glGetSamplerParameteriv", P(GL_GetSamplerParameteriv)},
    {"glGetSamplerParameterivRobustANGLE", P(GL_GetSamplerParameterivRobustANGLE)},
    {"glGetSemaphoreParameterui64vEXT", P(GL_GetSemaphoreParameterui64vEXT)},
    {"glGetShaderInfoLog", P(GL_GetShaderInfoLog)},
    {"glGetShaderPrecisionFormat", P(GL_GetShaderPrecisionFormat)},
    {"glGetShaderSource", P(GL_GetShaderSource)},
    {"glGetShaderiv", P(GL_GetShaderiv)},
    {"glGetShaderivRobustANGLE", P(GL_GetShaderivRobustANGLE)},
    {"glGetString", P(GL_GetString)},
    {"glGetStringi", P(GL_GetStringi)},
    {"glGetSynciv", P(GL_GetSynciv)},
    {"glGetTexEnvfv", P(GL_GetTexEnvfv)},
    {"glGetTexEnviv", P(GL_GetTexEnviv)},
    {"glGetTexEnvxv", P(GL_GetTexEnvxv)},
    {"glGetTexGenfvOES", P(GL_GetTexGenfvOES)},
    {"glGetTexGenivOES", P(GL_GetTexGenivOES)},
    {"glGetTexGenxvOES", P(GL_GetTexGenxvOES)},
    {"glGetTexImageANGLE", P(GL_GetTexImageANGLE)},
    {"glGetTexLevelParameterfv", P(GL_GetTexLevelParameterfv)},
    {"glGetTexLevelParameterfvANGLE", P(GL_GetTexLevelParameterfvANGLE)},
    {"glGetTexLevelParameterfvRobustANGLE", P(GL_GetTexLevelParameterfvRobustANGLE)},
    {"glGetTexLevelParameteriv", P(GL_GetTexLevelParameteriv)},
    {"glGetTexLevelParameterivANGLE", P(GL_GetTexLevelParameterivANGLE)},
    {"glGetTexLevelParameterivRobustANGLE", P(GL_GetTexLevelParameterivRobustANGLE)},
    {"glGetTexParameterIiv", P(GL_GetTexParameterIiv)},
    {"glGetTexParameterIivEXT", P(GL_GetTexParameterIivEXT)},
    {"glGetTexParameterIivOES", P(GL_GetTexParameterIivOES)},
    {"glGetTexParameterIivRobustANGLE", P(GL_GetTexParameterIivRobustANGLE)},
    {"glGetTexParameterIuiv", P(GL_GetTexParameterIuiv)},
    {"glGetTexParameterIuivEXT", P(GL_GetTexParameterIuivEXT)},
    {"glGetTexParameterIuivOES", P(GL_GetTexParameterIuivOES)},
    {"glGetTexParameterIuivRobustANGLE", P(GL_GetTexParameterIuivRobustANGLE)},
    {"glGetTexParameterfv", P(GL_GetTexParameterfv)},
    {"glGetTexParameterfvRobustANGLE", P(GL_GetTexParameterfvRobustANGLE)},
    {"glGetTexParameteriv", P(GL_GetTexParameteriv)},
    {"glGetTexParameterivRobustANGLE", P(GL_GetTexParameterivRobustANGLE)},
    {"glGetTexParameterxv", P(GL_GetTexParameterxv)},
    {"glGetTransformFeedbackVarying", P(GL_GetTransformFeedbackVarying)},
    {"glGetTranslatedShaderSourceANGLE", P(GL_GetTranslatedShaderSourceANGLE)},
    {"glGetUniformBlockIndex", P(GL_GetUniformBlockIndex)},
    {"glGetUniformIndices", P(GL_GetUniformIndices)},
    {"glGetUniformLocation", P(GL_GetUniformLocation)},
    {"glGetUniformfv", P(GL_GetUniformfv)},
    {"glGetUniformfvRobustANGLE", P(GL_GetUniformfvRobustANGLE)},
    {"glGetUniformiv", P(GL_GetUniformiv)},
    {"glGetUniformivRobustANGLE", P(GL_GetUniformivRobustANGLE)},
    {"glGetUniformuiv", P(GL_GetUniformuiv)},
    {"glGetUniformuivRobustANGLE", P(GL_GetUniformuivRobustANGLE)},
    {"glGetUnsignedBytei_vEXT", P(GL_GetUnsignedBytei_vEXT)},
    {"glGetUnsignedBytevEXT", P(GL_GetUnsignedBytevEXT)},
    {"glGetVertexAttribIiv", P(GL_GetVertexAttribIiv)},
    {"glGetVertexAttribIivRobustANGLE", P(GL_GetVertexAttribIivRobustANGLE)},
    {"glGetVertexAttribIuiv", P(GL_GetVertexAttribIuiv)},
    {"glGetVertexAttribIuivRobustANGLE", P(GL_GetVertexAttribIuivRobustANGLE)},
    {"glGetVertexAttribPointerv", P(GL_GetVertexAttribPointerv)},
    {"glGetVertexAttribPointervRobustANGLE", P(GL_GetVertexAttribPointervRobustANGLE)},
    {"glGetVertexAttribfv", P(GL_GetVertexAttribfv)},
    {"glGetVertexAttribfvRobustANGLE", P(GL_GetVertexAttribfvRobustANGLE)},
    {"glGetVertexAttribiv", P(GL_GetVertexAttribiv)},
    {"glGetVertexAttribivRobustANGLE", P(GL_GetVertexAttribivRobustANGLE)},
    {"glGetnUniformfv", P(GL_GetnUniformfv)},
    {"glGetnUniformfvEXT", P(GL_GetnUniformfvEXT)},
    {"glGetnUniformfvKHR", P(GL_GetnUniformfvKHR)},
    {"glGetnUniformfvRobustANGLE", P(GL_GetnUniformfvRobustANGLE)},
    {"glGetnUniformiv", P(GL_GetnUniformiv)},
    {"glGetnUniformivEXT", P(GL_GetnUniformivEXT)},
    {"glGetnUniformivKHR", P(GL_GetnUniformivKHR)},
    {"glGetnUniformivRobustANGLE", P(GL_GetnUniformivRobustANGLE)},
    {"glGetnUniformuiv", P(GL_GetnUniformuiv)},
    {"glGetnUniformuivKHR", P(GL_GetnUniformuivKHR)},
    {"glGetnUniformuivRobustANGLE", P(GL_GetnUniformuivRobustANGLE)},
    {"glHint", P(GL_Hint)},
    {"glImportMemoryFdEXT", P(GL_ImportMemoryFdEXT)},
    {"glImportMemoryZirconHandleANGLE", P(GL_ImportMemoryZirconHandleANGLE)},
    {"glImportSemaphoreFdEXT", P(GL_ImportSemaphoreFdEXT)},
    {"glImportSemaphoreZirconHandleANGLE", P(GL_ImportSemaphoreZirconHandleANGLE)},
    {"glInsertEventMarkerEXT", P(GL_InsertEventMarkerEXT)},
    {"glInvalidateFramebuffer", P(GL_InvalidateFramebuffer)},
    {"glInvalidateSubFramebuffer", P(GL_InvalidateSubFramebuffer)},
    {"glInvalidateTextureANGLE", P(GL_InvalidateTextureANGLE)},
    {"glIsBuffer", P(GL_IsBuffer)},
    {"glIsEnabled", P(GL_IsEnabled)},
    {"glIsEnabledi", P(GL_IsEnabledi)},
    {"glIsEnablediEXT", P(GL_IsEnablediEXT)},
    {"glIsEnablediOES", P(GL_IsEnablediOES)},
    {"glIsFenceNV", P(GL_IsFenceNV)},
    {"glIsFramebuffer", P(GL_IsFramebuffer)},
    {"glIsFramebufferOES", P(GL_IsFramebufferOES)},
    {"glIsMemoryObjectEXT", P(GL_IsMemoryObjectEXT)},
    {"glIsProgram", P(GL_IsProgram)},
    {"glIsProgramPipeline", P(GL_IsProgramPipeline)},
    {"glIsProgramPipelineEXT", P(GL_IsProgramPipelineEXT)},
    {"glIsQuery", P(GL_IsQuery)},
    {"glIsQueryEXT", P(GL_IsQueryEXT)},
    {"glIsRenderbuffer", P(GL_IsRenderbuffer)},
    {"glIsRenderbufferOES", P(GL_IsRenderbufferOES)},
    {"glIsSampler", P(GL_IsSampler)},
    {"glIsSemaphoreEXT", P(GL_IsSemaphoreEXT)},
    {"glIsShader", P(GL_IsShader)},
    {"glIsSync", P(GL_IsSync)},
    {"glIsTexture", P(GL_IsTexture)},
    {"glIsTransformFeedback", P(GL_IsTransformFeedback)},
    {"glIsVertexArray", P(GL_IsVertexArray)},
    {"glIsVertexArrayOES", P(GL_IsVertexArrayOES)},
    {"glLabelObjectEXT", P(GL_LabelObjectEXT)},
    {"glLightModelf", P(GL_LightModelf)},
    {"glLightModelfv", P(GL_LightModelfv)},
    {"glLightModelx", P(GL_LightModelx)},
    {"glLightModelxv", P(GL_LightModelxv)},
    {"glLightf", P(GL_Lightf)},
    {"glLightfv", P(GL_Lightfv)},
    {"glLightx", P(GL_Lightx)},
    {"glLightxv", P(GL_Lightxv)},
    {"glLineWidth", P(GL_LineWidth)},
    {"glLineWidthx", P(GL_LineWidthx)},
    {"glLinkProgram", P(GL_LinkProgram)},
    {"glLoadIdentity", P(GL_LoadIdentity)},
    {"glLoadMatrixf", P(GL_LoadMatrixf)},
    {"glLoadMatrixx", P(GL_LoadMatrixx)},
    {"glLoadPaletteFromModelViewMatrixOES", P(GL_LoadPaletteFromModelViewMatrixOES)},
    {"glLogicOp", P(GL_LogicOp)},
    {"glLogicOpANGLE", P(GL_LogicOpANGLE)},
    {"glLoseContextCHROMIUM", P(GL_LoseContextCHROMIUM)},
    {"glMapBufferOES", P(GL_MapBufferOES)},
    {"glMapBufferRange", P(GL_MapBufferRange)},
    {"glMapBufferRangeEXT", P(GL_MapBufferRangeEXT)},
    {"glMaterialf", P(GL_Materialf)},
    {"glMaterialfv", P(GL_Materialfv)},
    {"glMaterialx", P(GL_Materialx)},
    {"glMaterialxv", P(GL_Materialxv)},
    {"glMatrixIndexPointerOES", P(GL_MatrixIndexPointerOES)},
    {"glMatrixMode", P(GL_MatrixMode)},
    {"glMaxShaderCompilerThreadsKHR", P(GL_MaxShaderCompilerThreadsKHR)},
    {"glMemoryBarrier", P(GL_MemoryBarrier)},
    {"glMemoryBarrierByRegion", P(GL_MemoryBarrierByRegion)},
    {"glMemoryObjectParameterivEXT", P(GL_MemoryObjectParameterivEXT)},
    {"glMinSampleShading", P(GL_MinSampleShading)},
    {"glMinSampleShadingOES", P(GL_MinSampleShadingOES)},
    {"glMultMatrixf", P(GL_MultMatrixf)},
    {"glMultMatrixx", P(GL_MultMatrixx)},
    {"glMultiDrawArraysANGLE", P(GL_MultiDrawArraysANGLE)},
    {"glMultiDrawArraysEXT", P(GL_MultiDrawArraysEXT)},
    {"glMultiDrawArraysIndirectEXT", P(GL_MultiDrawArraysIndirectEXT)},
    {"glMultiDrawArraysInstancedANGLE", P(GL_MultiDrawArraysInstancedANGLE)},
    {"glMultiDrawArraysInstancedBaseInstanceANGLE", P(GL_MultiDrawArraysInstancedBaseInstanceANGLE)},
    {"glMultiDrawElementsANGLE", P(GL_MultiDrawElementsANGLE)},
    {"glMultiDrawElementsBaseVertexEXT", P(GL_MultiDrawElementsBaseVertexEXT)},
    {"glMultiDrawElementsEXT", P(GL_MultiDrawElementsEXT)},
    {"glMultiDrawElementsIndirectEXT", P(GL_MultiDrawElementsIndirectEXT)},
    {"glMultiDrawElementsInstancedANGLE", P(GL_MultiDrawElementsInstancedANGLE)},
    {"glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE", P(GL_MultiDrawElementsInstancedBaseVertexBaseInstanceANGLE)},
    {"glMultiTexCoord4f", P(GL_MultiTexCoord4f)},
    {"glMultiTexCoord4x", P(GL_MultiTexCoord4x)},
    {"glNormal3f", P(GL_Normal3f)},
    {"glNormal3x", P(GL_Normal3x)},
    {"glNormalPointer", P(GL_NormalPointer)},
    {"glObjectLabel", P(GL_ObjectLabel)},
    {"glObjectLabelKHR", P(GL_ObjectLabelKHR)},
    {"glObjectPtrLabel", P(GL_ObjectPtrLabel)},
    {"glObjectPtrLabelKHR", P(GL_ObjectPtrLabelKHR)},
    {"glOrthof", P(GL_Orthof)},
    {"glOrthox", P(GL_Orthox)},
    {"glPatchParameteri", P(GL_PatchParameteri)},
    {"glPatchParameteriEXT", P(GL_PatchParameteriEXT)},
    {"glPatchParameteriOES", P(GL_PatchParameteriOES)},
    {"glPauseTransformFeedback", P(GL_PauseTransformFeedback)},
    {"glPixelLocalStorageBarrierANGLE", P(GL_PixelLocalStorageBarrierANGLE)},
    {"glPixelStorei", P(GL_PixelStorei)},
    {"glPointParameterf", P(GL_PointParameterf)},
    {"glPointParameterfv", P(GL_PointParameterfv)},
    {"glPointParameterx", P(GL_PointParameterx)},
    {"glPointParameterxv", P(GL_PointParameterxv)},
    {"glPointSize", P(GL_PointSize)},
    {"glPointSizePointerOES", P(GL_PointSizePointerOES)},
    {"glPointSizex", P(GL_PointSizex)},
    {"glPolygonModeANGLE", P(GL_PolygonModeANGLE)},
    {"glPolygonModeNV", P(GL_PolygonModeNV)},
    {"glPolygonOffset", P(GL_PolygonOffset)},
    {"glPolygonOffsetClampEXT", P(GL_PolygonOffsetClampEXT)},
    {"glPolygonOffsetx", P(GL_PolygonOffsetx)},
    {"glPopDebugGroup", P(GL_PopDebugGroup)},
    {"glPopDebugGroupKHR", P(GL_PopDebugGroupKHR)},
    {"glPopGroupMarkerEXT", P(GL_PopGroupMarkerEXT)},
    {"glPopMatrix", P(GL_PopMatrix)},
    {"glPrimitiveBoundingBox", P(GL_PrimitiveBoundingBox)},
    {"glPrimitiveBoundingBoxEXT", P(GL_PrimitiveBoundingBoxEXT)},
    {"glPrimitiveBoundingBoxOES", P(GL_PrimitiveBoundingBoxOES)},
    {"glProgramBinary", P(GL_ProgramBinary)},
    {"glProgramBinaryOES", P(GL_ProgramBinaryOES)},
    {"glProgramParameteri", P(GL_ProgramParameteri)},
    {"glProgramParameteriEXT", P(GL_ProgramParameteriEXT)},
    {"glProgramUniform1f", P(GL_ProgramUniform1f)},
    {"glProgramUniform1fEXT", P(GL_ProgramUniform1fEXT)},
    {"glProgramUniform1fv", P(GL_ProgramUniform1fv)},
    {"glProgramUniform1fvEXT", P(GL_ProgramUniform1fvEXT)},
    {"glProgramUniform1i", P(GL_ProgramUniform1i)},
    {"glProgramUniform1iEXT", P(GL_ProgramUniform1iEXT)},
    {"glProgramUniform1iv", P(GL_ProgramUniform1iv)},
    {"glProgramUniform1ivEXT", P(GL_ProgramUniform1ivEXT)},
    {"glProgramUniform1ui", P(GL_ProgramUniform1ui)},
    {"glProgramUniform1uiEXT", P(GL_ProgramUniform1uiEXT)},
    {"glProgramUniform1uiv", P(GL_ProgramUniform1uiv)},
    {"glProgramUniform1uivEXT", P(GL_ProgramUniform1uivEXT)},
    {"glProgramUniform2f", P(GL_ProgramUniform2f)},
    {"glProgramUniform2fEXT", P(GL_ProgramUniform2fEXT)},
    {"glProgramUniform2fv", P(GL_ProgramUniform2fv)},
    {"glProgramUniform2fvEXT", P(GL_ProgramUniform2fvEXT)},
    {"glProgramUniform2i", P(GL_ProgramUniform2i)},
    {"glProgramUniform2iEXT", P(GL_ProgramUniform2iEXT)},
    {"glProgramUniform2iv", P(GL_ProgramUniform2iv)},
    {"glProgramUniform2ivEXT", P(GL_ProgramUniform2ivEXT)},
    {"glProgramUniform2ui", P(GL_ProgramUniform2ui)},
    {"glProgramUniform2uiEXT", P(GL_ProgramUniform2uiEXT)},
    {"glProgramUniform2uiv", P(GL_ProgramUniform2uiv)},
    {"glProgramUniform2uivEXT", P(GL_ProgramUniform2uivEXT)},
    {"glProgramUniform3f", P(GL_ProgramUniform3f)},
    {"glProgramUniform3fEXT", P(GL_ProgramUniform3fEXT)},
    {"glProgramUniform3fv", P(GL_ProgramUniform3fv)},
    {"glProgramUniform3fvEXT", P(GL_ProgramUniform3fvEXT)},
    {"glProgramUniform3i", P(GL_ProgramUniform3i)},
    {"glProgramUniform3iEXT", P(GL_ProgramUniform3iEXT)},
    {"glProgramUniform3iv", P(GL_ProgramUniform3iv)},
    {"glProgramUniform3ivEXT", P(GL_ProgramUniform3ivEXT)},
    {"glProgramUniform3ui", P(GL_ProgramUniform3ui)},
    {"glProgramUniform3uiEXT", P(GL_ProgramUniform3uiEXT)},
    {"glProgramUniform3uiv", P(GL_ProgramUniform3uiv)},
    {"glProgramUniform3uivEXT", P(GL_ProgramUniform3uivEXT)},
    {"glProgramUniform4f", P(GL_ProgramUniform4f)},
    {"glProgramUniform4fEXT", P(GL_ProgramUniform4fEXT)},
    {"glProgramUniform4fv", P(GL_ProgramUniform4fv)},
    {"glProgramUniform4fvEXT", P(GL_ProgramUniform4fvEXT)},
    {"glProgramUniform4i", P(GL_ProgramUniform4i)},
    {"glProgramUniform4iEXT", P(GL_ProgramUniform4iEXT)},
    {"glProgramUniform4iv", P(GL_ProgramUniform4iv)},
    {"glProgramUniform4ivEXT", P(GL_ProgramUniform4ivEXT)},
    {"glProgramUniform4ui", P(GL_ProgramUniform4ui)},
    {"glProgramUniform4uiEXT", P(GL_ProgramUniform4uiEXT)},
    {"glProgramUniform4uiv", P(GL_ProgramUniform4uiv)},
    {"glProgramUniform4uivEXT", P(GL_ProgramUniform4uivEXT)},
    {"glProgramUniformMatrix2fv", P(GL_ProgramUniformMatrix2fv)},
    {"glProgramUniformMatrix2fvEXT", P(GL_ProgramUniformMatrix2fvEXT)},
    {"glProgramUniformMatrix2x3fv", P(GL_ProgramUniformMatrix2x3fv)},
    {"glProgramUniformMatrix2x3fvEXT", P(GL_ProgramUniformMatrix2x3fvEXT)},
    {"glProgramUniformMatrix2x4fv", P(GL_ProgramUniformMatrix2x4fv)},
    {"glProgramUniformMatrix2x4fvEXT", P(GL_ProgramUniformMatrix2x4fvEXT)},
    {"glProgramUniformMatrix3fv", P(GL_ProgramUniformMatrix3fv)},
    {"glProgramUniformMatrix3fvEXT", P(GL_ProgramUniformMatrix3fvEXT)},
    {"glProgramUniformMatrix3x2fv", P(GL_ProgramUniformMatrix3x2fv)},
    {"glProgramUniformMatrix3x2fvEXT", P(GL_ProgramUniformMatrix3x2fvEXT)},
    {"glProgramUniformMatrix3x4fv", P(GL_ProgramUniformMatrix3x4fv)},
    {"glProgramUniformMatrix3x4fvEXT", P(GL_ProgramUniformMatrix3x4fvEXT)},
    {"glProgramUniformMatrix4fv", P(GL_ProgramUniformMatrix4fv)},
    {"glProgramUniformMatrix4fvEXT", P(GL_ProgramUniformMatrix4fvEXT)},
    {"glProgramUniformMatrix4x2fv", P(GL_ProgramUniformMatrix4x2fv)},
    {"glProgramUniformMatrix4x2fvEXT", P(GL_ProgramUniformMatrix4x2fvEXT)},
    {"glProgramUniformMatrix4x3fv", P(GL_ProgramUniformMatrix4x3fv)},
    {"glProgramUniformMatrix4x3fvEXT", P(GL_ProgramUniformMatrix4x3fvEXT)},
    {"glProvokingVertexANGLE", P(GL_ProvokingVertexANGLE)},
    {"glPushDebugGroup", P(GL_PushDebugGroup)},
    {"glPushDebugGroupKHR", P(GL_PushDebugGroupKHR)},
    {"glPushGroupMarkerEXT", P(GL_PushGroupMarkerEXT)},
    {"glPushMatrix", P(GL_PushMatrix)},
    {"glQueryCounterEXT", P(GL_QueryCounterEXT)},
    {"glQueryMatrixxOES", P(GL_QueryMatrixxOES)},
    {"glReadBuffer", P(GL_ReadBuffer)},
    {"glReadPixels", P(GL_ReadPixels)},
    {"glReadPixelsRobustANGLE", P(GL_ReadPixelsRobustANGLE)},
    {"glReadnPixels", P(GL_ReadnPixels)},
    {"glReadnPixelsEXT", P(GL_ReadnPixelsEXT)},
    {"glReadnPixelsKHR", P(GL_ReadnPixelsKHR)},
    {"glReadnPixelsRobustANGLE", P(GL_ReadnPixelsRobustANGLE)},
    {"glReleaseShaderCompiler", P(GL_ReleaseShaderCompiler)},
    {"glReleaseTexturesANGLE", P(GL_ReleaseTexturesANGLE)},
    {"glRenderbufferStorage", P(GL_RenderbufferStorage)},
    {"glRenderbufferStorageMultisample", P(GL_RenderbufferStorageMultisample)},
    {"glRenderbufferStorageMultisampleANGLE", P(GL_RenderbufferStorageMultisampleANGLE)},
    {"glRenderbufferStorageMultisampleEXT", P(GL_RenderbufferStorageMultisampleEXT)},
    {"glRenderbufferStorageOES", P(GL_RenderbufferStorageOES)},
    {"glRequestExtensionANGLE", P(GL_RequestExtensionANGLE)},
    {"glResumeTransformFeedback", P(GL_ResumeTransformFeedback)},
    {"glRotatef", P(GL_Rotatef)},
    {"glRotatex", P(GL_Rotatex)},
    {"glSampleCoverage", P(GL_SampleCoverage)},
    {"glSampleCoveragex", P(GL_SampleCoveragex)},
    {"glSampleMaski", P(GL_SampleMaski)},
    {"glSampleMaskiANGLE", P(GL_SampleMaskiANGLE)},
    {"glSamplerParameterIiv", P(GL_SamplerParameterIiv)},
    {"glSamplerParameterIivEXT", P(GL_SamplerParameterIivEXT)},
    {"glSamplerParameterIivOES", P(GL_SamplerParameterIivOES)},
    {"glSamplerParameterIivRobustANGLE", P(GL_SamplerParameterIivRobustANGLE)},
    {"glSamplerParameterIuiv", P(GL_SamplerParameterIuiv)},
    {"glSamplerParameterIuivEXT", P(GL_SamplerParameterIuivEXT)},
    {"glSamplerParameterIuivOES", P(GL_SamplerParameterIuivOES)},
    {"glSamplerParameterIuivRobustANGLE", P(GL_SamplerParameterIuivRobustANGLE)},
    {"glSamplerParameterf", P(GL_SamplerParameterf)},
    {"glSamplerParameterfv", P(GL_SamplerParameterfv)},
    {"glSamplerParameterfvRobustANGLE", P(GL_SamplerParameterfvRobustANGLE)},
    {"glSamplerParameteri", P(GL_SamplerParameteri)},
    {"glSamplerParameteriv", P(GL_SamplerParameteriv)},
    {"glSamplerParameterivRobustANGLE", P(GL_SamplerParameterivRobustANGLE)},
    {"glScalef", P(GL_Scalef)},
    {"glScalex", P(GL_Scalex)},
    {"glScissor", P(GL_Scissor)},
    {"glSelectPerfMonitorCountersAMD", P(GL_SelectPerfMonitorCountersAMD)},
    {"glSemaphoreParameterui64vEXT", P(GL_SemaphoreParameterui64vEXT)},
    {"glSetFenceNV", P(GL_SetFenceNV)},
    {"glShadeModel", P(GL_ShadeModel)},
    {"glShaderBinary", P(GL_ShaderBinary)},
    {"glShaderSource", P(GL_ShaderSource)},
    {"glShadingRateCombinerOpsEXT", P(GL_ShadingRateCombinerOpsEXT)},
    {"glShadingRateEXT", P(GL_ShadingRateEXT)},
    {"glShadingRateQCOM", P(GL_ShadingRateQCOM)},
    {"glSignalSemaphoreEXT", P(GL_SignalSemaphoreEXT)},
    {"glStartTilingQCOM", P(GL_StartTilingQCOM)},
    {"glStencilFunc", P(GL_StencilFunc)},
    {"glStencilFuncSeparate", P(GL_StencilFuncSeparate)},
    {"glStencilMask", P(GL_StencilMask)},
    {"glStencilMaskSeparate", P(GL_StencilMaskSeparate)},
    {"glStencilOp", P(GL_StencilOp)},
    {"glStencilOpSeparate", P(GL_StencilOpSeparate)},
    {"glTestFenceNV", P(GL_TestFenceNV)},
    {"glTexBuffer", P(GL_TexBuffer)},
    {"glTexBufferEXT", P(GL_TexBufferEXT)},
    {"glTexBufferOES", P(GL_TexBufferOES)},
    {"glTexBufferRange", P(GL_TexBufferRange)},
    {"glTexBufferRangeEXT", P(GL_TexBufferRangeEXT)},
    {"glTexBufferRangeOES", P(GL_TexBufferRangeOES)},
    {"glTexCoordPointer", P(GL_TexCoordPointer)},
    {"glTexEnvf", P(GL_TexEnvf)},
    {"glTexEnvfv", P(GL_TexEnvfv)},
    {"glTexEnvi", P(GL_TexEnvi)},
    {"glTexEnviv", P(GL_TexEnviv)},
    {"glTexEnvx", P(GL_TexEnvx)},
    {"glTexEnvxv", P(GL_TexEnvxv)},
    {"glTexGenfOES", P(GL_TexGenfOES)},
    {"glTexGenfvOES", P(GL_TexGenfvOES)},
    {"glTexGeniOES", P(GL_TexGeniOES)},
    {"glTexGenivOES", P(GL_TexGenivOES)},
    {"glTexGenxOES", P(GL_TexGenxOES)},
    {"glTexGenxvOES", P(GL_TexGenxvOES)},
    {"glTexImage2D", P(GL_TexImage2D)},
    {"glTexImage2DExternalANGLE", P(GL_TexImage2DExternalANGLE)},
    {"glTexImage2DRobustANGLE", P(GL_TexImage2DRobustANGLE)},
    {"glTexImage3D", P(GL_TexImage3D)},
    {"glTexImage3DOES", P(GL_TexImage3DOES)},
    {"glTexImage3DRobustANGLE", P(GL_TexImage3DRobustANGLE)},
    {"glTexParameterIiv", P(GL_TexParameterIiv)},
    {"glTexParameterIivEXT", P(GL_TexParameterIivEXT)},
    {"glTexParameterIivOES", P(GL_TexParameterIivOES)},
    {"glTexParameterIivRobustANGLE", P(GL_TexParameterIivRobustANGLE)},
    {"glTexParameterIuiv", P(GL_TexParameterIuiv)},
    {"glTexParameterIuivEXT", P(GL_TexParameterIuivEXT)},
    {"glTexParameterIuivOES", P(GL_TexParameterIuivOES)},
    {"glTexParameterIuivRobustANGLE", P(GL_TexParameterIuivRobustANGLE)},
    {"glTexParameterf", P(GL_TexParameterf)},
    {"glTexParameterfv", P(GL_TexParameterfv)},
    {"glTexParameterfvRobustANGLE", P(GL_TexParameterfvRobustANGLE)},
    {"glTexParameteri", P(GL_TexParameteri)},
    {"glTexParameteriv", P(GL_TexParameteriv)},
    {"glTexParameterivRobustANGLE", P(GL_TexParameterivRobustANGLE)},
    {"glTexParameterx", P(GL_TexParameterx)},
    {"glTexParameterxv", P(GL_TexParameterxv)},
    {"glTexStorage2D", P(GL_TexStorage2D)},
    {"glTexStorage2DEXT", P(GL_TexStorage2DEXT)},
    {"glTexStorage2DMultisample", P(GL_TexStorage2DMultisample)},
    {"glTexStorage2DMultisampleANGLE", P(GL_TexStorage2DMultisampleANGLE)},
    {"glTexStorage3D", P(GL_TexStorage3D)},
    {"glTexStorage3DEXT", P(GL_TexStorage3DEXT)},
    {"glTexStorage3DMultisample", P(GL_TexStorage3DMultisample)},
    {"glTexStorage3DMultisampleOES", P(GL_TexStorage3DMultisampleOES)},
    {"glTexStorageAttribs2DEXT", P(GL_TexStorageAttribs2DEXT)},
    {"glTexStorageAttribs3DEXT", P(GL_TexStorageAttribs3DEXT)},
    {"glTexStorageMem2DEXT", P(GL_TexStorageMem2DEXT)},
    {"glTexStorageMem2DMultisampleEXT", P(GL_TexStorageMem2DMultisampleEXT)},
    {"glTexStorageMem3DEXT", P(GL_TexStorageMem3DEXT)},
    {"glTexStorageMem3DMultisampleEXT", P(GL_TexStorageMem3DMultisampleEXT)},
    {"glTexStorageMemFlags2DANGLE", P(GL_TexStorageMemFlags2DANGLE)},
    {"glTexStorageMemFlags2DMultisampleANGLE", P(GL_TexStorageMemFlags2DMultisampleANGLE)},
    {"glTexStorageMemFlags3DANGLE", P(GL_TexStorageMemFlags3DANGLE)},
    {"glTexStorageMemFlags3DMultisampleANGLE", P(GL_TexStorageMemFlags3DMultisampleANGLE)},
    {"glTexSubImage2D", P(GL_TexSubImage2D)},
    {"glTexSubImage2DRobustANGLE", P(GL_TexSubImage2DRobustANGLE)},
    {"glTexSubImage3D", P(GL_TexSubImage3D)},
    {"glTexSubImage3DOES", P(GL_TexSubImage3DOES)},
    {"glTexSubImage3DRobustANGLE", P(GL_TexSubImage3DRobustANGLE)},
    {"glTextureFoveationParametersQCOM", P(GL_TextureFoveationParametersQCOM)},
    {"glTransformFeedbackVaryings", P(GL_TransformFeedbackVaryings)},
    {"glTranslatef", P(GL_Translatef)},
    {"glTranslatex", P(GL_Translatex)},
    {"glUniform1f", P(GL_Uniform1f)},
    {"glUniform1fv", P(GL_Uniform1fv)},
    {"glUniform1i", P(GL_Uniform1i)},
    {"glUniform1iv", P(GL_Uniform1iv)},
    {"glUniform1ui", P(GL_Uniform1ui)},
    {"glUniform1uiv", P(GL_Uniform1uiv)},
    {"glUniform2f", P(GL_Uniform2f)},
    {"glUniform2fv", P(GL_Uniform2fv)},
    {"glUniform2i", P(GL_Uniform2i)},
    {"glUniform2iv", P(GL_Uniform2iv)},
    {"glUniform2ui", P(GL_Uniform2ui)},
    {"glUniform2uiv", P(GL_Uniform2uiv)},
    {"glUniform3f", P(GL_Uniform3f)},
    {"glUniform3fv", P(GL_Uniform3fv)},
    {"glUniform3i", P(GL_Uniform3i)},
    {"glUniform3iv", P(GL_Uniform3iv)},
    {"glUniform3ui", P(GL_Uniform3ui)},
    {"glUniform3uiv", P(GL_Uniform3uiv)},
    {"glUniform4f", P(GL_Uniform4f)},
    {"glUniform4fv", P(GL_Uniform4fv)},
    {"glUniform4i", P(GL_Uniform4i)},
    {"glUniform4iv", P(GL_Uniform4iv)},
    {"glUniform4ui", P(GL_Uniform4ui)},
    {"glUniform4uiv", P(GL_Uniform4uiv)},
    {"glUniformBlockBinding", P(GL_UniformBlockBinding)},
    {"glUniformMatrix2fv", P(GL_UniformMatrix2fv)},
    {"glUniformMatrix2x3fv", P(GL_UniformMatrix2x3fv)},
    {"glUniformMatrix2x4fv", P(GL_UniformMatrix2x4fv)},
    {"glUniformMatrix3fv", P(GL_UniformMatrix3fv)},
    {"glUniformMatrix3x2fv", P(GL_UniformMatrix3x2fv)},
    {"glUniformMatrix3x4fv", P(GL_UniformMatrix3x4fv)},
    {"glUniformMatrix4fv", P(GL_UniformMatrix4fv)},
    {"glUniformMatrix4x2fv", P(GL_UniformMatrix4x2fv)},
    {"glUniformMatrix4x3fv", P(GL_UniformMatrix4x3fv)},
    {"glUnmapBuffer", P(GL_UnmapBuffer)},
    {"glUnmapBufferOES", P(GL_UnmapBufferOES)},
    {"glUseProgram", P(GL_UseProgram)},
    {"glUseProgramStages", P(GL_UseProgramStages)},
    {"glUseProgramStagesEXT", P(GL_UseProgramStagesEXT)},
    {"glValidateProgram", P(GL_ValidateProgram)},
    {"glValidateProgramPipeline", P(GL_ValidateProgramPipeline)},
    {"glValidateProgramPipelineEXT", P(GL_ValidateProgramPipelineEXT)},
    {"glVertexAttrib1f", P(GL_VertexAttrib1f)},
    {"glVertexAttrib1fv", P(GL_VertexAttrib1fv)},
    {"glVertexAttrib2f", P(GL_VertexAttrib2f)},
    {"glVertexAttrib2fv", P(GL_VertexAttrib2fv)},
    {"glVertexAttrib3f", P(GL_VertexAttrib3f)},
    {"glVertexAttrib3fv", P(GL_VertexAttrib3fv)},
    {"glVertexAttrib4f", P(GL_VertexAttrib4f)},
    {"glVertexAttrib4fv", P(GL_VertexAttrib4fv)},
    {"glVertexAttribBinding", P(GL_VertexAttribBinding)},
    {"glVertexAttribDivisor", P(GL_VertexAttribDivisor)},
    {"glVertexAttribDivisorANGLE", P(GL_VertexAttribDivisorANGLE)},
    {"glVertexAttribDivisorEXT", P(GL_VertexAttribDivisorEXT)},
    {"glVertexAttribFormat", P(GL_VertexAttribFormat)},
    {"glVertexAttribI4i", P(GL_VertexAttribI4i)},
    {"glVertexAttribI4iv", P(GL_VertexAttribI4iv)},
    {"glVertexAttribI4ui", P(GL_VertexAttribI4ui)},
    {"glVertexAttribI4uiv", P(GL_VertexAttribI4uiv)},
    {"glVertexAttribIFormat", P(GL_VertexAttribIFormat)},
    {"glVertexAttribIPointer", P(GL_VertexAttribIPointer)},
    {"glVertexAttribPointer", P(GL_VertexAttribPointer)},
    {"glVertexBindingDivisor", P(GL_VertexBindingDivisor)},
    {"glVertexPointer", P(GL_VertexPointer)},
    {"glViewport", P(GL_Viewport)},
    {"glWaitSemaphoreEXT", P(GL_WaitSemaphoreEXT)},
    {"glWaitSync", P(GL_WaitSync)},
    {"glWeightPointerOES", P(GL_WeightPointerOES)},
};
// clang-format on
}  // anonymous namespace
__eglMustCastToProperFunctionPointerType GetProcAddress(Thread *thread, const char *procname)
{
    if (procname == nullptr)
    {
        return nullptr;
    }
    const ProcEntry *entry =
        std::lower_bound(std::begin(g_procTable), std::end(g_procTable), procname, CompareProc);
    thread->setSuccess();
    if (entry == std::end(g_procTable) || strcmp(entry->name, procname) != 0)
    {
        return nullptr;
    }
    return entry->func;
}
}  // namespace egl