• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 33315.
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_create_native_client_buffer[] =
453{
454	"eglCreateNativeClientBufferANDROID",
455};
456
457static const char* s_EGL_ANDROID_native_fence_sync[] =
458{
459	"eglDupNativeFenceFDANDROID",
460};
461
462static const char* s_EGL_ANDROID_presentation_time[] =
463{
464	"eglPresentationTimeANDROID",
465};
466
467static const char* s_EGL_ANGLE_query_surface_pointer[] =
468{
469	"eglQuerySurfacePointerANGLE",
470};
471
472static const char* s_EGL_EXT_device_base[] =
473{
474	"eglQueryDeviceAttribEXT",
475	"eglQueryDeviceStringEXT",
476	"eglQueryDevicesEXT",
477	"eglQueryDisplayAttribEXT",
478};
479
480static const char* s_EGL_EXT_device_enumeration[] =
481{
482	"eglQueryDevicesEXT",
483};
484
485static const char* s_EGL_EXT_device_query[] =
486{
487	"eglQueryDeviceAttribEXT",
488	"eglQueryDeviceStringEXT",
489	"eglQueryDisplayAttribEXT",
490};
491
492static const char* s_EGL_EXT_image_dma_buf_import_modifiers[] =
493{
494	"eglQueryDmaBufFormatsEXT",
495	"eglQueryDmaBufModifiersEXT",
496};
497
498static const char* s_EGL_EXT_output_base[] =
499{
500	"eglGetOutputLayersEXT",
501	"eglGetOutputPortsEXT",
502	"eglOutputLayerAttribEXT",
503	"eglOutputPortAttribEXT",
504	"eglQueryOutputLayerAttribEXT",
505	"eglQueryOutputLayerStringEXT",
506	"eglQueryOutputPortAttribEXT",
507	"eglQueryOutputPortStringEXT",
508};
509
510static const char* s_EGL_EXT_platform_base[] =
511{
512	"eglCreatePlatformPixmapSurfaceEXT",
513	"eglCreatePlatformWindowSurfaceEXT",
514	"eglGetPlatformDisplayEXT",
515};
516
517static const char* s_EGL_EXT_stream_consumer_egloutput[] =
518{
519	"eglStreamConsumerOutputEXT",
520};
521
522static const char* s_EGL_EXT_swap_buffers_with_damage[] =
523{
524	"eglSwapBuffersWithDamageEXT",
525};
526
527static const char* s_EGL_HI_clientpixmap[] =
528{
529	"eglCreatePixmapSurfaceHI",
530};
531
532static const char* s_EGL_KHR_cl_event2[] =
533{
534	"eglCreateSync64KHR",
535};
536
537static const char* s_EGL_KHR_debug[] =
538{
539	"eglDebugMessageControlKHR",
540	"eglLabelObjectKHR",
541	"eglQueryDebugKHR",
542};
543
544static const char* s_EGL_KHR_fence_sync[] =
545{
546	"eglClientWaitSyncKHR",
547	"eglCreateSyncKHR",
548	"eglDestroySyncKHR",
549	"eglGetSyncAttribKHR",
550};
551
552static const char* s_EGL_KHR_image[] =
553{
554	"eglCreateImageKHR",
555	"eglDestroyImageKHR",
556};
557
558static const char* s_EGL_KHR_image_base[] =
559{
560	"eglCreateImageKHR",
561	"eglDestroyImageKHR",
562};
563
564static const char* s_EGL_KHR_lock_surface[] =
565{
566	"eglLockSurfaceKHR",
567	"eglUnlockSurfaceKHR",
568};
569
570static const char* s_EGL_KHR_lock_surface3[] =
571{
572	"eglLockSurfaceKHR",
573	"eglQuerySurface64KHR",
574	"eglUnlockSurfaceKHR",
575};
576
577static const char* s_EGL_KHR_partial_update[] =
578{
579	"eglSetDamageRegionKHR",
580};
581
582static const char* s_EGL_KHR_reusable_sync[] =
583{
584	"eglClientWaitSyncKHR",
585	"eglCreateSyncKHR",
586	"eglDestroySyncKHR",
587	"eglGetSyncAttribKHR",
588	"eglSignalSyncKHR",
589};
590
591static const char* s_EGL_KHR_stream[] =
592{
593	"eglCreateStreamKHR",
594	"eglDestroyStreamKHR",
595	"eglQueryStreamKHR",
596	"eglQueryStreamu64KHR",
597	"eglStreamAttribKHR",
598};
599
600static const char* s_EGL_KHR_stream_attrib[] =
601{
602	"eglCreateStreamAttribKHR",
603	"eglQueryStreamAttribKHR",
604	"eglSetStreamAttribKHR",
605	"eglStreamConsumerAcquireAttribKHR",
606	"eglStreamConsumerReleaseAttribKHR",
607};
608
609static const char* s_EGL_KHR_stream_consumer_gltexture[] =
610{
611	"eglStreamConsumerAcquireKHR",
612	"eglStreamConsumerGLTextureExternalKHR",
613	"eglStreamConsumerReleaseKHR",
614};
615
616static const char* s_EGL_KHR_stream_cross_process_fd[] =
617{
618	"eglCreateStreamFromFileDescriptorKHR",
619	"eglGetStreamFileDescriptorKHR",
620};
621
622static const char* s_EGL_KHR_stream_fifo[] =
623{
624	"eglQueryStreamTimeKHR",
625};
626
627static const char* s_EGL_KHR_stream_producer_eglsurface[] =
628{
629	"eglCreateStreamProducerSurfaceKHR",
630};
631
632static const char* s_EGL_KHR_swap_buffers_with_damage[] =
633{
634	"eglSwapBuffersWithDamageKHR",
635};
636
637static const char* s_EGL_KHR_wait_sync[] =
638{
639	"eglWaitSyncKHR",
640};
641
642static const char* s_EGL_MESA_drm_image[] =
643{
644	"eglCreateDRMImageMESA",
645	"eglExportDRMImageMESA",
646};
647
648static const char* s_EGL_MESA_image_dma_buf_export[] =
649{
650	"eglExportDMABUFImageMESA",
651	"eglExportDMABUFImageQueryMESA",
652};
653
654static const char* s_EGL_NOK_swap_region[] =
655{
656	"eglSwapBuffersRegionNOK",
657};
658
659static const char* s_EGL_NOK_swap_region2[] =
660{
661	"eglSwapBuffersRegion2NOK",
662};
663
664static const char* s_EGL_NV_native_query[] =
665{
666	"eglQueryNativeDisplayNV",
667	"eglQueryNativePixmapNV",
668	"eglQueryNativeWindowNV",
669};
670
671static const char* s_EGL_NV_post_sub_buffer[] =
672{
673	"eglPostSubBufferNV",
674};
675
676static const char* s_EGL_NV_stream_consumer_gltexture_yuv[] =
677{
678	"eglStreamConsumerGLTextureExternalAttribsNV",
679};
680
681static const char* s_EGL_NV_stream_metadata[] =
682{
683	"eglQueryDisplayAttribNV",
684	"eglQueryStreamMetadataNV",
685	"eglSetStreamMetadataNV",
686};
687
688static const char* s_EGL_NV_stream_reset[] =
689{
690	"eglResetStreamNV",
691};
692
693static const char* s_EGL_NV_stream_sync[] =
694{
695	"eglCreateStreamSyncNV",
696};
697
698static const char* s_EGL_NV_sync[] =
699{
700	"eglClientWaitSyncNV",
701	"eglCreateFenceSyncNV",
702	"eglDestroySyncNV",
703	"eglFenceNV",
704	"eglGetSyncAttribNV",
705	"eglSignalSyncNV",
706};
707
708static const char* s_EGL_NV_system_time[] =
709{
710	"eglGetSystemTimeFrequencyNV",
711	"eglGetSystemTimeNV",
712};
713
714static const char* s_GL_APPLE_copy_texture_levels[] =
715{
716	"glCopyTextureLevelsAPPLE",
717};
718
719static const char* s_GL_APPLE_framebuffer_multisample[] =
720{
721	"glRenderbufferStorageMultisampleAPPLE",
722	"glResolveMultisampleFramebufferAPPLE",
723};
724
725static const char* s_GL_APPLE_sync[] =
726{
727	"glClientWaitSyncAPPLE",
728	"glDeleteSyncAPPLE",
729	"glFenceSyncAPPLE",
730	"glGetInteger64vAPPLE",
731	"glGetSyncivAPPLE",
732	"glIsSyncAPPLE",
733	"glWaitSyncAPPLE",
734};
735
736static const char* s_GL_EXT_discard_framebuffer[] =
737{
738	"glDiscardFramebufferEXT",
739};
740
741static const char* s_GL_EXT_map_buffer_range[] =
742{
743	"glFlushMappedBufferRangeEXT",
744	"glMapBufferRangeEXT",
745};
746
747static const char* s_GL_EXT_multi_draw_arrays[] =
748{
749	"glMultiDrawArraysEXT",
750	"glMultiDrawElementsEXT",
751};
752
753static const char* s_GL_EXT_multisampled_render_to_texture[] =
754{
755	"glFramebufferTexture2DMultisampleEXT",
756	"glRenderbufferStorageMultisampleEXT",
757};
758
759static const char* s_GL_EXT_robustness[] =
760{
761	"glGetGraphicsResetStatusEXT",
762	"glGetnUniformfvEXT",
763	"glGetnUniformivEXT",
764	"glReadnPixelsEXT",
765};
766
767static const char* s_GL_EXT_texture_storage[] =
768{
769	"glTexStorage1DEXT",
770	"glTexStorage2DEXT",
771	"glTexStorage3DEXT",
772	"glTextureStorage1DEXT",
773	"glTextureStorage2DEXT",
774	"glTextureStorage3DEXT",
775};
776
777static const char* s_GL_IMG_multisampled_render_to_texture[] =
778{
779	"glFramebufferTexture2DMultisampleIMG",
780	"glRenderbufferStorageMultisampleIMG",
781};
782
783static const char* s_GL_IMG_user_clip_plane[] =
784{
785	"glClipPlanefIMG",
786	"glClipPlanexIMG",
787};
788
789static const char* s_GL_NV_fence[] =
790{
791	"glDeleteFencesNV",
792	"glFinishFenceNV",
793	"glGenFencesNV",
794	"glGetFenceivNV",
795	"glIsFenceNV",
796	"glSetFenceNV",
797	"glTestFenceNV",
798};
799
800static const char* s_GL_OES_EGL_image[] =
801{
802	"glEGLImageTargetRenderbufferStorageOES",
803	"glEGLImageTargetTexture2DOES",
804};
805
806static const char* s_GL_OES_blend_equation_separate[] =
807{
808	"glBlendEquationSeparateOES",
809};
810
811static const char* s_GL_OES_blend_func_separate[] =
812{
813	"glBlendFuncSeparateOES",
814};
815
816static const char* s_GL_OES_blend_subtract[] =
817{
818	"glBlendEquationOES",
819};
820
821static const char* s_GL_OES_draw_texture[] =
822{
823	"glDrawTexfOES",
824	"glDrawTexfvOES",
825	"glDrawTexiOES",
826	"glDrawTexivOES",
827	"glDrawTexsOES",
828	"glDrawTexsvOES",
829	"glDrawTexxOES",
830	"glDrawTexxvOES",
831};
832
833static const char* s_GL_OES_fixed_point[] =
834{
835	"glAlphaFuncxOES",
836	"glClearColorxOES",
837	"glClearDepthxOES",
838	"glClipPlanexOES",
839	"glColor4xOES",
840	"glDepthRangexOES",
841	"glFogxOES",
842	"glFogxvOES",
843	"glFrustumxOES",
844	"glGetClipPlanexOES",
845	"glGetFixedvOES",
846	"glGetLightxvOES",
847	"glGetMaterialxvOES",
848	"glGetTexEnvxvOES",
849	"glGetTexParameterxvOES",
850	"glLightModelxOES",
851	"glLightModelxvOES",
852	"glLightxOES",
853	"glLightxvOES",
854	"glLineWidthxOES",
855	"glLoadMatrixxOES",
856	"glMaterialxOES",
857	"glMaterialxvOES",
858	"glMultMatrixxOES",
859	"glMultiTexCoord4xOES",
860	"glNormal3xOES",
861	"glOrthoxOES",
862	"glPointParameterxOES",
863	"glPointParameterxvOES",
864	"glPointSizexOES",
865	"glPolygonOffsetxOES",
866	"glRotatexOES",
867	"glSampleCoveragexOES",
868	"glScalexOES",
869	"glTexEnvxOES",
870	"glTexEnvxvOES",
871	"glTexParameterxOES",
872	"glTexParameterxvOES",
873	"glTranslatexOES",
874};
875
876static const char* s_GL_OES_framebuffer_object[] =
877{
878	"glBindFramebufferOES",
879	"glBindRenderbufferOES",
880	"glCheckFramebufferStatusOES",
881	"glDeleteFramebuffersOES",
882	"glDeleteRenderbuffersOES",
883	"glFramebufferRenderbufferOES",
884	"glFramebufferTexture2DOES",
885	"glGenFramebuffersOES",
886	"glGenRenderbuffersOES",
887	"glGenerateMipmapOES",
888	"glGetFramebufferAttachmentParameterivOES",
889	"glGetRenderbufferParameterivOES",
890	"glIsFramebufferOES",
891	"glIsRenderbufferOES",
892	"glRenderbufferStorageOES",
893};
894
895static const char* s_GL_OES_mapbuffer[] =
896{
897	"glGetBufferPointervOES",
898	"glMapBufferOES",
899	"glUnmapBufferOES",
900};
901
902static const char* s_GL_OES_matrix_palette[] =
903{
904	"glCurrentPaletteMatrixOES",
905	"glLoadPaletteFromModelViewMatrixOES",
906	"glMatrixIndexPointerOES",
907	"glWeightPointerOES",
908};
909
910static const char* s_GL_OES_point_size_array[] =
911{
912	"glPointSizePointerOES",
913};
914
915static const char* s_GL_OES_query_matrix[] =
916{
917	"glQueryMatrixxOES",
918};
919
920static const char* s_GL_OES_single_precision[] =
921{
922	"glClearDepthfOES",
923	"glClipPlanefOES",
924	"glDepthRangefOES",
925	"glFrustumfOES",
926	"glGetClipPlanefOES",
927	"glOrthofOES",
928};
929
930static const char* s_GL_OES_texture_cube_map[] =
931{
932	"glGetTexGenfvOES",
933	"glGetTexGenivOES",
934	"glGetTexGenxvOES",
935	"glTexGenfOES",
936	"glTexGenfvOES",
937	"glTexGeniOES",
938	"glTexGenivOES",
939	"glTexGenxOES",
940	"glTexGenxvOES",
941};
942
943static const char* s_GL_OES_vertex_array_object[] =
944{
945	"glBindVertexArrayOES",
946	"glDeleteVertexArraysOES",
947	"glGenVertexArraysOES",
948	"glIsVertexArrayOES",
949};
950
951static const char* s_GL_QCOM_driver_control[] =
952{
953	"glDisableDriverControlQCOM",
954	"glEnableDriverControlQCOM",
955	"glGetDriverControlStringQCOM",
956	"glGetDriverControlsQCOM",
957};
958
959static const char* s_GL_QCOM_extended_get[] =
960{
961	"glExtGetBufferPointervQCOM",
962	"glExtGetBuffersQCOM",
963	"glExtGetFramebuffersQCOM",
964	"glExtGetRenderbuffersQCOM",
965	"glExtGetTexLevelParameterivQCOM",
966	"glExtGetTexSubImageQCOM",
967	"glExtGetTexturesQCOM",
968	"glExtTexObjectStateOverrideiQCOM",
969};
970
971static const char* s_GL_QCOM_extended_get2[] =
972{
973	"glExtGetProgramBinarySourceQCOM",
974	"glExtGetProgramsQCOM",
975	"glExtGetShadersQCOM",
976	"glExtIsProgramBinaryQCOM",
977};
978
979static const char* s_GL_QCOM_tiled_rendering[] =
980{
981	"glEndTilingQCOM",
982	"glStartTilingQCOM",
983};
984
985static const char* s_GL_AMD_performance_monitor[] =
986{
987	"glBeginPerfMonitorAMD",
988	"glDeletePerfMonitorsAMD",
989	"glEndPerfMonitorAMD",
990	"glGenPerfMonitorsAMD",
991	"glGetPerfMonitorCounterDataAMD",
992	"glGetPerfMonitorCounterInfoAMD",
993	"glGetPerfMonitorCounterStringAMD",
994	"glGetPerfMonitorCountersAMD",
995	"glGetPerfMonitorGroupStringAMD",
996	"glGetPerfMonitorGroupsAMD",
997	"glSelectPerfMonitorCountersAMD",
998};
999
1000static const char* s_GL_ANGLE_framebuffer_blit[] =
1001{
1002	"glBlitFramebufferANGLE",
1003};
1004
1005static const char* s_GL_ANGLE_framebuffer_multisample[] =
1006{
1007	"glRenderbufferStorageMultisampleANGLE",
1008};
1009
1010static const char* s_GL_ANGLE_instanced_arrays[] =
1011{
1012	"glDrawArraysInstancedANGLE",
1013	"glDrawElementsInstancedANGLE",
1014	"glVertexAttribDivisorANGLE",
1015};
1016
1017static const char* s_GL_ANGLE_translated_shader_source[] =
1018{
1019	"glGetTranslatedShaderSourceANGLE",
1020};
1021
1022static const char* s_GL_EXT_base_instance[] =
1023{
1024	"glDrawArraysInstancedBaseInstanceEXT",
1025	"glDrawElementsInstancedBaseInstanceEXT",
1026	"glDrawElementsInstancedBaseVertexBaseInstanceEXT",
1027};
1028
1029static const char* s_GL_EXT_blend_func_extended[] =
1030{
1031	"glBindFragDataLocationEXT",
1032	"glBindFragDataLocationIndexedEXT",
1033	"glGetFragDataIndexEXT",
1034	"glGetProgramResourceLocationIndexEXT",
1035};
1036
1037static const char* s_GL_EXT_buffer_storage[] =
1038{
1039	"glBufferStorageEXT",
1040};
1041
1042static const char* s_GL_EXT_copy_image[] =
1043{
1044	"glCopyImageSubDataEXT",
1045};
1046
1047static const char* s_GL_EXT_debug_label[] =
1048{
1049	"glGetObjectLabelEXT",
1050	"glLabelObjectEXT",
1051};
1052
1053static const char* s_GL_EXT_debug_marker[] =
1054{
1055	"glInsertEventMarkerEXT",
1056	"glPopGroupMarkerEXT",
1057	"glPushGroupMarkerEXT",
1058};
1059
1060static const char* s_GL_EXT_disjoint_timer_query[] =
1061{
1062	"glBeginQueryEXT",
1063	"glDeleteQueriesEXT",
1064	"glEndQueryEXT",
1065	"glGenQueriesEXT",
1066	"glGetQueryObjecti64vEXT",
1067	"glGetQueryObjectivEXT",
1068	"glGetQueryObjectui64vEXT",
1069	"glGetQueryObjectuivEXT",
1070	"glGetQueryivEXT",
1071	"glIsQueryEXT",
1072	"glQueryCounterEXT",
1073};
1074
1075static const char* s_GL_EXT_draw_buffers[] =
1076{
1077	"glDrawBuffersEXT",
1078};
1079
1080static const char* s_GL_EXT_draw_buffers_indexed[] =
1081{
1082	"glBlendEquationSeparateiEXT",
1083	"glBlendEquationiEXT",
1084	"glBlendFuncSeparateiEXT",
1085	"glBlendFunciEXT",
1086	"glColorMaskiEXT",
1087	"glDisableiEXT",
1088	"glEnableiEXT",
1089	"glIsEnablediEXT",
1090};
1091
1092static const char* s_GL_EXT_draw_elements_base_vertex[] =
1093{
1094	"glDrawElementsBaseVertexEXT",
1095	"glDrawElementsInstancedBaseVertexEXT",
1096	"glDrawRangeElementsBaseVertexEXT",
1097	"glMultiDrawElementsBaseVertexEXT",
1098};
1099
1100static const char* s_GL_EXT_draw_instanced[] =
1101{
1102	"glDrawArraysInstancedEXT",
1103	"glDrawElementsInstancedEXT",
1104};
1105
1106static const char* s_GL_EXT_geometry_shader[] =
1107{
1108	"glFramebufferTextureEXT",
1109};
1110
1111static const char* s_GL_EXT_instanced_arrays[] =
1112{
1113	"glDrawArraysInstancedEXT",
1114	"glDrawElementsInstancedEXT",
1115	"glVertexAttribDivisorEXT",
1116};
1117
1118static const char* s_GL_EXT_multi_draw_indirect[] =
1119{
1120	"glMultiDrawArraysIndirectEXT",
1121	"glMultiDrawElementsIndirectEXT",
1122};
1123
1124static const char* s_GL_EXT_multiview_draw_buffers[] =
1125{
1126	"glDrawBuffersIndexedEXT",
1127	"glGetIntegeri_vEXT",
1128	"glReadBufferIndexedEXT",
1129};
1130
1131static const char* s_GL_EXT_occlusion_query_boolean[] =
1132{
1133	"glBeginQueryEXT",
1134	"glDeleteQueriesEXT",
1135	"glEndQueryEXT",
1136	"glGenQueriesEXT",
1137	"glGetQueryObjectuivEXT",
1138	"glGetQueryivEXT",
1139	"glIsQueryEXT",
1140};
1141
1142static const char* s_GL_EXT_primitive_bounding_box[] =
1143{
1144	"glPrimitiveBoundingBoxEXT",
1145};
1146
1147static const char* s_GL_EXT_raster_multisample[] =
1148{
1149	"glRasterSamplesEXT",
1150};
1151
1152static const char* s_GL_EXT_separate_shader_objects[] =
1153{
1154	"glActiveShaderProgramEXT",
1155	"glBindProgramPipelineEXT",
1156	"glCreateShaderProgramvEXT",
1157	"glDeleteProgramPipelinesEXT",
1158	"glGenProgramPipelinesEXT",
1159	"glGetProgramPipelineInfoLogEXT",
1160	"glGetProgramPipelineivEXT",
1161	"glIsProgramPipelineEXT",
1162	"glProgramParameteriEXT",
1163	"glProgramUniform1fEXT",
1164	"glProgramUniform1fvEXT",
1165	"glProgramUniform1iEXT",
1166	"glProgramUniform1ivEXT",
1167	"glProgramUniform1uiEXT",
1168	"glProgramUniform1uivEXT",
1169	"glProgramUniform2fEXT",
1170	"glProgramUniform2fvEXT",
1171	"glProgramUniform2iEXT",
1172	"glProgramUniform2ivEXT",
1173	"glProgramUniform2uiEXT",
1174	"glProgramUniform2uivEXT",
1175	"glProgramUniform3fEXT",
1176	"glProgramUniform3fvEXT",
1177	"glProgramUniform3iEXT",
1178	"glProgramUniform3ivEXT",
1179	"glProgramUniform3uiEXT",
1180	"glProgramUniform3uivEXT",
1181	"glProgramUniform4fEXT",
1182	"glProgramUniform4fvEXT",
1183	"glProgramUniform4iEXT",
1184	"glProgramUniform4ivEXT",
1185	"glProgramUniform4uiEXT",
1186	"glProgramUniform4uivEXT",
1187	"glProgramUniformMatrix2fvEXT",
1188	"glProgramUniformMatrix2x3fvEXT",
1189	"glProgramUniformMatrix2x4fvEXT",
1190	"glProgramUniformMatrix3fvEXT",
1191	"glProgramUniformMatrix3x2fvEXT",
1192	"glProgramUniformMatrix3x4fvEXT",
1193	"glProgramUniformMatrix4fvEXT",
1194	"glProgramUniformMatrix4x2fvEXT",
1195	"glProgramUniformMatrix4x3fvEXT",
1196	"glUseProgramStagesEXT",
1197	"glValidateProgramPipelineEXT",
1198};
1199
1200static const char* s_GL_EXT_sparse_texture[] =
1201{
1202	"glTexPageCommitmentEXT",
1203};
1204
1205static const char* s_GL_EXT_tessellation_shader[] =
1206{
1207	"glPatchParameteriEXT",
1208};
1209
1210static const char* s_GL_EXT_texture_border_clamp[] =
1211{
1212	"glGetSamplerParameterIivEXT",
1213	"glGetSamplerParameterIuivEXT",
1214	"glGetTexParameterIivEXT",
1215	"glGetTexParameterIuivEXT",
1216	"glSamplerParameterIivEXT",
1217	"glSamplerParameterIuivEXT",
1218	"glTexParameterIivEXT",
1219	"glTexParameterIuivEXT",
1220};
1221
1222static const char* s_GL_EXT_texture_buffer[] =
1223{
1224	"glTexBufferEXT",
1225	"glTexBufferRangeEXT",
1226};
1227
1228static const char* s_GL_EXT_texture_filter_minmax[] =
1229{
1230	"glRasterSamplesEXT",
1231};
1232
1233static const char* s_GL_EXT_texture_view[] =
1234{
1235	"glTextureViewEXT",
1236};
1237
1238static const char* s_GL_INTEL_framebuffer_CMAA[] =
1239{
1240	"glApplyFramebufferAttachmentCMAAINTEL",
1241};
1242
1243static const char* s_GL_INTEL_performance_query[] =
1244{
1245	"glBeginPerfQueryINTEL",
1246	"glCreatePerfQueryINTEL",
1247	"glDeletePerfQueryINTEL",
1248	"glEndPerfQueryINTEL",
1249	"glGetFirstPerfQueryIdINTEL",
1250	"glGetNextPerfQueryIdINTEL",
1251	"glGetPerfCounterInfoINTEL",
1252	"glGetPerfQueryDataINTEL",
1253	"glGetPerfQueryIdByNameINTEL",
1254	"glGetPerfQueryInfoINTEL",
1255};
1256
1257static const char* s_GL_KHR_blend_equation_advanced[] =
1258{
1259	"glBlendBarrierKHR",
1260};
1261
1262static const char* s_GL_KHR_debug[] =
1263{
1264	"glDebugMessageCallbackKHR",
1265	"glDebugMessageControlKHR",
1266	"glDebugMessageInsertKHR",
1267	"glGetDebugMessageLogKHR",
1268	"glGetObjectLabelKHR",
1269	"glGetObjectPtrLabelKHR",
1270	"glGetPointervKHR",
1271	"glObjectLabelKHR",
1272	"glObjectPtrLabelKHR",
1273	"glPopDebugGroupKHR",
1274	"glPushDebugGroupKHR",
1275};
1276
1277static const char* s_GL_KHR_robustness[] =
1278{
1279	"glGetGraphicsResetStatusKHR",
1280	"glGetnUniformfvKHR",
1281	"glGetnUniformivKHR",
1282	"glGetnUniformuivKHR",
1283	"glReadnPixelsKHR",
1284};
1285
1286static const char* s_GL_NV_bindless_texture[] =
1287{
1288	"glGetImageHandleNV",
1289	"glGetTextureHandleNV",
1290	"glGetTextureSamplerHandleNV",
1291	"glIsImageHandleResidentNV",
1292	"glIsTextureHandleResidentNV",
1293	"glMakeImageHandleNonResidentNV",
1294	"glMakeImageHandleResidentNV",
1295	"glMakeTextureHandleNonResidentNV",
1296	"glMakeTextureHandleResidentNV",
1297	"glProgramUniformHandleui64NV",
1298	"glProgramUniformHandleui64vNV",
1299	"glUniformHandleui64NV",
1300	"glUniformHandleui64vNV",
1301};
1302
1303static const char* s_GL_NV_blend_equation_advanced[] =
1304{
1305	"glBlendBarrierNV",
1306	"glBlendParameteriNV",
1307};
1308
1309static const char* s_GL_NV_conditional_render[] =
1310{
1311	"glBeginConditionalRenderNV",
1312	"glEndConditionalRenderNV",
1313};
1314
1315static const char* s_GL_NV_conservative_raster[] =
1316{
1317	"glSubpixelPrecisionBiasNV",
1318};
1319
1320static const char* s_GL_NV_copy_buffer[] =
1321{
1322	"glCopyBufferSubDataNV",
1323};
1324
1325static const char* s_GL_NV_coverage_sample[] =
1326{
1327	"glCoverageMaskNV",
1328	"glCoverageOperationNV",
1329};
1330
1331static const char* s_GL_NV_draw_buffers[] =
1332{
1333	"glDrawBuffersNV",
1334};
1335
1336static const char* s_GL_NV_draw_instanced[] =
1337{
1338	"glDrawArraysInstancedNV",
1339	"glDrawElementsInstancedNV",
1340};
1341
1342static const char* s_GL_NV_fragment_coverage_to_color[] =
1343{
1344	"glFragmentCoverageColorNV",
1345};
1346
1347static const char* s_GL_NV_framebuffer_blit[] =
1348{
1349	"glBlitFramebufferNV",
1350};
1351
1352static const char* s_GL_NV_framebuffer_mixed_samples[] =
1353{
1354	"glCoverageModulationNV",
1355	"glCoverageModulationTableNV",
1356	"glGetCoverageModulationTableNV",
1357	"glRasterSamplesEXT",
1358};
1359
1360static const char* s_GL_NV_framebuffer_multisample[] =
1361{
1362	"glRenderbufferStorageMultisampleNV",
1363};
1364
1365static const char* s_GL_NV_instanced_arrays[] =
1366{
1367	"glVertexAttribDivisorNV",
1368};
1369
1370static const char* s_GL_NV_internalformat_sample_query[] =
1371{
1372	"glGetInternalformatSampleivNV",
1373};
1374
1375static const char* s_GL_NV_non_square_matrices[] =
1376{
1377	"glUniformMatrix2x3fvNV",
1378	"glUniformMatrix2x4fvNV",
1379	"glUniformMatrix3x2fvNV",
1380	"glUniformMatrix3x4fvNV",
1381	"glUniformMatrix4x2fvNV",
1382	"glUniformMatrix4x3fvNV",
1383};
1384
1385static const char* s_GL_NV_path_rendering[] =
1386{
1387	"glCopyPathNV",
1388	"glCoverFillPathInstancedNV",
1389	"glCoverFillPathNV",
1390	"glCoverStrokePathInstancedNV",
1391	"glCoverStrokePathNV",
1392	"glDeletePathsNV",
1393	"glGenPathsNV",
1394	"glGetPathCommandsNV",
1395	"glGetPathCoordsNV",
1396	"glGetPathDashArrayNV",
1397	"glGetPathLengthNV",
1398	"glGetPathMetricRangeNV",
1399	"glGetPathMetricsNV",
1400	"glGetPathParameterfvNV",
1401	"glGetPathParameterivNV",
1402	"glGetPathSpacingNV",
1403	"glGetProgramResourcefvNV",
1404	"glInterpolatePathsNV",
1405	"glIsPathNV",
1406	"glIsPointInFillPathNV",
1407	"glIsPointInStrokePathNV",
1408	"glMatrixLoad3x2fNV",
1409	"glMatrixLoad3x3fNV",
1410	"glMatrixLoadTranspose3x3fNV",
1411	"glMatrixMult3x2fNV",
1412	"glMatrixMult3x3fNV",
1413	"glMatrixMultTranspose3x3fNV",
1414	"glPathCommandsNV",
1415	"glPathCoordsNV",
1416	"glPathCoverDepthFuncNV",
1417	"glPathDashArrayNV",
1418	"glPathGlyphIndexArrayNV",
1419	"glPathGlyphIndexRangeNV",
1420	"glPathGlyphRangeNV",
1421	"glPathGlyphsNV",
1422	"glPathMemoryGlyphIndexArrayNV",
1423	"glPathParameterfNV",
1424	"glPathParameterfvNV",
1425	"glPathParameteriNV",
1426	"glPathParameterivNV",
1427	"glPathStencilDepthOffsetNV",
1428	"glPathStencilFuncNV",
1429	"glPathStringNV",
1430	"glPathSubCommandsNV",
1431	"glPathSubCoordsNV",
1432	"glPointAlongPathNV",
1433	"glProgramPathFragmentInputGenNV",
1434	"glStencilFillPathInstancedNV",
1435	"glStencilFillPathNV",
1436	"glStencilStrokePathInstancedNV",
1437	"glStencilStrokePathNV",
1438	"glStencilThenCoverFillPathInstancedNV",
1439	"glStencilThenCoverFillPathNV",
1440	"glStencilThenCoverStrokePathInstancedNV",
1441	"glStencilThenCoverStrokePathNV",
1442	"glTransformPathNV",
1443	"glWeightPathsNV",
1444};
1445
1446static const char* s_GL_NV_polygon_mode[] =
1447{
1448	"glPolygonModeNV",
1449};
1450
1451static const char* s_GL_NV_read_buffer[] =
1452{
1453	"glReadBufferNV",
1454};
1455
1456static const char* s_GL_NV_sample_locations[] =
1457{
1458	"glFramebufferSampleLocationsfvNV",
1459	"glNamedFramebufferSampleLocationsfvNV",
1460	"glResolveDepthValuesNV",
1461};
1462
1463static const char* s_GL_NV_viewport_array[] =
1464{
1465	"glDepthRangeArrayfvNV",
1466	"glDepthRangeIndexedfNV",
1467	"glDisableiNV",
1468	"glEnableiNV",
1469	"glGetFloati_vNV",
1470	"glIsEnablediNV",
1471	"glScissorArrayvNV",
1472	"glScissorIndexedNV",
1473	"glScissorIndexedvNV",
1474	"glViewportArrayvNV",
1475	"glViewportIndexedfNV",
1476	"glViewportIndexedfvNV",
1477};
1478
1479static const char* s_GL_OES_copy_image[] =
1480{
1481	"glCopyImageSubDataOES",
1482};
1483
1484static const char* s_GL_OES_draw_buffers_indexed[] =
1485{
1486	"glBlendEquationSeparateiOES",
1487	"glBlendEquationiOES",
1488	"glBlendFuncSeparateiOES",
1489	"glBlendFunciOES",
1490	"glColorMaskiOES",
1491	"glDisableiOES",
1492	"glEnableiOES",
1493	"glIsEnablediOES",
1494};
1495
1496static const char* s_GL_OES_draw_elements_base_vertex[] =
1497{
1498	"glDrawElementsBaseVertexOES",
1499	"glDrawElementsInstancedBaseVertexOES",
1500	"glDrawRangeElementsBaseVertexOES",
1501	"glMultiDrawElementsBaseVertexOES",
1502};
1503
1504static const char* s_GL_OES_geometry_shader[] =
1505{
1506	"glFramebufferTextureOES",
1507};
1508
1509static const char* s_GL_OES_get_program_binary[] =
1510{
1511	"glGetProgramBinaryOES",
1512	"glProgramBinaryOES",
1513};
1514
1515static const char* s_GL_OES_primitive_bounding_box[] =
1516{
1517	"glPrimitiveBoundingBoxOES",
1518};
1519
1520static const char* s_GL_OES_sample_shading[] =
1521{
1522	"glMinSampleShadingOES",
1523};
1524
1525static const char* s_GL_OES_tessellation_shader[] =
1526{
1527	"glPatchParameteriOES",
1528};
1529
1530static const char* s_GL_OES_texture_3D[] =
1531{
1532	"glCompressedTexImage3DOES",
1533	"glCompressedTexSubImage3DOES",
1534	"glCopyTexSubImage3DOES",
1535	"glFramebufferTexture3DOES",
1536	"glTexImage3DOES",
1537	"glTexSubImage3DOES",
1538};
1539
1540static const char* s_GL_OES_texture_border_clamp[] =
1541{
1542	"glGetSamplerParameterIivOES",
1543	"glGetSamplerParameterIuivOES",
1544	"glGetTexParameterIivOES",
1545	"glGetTexParameterIuivOES",
1546	"glSamplerParameterIivOES",
1547	"glSamplerParameterIuivOES",
1548	"glTexParameterIivOES",
1549	"glTexParameterIuivOES",
1550};
1551
1552static const char* s_GL_OES_texture_buffer[] =
1553{
1554	"glTexBufferOES",
1555	"glTexBufferRangeOES",
1556};
1557
1558static const char* s_GL_OES_texture_storage_multisample_2d_array[] =
1559{
1560	"glTexStorage3DMultisampleOES",
1561};
1562
1563static const char* s_GL_OES_texture_view[] =
1564{
1565	"glTextureViewOES",
1566};
1567
1568static const char* s_GL_OVR_multiview[] =
1569{
1570	"glFramebufferTextureMultiviewOVR",
1571};
1572
1573static const char* s_GL_QCOM_alpha_test[] =
1574{
1575	"glAlphaFuncQCOM",
1576};
1577
1578static const struct
1579{
1580	const char*			name;
1581	const int			numFunctions;
1582	const char* const*	functions;
1583} s_extensions[] =
1584{
1585	{ "EGL_ANDROID_blob_cache",							DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache),						s_EGL_ANDROID_blob_cache						},
1586	{ "EGL_ANDROID_create_native_client_buffer",		DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer),		s_EGL_ANDROID_create_native_client_buffer		},
1587	{ "EGL_ANDROID_native_fence_sync",					DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync),				s_EGL_ANDROID_native_fence_sync					},
1588	{ "EGL_ANDROID_presentation_time",					DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time),				s_EGL_ANDROID_presentation_time					},
1589	{ "EGL_ANGLE_query_surface_pointer",				DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer),				s_EGL_ANGLE_query_surface_pointer				},
1590	{ "EGL_EXT_device_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base),							s_EGL_EXT_device_base							},
1591	{ "EGL_EXT_device_enumeration",						DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration),					s_EGL_EXT_device_enumeration					},
1592	{ "EGL_EXT_device_query",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query),							s_EGL_EXT_device_query							},
1593	{ "EGL_EXT_image_dma_buf_import_modifiers",			DE_LENGTH_OF_ARRAY(s_EGL_EXT_image_dma_buf_import_modifiers),		s_EGL_EXT_image_dma_buf_import_modifiers		},
1594	{ "EGL_EXT_output_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base),							s_EGL_EXT_output_base							},
1595	{ "EGL_EXT_platform_base",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base),						s_EGL_EXT_platform_base							},
1596	{ "EGL_EXT_stream_consumer_egloutput",				DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput),			s_EGL_EXT_stream_consumer_egloutput				},
1597	{ "EGL_EXT_swap_buffers_with_damage",				DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage),				s_EGL_EXT_swap_buffers_with_damage				},
1598	{ "EGL_HI_clientpixmap",							DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap),							s_EGL_HI_clientpixmap							},
1599	{ "EGL_KHR_cl_event2",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2),							s_EGL_KHR_cl_event2								},
1600	{ "EGL_KHR_debug",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug),								s_EGL_KHR_debug									},
1601	{ "EGL_KHR_fence_sync",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync),							s_EGL_KHR_fence_sync							},
1602	{ "EGL_KHR_image",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_image),								s_EGL_KHR_image									},
1603	{ "EGL_KHR_image_base",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base),							s_EGL_KHR_image_base							},
1604	{ "EGL_KHR_lock_surface",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface),							s_EGL_KHR_lock_surface							},
1605	{ "EGL_KHR_lock_surface3",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3),						s_EGL_KHR_lock_surface3							},
1606	{ "EGL_KHR_partial_update",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update),						s_EGL_KHR_partial_update						},
1607	{ "EGL_KHR_reusable_sync",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync),						s_EGL_KHR_reusable_sync							},
1608	{ "EGL_KHR_stream",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream),								s_EGL_KHR_stream								},
1609	{ "EGL_KHR_stream_attrib",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib),						s_EGL_KHR_stream_attrib							},
1610	{ "EGL_KHR_stream_consumer_gltexture",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture),			s_EGL_KHR_stream_consumer_gltexture				},
1611	{ "EGL_KHR_stream_cross_process_fd",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd),				s_EGL_KHR_stream_cross_process_fd				},
1612	{ "EGL_KHR_stream_fifo",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo),							s_EGL_KHR_stream_fifo							},
1613	{ "EGL_KHR_stream_producer_eglsurface",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface),			s_EGL_KHR_stream_producer_eglsurface			},
1614	{ "EGL_KHR_swap_buffers_with_damage",				DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage),				s_EGL_KHR_swap_buffers_with_damage				},
1615	{ "EGL_KHR_wait_sync",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync),							s_EGL_KHR_wait_sync								},
1616	{ "EGL_MESA_drm_image",								DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image),							s_EGL_MESA_drm_image							},
1617	{ "EGL_MESA_image_dma_buf_export",					DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export),				s_EGL_MESA_image_dma_buf_export					},
1618	{ "EGL_NOK_swap_region",							DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region),							s_EGL_NOK_swap_region							},
1619	{ "EGL_NOK_swap_region2",							DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2),							s_EGL_NOK_swap_region2							},
1620	{ "EGL_NV_native_query",							DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query),							s_EGL_NV_native_query							},
1621	{ "EGL_NV_post_sub_buffer",							DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer),						s_EGL_NV_post_sub_buffer						},
1622	{ "EGL_NV_stream_consumer_gltexture_yuv",			DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv),			s_EGL_NV_stream_consumer_gltexture_yuv			},
1623	{ "EGL_NV_stream_metadata",							DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata),						s_EGL_NV_stream_metadata						},
1624	{ "EGL_NV_stream_reset",							DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset),							s_EGL_NV_stream_reset							},
1625	{ "EGL_NV_stream_sync",								DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync),							s_EGL_NV_stream_sync							},
1626	{ "EGL_NV_sync",									DE_LENGTH_OF_ARRAY(s_EGL_NV_sync),									s_EGL_NV_sync									},
1627	{ "EGL_NV_system_time",								DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time),							s_EGL_NV_system_time							},
1628	{ "GL_APPLE_copy_texture_levels",					DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels),					s_GL_APPLE_copy_texture_levels					},
1629	{ "GL_APPLE_framebuffer_multisample",				DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample),				s_GL_APPLE_framebuffer_multisample				},
1630	{ "GL_APPLE_sync",									DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync),								s_GL_APPLE_sync									},
1631	{ "GL_EXT_discard_framebuffer",						DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer),					s_GL_EXT_discard_framebuffer					},
1632	{ "GL_EXT_map_buffer_range",						DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range),						s_GL_EXT_map_buffer_range						},
1633	{ "GL_EXT_multi_draw_arrays",						DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays),						s_GL_EXT_multi_draw_arrays						},
1634	{ "GL_EXT_multisampled_render_to_texture",			DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture),		s_GL_EXT_multisampled_render_to_texture			},
1635	{ "GL_EXT_robustness",								DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness),							s_GL_EXT_robustness								},
1636	{ "GL_EXT_texture_storage",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage),						s_GL_EXT_texture_storage						},
1637	{ "GL_IMG_multisampled_render_to_texture",			DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture),		s_GL_IMG_multisampled_render_to_texture			},
1638	{ "GL_IMG_user_clip_plane",							DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane),						s_GL_IMG_user_clip_plane						},
1639	{ "GL_NV_fence",									DE_LENGTH_OF_ARRAY(s_GL_NV_fence),									s_GL_NV_fence									},
1640	{ "GL_OES_EGL_image",								DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image),								s_GL_OES_EGL_image								},
1641	{ "GL_OES_blend_equation_separate",					DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate),				s_GL_OES_blend_equation_separate				},
1642	{ "GL_OES_blend_func_separate",						DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate),					s_GL_OES_blend_func_separate					},
1643	{ "GL_OES_blend_subtract",							DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract),						s_GL_OES_blend_subtract							},
1644	{ "GL_OES_draw_texture",							DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture),							s_GL_OES_draw_texture							},
1645	{ "GL_OES_fixed_point",								DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point),							s_GL_OES_fixed_point							},
1646	{ "GL_OES_framebuffer_object",						DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object),					s_GL_OES_framebuffer_object						},
1647	{ "GL_OES_mapbuffer",								DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer),								s_GL_OES_mapbuffer								},
1648	{ "GL_OES_matrix_palette",							DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette),						s_GL_OES_matrix_palette							},
1649	{ "GL_OES_point_size_array",						DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array),						s_GL_OES_point_size_array						},
1650	{ "GL_OES_query_matrix",							DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix),							s_GL_OES_query_matrix							},
1651	{ "GL_OES_single_precision",						DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision),						s_GL_OES_single_precision						},
1652	{ "GL_OES_texture_cube_map",						DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map),						s_GL_OES_texture_cube_map						},
1653	{ "GL_OES_vertex_array_object",						DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object),					s_GL_OES_vertex_array_object					},
1654	{ "GL_QCOM_driver_control",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control),						s_GL_QCOM_driver_control						},
1655	{ "GL_QCOM_extended_get",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get),							s_GL_QCOM_extended_get							},
1656	{ "GL_QCOM_extended_get2",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2),						s_GL_QCOM_extended_get2							},
1657	{ "GL_QCOM_tiled_rendering",						DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering),						s_GL_QCOM_tiled_rendering						},
1658	{ "GL_AMD_performance_monitor",						DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor),					s_GL_AMD_performance_monitor					},
1659	{ "GL_ANGLE_framebuffer_blit",						DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit),					s_GL_ANGLE_framebuffer_blit						},
1660	{ "GL_ANGLE_framebuffer_multisample",				DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample),				s_GL_ANGLE_framebuffer_multisample				},
1661	{ "GL_ANGLE_instanced_arrays",						DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays),					s_GL_ANGLE_instanced_arrays						},
1662	{ "GL_ANGLE_translated_shader_source",				DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source),			s_GL_ANGLE_translated_shader_source				},
1663	{ "GL_EXT_base_instance",							DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance),							s_GL_EXT_base_instance							},
1664	{ "GL_EXT_blend_func_extended",						DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended),					s_GL_EXT_blend_func_extended					},
1665	{ "GL_EXT_buffer_storage",							DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage),						s_GL_EXT_buffer_storage							},
1666	{ "GL_EXT_copy_image",								DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image),							s_GL_EXT_copy_image								},
1667	{ "GL_EXT_debug_label",								DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label),							s_GL_EXT_debug_label							},
1668	{ "GL_EXT_debug_marker",							DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker),							s_GL_EXT_debug_marker							},
1669	{ "GL_EXT_disjoint_timer_query",					DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query),					s_GL_EXT_disjoint_timer_query					},
1670	{ "GL_EXT_draw_buffers",							DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers),							s_GL_EXT_draw_buffers							},
1671	{ "GL_EXT_draw_buffers_indexed",					DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed),					s_GL_EXT_draw_buffers_indexed					},
1672	{ "GL_EXT_draw_elements_base_vertex",				DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex),				s_GL_EXT_draw_elements_base_vertex				},
1673	{ "GL_EXT_draw_instanced",							DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced),						s_GL_EXT_draw_instanced							},
1674	{ "GL_EXT_geometry_shader",							DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader),						s_GL_EXT_geometry_shader						},
1675	{ "GL_EXT_instanced_arrays",						DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays),						s_GL_EXT_instanced_arrays						},
1676	{ "GL_EXT_multi_draw_indirect",						DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect),					s_GL_EXT_multi_draw_indirect					},
1677	{ "GL_EXT_multiview_draw_buffers",					DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers),				s_GL_EXT_multiview_draw_buffers					},
1678	{ "GL_EXT_occlusion_query_boolean",					DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean),				s_GL_EXT_occlusion_query_boolean				},
1679	{ "GL_EXT_primitive_bounding_box",					DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box),				s_GL_EXT_primitive_bounding_box					},
1680	{ "GL_EXT_raster_multisample",						DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample),					s_GL_EXT_raster_multisample						},
1681	{ "GL_EXT_separate_shader_objects",					DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects),				s_GL_EXT_separate_shader_objects				},
1682	{ "GL_EXT_sparse_texture",							DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture),						s_GL_EXT_sparse_texture							},
1683	{ "GL_EXT_tessellation_shader",						DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader),					s_GL_EXT_tessellation_shader					},
1684	{ "GL_EXT_texture_border_clamp",					DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp),					s_GL_EXT_texture_border_clamp					},
1685	{ "GL_EXT_texture_buffer",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer),						s_GL_EXT_texture_buffer							},
1686	{ "GL_EXT_texture_filter_minmax",					DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_filter_minmax),					s_GL_EXT_texture_filter_minmax					},
1687	{ "GL_EXT_texture_view",							DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view),							s_GL_EXT_texture_view							},
1688	{ "GL_INTEL_framebuffer_CMAA",						DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA),					s_GL_INTEL_framebuffer_CMAA						},
1689	{ "GL_INTEL_performance_query",						DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query),					s_GL_INTEL_performance_query					},
1690	{ "GL_KHR_blend_equation_advanced",					DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced),				s_GL_KHR_blend_equation_advanced				},
1691	{ "GL_KHR_debug",									DE_LENGTH_OF_ARRAY(s_GL_KHR_debug),									s_GL_KHR_debug									},
1692	{ "GL_KHR_robustness",								DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness),							s_GL_KHR_robustness								},
1693	{ "GL_NV_bindless_texture",							DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture),						s_GL_NV_bindless_texture						},
1694	{ "GL_NV_blend_equation_advanced",					DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced),				s_GL_NV_blend_equation_advanced					},
1695	{ "GL_NV_conditional_render",						DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render),						s_GL_NV_conditional_render						},
1696	{ "GL_NV_conservative_raster",						DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster),					s_GL_NV_conservative_raster						},
1697	{ "GL_NV_copy_buffer",								DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer),							s_GL_NV_copy_buffer								},
1698	{ "GL_NV_coverage_sample",							DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample),						s_GL_NV_coverage_sample							},
1699	{ "GL_NV_draw_buffers",								DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers),							s_GL_NV_draw_buffers							},
1700	{ "GL_NV_draw_instanced",							DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced),							s_GL_NV_draw_instanced							},
1701	{ "GL_NV_fragment_coverage_to_color",				DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color),				s_GL_NV_fragment_coverage_to_color				},
1702	{ "GL_NV_framebuffer_blit",							DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit),						s_GL_NV_framebuffer_blit						},
1703	{ "GL_NV_framebuffer_mixed_samples",				DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples),				s_GL_NV_framebuffer_mixed_samples				},
1704	{ "GL_NV_framebuffer_multisample",					DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample),				s_GL_NV_framebuffer_multisample					},
1705	{ "GL_NV_instanced_arrays",							DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays),						s_GL_NV_instanced_arrays						},
1706	{ "GL_NV_internalformat_sample_query",				DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query),			s_GL_NV_internalformat_sample_query				},
1707	{ "GL_NV_non_square_matrices",						DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices),					s_GL_NV_non_square_matrices						},
1708	{ "GL_NV_path_rendering",							DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering),							s_GL_NV_path_rendering							},
1709	{ "GL_NV_polygon_mode",								DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode),							s_GL_NV_polygon_mode							},
1710	{ "GL_NV_read_buffer",								DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer),							s_GL_NV_read_buffer								},
1711	{ "GL_NV_sample_locations",							DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations),						s_GL_NV_sample_locations						},
1712	{ "GL_NV_viewport_array",							DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array),							s_GL_NV_viewport_array							},
1713	{ "GL_OES_copy_image",								DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image),							s_GL_OES_copy_image								},
1714	{ "GL_OES_draw_buffers_indexed",					DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed),					s_GL_OES_draw_buffers_indexed					},
1715	{ "GL_OES_draw_elements_base_vertex",				DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex),				s_GL_OES_draw_elements_base_vertex				},
1716	{ "GL_OES_geometry_shader",							DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader),						s_GL_OES_geometry_shader						},
1717	{ "GL_OES_get_program_binary",						DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary),					s_GL_OES_get_program_binary						},
1718	{ "GL_OES_primitive_bounding_box",					DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box),				s_GL_OES_primitive_bounding_box					},
1719	{ "GL_OES_sample_shading",							DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading),						s_GL_OES_sample_shading							},
1720	{ "GL_OES_tessellation_shader",						DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader),					s_GL_OES_tessellation_shader					},
1721	{ "GL_OES_texture_3D",								DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D),							s_GL_OES_texture_3D								},
1722	{ "GL_OES_texture_border_clamp",					DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp),					s_GL_OES_texture_border_clamp					},
1723	{ "GL_OES_texture_buffer",							DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer),						s_GL_OES_texture_buffer							},
1724	{ "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	},
1725	{ "GL_OES_texture_view",							DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view),							s_GL_OES_texture_view							},
1726	{ "GL_OVR_multiview",								DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview),								s_GL_OVR_multiview								},
1727	{ "GL_QCOM_alpha_test",								DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test),							s_GL_QCOM_alpha_test							},
1728};
1729