Merge "Fix internal format/type for 3D + depth/stencil negative API tests." into...
[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 31042.
5  */
6
7 static const char* s_EGL14[] =
8 {
9         "eglBindAPI",
10         "eglBindTexImage",
11         "eglChooseConfig",
12         "eglCopyBuffers",
13         "eglCreateContext",
14         "eglCreatePbufferFromClientBuffer",
15         "eglCreatePbufferSurface",
16         "eglCreatePixmapSurface",
17         "eglCreateWindowSurface",
18         "eglDestroyContext",
19         "eglDestroySurface",
20         "eglGetConfigAttrib",
21         "eglGetConfigs",
22         "eglGetCurrentContext",
23         "eglGetCurrentDisplay",
24         "eglGetCurrentSurface",
25         "eglGetDisplay",
26         "eglGetError",
27         "eglGetProcAddress",
28         "eglInitialize",
29         "eglMakeCurrent",
30         "eglQueryAPI",
31         "eglQueryContext",
32         "eglQueryString",
33         "eglQuerySurface",
34         "eglReleaseTexImage",
35         "eglReleaseThread",
36         "eglSurfaceAttrib",
37         "eglSwapBuffers",
38         "eglSwapInterval",
39         "eglTerminate",
40         "eglWaitClient",
41         "eglWaitGL",
42         "eglWaitNative",
43 };
44
45 static const char* s_GLES10[] =
46 {
47         "glActiveTexture",
48         "glAlphaFunc",
49         "glAlphaFuncx",
50         "glBindBuffer",
51         "glBindTexture",
52         "glBlendFunc",
53         "glBufferData",
54         "glBufferSubData",
55         "glClear",
56         "glClearColor",
57         "glClearColorx",
58         "glClearDepthf",
59         "glClearDepthx",
60         "glClearStencil",
61         "glClientActiveTexture",
62         "glClipPlanef",
63         "glClipPlanex",
64         "glColor4f",
65         "glColor4ub",
66         "glColor4x",
67         "glColorMask",
68         "glColorPointer",
69         "glCompressedTexImage2D",
70         "glCompressedTexSubImage2D",
71         "glCopyTexImage2D",
72         "glCopyTexSubImage2D",
73         "glCullFace",
74         "glDeleteBuffers",
75         "glDeleteTextures",
76         "glDepthFunc",
77         "glDepthMask",
78         "glDepthRangef",
79         "glDepthRangex",
80         "glDisable",
81         "glDisableClientState",
82         "glDrawArrays",
83         "glDrawElements",
84         "glEnable",
85         "glEnableClientState",
86         "glFinish",
87         "glFlush",
88         "glFogf",
89         "glFogfv",
90         "glFogx",
91         "glFogxv",
92         "glFrontFace",
93         "glFrustumf",
94         "glFrustumx",
95         "glGenBuffers",
96         "glGenTextures",
97         "glGetBooleanv",
98         "glGetBufferParameteriv",
99         "glGetClipPlanef",
100         "glGetClipPlanex",
101         "glGetError",
102         "glGetFixedv",
103         "glGetFloatv",
104         "glGetIntegerv",
105         "glGetLightfv",
106         "glGetLightxv",
107         "glGetMaterialfv",
108         "glGetMaterialxv",
109         "glGetPointerv",
110         "glGetString",
111         "glGetTexEnvfv",
112         "glGetTexEnviv",
113         "glGetTexEnvxv",
114         "glGetTexParameterfv",
115         "glGetTexParameteriv",
116         "glGetTexParameterxv",
117         "glHint",
118         "glIsBuffer",
119         "glIsEnabled",
120         "glIsTexture",
121         "glLightModelf",
122         "glLightModelfv",
123         "glLightModelx",
124         "glLightModelxv",
125         "glLightf",
126         "glLightfv",
127         "glLightx",
128         "glLightxv",
129         "glLineWidth",
130         "glLineWidthx",
131         "glLoadIdentity",
132         "glLoadMatrixf",
133         "glLoadMatrixx",
134         "glLogicOp",
135         "glMaterialf",
136         "glMaterialfv",
137         "glMaterialx",
138         "glMaterialxv",
139         "glMatrixMode",
140         "glMultMatrixf",
141         "glMultMatrixx",
142         "glMultiTexCoord4f",
143         "glMultiTexCoord4x",
144         "glNormal3f",
145         "glNormal3x",
146         "glNormalPointer",
147         "glOrthof",
148         "glOrthox",
149         "glPixelStorei",
150         "glPointParameterf",
151         "glPointParameterfv",
152         "glPointParameterx",
153         "glPointParameterxv",
154         "glPointSize",
155         "glPointSizex",
156         "glPolygonOffset",
157         "glPolygonOffsetx",
158         "glPopMatrix",
159         "glPushMatrix",
160         "glReadPixels",
161         "glRotatef",
162         "glRotatex",
163         "glSampleCoverage",
164         "glSampleCoveragex",
165         "glScalef",
166         "glScalex",
167         "glScissor",
168         "glShadeModel",
169         "glStencilFunc",
170         "glStencilMask",
171         "glStencilOp",
172         "glTexCoordPointer",
173         "glTexEnvf",
174         "glTexEnvfv",
175         "glTexEnvi",
176         "glTexEnviv",
177         "glTexEnvx",
178         "glTexEnvxv",
179         "glTexImage2D",
180         "glTexParameterf",
181         "glTexParameterfv",
182         "glTexParameteri",
183         "glTexParameteriv",
184         "glTexParameterx",
185         "glTexParameterxv",
186         "glTexSubImage2D",
187         "glTranslatef",
188         "glTranslatex",
189         "glVertexPointer",
190         "glViewport",
191 };
192
193 static const char* s_GLES20[] =
194 {
195         "glActiveTexture",
196         "glAttachShader",
197         "glBindAttribLocation",
198         "glBindBuffer",
199         "glBindFramebuffer",
200         "glBindRenderbuffer",
201         "glBindTexture",
202         "glBlendColor",
203         "glBlendEquation",
204         "glBlendEquationSeparate",
205         "glBlendFunc",
206         "glBlendFuncSeparate",
207         "glBufferData",
208         "glBufferSubData",
209         "glCheckFramebufferStatus",
210         "glClear",
211         "glClearColor",
212         "glClearDepthf",
213         "glClearStencil",
214         "glColorMask",
215         "glCompileShader",
216         "glCompressedTexImage2D",
217         "glCompressedTexSubImage2D",
218         "glCopyTexImage2D",
219         "glCopyTexSubImage2D",
220         "glCreateProgram",
221         "glCreateShader",
222         "glCullFace",
223         "glDeleteBuffers",
224         "glDeleteFramebuffers",
225         "glDeleteProgram",
226         "glDeleteRenderbuffers",
227         "glDeleteShader",
228         "glDeleteTextures",
229         "glDepthFunc",
230         "glDepthMask",
231         "glDepthRangef",
232         "glDetachShader",
233         "glDisable",
234         "glDisableVertexAttribArray",
235         "glDrawArrays",
236         "glDrawElements",
237         "glEnable",
238         "glEnableVertexAttribArray",
239         "glFinish",
240         "glFlush",
241         "glFramebufferRenderbuffer",
242         "glFramebufferTexture2D",
243         "glFrontFace",
244         "glGenBuffers",
245         "glGenFramebuffers",
246         "glGenRenderbuffers",
247         "glGenTextures",
248         "glGenerateMipmap",
249         "glGetActiveAttrib",
250         "glGetActiveUniform",
251         "glGetAttachedShaders",
252         "glGetAttribLocation",
253         "glGetBooleanv",
254         "glGetBufferParameteriv",
255         "glGetError",
256         "glGetFloatv",
257         "glGetFramebufferAttachmentParameteriv",
258         "glGetIntegerv",
259         "glGetProgramInfoLog",
260         "glGetProgramiv",
261         "glGetRenderbufferParameteriv",
262         "glGetShaderInfoLog",
263         "glGetShaderPrecisionFormat",
264         "glGetShaderSource",
265         "glGetShaderiv",
266         "glGetString",
267         "glGetTexParameterfv",
268         "glGetTexParameteriv",
269         "glGetUniformLocation",
270         "glGetUniformfv",
271         "glGetUniformiv",
272         "glGetVertexAttribPointerv",
273         "glGetVertexAttribfv",
274         "glGetVertexAttribiv",
275         "glHint",
276         "glIsBuffer",
277         "glIsEnabled",
278         "glIsFramebuffer",
279         "glIsProgram",
280         "glIsRenderbuffer",
281         "glIsShader",
282         "glIsTexture",
283         "glLineWidth",
284         "glLinkProgram",
285         "glPixelStorei",
286         "glPolygonOffset",
287         "glReadPixels",
288         "glReleaseShaderCompiler",
289         "glRenderbufferStorage",
290         "glSampleCoverage",
291         "glScissor",
292         "glShaderBinary",
293         "glShaderSource",
294         "glStencilFunc",
295         "glStencilFuncSeparate",
296         "glStencilMask",
297         "glStencilMaskSeparate",
298         "glStencilOp",
299         "glStencilOpSeparate",
300         "glTexImage2D",
301         "glTexParameterf",
302         "glTexParameterfv",
303         "glTexParameteri",
304         "glTexParameteriv",
305         "glTexSubImage2D",
306         "glUniform1f",
307         "glUniform1fv",
308         "glUniform1i",
309         "glUniform1iv",
310         "glUniform2f",
311         "glUniform2fv",
312         "glUniform2i",
313         "glUniform2iv",
314         "glUniform3f",
315         "glUniform3fv",
316         "glUniform3i",
317         "glUniform3iv",
318         "glUniform4f",
319         "glUniform4fv",
320         "glUniform4i",
321         "glUniform4iv",
322         "glUniformMatrix2fv",
323         "glUniformMatrix3fv",
324         "glUniformMatrix4fv",
325         "glUseProgram",
326         "glValidateProgram",
327         "glVertexAttrib1f",
328         "glVertexAttrib1fv",
329         "glVertexAttrib2f",
330         "glVertexAttrib2fv",
331         "glVertexAttrib3f",
332         "glVertexAttrib3fv",
333         "glVertexAttrib4f",
334         "glVertexAttrib4fv",
335         "glVertexAttribPointer",
336         "glViewport",
337 };
338
339 static const char* s_GLES30[] =
340 {
341         "glBeginQuery",
342         "glBeginTransformFeedback",
343         "glBindBufferBase",
344         "glBindBufferRange",
345         "glBindSampler",
346         "glBindTransformFeedback",
347         "glBindVertexArray",
348         "glBlitFramebuffer",
349         "glClearBufferfi",
350         "glClearBufferfv",
351         "glClearBufferiv",
352         "glClearBufferuiv",
353         "glClientWaitSync",
354         "glCompressedTexImage3D",
355         "glCompressedTexSubImage3D",
356         "glCopyBufferSubData",
357         "glCopyTexSubImage3D",
358         "glDeleteQueries",
359         "glDeleteSamplers",
360         "glDeleteSync",
361         "glDeleteTransformFeedbacks",
362         "glDeleteVertexArrays",
363         "glDrawArraysInstanced",
364         "glDrawBuffers",
365         "glDrawElementsInstanced",
366         "glDrawRangeElements",
367         "glEndQuery",
368         "glEndTransformFeedback",
369         "glFenceSync",
370         "glFlushMappedBufferRange",
371         "glFramebufferTextureLayer",
372         "glGenQueries",
373         "glGenSamplers",
374         "glGenTransformFeedbacks",
375         "glGenVertexArrays",
376         "glGetActiveUniformBlockName",
377         "glGetActiveUniformBlockiv",
378         "glGetActiveUniformsiv",
379         "glGetBufferParameteri64v",
380         "glGetBufferPointerv",
381         "glGetFragDataLocation",
382         "glGetInteger64i_v",
383         "glGetInteger64v",
384         "glGetIntegeri_v",
385         "glGetInternalformativ",
386         "glGetProgramBinary",
387         "glGetQueryObjectuiv",
388         "glGetQueryiv",
389         "glGetSamplerParameterfv",
390         "glGetSamplerParameteriv",
391         "glGetStringi",
392         "glGetSynciv",
393         "glGetTransformFeedbackVarying",
394         "glGetUniformBlockIndex",
395         "glGetUniformIndices",
396         "glGetUniformuiv",
397         "glGetVertexAttribIiv",
398         "glGetVertexAttribIuiv",
399         "glInvalidateFramebuffer",
400         "glInvalidateSubFramebuffer",
401         "glIsQuery",
402         "glIsSampler",
403         "glIsSync",
404         "glIsTransformFeedback",
405         "glIsVertexArray",
406         "glMapBufferRange",
407         "glPauseTransformFeedback",
408         "glProgramBinary",
409         "glProgramParameteri",
410         "glReadBuffer",
411         "glRenderbufferStorageMultisample",
412         "glResumeTransformFeedback",
413         "glSamplerParameterf",
414         "glSamplerParameterfv",
415         "glSamplerParameteri",
416         "glSamplerParameteriv",
417         "glTexImage3D",
418         "glTexStorage2D",
419         "glTexStorage3D",
420         "glTexSubImage3D",
421         "glTransformFeedbackVaryings",
422         "glUniform1ui",
423         "glUniform1uiv",
424         "glUniform2ui",
425         "glUniform2uiv",
426         "glUniform3ui",
427         "glUniform3uiv",
428         "glUniform4ui",
429         "glUniform4uiv",
430         "glUniformBlockBinding",
431         "glUniformMatrix2x3fv",
432         "glUniformMatrix2x4fv",
433         "glUniformMatrix3x2fv",
434         "glUniformMatrix3x4fv",
435         "glUniformMatrix4x2fv",
436         "glUniformMatrix4x3fv",
437         "glUnmapBuffer",
438         "glVertexAttribDivisor",
439         "glVertexAttribI4i",
440         "glVertexAttribI4iv",
441         "glVertexAttribI4ui",
442         "glVertexAttribI4uiv",
443         "glVertexAttribIPointer",
444         "glWaitSync",
445 };
446
447 static const char* s_EGL_ANDROID_blob_cache[] =
448 {
449         "eglSetBlobCacheFuncsANDROID",
450 };
451
452 static const char* s_EGL_ANDROID_native_fence_sync[] =
453 {
454         "eglDupNativeFenceFDANDROID",
455 };
456
457 static const char* s_EGL_ANGLE_query_surface_pointer[] =
458 {
459         "eglQuerySurfacePointerANGLE",
460 };
461
462 static const char* s_EGL_EXT_device_base[] =
463 {
464         "eglQueryDeviceAttribEXT",
465         "eglQueryDeviceStringEXT",
466         "eglQueryDevicesEXT",
467         "eglQueryDisplayAttribEXT",
468 };
469
470 static const char* s_EGL_EXT_device_enumeration[] =
471 {
472         "eglQueryDevicesEXT",
473 };
474
475 static const char* s_EGL_EXT_device_query[] =
476 {
477         "eglQueryDeviceAttribEXT",
478         "eglQueryDeviceStringEXT",
479         "eglQueryDisplayAttribEXT",
480 };
481
482 static const char* s_EGL_EXT_output_base[] =
483 {
484         "eglGetOutputLayersEXT",
485         "eglGetOutputPortsEXT",
486         "eglOutputLayerAttribEXT",
487         "eglOutputPortAttribEXT",
488         "eglQueryOutputLayerAttribEXT",
489         "eglQueryOutputLayerStringEXT",
490         "eglQueryOutputPortAttribEXT",
491         "eglQueryOutputPortStringEXT",
492 };
493
494 static const char* s_EGL_EXT_platform_base[] =
495 {
496         "eglCreatePlatformPixmapSurfaceEXT",
497         "eglCreatePlatformWindowSurfaceEXT",
498         "eglGetPlatformDisplayEXT",
499 };
500
501 static const char* s_EGL_EXT_stream_consumer_egloutput[] =
502 {
503         "eglStreamConsumerOutputEXT",
504 };
505
506 static const char* s_EGL_EXT_swap_buffers_with_damage[] =
507 {
508         "eglSwapBuffersWithDamageEXT",
509 };
510
511 static const char* s_EGL_HI_clientpixmap[] =
512 {
513         "eglCreatePixmapSurfaceHI",
514 };
515
516 static const char* s_EGL_KHR_cl_event2[] =
517 {
518         "eglCreateSync64KHR",
519 };
520
521 static const char* s_EGL_KHR_fence_sync[] =
522 {
523         "eglClientWaitSyncKHR",
524         "eglCreateSyncKHR",
525         "eglDestroySyncKHR",
526         "eglGetSyncAttribKHR",
527 };
528
529 static const char* s_EGL_KHR_image[] =
530 {
531         "eglCreateImageKHR",
532         "eglDestroyImageKHR",
533 };
534
535 static const char* s_EGL_KHR_image_base[] =
536 {
537         "eglCreateImageKHR",
538         "eglDestroyImageKHR",
539 };
540
541 static const char* s_EGL_KHR_lock_surface[] =
542 {
543         "eglLockSurfaceKHR",
544         "eglUnlockSurfaceKHR",
545 };
546
547 static const char* s_EGL_KHR_lock_surface3[] =
548 {
549         "eglLockSurfaceKHR",
550         "eglQuerySurface64KHR",
551         "eglUnlockSurfaceKHR",
552 };
553
554 static const char* s_EGL_KHR_partial_update[] =
555 {
556         "eglSetDamageRegionKHR",
557 };
558
559 static const char* s_EGL_KHR_reusable_sync[] =
560 {
561         "eglClientWaitSyncKHR",
562         "eglCreateSyncKHR",
563         "eglDestroySyncKHR",
564         "eglGetSyncAttribKHR",
565         "eglSignalSyncKHR",
566 };
567
568 static const char* s_EGL_KHR_stream[] =
569 {
570         "eglCreateStreamKHR",
571         "eglDestroyStreamKHR",
572         "eglQueryStreamKHR",
573         "eglQueryStreamu64KHR",
574         "eglStreamAttribKHR",
575 };
576
577 static const char* s_EGL_KHR_stream_consumer_gltexture[] =
578 {
579         "eglStreamConsumerAcquireKHR",
580         "eglStreamConsumerGLTextureExternalKHR",
581         "eglStreamConsumerReleaseKHR",
582 };
583
584 static const char* s_EGL_KHR_stream_cross_process_fd[] =
585 {
586         "eglCreateStreamFromFileDescriptorKHR",
587         "eglGetStreamFileDescriptorKHR",
588 };
589
590 static const char* s_EGL_KHR_stream_fifo[] =
591 {
592         "eglQueryStreamTimeKHR",
593 };
594
595 static const char* s_EGL_KHR_stream_producer_eglsurface[] =
596 {
597         "eglCreateStreamProducerSurfaceKHR",
598 };
599
600 static const char* s_EGL_KHR_swap_buffers_with_damage[] =
601 {
602         "eglSwapBuffersWithDamageKHR",
603 };
604
605 static const char* s_EGL_KHR_wait_sync[] =
606 {
607         "eglWaitSyncKHR",
608 };
609
610 static const char* s_EGL_MESA_drm_image[] =
611 {
612         "eglCreateDRMImageMESA",
613         "eglExportDRMImageMESA",
614 };
615
616 static const char* s_EGL_MESA_image_dma_buf_export[] =
617 {
618         "eglExportDMABUFImageMESA",
619         "eglExportDMABUFImageQueryMESA",
620 };
621
622 static const char* s_EGL_NOK_swap_region[] =
623 {
624         "eglSwapBuffersRegionNOK",
625 };
626
627 static const char* s_EGL_NOK_swap_region2[] =
628 {
629         "eglSwapBuffersRegion2NOK",
630 };
631
632 static const char* s_EGL_NV_native_query[] =
633 {
634         "eglQueryNativeDisplayNV",
635         "eglQueryNativePixmapNV",
636         "eglQueryNativeWindowNV",
637 };
638
639 static const char* s_EGL_NV_post_sub_buffer[] =
640 {
641         "eglPostSubBufferNV",
642 };
643
644 static const char* s_EGL_NV_stream_sync[] =
645 {
646         "eglCreateStreamSyncNV",
647 };
648
649 static const char* s_EGL_NV_sync[] =
650 {
651         "eglClientWaitSyncNV",
652         "eglCreateFenceSyncNV",
653         "eglDestroySyncNV",
654         "eglFenceNV",
655         "eglGetSyncAttribNV",
656         "eglSignalSyncNV",
657 };
658
659 static const char* s_EGL_NV_system_time[] =
660 {
661         "eglGetSystemTimeFrequencyNV",
662         "eglGetSystemTimeNV",
663 };
664
665 static const char* s_GL_APPLE_copy_texture_levels[] =
666 {
667         "glCopyTextureLevelsAPPLE",
668 };
669
670 static const char* s_GL_APPLE_framebuffer_multisample[] =
671 {
672         "glRenderbufferStorageMultisampleAPPLE",
673         "glResolveMultisampleFramebufferAPPLE",
674 };
675
676 static const char* s_GL_APPLE_sync[] =
677 {
678         "glClientWaitSyncAPPLE",
679         "glDeleteSyncAPPLE",
680         "glFenceSyncAPPLE",
681         "glGetInteger64vAPPLE",
682         "glGetSyncivAPPLE",
683         "glIsSyncAPPLE",
684         "glWaitSyncAPPLE",
685 };
686
687 static const char* s_GL_EXT_discard_framebuffer[] =
688 {
689         "glDiscardFramebufferEXT",
690 };
691
692 static const char* s_GL_EXT_map_buffer_range[] =
693 {
694         "glFlushMappedBufferRangeEXT",
695         "glMapBufferRangeEXT",
696 };
697
698 static const char* s_GL_EXT_multi_draw_arrays[] =
699 {
700         "glMultiDrawArraysEXT",
701         "glMultiDrawElementsEXT",
702 };
703
704 static const char* s_GL_EXT_multisampled_render_to_texture[] =
705 {
706         "glFramebufferTexture2DMultisampleEXT",
707         "glRenderbufferStorageMultisampleEXT",
708 };
709
710 static const char* s_GL_EXT_robustness[] =
711 {
712         "glGetGraphicsResetStatusEXT",
713         "glGetnUniformfvEXT",
714         "glGetnUniformivEXT",
715         "glReadnPixelsEXT",
716 };
717
718 static const char* s_GL_EXT_texture_storage[] =
719 {
720         "glTexStorage1DEXT",
721         "glTexStorage2DEXT",
722         "glTexStorage3DEXT",
723         "glTextureStorage1DEXT",
724         "glTextureStorage2DEXT",
725         "glTextureStorage3DEXT",
726 };
727
728 static const char* s_GL_IMG_multisampled_render_to_texture[] =
729 {
730         "glFramebufferTexture2DMultisampleIMG",
731         "glRenderbufferStorageMultisampleIMG",
732 };
733
734 static const char* s_GL_IMG_user_clip_plane[] =
735 {
736         "glClipPlanefIMG",
737         "glClipPlanexIMG",
738 };
739
740 static const char* s_GL_NV_fence[] =
741 {
742         "glDeleteFencesNV",
743         "glFinishFenceNV",
744         "glGenFencesNV",
745         "glGetFenceivNV",
746         "glIsFenceNV",
747         "glSetFenceNV",
748         "glTestFenceNV",
749 };
750
751 static const char* s_GL_OES_EGL_image[] =
752 {
753         "glEGLImageTargetRenderbufferStorageOES",
754         "glEGLImageTargetTexture2DOES",
755 };
756
757 static const char* s_GL_OES_blend_equation_separate[] =
758 {
759         "glBlendEquationSeparateOES",
760 };
761
762 static const char* s_GL_OES_blend_func_separate[] =
763 {
764         "glBlendFuncSeparateOES",
765 };
766
767 static const char* s_GL_OES_blend_subtract[] =
768 {
769         "glBlendEquationOES",
770 };
771
772 static const char* s_GL_OES_draw_texture[] =
773 {
774         "glDrawTexfOES",
775         "glDrawTexfvOES",
776         "glDrawTexiOES",
777         "glDrawTexivOES",
778         "glDrawTexsOES",
779         "glDrawTexsvOES",
780         "glDrawTexxOES",
781         "glDrawTexxvOES",
782 };
783
784 static const char* s_GL_OES_fixed_point[] =
785 {
786         "glAlphaFuncxOES",
787         "glClearColorxOES",
788         "glClearDepthxOES",
789         "glClipPlanexOES",
790         "glColor4xOES",
791         "glDepthRangexOES",
792         "glFogxOES",
793         "glFogxvOES",
794         "glFrustumxOES",
795         "glGetClipPlanexOES",
796         "glGetFixedvOES",
797         "glGetLightxvOES",
798         "glGetMaterialxvOES",
799         "glGetTexEnvxvOES",
800         "glGetTexParameterxvOES",
801         "glLightModelxOES",
802         "glLightModelxvOES",
803         "glLightxOES",
804         "glLightxvOES",
805         "glLineWidthxOES",
806         "glLoadMatrixxOES",
807         "glMaterialxOES",
808         "glMaterialxvOES",
809         "glMultMatrixxOES",
810         "glMultiTexCoord4xOES",
811         "glNormal3xOES",
812         "glOrthoxOES",
813         "glPointParameterxOES",
814         "glPointParameterxvOES",
815         "glPointSizexOES",
816         "glPolygonOffsetxOES",
817         "glRotatexOES",
818         "glSampleCoverageOES",
819         "glSampleCoveragexOES",
820         "glScalexOES",
821         "glTexEnvxOES",
822         "glTexEnvxvOES",
823         "glTexParameterxOES",
824         "glTexParameterxvOES",
825         "glTranslatexOES",
826 };
827
828 static const char* s_GL_OES_framebuffer_object[] =
829 {
830         "glBindFramebufferOES",
831         "glBindRenderbufferOES",
832         "glCheckFramebufferStatusOES",
833         "glDeleteFramebuffersOES",
834         "glDeleteRenderbuffersOES",
835         "glFramebufferRenderbufferOES",
836         "glFramebufferTexture2DOES",
837         "glGenFramebuffersOES",
838         "glGenRenderbuffersOES",
839         "glGenerateMipmapOES",
840         "glGetFramebufferAttachmentParameterivOES",
841         "glGetRenderbufferParameterivOES",
842         "glIsFramebufferOES",
843         "glIsRenderbufferOES",
844         "glRenderbufferStorageOES",
845 };
846
847 static const char* s_GL_OES_mapbuffer[] =
848 {
849         "glGetBufferPointervOES",
850         "glMapBufferOES",
851         "glUnmapBufferOES",
852 };
853
854 static const char* s_GL_OES_matrix_palette[] =
855 {
856         "glCurrentPaletteMatrixOES",
857         "glLoadPaletteFromModelViewMatrixOES",
858         "glMatrixIndexPointerOES",
859         "glWeightPointerOES",
860 };
861
862 static const char* s_GL_OES_point_size_array[] =
863 {
864         "glPointSizePointerOES",
865 };
866
867 static const char* s_GL_OES_query_matrix[] =
868 {
869         "glQueryMatrixxOES",
870 };
871
872 static const char* s_GL_OES_single_precision[] =
873 {
874         "glClearDepthfOES",
875         "glClipPlanefOES",
876         "glDepthRangefOES",
877         "glFrustumfOES",
878         "glGetClipPlanefOES",
879         "glOrthofOES",
880 };
881
882 static const char* s_GL_OES_texture_cube_map[] =
883 {
884         "glGetTexGenfvOES",
885         "glGetTexGenivOES",
886         "glGetTexGenxvOES",
887         "glTexGenfOES",
888         "glTexGenfvOES",
889         "glTexGeniOES",
890         "glTexGenivOES",
891         "glTexGenxOES",
892         "glTexGenxvOES",
893 };
894
895 static const char* s_GL_OES_vertex_array_object[] =
896 {
897         "glBindVertexArrayOES",
898         "glDeleteVertexArraysOES",
899         "glGenVertexArraysOES",
900         "glIsVertexArrayOES",
901 };
902
903 static const char* s_GL_QCOM_driver_control[] =
904 {
905         "glDisableDriverControlQCOM",
906         "glEnableDriverControlQCOM",
907         "glGetDriverControlStringQCOM",
908         "glGetDriverControlsQCOM",
909 };
910
911 static const char* s_GL_QCOM_extended_get[] =
912 {
913         "glExtGetBufferPointervQCOM",
914         "glExtGetBuffersQCOM",
915         "glExtGetFramebuffersQCOM",
916         "glExtGetRenderbuffersQCOM",
917         "glExtGetTexLevelParameterivQCOM",
918         "glExtGetTexSubImageQCOM",
919         "glExtGetTexturesQCOM",
920         "glExtTexObjectStateOverrideiQCOM",
921 };
922
923 static const char* s_GL_QCOM_extended_get2[] =
924 {
925         "glExtGetProgramBinarySourceQCOM",
926         "glExtGetProgramsQCOM",
927         "glExtGetShadersQCOM",
928         "glExtIsProgramBinaryQCOM",
929 };
930
931 static const char* s_GL_QCOM_tiled_rendering[] =
932 {
933         "glEndTilingQCOM",
934         "glStartTilingQCOM",
935 };
936
937 static const char* s_GL_AMD_performance_monitor[] =
938 {
939         "glBeginPerfMonitorAMD",
940         "glDeletePerfMonitorsAMD",
941         "glEndPerfMonitorAMD",
942         "glGenPerfMonitorsAMD",
943         "glGetPerfMonitorCounterDataAMD",
944         "glGetPerfMonitorCounterInfoAMD",
945         "glGetPerfMonitorCounterStringAMD",
946         "glGetPerfMonitorCountersAMD",
947         "glGetPerfMonitorGroupStringAMD",
948         "glGetPerfMonitorGroupsAMD",
949         "glSelectPerfMonitorCountersAMD",
950 };
951
952 static const char* s_GL_ANGLE_framebuffer_blit[] =
953 {
954         "glBlitFramebufferANGLE",
955 };
956
957 static const char* s_GL_ANGLE_framebuffer_multisample[] =
958 {
959         "glRenderbufferStorageMultisampleANGLE",
960 };
961
962 static const char* s_GL_ANGLE_instanced_arrays[] =
963 {
964         "glDrawArraysInstancedANGLE",
965         "glDrawElementsInstancedANGLE",
966         "glVertexAttribDivisorANGLE",
967 };
968
969 static const char* s_GL_ANGLE_translated_shader_source[] =
970 {
971         "glGetTranslatedShaderSourceANGLE",
972 };
973
974 static const char* s_GL_EXT_base_instance[] =
975 {
976         "glDrawArraysInstancedBaseInstanceEXT",
977         "glDrawElementsInstancedBaseInstanceEXT",
978         "glDrawElementsInstancedBaseVertexBaseInstanceEXT",
979 };
980
981 static const char* s_GL_EXT_copy_image[] =
982 {
983         "glCopyImageSubDataEXT",
984 };
985
986 static const char* s_GL_EXT_debug_label[] =
987 {
988         "glGetObjectLabelEXT",
989         "glLabelObjectEXT",
990 };
991
992 static const char* s_GL_EXT_debug_marker[] =
993 {
994         "glInsertEventMarkerEXT",
995         "glPopGroupMarkerEXT",
996         "glPushGroupMarkerEXT",
997 };
998
999 static const char* s_GL_EXT_disjoint_timer_query[] =
1000 {
1001         "glBeginQueryEXT",
1002         "glDeleteQueriesEXT",
1003         "glEndQueryEXT",
1004         "glGenQueriesEXT",
1005         "glGetQueryObjecti64vEXT",
1006         "glGetQueryObjectivEXT",
1007         "glGetQueryObjectui64vEXT",
1008         "glGetQueryObjectuivEXT",
1009         "glGetQueryivEXT",
1010         "glIsQueryEXT",
1011         "glQueryCounterEXT",
1012 };
1013
1014 static const char* s_GL_EXT_draw_buffers[] =
1015 {
1016         "glDrawBuffersEXT",
1017 };
1018
1019 static const char* s_GL_EXT_draw_buffers_indexed[] =
1020 {
1021         "glBlendEquationSeparateiEXT",
1022         "glBlendEquationiEXT",
1023         "glBlendFuncSeparateiEXT",
1024         "glBlendFunciEXT",
1025         "glColorMaskiEXT",
1026         "glDisableiEXT",
1027         "glEnableiEXT",
1028         "glIsEnablediEXT",
1029 };
1030
1031 static const char* s_GL_EXT_draw_elements_base_vertex[] =
1032 {
1033         "glDrawElementsBaseVertexEXT",
1034         "glDrawElementsInstancedBaseVertexEXT",
1035         "glDrawRangeElementsBaseVertexEXT",
1036         "glMultiDrawElementsBaseVertexEXT",
1037 };
1038
1039 static const char* s_GL_EXT_draw_instanced[] =
1040 {
1041         "glDrawArraysInstancedEXT",
1042         "glDrawElementsInstancedEXT",
1043 };
1044
1045 static const char* s_GL_EXT_geometry_shader[] =
1046 {
1047         "glFramebufferTextureEXT",
1048 };
1049
1050 static const char* s_GL_EXT_instanced_arrays[] =
1051 {
1052         "glDrawArraysInstancedEXT",
1053         "glDrawElementsInstancedEXT",
1054         "glVertexAttribDivisorEXT",
1055 };
1056
1057 static const char* s_GL_EXT_multi_draw_indirect[] =
1058 {
1059         "glMultiDrawArraysIndirectEXT",
1060         "glMultiDrawElementsIndirectEXT",
1061 };
1062
1063 static const char* s_GL_EXT_multiview_draw_buffers[] =
1064 {
1065         "glDrawBuffersIndexedEXT",
1066         "glGetIntegeri_vEXT",
1067         "glReadBufferIndexedEXT",
1068 };
1069
1070 static const char* s_GL_EXT_occlusion_query_boolean[] =
1071 {
1072         "glBeginQueryEXT",
1073         "glDeleteQueriesEXT",
1074         "glEndQueryEXT",
1075         "glGenQueriesEXT",
1076         "glGetQueryObjectuivEXT",
1077         "glGetQueryivEXT",
1078         "glIsQueryEXT",
1079 };
1080
1081 static const char* s_GL_EXT_primitive_bounding_box[] =
1082 {
1083         "glPrimitiveBoundingBoxEXT",
1084 };
1085
1086 static const char* s_GL_EXT_separate_shader_objects[] =
1087 {
1088         "glActiveShaderProgramEXT",
1089         "glBindProgramPipelineEXT",
1090         "glCreateShaderProgramvEXT",
1091         "glDeleteProgramPipelinesEXT",
1092         "glGenProgramPipelinesEXT",
1093         "glGetProgramPipelineInfoLogEXT",
1094         "glGetProgramPipelineivEXT",
1095         "glIsProgramPipelineEXT",
1096         "glProgramParameteriEXT",
1097         "glProgramUniform1fEXT",
1098         "glProgramUniform1fvEXT",
1099         "glProgramUniform1iEXT",
1100         "glProgramUniform1ivEXT",
1101         "glProgramUniform1uiEXT",
1102         "glProgramUniform1uivEXT",
1103         "glProgramUniform2fEXT",
1104         "glProgramUniform2fvEXT",
1105         "glProgramUniform2iEXT",
1106         "glProgramUniform2ivEXT",
1107         "glProgramUniform2uiEXT",
1108         "glProgramUniform2uivEXT",
1109         "glProgramUniform3fEXT",
1110         "glProgramUniform3fvEXT",
1111         "glProgramUniform3iEXT",
1112         "glProgramUniform3ivEXT",
1113         "glProgramUniform3uiEXT",
1114         "glProgramUniform3uivEXT",
1115         "glProgramUniform4fEXT",
1116         "glProgramUniform4fvEXT",
1117         "glProgramUniform4iEXT",
1118         "glProgramUniform4ivEXT",
1119         "glProgramUniform4uiEXT",
1120         "glProgramUniform4uivEXT",
1121         "glProgramUniformMatrix2fvEXT",
1122         "glProgramUniformMatrix2x3fvEXT",
1123         "glProgramUniformMatrix2x4fvEXT",
1124         "glProgramUniformMatrix3fvEXT",
1125         "glProgramUniformMatrix3x2fvEXT",
1126         "glProgramUniformMatrix3x4fvEXT",
1127         "glProgramUniformMatrix4fvEXT",
1128         "glProgramUniformMatrix4x2fvEXT",
1129         "glProgramUniformMatrix4x3fvEXT",
1130         "glUseProgramStagesEXT",
1131         "glValidateProgramPipelineEXT",
1132 };
1133
1134 static const char* s_GL_EXT_tessellation_shader[] =
1135 {
1136         "glPatchParameteriEXT",
1137 };
1138
1139 static const char* s_GL_EXT_texture_border_clamp[] =
1140 {
1141         "glGetSamplerParameterIivEXT",
1142         "glGetSamplerParameterIuivEXT",
1143         "glGetTexParameterIivEXT",
1144         "glGetTexParameterIuivEXT",
1145         "glSamplerParameterIivEXT",
1146         "glSamplerParameterIuivEXT",
1147         "glTexParameterIivEXT",
1148         "glTexParameterIuivEXT",
1149 };
1150
1151 static const char* s_GL_EXT_texture_buffer[] =
1152 {
1153         "glTexBufferEXT",
1154         "glTexBufferRangeEXT",
1155 };
1156
1157 static const char* s_GL_EXT_texture_view[] =
1158 {
1159         "glTextureViewEXT",
1160 };
1161
1162 static const char* s_GL_INTEL_performance_query[] =
1163 {
1164         "glBeginPerfQueryINTEL",
1165         "glCreatePerfQueryINTEL",
1166         "glDeletePerfQueryINTEL",
1167         "glEndPerfQueryINTEL",
1168         "glGetFirstPerfQueryIdINTEL",
1169         "glGetNextPerfQueryIdINTEL",
1170         "glGetPerfCounterInfoINTEL",
1171         "glGetPerfQueryDataINTEL",
1172         "glGetPerfQueryIdByNameINTEL",
1173         "glGetPerfQueryInfoINTEL",
1174 };
1175
1176 static const char* s_GL_KHR_blend_equation_advanced[] =
1177 {
1178         "glBlendBarrierKHR",
1179 };
1180
1181 static const char* s_GL_KHR_debug[] =
1182 {
1183         "glDebugMessageCallbackKHR",
1184         "glDebugMessageControlKHR",
1185         "glDebugMessageInsertKHR",
1186         "glGetDebugMessageLogKHR",
1187         "glGetObjectLabelKHR",
1188         "glGetObjectPtrLabelKHR",
1189         "glGetPointervKHR",
1190         "glObjectLabelKHR",
1191         "glObjectPtrLabelKHR",
1192         "glPopDebugGroupKHR",
1193         "glPushDebugGroupKHR",
1194 };
1195
1196 static const char* s_GL_KHR_robustness[] =
1197 {
1198         "glGetGraphicsResetStatusKHR",
1199         "glGetnUniformfvKHR",
1200         "glGetnUniformivKHR",
1201         "glGetnUniformuivKHR",
1202         "glReadnPixelsKHR",
1203 };
1204
1205 static const char* s_GL_NV_bindless_texture[] =
1206 {
1207         "glGetImageHandleNV",
1208         "glGetTextureHandleNV",
1209         "glGetTextureSamplerHandleNV",
1210         "glIsImageHandleResidentNV",
1211         "glIsTextureHandleResidentNV",
1212         "glMakeImageHandleNonResidentNV",
1213         "glMakeImageHandleResidentNV",
1214         "glMakeTextureHandleNonResidentNV",
1215         "glMakeTextureHandleResidentNV",
1216         "glProgramUniformHandleui64NV",
1217         "glProgramUniformHandleui64vNV",
1218         "glUniformHandleui64NV",
1219         "glUniformHandleui64vNV",
1220 };
1221
1222 static const char* s_GL_NV_blend_equation_advanced[] =
1223 {
1224         "glBlendBarrierNV",
1225         "glBlendParameteriNV",
1226 };
1227
1228 static const char* s_GL_NV_conditional_render[] =
1229 {
1230         "glBeginConditionalRenderNV",
1231         "glEndConditionalRenderNV",
1232 };
1233
1234 static const char* s_GL_NV_copy_buffer[] =
1235 {
1236         "glCopyBufferSubDataNV",
1237 };
1238
1239 static const char* s_GL_NV_coverage_sample[] =
1240 {
1241         "glCoverageMaskNV",
1242         "glCoverageOperationNV",
1243 };
1244
1245 static const char* s_GL_NV_draw_buffers[] =
1246 {
1247         "glDrawBuffersNV",
1248 };
1249
1250 static const char* s_GL_NV_draw_instanced[] =
1251 {
1252         "glDrawArraysInstancedNV",
1253         "glDrawElementsInstancedNV",
1254 };
1255
1256 static const char* s_GL_NV_framebuffer_blit[] =
1257 {
1258         "glBlitFramebufferNV",
1259 };
1260
1261 static const char* s_GL_NV_framebuffer_multisample[] =
1262 {
1263         "glRenderbufferStorageMultisampleNV",
1264 };
1265
1266 static const char* s_GL_NV_instanced_arrays[] =
1267 {
1268         "glVertexAttribDivisorNV",
1269 };
1270
1271 static const char* s_GL_NV_internalformat_sample_query[] =
1272 {
1273         "glGetInternalformatSampleivNV",
1274 };
1275
1276 static const char* s_GL_NV_non_square_matrices[] =
1277 {
1278         "glUniformMatrix2x3fvNV",
1279         "glUniformMatrix2x4fvNV",
1280         "glUniformMatrix3x2fvNV",
1281         "glUniformMatrix3x4fvNV",
1282         "glUniformMatrix4x2fvNV",
1283         "glUniformMatrix4x3fvNV",
1284 };
1285
1286 static const char* s_GL_NV_path_rendering[] =
1287 {
1288         "glCopyPathNV",
1289         "glCoverFillPathInstancedNV",
1290         "glCoverFillPathNV",
1291         "glCoverStrokePathInstancedNV",
1292         "glCoverStrokePathNV",
1293         "glDeletePathsNV",
1294         "glGenPathsNV",
1295         "glGetPathCommandsNV",
1296         "glGetPathCoordsNV",
1297         "glGetPathDashArrayNV",
1298         "glGetPathLengthNV",
1299         "glGetPathMetricRangeNV",
1300         "glGetPathMetricsNV",
1301         "glGetPathParameterfvNV",
1302         "glGetPathParameterivNV",
1303         "glGetPathSpacingNV",
1304         "glGetProgramResourcefvNV",
1305         "glInterpolatePathsNV",
1306         "glIsPathNV",
1307         "glIsPointInFillPathNV",
1308         "glIsPointInStrokePathNV",
1309         "glMatrixLoad3x2fNV",
1310         "glMatrixLoad3x3fNV",
1311         "glMatrixLoadTranspose3x3fNV",
1312         "glMatrixMult3x2fNV",
1313         "glMatrixMult3x3fNV",
1314         "glMatrixMultTranspose3x3fNV",
1315         "glPathCommandsNV",
1316         "glPathCoordsNV",
1317         "glPathCoverDepthFuncNV",
1318         "glPathDashArrayNV",
1319         "glPathGlyphIndexArrayNV",
1320         "glPathGlyphIndexRangeNV",
1321         "glPathGlyphRangeNV",
1322         "glPathGlyphsNV",
1323         "glPathMemoryGlyphIndexArrayNV",
1324         "glPathParameterfNV",
1325         "glPathParameterfvNV",
1326         "glPathParameteriNV",
1327         "glPathParameterivNV",
1328         "glPathStencilDepthOffsetNV",
1329         "glPathStencilFuncNV",
1330         "glPathStringNV",
1331         "glPathSubCommandsNV",
1332         "glPathSubCoordsNV",
1333         "glPointAlongPathNV",
1334         "glProgramPathFragmentInputGenNV",
1335         "glStencilFillPathInstancedNV",
1336         "glStencilFillPathNV",
1337         "glStencilStrokePathInstancedNV",
1338         "glStencilStrokePathNV",
1339         "glStencilThenCoverFillPathInstancedNV",
1340         "glStencilThenCoverFillPathNV",
1341         "glStencilThenCoverStrokePathInstancedNV",
1342         "glStencilThenCoverStrokePathNV",
1343         "glTransformPathNV",
1344         "glWeightPathsNV",
1345 };
1346
1347 static const char* s_GL_NV_read_buffer[] =
1348 {
1349         "glReadBufferNV",
1350 };
1351
1352 static const char* s_GL_NV_viewport_array[] =
1353 {
1354         "glDepthRangeArrayfvNV",
1355         "glDepthRangeIndexedfNV",
1356         "glDisableiNV",
1357         "glEnableiNV",
1358         "glGetFloati_vNV",
1359         "glIsEnablediNV",
1360         "glScissorArrayvNV",
1361         "glScissorIndexedNV",
1362         "glScissorIndexedvNV",
1363         "glViewportArrayvNV",
1364         "glViewportIndexedfNV",
1365         "glViewportIndexedfvNV",
1366 };
1367
1368 static const char* s_GL_OES_copy_image[] =
1369 {
1370         "glCopyImageSubDataOES",
1371 };
1372
1373 static const char* s_GL_OES_draw_buffers_indexed[] =
1374 {
1375         "glBlendEquationSeparateiOES",
1376         "glBlendEquationiOES",
1377         "glBlendFuncSeparateiOES",
1378         "glBlendFunciOES",
1379         "glColorMaskiOES",
1380         "glDisableiOES",
1381         "glEnableiOES",
1382         "glIsEnablediOES",
1383 };
1384
1385 static const char* s_GL_OES_draw_elements_base_vertex[] =
1386 {
1387         "glDrawElementsBaseVertexOES",
1388         "glDrawElementsInstancedBaseVertexOES",
1389         "glDrawRangeElementsBaseVertexOES",
1390         "glMultiDrawElementsBaseVertexOES",
1391 };
1392
1393 static const char* s_GL_OES_geometry_shader[] =
1394 {
1395         "glFramebufferTextureOES",
1396 };
1397
1398 static const char* s_GL_OES_get_program_binary[] =
1399 {
1400         "glGetProgramBinaryOES",
1401         "glProgramBinaryOES",
1402 };
1403
1404 static const char* s_GL_OES_primitive_bounding_box[] =
1405 {
1406         "glPrimitiveBoundingBoxOES",
1407 };
1408
1409 static const char* s_GL_OES_sample_shading[] =
1410 {
1411         "glMinSampleShadingOES",
1412 };
1413
1414 static const char* s_GL_OES_tessellation_shader[] =
1415 {
1416         "glPatchParameteriOES",
1417 };
1418
1419 static const char* s_GL_OES_texture_3D[] =
1420 {
1421         "glCompressedTexImage3DOES",
1422         "glCompressedTexSubImage3DOES",
1423         "glCopyTexSubImage3DOES",
1424         "glFramebufferTexture3DOES",
1425         "glTexImage3DOES",
1426         "glTexSubImage3DOES",
1427 };
1428
1429 static const char* s_GL_OES_texture_border_clamp[] =
1430 {
1431         "glGetSamplerParameterIivOES",
1432         "glGetSamplerParameterIuivOES",
1433         "glGetTexParameterIivOES",
1434         "glGetTexParameterIuivOES",
1435         "glSamplerParameterIivOES",
1436         "glSamplerParameterIuivOES",
1437         "glTexParameterIivOES",
1438         "glTexParameterIuivOES",
1439 };
1440
1441 static const char* s_GL_OES_texture_buffer[] =
1442 {
1443         "glTexBufferOES",
1444         "glTexBufferRangeOES",
1445 };
1446
1447 static const char* s_GL_OES_texture_storage_multisample_2d_array[] =
1448 {
1449         "glTexStorage3DMultisampleOES",
1450 };
1451
1452 static const char* s_GL_OES_texture_view[] =
1453 {
1454         "glTextureViewOES",
1455 };
1456
1457 static const char* s_GL_QCOM_alpha_test[] =
1458 {
1459         "glAlphaFuncQCOM",
1460 };
1461
1462 static const struct
1463 {
1464         const char*                     name;
1465         const int                       numFunctions;
1466         const char* const*      functions;
1467 } s_extensions[] =
1468 {
1469         { "EGL_ANDROID_blob_cache",                                                     DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache),                                           s_EGL_ANDROID_blob_cache                                                },
1470         { "EGL_ANDROID_native_fence_sync",                                      DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync),                            s_EGL_ANDROID_native_fence_sync                                 },
1471         { "EGL_ANGLE_query_surface_pointer",                            DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer),                          s_EGL_ANGLE_query_surface_pointer                               },
1472         { "EGL_EXT_device_base",                                                        DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base),                                                      s_EGL_EXT_device_base                                                   },
1473         { "EGL_EXT_device_enumeration",                                         DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration),                                       s_EGL_EXT_device_enumeration                                    },
1474         { "EGL_EXT_device_query",                                                       DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query),                                                     s_EGL_EXT_device_query                                                  },
1475         { "EGL_EXT_output_base",                                                        DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base),                                                      s_EGL_EXT_output_base                                                   },
1476         { "EGL_EXT_platform_base",                                                      DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base),                                            s_EGL_EXT_platform_base                                                 },
1477         { "EGL_EXT_stream_consumer_egloutput",                          DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput),                        s_EGL_EXT_stream_consumer_egloutput                             },
1478         { "EGL_EXT_swap_buffers_with_damage",                           DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage),                         s_EGL_EXT_swap_buffers_with_damage                              },
1479         { "EGL_HI_clientpixmap",                                                        DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap),                                                      s_EGL_HI_clientpixmap                                                   },
1480         { "EGL_KHR_cl_event2",                                                          DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2),                                                        s_EGL_KHR_cl_event2                                                             },
1481         { "EGL_KHR_fence_sync",                                                         DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync),                                                       s_EGL_KHR_fence_sync                                                    },
1482         { "EGL_KHR_image",                                                                      DE_LENGTH_OF_ARRAY(s_EGL_KHR_image),                                                            s_EGL_KHR_image                                                                 },
1483         { "EGL_KHR_image_base",                                                         DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base),                                                       s_EGL_KHR_image_base                                                    },
1484         { "EGL_KHR_lock_surface",                                                       DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface),                                                     s_EGL_KHR_lock_surface                                                  },
1485         { "EGL_KHR_lock_surface3",                                                      DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3),                                            s_EGL_KHR_lock_surface3                                                 },
1486         { "EGL_KHR_partial_update",                                                     DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update),                                           s_EGL_KHR_partial_update                                                },
1487         { "EGL_KHR_reusable_sync",                                                      DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync),                                            s_EGL_KHR_reusable_sync                                                 },
1488         { "EGL_KHR_stream",                                                                     DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream),                                                           s_EGL_KHR_stream                                                                },
1489         { "EGL_KHR_stream_consumer_gltexture",                          DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture),                        s_EGL_KHR_stream_consumer_gltexture                             },
1490         { "EGL_KHR_stream_cross_process_fd",                            DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd),                          s_EGL_KHR_stream_cross_process_fd                               },
1491         { "EGL_KHR_stream_fifo",                                                        DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo),                                                      s_EGL_KHR_stream_fifo                                                   },
1492         { "EGL_KHR_stream_producer_eglsurface",                         DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface),                       s_EGL_KHR_stream_producer_eglsurface                    },
1493         { "EGL_KHR_swap_buffers_with_damage",                           DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage),                         s_EGL_KHR_swap_buffers_with_damage                              },
1494         { "EGL_KHR_wait_sync",                                                          DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync),                                                        s_EGL_KHR_wait_sync                                                             },
1495         { "EGL_MESA_drm_image",                                                         DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image),                                                       s_EGL_MESA_drm_image                                                    },
1496         { "EGL_MESA_image_dma_buf_export",                                      DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export),                            s_EGL_MESA_image_dma_buf_export                                 },
1497         { "EGL_NOK_swap_region",                                                        DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region),                                                      s_EGL_NOK_swap_region                                                   },
1498         { "EGL_NOK_swap_region2",                                                       DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2),                                                     s_EGL_NOK_swap_region2                                                  },
1499         { "EGL_NV_native_query",                                                        DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query),                                                      s_EGL_NV_native_query                                                   },
1500         { "EGL_NV_post_sub_buffer",                                                     DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer),                                           s_EGL_NV_post_sub_buffer                                                },
1501         { "EGL_NV_stream_sync",                                                         DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync),                                                       s_EGL_NV_stream_sync                                                    },
1502         { "EGL_NV_sync",                                                                        DE_LENGTH_OF_ARRAY(s_EGL_NV_sync),                                                                      s_EGL_NV_sync                                                                   },
1503         { "EGL_NV_system_time",                                                         DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time),                                                       s_EGL_NV_system_time                                                    },
1504         { "GL_APPLE_copy_texture_levels",                                       DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels),                                     s_GL_APPLE_copy_texture_levels                                  },
1505         { "GL_APPLE_framebuffer_multisample",                           DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample),                         s_GL_APPLE_framebuffer_multisample                              },
1506         { "GL_APPLE_sync",                                                                      DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync),                                                            s_GL_APPLE_sync                                                                 },
1507         { "GL_EXT_discard_framebuffer",                                         DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer),                                       s_GL_EXT_discard_framebuffer                                    },
1508         { "GL_EXT_map_buffer_range",                                            DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range),                                          s_GL_EXT_map_buffer_range                                               },
1509         { "GL_EXT_multi_draw_arrays",                                           DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays),                                         s_GL_EXT_multi_draw_arrays                                              },
1510         { "GL_EXT_multisampled_render_to_texture",                      DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture),            s_GL_EXT_multisampled_render_to_texture                 },
1511         { "GL_EXT_robustness",                                                          DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness),                                                        s_GL_EXT_robustness                                                             },
1512         { "GL_EXT_texture_storage",                                                     DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage),                                           s_GL_EXT_texture_storage                                                },
1513         { "GL_IMG_multisampled_render_to_texture",                      DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture),            s_GL_IMG_multisampled_render_to_texture                 },
1514         { "GL_IMG_user_clip_plane",                                                     DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane),                                           s_GL_IMG_user_clip_plane                                                },
1515         { "GL_NV_fence",                                                                        DE_LENGTH_OF_ARRAY(s_GL_NV_fence),                                                                      s_GL_NV_fence                                                                   },
1516         { "GL_OES_EGL_image",                                                           DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image),                                                         s_GL_OES_EGL_image                                                              },
1517         { "GL_OES_blend_equation_separate",                                     DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate),                           s_GL_OES_blend_equation_separate                                },
1518         { "GL_OES_blend_func_separate",                                         DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate),                                       s_GL_OES_blend_func_separate                                    },
1519         { "GL_OES_blend_subtract",                                                      DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract),                                            s_GL_OES_blend_subtract                                                 },
1520         { "GL_OES_draw_texture",                                                        DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture),                                                      s_GL_OES_draw_texture                                                   },
1521         { "GL_OES_fixed_point",                                                         DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point),                                                       s_GL_OES_fixed_point                                                    },
1522         { "GL_OES_framebuffer_object",                                          DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object),                                        s_GL_OES_framebuffer_object                                             },
1523         { "GL_OES_mapbuffer",                                                           DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer),                                                         s_GL_OES_mapbuffer                                                              },
1524         { "GL_OES_matrix_palette",                                                      DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette),                                            s_GL_OES_matrix_palette                                                 },
1525         { "GL_OES_point_size_array",                                            DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array),                                          s_GL_OES_point_size_array                                               },
1526         { "GL_OES_query_matrix",                                                        DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix),                                                      s_GL_OES_query_matrix                                                   },
1527         { "GL_OES_single_precision",                                            DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision),                                          s_GL_OES_single_precision                                               },
1528         { "GL_OES_texture_cube_map",                                            DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map),                                          s_GL_OES_texture_cube_map                                               },
1529         { "GL_OES_vertex_array_object",                                         DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object),                                       s_GL_OES_vertex_array_object                                    },
1530         { "GL_QCOM_driver_control",                                                     DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control),                                           s_GL_QCOM_driver_control                                                },
1531         { "GL_QCOM_extended_get",                                                       DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get),                                                     s_GL_QCOM_extended_get                                                  },
1532         { "GL_QCOM_extended_get2",                                                      DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2),                                            s_GL_QCOM_extended_get2                                                 },
1533         { "GL_QCOM_tiled_rendering",                                            DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering),                                          s_GL_QCOM_tiled_rendering                                               },
1534         { "GL_AMD_performance_monitor",                                         DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor),                                       s_GL_AMD_performance_monitor                                    },
1535         { "GL_ANGLE_framebuffer_blit",                                          DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit),                                        s_GL_ANGLE_framebuffer_blit                                             },
1536         { "GL_ANGLE_framebuffer_multisample",                           DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample),                         s_GL_ANGLE_framebuffer_multisample                              },
1537         { "GL_ANGLE_instanced_arrays",                                          DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays),                                        s_GL_ANGLE_instanced_arrays                                             },
1538         { "GL_ANGLE_translated_shader_source",                          DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source),                        s_GL_ANGLE_translated_shader_source                             },
1539         { "GL_EXT_base_instance",                                                       DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance),                                                     s_GL_EXT_base_instance                                                  },
1540         { "GL_EXT_copy_image",                                                          DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image),                                                        s_GL_EXT_copy_image                                                             },
1541         { "GL_EXT_debug_label",                                                         DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label),                                                       s_GL_EXT_debug_label                                                    },
1542         { "GL_EXT_debug_marker",                                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker),                                                      s_GL_EXT_debug_marker                                                   },
1543         { "GL_EXT_disjoint_timer_query",                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query),                                      s_GL_EXT_disjoint_timer_query                                   },
1544         { "GL_EXT_draw_buffers",                                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers),                                                      s_GL_EXT_draw_buffers                                                   },
1545         { "GL_EXT_draw_buffers_indexed",                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed),                                      s_GL_EXT_draw_buffers_indexed                                   },
1546         { "GL_EXT_draw_elements_base_vertex",                           DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex),                         s_GL_EXT_draw_elements_base_vertex                              },
1547         { "GL_EXT_draw_instanced",                                                      DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced),                                            s_GL_EXT_draw_instanced                                                 },
1548         { "GL_EXT_geometry_shader",                                                     DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader),                                           s_GL_EXT_geometry_shader                                                },
1549         { "GL_EXT_instanced_arrays",                                            DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays),                                          s_GL_EXT_instanced_arrays                                               },
1550         { "GL_EXT_multi_draw_indirect",                                         DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect),                                       s_GL_EXT_multi_draw_indirect                                    },
1551         { "GL_EXT_multiview_draw_buffers",                                      DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers),                            s_GL_EXT_multiview_draw_buffers                                 },
1552         { "GL_EXT_occlusion_query_boolean",                                     DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean),                           s_GL_EXT_occlusion_query_boolean                                },
1553         { "GL_EXT_primitive_bounding_box",                                      DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box),                            s_GL_EXT_primitive_bounding_box                                 },
1554         { "GL_EXT_separate_shader_objects",                                     DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects),                           s_GL_EXT_separate_shader_objects                                },
1555         { "GL_EXT_tessellation_shader",                                         DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader),                                       s_GL_EXT_tessellation_shader                                    },
1556         { "GL_EXT_texture_border_clamp",                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp),                                      s_GL_EXT_texture_border_clamp                                   },
1557         { "GL_EXT_texture_buffer",                                                      DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer),                                            s_GL_EXT_texture_buffer                                                 },
1558         { "GL_EXT_texture_view",                                                        DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view),                                                      s_GL_EXT_texture_view                                                   },
1559         { "GL_INTEL_performance_query",                                         DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query),                                       s_GL_INTEL_performance_query                                    },
1560         { "GL_KHR_blend_equation_advanced",                                     DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced),                           s_GL_KHR_blend_equation_advanced                                },
1561         { "GL_KHR_debug",                                                                       DE_LENGTH_OF_ARRAY(s_GL_KHR_debug),                                                                     s_GL_KHR_debug                                                                  },
1562         { "GL_KHR_robustness",                                                          DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness),                                                        s_GL_KHR_robustness                                                             },
1563         { "GL_NV_bindless_texture",                                                     DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture),                                           s_GL_NV_bindless_texture                                                },
1564         { "GL_NV_blend_equation_advanced",                                      DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced),                            s_GL_NV_blend_equation_advanced                                 },
1565         { "GL_NV_conditional_render",                                           DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render),                                         s_GL_NV_conditional_render                                              },
1566         { "GL_NV_copy_buffer",                                                          DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer),                                                        s_GL_NV_copy_buffer                                                             },
1567         { "GL_NV_coverage_sample",                                                      DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample),                                            s_GL_NV_coverage_sample                                                 },
1568         { "GL_NV_draw_buffers",                                                         DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers),                                                       s_GL_NV_draw_buffers                                                    },
1569         { "GL_NV_draw_instanced",                                                       DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced),                                                     s_GL_NV_draw_instanced                                                  },
1570         { "GL_NV_framebuffer_blit",                                                     DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit),                                           s_GL_NV_framebuffer_blit                                                },
1571         { "GL_NV_framebuffer_multisample",                                      DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample),                            s_GL_NV_framebuffer_multisample                                 },
1572         { "GL_NV_instanced_arrays",                                                     DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays),                                           s_GL_NV_instanced_arrays                                                },
1573         { "GL_NV_internalformat_sample_query",                          DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query),                        s_GL_NV_internalformat_sample_query                             },
1574         { "GL_NV_non_square_matrices",                                          DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices),                                        s_GL_NV_non_square_matrices                                             },
1575         { "GL_NV_path_rendering",                                                       DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering),                                                     s_GL_NV_path_rendering                                                  },
1576         { "GL_NV_read_buffer",                                                          DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer),                                                        s_GL_NV_read_buffer                                                             },
1577         { "GL_NV_viewport_array",                                                       DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array),                                                     s_GL_NV_viewport_array                                                  },
1578         { "GL_OES_copy_image",                                                          DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image),                                                        s_GL_OES_copy_image                                                             },
1579         { "GL_OES_draw_buffers_indexed",                                        DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed),                                      s_GL_OES_draw_buffers_indexed                                   },
1580         { "GL_OES_draw_elements_base_vertex",                           DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex),                         s_GL_OES_draw_elements_base_vertex                              },
1581         { "GL_OES_geometry_shader",                                                     DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader),                                           s_GL_OES_geometry_shader                                                },
1582         { "GL_OES_get_program_binary",                                          DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary),                                        s_GL_OES_get_program_binary                                             },
1583         { "GL_OES_primitive_bounding_box",                                      DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box),                            s_GL_OES_primitive_bounding_box                                 },
1584         { "GL_OES_sample_shading",                                                      DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading),                                            s_GL_OES_sample_shading                                                 },
1585         { "GL_OES_tessellation_shader",                                         DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader),                                       s_GL_OES_tessellation_shader                                    },
1586         { "GL_OES_texture_3D",                                                          DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D),                                                        s_GL_OES_texture_3D                                                             },
1587         { "GL_OES_texture_border_clamp",                                        DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp),                                      s_GL_OES_texture_border_clamp                                   },
1588         { "GL_OES_texture_buffer",                                                      DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer),                                            s_GL_OES_texture_buffer                                                 },
1589         { "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   },
1590         { "GL_OES_texture_view",                                                        DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view),                                                      s_GL_OES_texture_view                                                   },
1591         { "GL_QCOM_alpha_test",                                                         DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test),                                                       s_GL_QCOM_alpha_test                                                    },
1592 };