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
7static 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
45static 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
193static 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
339static 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
447static const char* s_EGL_ANDROID_blob_cache[] =
448{
449	"eglSetBlobCacheFuncsANDROID",
450};
451
452static const char* s_EGL_ANDROID_native_fence_sync[] =
453{
454	"eglDupNativeFenceFDANDROID",
455};
456
457static const char* s_EGL_ANGLE_query_surface_pointer[] =
458{
459	"eglQuerySurfacePointerANGLE",
460};
461
462static const char* s_EGL_EXT_device_base[] =
463{
464	"eglQueryDeviceAttribEXT",
465	"eglQueryDeviceStringEXT",
466	"eglQueryDevicesEXT",
467	"eglQueryDisplayAttribEXT",
468};
469
470static const char* s_EGL_EXT_device_enumeration[] =
471{
472	"eglQueryDevicesEXT",
473};
474
475static const char* s_EGL_EXT_device_query[] =
476{
477	"eglQueryDeviceAttribEXT",
478	"eglQueryDeviceStringEXT",
479	"eglQueryDisplayAttribEXT",
480};
481
482static 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
494static const char* s_EGL_EXT_platform_base[] =
495{
496	"eglCreatePlatformPixmapSurfaceEXT",
497	"eglCreatePlatformWindowSurfaceEXT",
498	"eglGetPlatformDisplayEXT",
499};
500
501static const char* s_EGL_EXT_stream_consumer_egloutput[] =
502{
503	"eglStreamConsumerOutputEXT",
504};
505
506static const char* s_EGL_EXT_swap_buffers_with_damage[] =
507{
508	"eglSwapBuffersWithDamageEXT",
509};
510
511static const char* s_EGL_HI_clientpixmap[] =
512{
513	"eglCreatePixmapSurfaceHI",
514};
515
516static const char* s_EGL_KHR_cl_event2[] =
517{
518	"eglCreateSync64KHR",
519};
520
521static const char* s_EGL_KHR_fence_sync[] =
522{
523	"eglClientWaitSyncKHR",
524	"eglCreateSyncKHR",
525	"eglDestroySyncKHR",
526	"eglGetSyncAttribKHR",
527};
528
529static const char* s_EGL_KHR_image[] =
530{
531	"eglCreateImageKHR",
532	"eglDestroyImageKHR",
533};
534
535static const char* s_EGL_KHR_image_base[] =
536{
537	"eglCreateImageKHR",
538	"eglDestroyImageKHR",
539};
540
541static const char* s_EGL_KHR_lock_surface[] =
542{
543	"eglLockSurfaceKHR",
544	"eglUnlockSurfaceKHR",
545};
546
547static const char* s_EGL_KHR_lock_surface3[] =
548{
549	"eglLockSurfaceKHR",
550	"eglQuerySurface64KHR",
551	"eglUnlockSurfaceKHR",
552};
553
554static const char* s_EGL_KHR_partial_update[] =
555{
556	"eglSetDamageRegionKHR",
557};
558
559static const char* s_EGL_KHR_reusable_sync[] =
560{
561	"eglClientWaitSyncKHR",
562	"eglCreateSyncKHR",
563	"eglDestroySyncKHR",
564	"eglGetSyncAttribKHR",
565	"eglSignalSyncKHR",
566};
567
568static const char* s_EGL_KHR_stream[] =
569{
570	"eglCreateStreamKHR",
571	"eglDestroyStreamKHR",
572	"eglQueryStreamKHR",
573	"eglQueryStreamu64KHR",
574	"eglStreamAttribKHR",
575};
576
577static const char* s_EGL_KHR_stream_consumer_gltexture[] =
578{
579	"eglStreamConsumerAcquireKHR",
580	"eglStreamConsumerGLTextureExternalKHR",
581	"eglStreamConsumerReleaseKHR",
582};
583
584static const char* s_EGL_KHR_stream_cross_process_fd[] =
585{
586	"eglCreateStreamFromFileDescriptorKHR",
587	"eglGetStreamFileDescriptorKHR",
588};
589
590static const char* s_EGL_KHR_stream_fifo[] =
591{
592	"eglQueryStreamTimeKHR",
593};
594
595static const char* s_EGL_KHR_stream_producer_eglsurface[] =
596{
597	"eglCreateStreamProducerSurfaceKHR",
598};
599
600static const char* s_EGL_KHR_swap_buffers_with_damage[] =
601{
602	"eglSwapBuffersWithDamageKHR",
603};
604
605static const char* s_EGL_KHR_wait_sync[] =
606{
607	"eglWaitSyncKHR",
608};
609
610static const char* s_EGL_MESA_drm_image[] =
611{
612	"eglCreateDRMImageMESA",
613	"eglExportDRMImageMESA",
614};
615
616static const char* s_EGL_MESA_image_dma_buf_export[] =
617{
618	"eglExportDMABUFImageMESA",
619	"eglExportDMABUFImageQueryMESA",
620};
621
622static const char* s_EGL_NOK_swap_region[] =
623{
624	"eglSwapBuffersRegionNOK",
625};
626
627static const char* s_EGL_NOK_swap_region2[] =
628{
629	"eglSwapBuffersRegion2NOK",
630};
631
632static const char* s_EGL_NV_native_query[] =
633{
634	"eglQueryNativeDisplayNV",
635	"eglQueryNativePixmapNV",
636	"eglQueryNativeWindowNV",
637};
638
639static const char* s_EGL_NV_post_sub_buffer[] =
640{
641	"eglPostSubBufferNV",
642};
643
644static const char* s_EGL_NV_stream_sync[] =
645{
646	"eglCreateStreamSyncNV",
647};
648
649static const char* s_EGL_NV_sync[] =
650{
651	"eglClientWaitSyncNV",
652	"eglCreateFenceSyncNV",
653	"eglDestroySyncNV",
654	"eglFenceNV",
655	"eglGetSyncAttribNV",
656	"eglSignalSyncNV",
657};
658
659static const char* s_EGL_NV_system_time[] =
660{
661	"eglGetSystemTimeFrequencyNV",
662	"eglGetSystemTimeNV",
663};
664
665static const char* s_GL_APPLE_copy_texture_levels[] =
666{
667	"glCopyTextureLevelsAPPLE",
668};
669
670static const char* s_GL_APPLE_framebuffer_multisample[] =
671{
672	"glRenderbufferStorageMultisampleAPPLE",
673	"glResolveMultisampleFramebufferAPPLE",
674};
675
676static const char* s_GL_APPLE_sync[] =
677{
678	"glClientWaitSyncAPPLE",
679	"glDeleteSyncAPPLE",
680	"glFenceSyncAPPLE",
681	"glGetInteger64vAPPLE",
682	"glGetSyncivAPPLE",
683	"glIsSyncAPPLE",
684	"glWaitSyncAPPLE",
685};
686
687static const char* s_GL_EXT_discard_framebuffer[] =
688{
689	"glDiscardFramebufferEXT",
690};
691
692static const char* s_GL_EXT_map_buffer_range[] =
693{
694	"glFlushMappedBufferRangeEXT",
695	"glMapBufferRangeEXT",
696};
697
698static const char* s_GL_EXT_multi_draw_arrays[] =
699{
700	"glMultiDrawArraysEXT",
701	"glMultiDrawElementsEXT",
702};
703
704static const char* s_GL_EXT_multisampled_render_to_texture[] =
705{
706	"glFramebufferTexture2DMultisampleEXT",
707	"glRenderbufferStorageMultisampleEXT",
708};
709
710static const char* s_GL_EXT_robustness[] =
711{
712	"glGetGraphicsResetStatusEXT",
713	"glGetnUniformfvEXT",
714	"glGetnUniformivEXT",
715	"glReadnPixelsEXT",
716};
717
718static const char* s_GL_EXT_texture_storage[] =
719{
720	"glTexStorage1DEXT",
721	"glTexStorage2DEXT",
722	"glTexStorage3DEXT",
723	"glTextureStorage1DEXT",
724	"glTextureStorage2DEXT",
725	"glTextureStorage3DEXT",
726};
727
728static const char* s_GL_IMG_multisampled_render_to_texture[] =
729{
730	"glFramebufferTexture2DMultisampleIMG",
731	"glRenderbufferStorageMultisampleIMG",
732};
733
734static const char* s_GL_IMG_user_clip_plane[] =
735{
736	"glClipPlanefIMG",
737	"glClipPlanexIMG",
738};
739
740static const char* s_GL_NV_fence[] =
741{
742	"glDeleteFencesNV",
743	"glFinishFenceNV",
744	"glGenFencesNV",
745	"glGetFenceivNV",
746	"glIsFenceNV",
747	"glSetFenceNV",
748	"glTestFenceNV",
749};
750
751static const char* s_GL_OES_EGL_image[] =
752{
753	"glEGLImageTargetRenderbufferStorageOES",
754	"glEGLImageTargetTexture2DOES",
755};
756
757static const char* s_GL_OES_blend_equation_separate[] =
758{
759	"glBlendEquationSeparateOES",
760};
761
762static const char* s_GL_OES_blend_func_separate[] =
763{
764	"glBlendFuncSeparateOES",
765};
766
767static const char* s_GL_OES_blend_subtract[] =
768{
769	"glBlendEquationOES",
770};
771
772static 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
784static 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
828static 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
847static const char* s_GL_OES_mapbuffer[] =
848{
849	"glGetBufferPointervOES",
850	"glMapBufferOES",
851	"glUnmapBufferOES",
852};
853
854static const char* s_GL_OES_matrix_palette[] =
855{
856	"glCurrentPaletteMatrixOES",
857	"glLoadPaletteFromModelViewMatrixOES",
858	"glMatrixIndexPointerOES",
859	"glWeightPointerOES",
860};
861
862static const char* s_GL_OES_point_size_array[] =
863{
864	"glPointSizePointerOES",
865};
866
867static const char* s_GL_OES_query_matrix[] =
868{
869	"glQueryMatrixxOES",
870};
871
872static const char* s_GL_OES_single_precision[] =
873{
874	"glClearDepthfOES",
875	"glClipPlanefOES",
876	"glDepthRangefOES",
877	"glFrustumfOES",
878	"glGetClipPlanefOES",
879	"glOrthofOES",
880};
881
882static 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
895static const char* s_GL_OES_vertex_array_object[] =
896{
897	"glBindVertexArrayOES",
898	"glDeleteVertexArraysOES",
899	"glGenVertexArraysOES",
900	"glIsVertexArrayOES",
901};
902
903static const char* s_GL_QCOM_driver_control[] =
904{
905	"glDisableDriverControlQCOM",
906	"glEnableDriverControlQCOM",
907	"glGetDriverControlStringQCOM",
908	"glGetDriverControlsQCOM",
909};
910
911static 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
923static const char* s_GL_QCOM_extended_get2[] =
924{
925	"glExtGetProgramBinarySourceQCOM",
926	"glExtGetProgramsQCOM",
927	"glExtGetShadersQCOM",
928	"glExtIsProgramBinaryQCOM",
929};
930
931static const char* s_GL_QCOM_tiled_rendering[] =
932{
933	"glEndTilingQCOM",
934	"glStartTilingQCOM",
935};
936
937static 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
952static const char* s_GL_ANGLE_framebuffer_blit[] =
953{
954	"glBlitFramebufferANGLE",
955};
956
957static const char* s_GL_ANGLE_framebuffer_multisample[] =
958{
959	"glRenderbufferStorageMultisampleANGLE",
960};
961
962static const char* s_GL_ANGLE_instanced_arrays[] =
963{
964	"glDrawArraysInstancedANGLE",
965	"glDrawElementsInstancedANGLE",
966	"glVertexAttribDivisorANGLE",
967};
968
969static const char* s_GL_ANGLE_translated_shader_source[] =
970{
971	"glGetTranslatedShaderSourceANGLE",
972};
973
974static const char* s_GL_EXT_base_instance[] =
975{
976	"glDrawArraysInstancedBaseInstanceEXT",
977	"glDrawElementsInstancedBaseInstanceEXT",
978	"glDrawElementsInstancedBaseVertexBaseInstanceEXT",
979};
980
981static const char* s_GL_EXT_copy_image[] =
982{
983	"glCopyImageSubDataEXT",
984};
985
986static const char* s_GL_EXT_debug_label[] =
987{
988	"glGetObjectLabelEXT",
989	"glLabelObjectEXT",
990};
991
992static const char* s_GL_EXT_debug_marker[] =
993{
994	"glInsertEventMarkerEXT",
995	"glPopGroupMarkerEXT",
996	"glPushGroupMarkerEXT",
997};
998
999static 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
1014static const char* s_GL_EXT_draw_buffers[] =
1015{
1016	"glDrawBuffersEXT",
1017};
1018
1019static 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
1031static const char* s_GL_EXT_draw_elements_base_vertex[] =
1032{
1033	"glDrawElementsBaseVertexEXT",
1034	"glDrawElementsInstancedBaseVertexEXT",
1035	"glDrawRangeElementsBaseVertexEXT",
1036	"glMultiDrawElementsBaseVertexEXT",
1037};
1038
1039static const char* s_GL_EXT_draw_instanced[] =
1040{
1041	"glDrawArraysInstancedEXT",
1042	"glDrawElementsInstancedEXT",
1043};
1044
1045static const char* s_GL_EXT_geometry_shader[] =
1046{
1047	"glFramebufferTextureEXT",
1048};
1049
1050static const char* s_GL_EXT_instanced_arrays[] =
1051{
1052	"glDrawArraysInstancedEXT",
1053	"glDrawElementsInstancedEXT",
1054	"glVertexAttribDivisorEXT",
1055};
1056
1057static const char* s_GL_EXT_multi_draw_indirect[] =
1058{
1059	"glMultiDrawArraysIndirectEXT",
1060	"glMultiDrawElementsIndirectEXT",
1061};
1062
1063static const char* s_GL_EXT_multiview_draw_buffers[] =
1064{
1065	"glDrawBuffersIndexedEXT",
1066	"glGetIntegeri_vEXT",
1067	"glReadBufferIndexedEXT",
1068};
1069
1070static 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
1081static const char* s_GL_EXT_primitive_bounding_box[] =
1082{
1083	"glPrimitiveBoundingBoxEXT",
1084};
1085
1086static 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
1134static const char* s_GL_EXT_tessellation_shader[] =
1135{
1136	"glPatchParameteriEXT",
1137};
1138
1139static 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
1151static const char* s_GL_EXT_texture_buffer[] =
1152{
1153	"glTexBufferEXT",
1154	"glTexBufferRangeEXT",
1155};
1156
1157static const char* s_GL_EXT_texture_view[] =
1158{
1159	"glTextureViewEXT",
1160};
1161
1162static 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
1176static const char* s_GL_KHR_blend_equation_advanced[] =
1177{
1178	"glBlendBarrierKHR",
1179};
1180
1181static 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
1196static const char* s_GL_KHR_robustness[] =
1197{
1198	"glGetGraphicsResetStatusKHR",
1199	"glGetnUniformfvKHR",
1200	"glGetnUniformivKHR",
1201	"glGetnUniformuivKHR",
1202	"glReadnPixelsKHR",
1203};
1204
1205static 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
1222static const char* s_GL_NV_blend_equation_advanced[] =
1223{
1224	"glBlendBarrierNV",
1225	"glBlendParameteriNV",
1226};
1227
1228static const char* s_GL_NV_conditional_render[] =
1229{
1230	"glBeginConditionalRenderNV",
1231	"glEndConditionalRenderNV",
1232};
1233
1234static const char* s_GL_NV_copy_buffer[] =
1235{
1236	"glCopyBufferSubDataNV",
1237};
1238
1239static const char* s_GL_NV_coverage_sample[] =
1240{
1241	"glCoverageMaskNV",
1242	"glCoverageOperationNV",
1243};
1244
1245static const char* s_GL_NV_draw_buffers[] =
1246{
1247	"glDrawBuffersNV",
1248};
1249
1250static const char* s_GL_NV_draw_instanced[] =
1251{
1252	"glDrawArraysInstancedNV",
1253	"glDrawElementsInstancedNV",
1254};
1255
1256static const char* s_GL_NV_framebuffer_blit[] =
1257{
1258	"glBlitFramebufferNV",
1259};
1260
1261static const char* s_GL_NV_framebuffer_multisample[] =
1262{
1263	"glRenderbufferStorageMultisampleNV",
1264};
1265
1266static const char* s_GL_NV_instanced_arrays[] =
1267{
1268	"glVertexAttribDivisorNV",
1269};
1270
1271static const char* s_GL_NV_internalformat_sample_query[] =
1272{
1273	"glGetInternalformatSampleivNV",
1274};
1275
1276static const char* s_GL_NV_non_square_matrices[] =
1277{
1278	"glUniformMatrix2x3fvNV",
1279	"glUniformMatrix2x4fvNV",
1280	"glUniformMatrix3x2fvNV",
1281	"glUniformMatrix3x4fvNV",
1282	"glUniformMatrix4x2fvNV",
1283	"glUniformMatrix4x3fvNV",
1284};
1285
1286static 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
1347static const char* s_GL_NV_read_buffer[] =
1348{
1349	"glReadBufferNV",
1350};
1351
1352static 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
1368static const char* s_GL_OES_copy_image[] =
1369{
1370	"glCopyImageSubDataOES",
1371};
1372
1373static 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
1385static const char* s_GL_OES_draw_elements_base_vertex[] =
1386{
1387	"glDrawElementsBaseVertexOES",
1388	"glDrawElementsInstancedBaseVertexOES",
1389	"glDrawRangeElementsBaseVertexOES",
1390	"glMultiDrawElementsBaseVertexOES",
1391};
1392
1393static const char* s_GL_OES_geometry_shader[] =
1394{
1395	"glFramebufferTextureOES",
1396};
1397
1398static const char* s_GL_OES_get_program_binary[] =
1399{
1400	"glGetProgramBinaryOES",
1401	"glProgramBinaryOES",
1402};
1403
1404static const char* s_GL_OES_primitive_bounding_box[] =
1405{
1406	"glPrimitiveBoundingBoxOES",
1407};
1408
1409static const char* s_GL_OES_sample_shading[] =
1410{
1411	"glMinSampleShadingOES",
1412};
1413
1414static const char* s_GL_OES_tessellation_shader[] =
1415{
1416	"glPatchParameteriOES",
1417};
1418
1419static const char* s_GL_OES_texture_3D[] =
1420{
1421	"glCompressedTexImage3DOES",
1422	"glCompressedTexSubImage3DOES",
1423	"glCopyTexSubImage3DOES",
1424	"glFramebufferTexture3DOES",
1425	"glTexImage3DOES",
1426	"glTexSubImage3DOES",
1427};
1428
1429static 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
1441static const char* s_GL_OES_texture_buffer[] =
1442{
1443	"glTexBufferOES",
1444	"glTexBufferRangeOES",
1445};
1446
1447static const char* s_GL_OES_texture_storage_multisample_2d_array[] =
1448{
1449	"glTexStorage3DMultisampleOES",
1450};
1451
1452static const char* s_GL_OES_texture_view[] =
1453{
1454	"glTextureViewOES",
1455};
1456
1457static const char* s_GL_QCOM_alpha_test[] =
1458{
1459	"glAlphaFuncQCOM",
1460};
1461
1462static 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};
1593