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