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