• 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 13a26984991216cbf9a44fbf390f95dc05b5493a.
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_display_reference[] =
545{
546	"eglQueryDisplayAttribKHR",
547};
548
549static const char* s_EGL_KHR_fence_sync[] =
550{
551	"eglClientWaitSyncKHR",
552	"eglCreateSyncKHR",
553	"eglDestroySyncKHR",
554	"eglGetSyncAttribKHR",
555};
556
557static const char* s_EGL_KHR_image[] =
558{
559	"eglCreateImageKHR",
560	"eglDestroyImageKHR",
561};
562
563static const char* s_EGL_KHR_image_base[] =
564{
565	"eglCreateImageKHR",
566	"eglDestroyImageKHR",
567};
568
569static const char* s_EGL_KHR_lock_surface[] =
570{
571	"eglLockSurfaceKHR",
572	"eglUnlockSurfaceKHR",
573};
574
575static const char* s_EGL_KHR_lock_surface3[] =
576{
577	"eglLockSurfaceKHR",
578	"eglQuerySurface64KHR",
579	"eglUnlockSurfaceKHR",
580};
581
582static const char* s_EGL_KHR_partial_update[] =
583{
584	"eglSetDamageRegionKHR",
585};
586
587static const char* s_EGL_KHR_reusable_sync[] =
588{
589	"eglClientWaitSyncKHR",
590	"eglCreateSyncKHR",
591	"eglDestroySyncKHR",
592	"eglGetSyncAttribKHR",
593	"eglSignalSyncKHR",
594};
595
596static const char* s_EGL_KHR_stream[] =
597{
598	"eglCreateStreamKHR",
599	"eglDestroyStreamKHR",
600	"eglQueryStreamKHR",
601	"eglQueryStreamu64KHR",
602	"eglStreamAttribKHR",
603};
604
605static const char* s_EGL_KHR_stream_attrib[] =
606{
607	"eglCreateStreamAttribKHR",
608	"eglQueryStreamAttribKHR",
609	"eglSetStreamAttribKHR",
610	"eglStreamConsumerAcquireAttribKHR",
611	"eglStreamConsumerReleaseAttribKHR",
612};
613
614static const char* s_EGL_KHR_stream_consumer_gltexture[] =
615{
616	"eglStreamConsumerAcquireKHR",
617	"eglStreamConsumerGLTextureExternalKHR",
618	"eglStreamConsumerReleaseKHR",
619};
620
621static const char* s_EGL_KHR_stream_cross_process_fd[] =
622{
623	"eglCreateStreamFromFileDescriptorKHR",
624	"eglGetStreamFileDescriptorKHR",
625};
626
627static const char* s_EGL_KHR_stream_fifo[] =
628{
629	"eglQueryStreamTimeKHR",
630};
631
632static const char* s_EGL_KHR_stream_producer_eglsurface[] =
633{
634	"eglCreateStreamProducerSurfaceKHR",
635};
636
637static const char* s_EGL_KHR_swap_buffers_with_damage[] =
638{
639	"eglSwapBuffersWithDamageKHR",
640};
641
642static const char* s_EGL_KHR_wait_sync[] =
643{
644	"eglWaitSyncKHR",
645};
646
647static const char* s_EGL_MESA_drm_image[] =
648{
649	"eglCreateDRMImageMESA",
650	"eglExportDRMImageMESA",
651};
652
653static const char* s_EGL_MESA_image_dma_buf_export[] =
654{
655	"eglExportDMABUFImageMESA",
656	"eglExportDMABUFImageQueryMESA",
657};
658
659static const char* s_EGL_NOK_swap_region[] =
660{
661	"eglSwapBuffersRegionNOK",
662};
663
664static const char* s_EGL_NOK_swap_region2[] =
665{
666	"eglSwapBuffersRegion2NOK",
667};
668
669static const char* s_EGL_NV_native_query[] =
670{
671	"eglQueryNativeDisplayNV",
672	"eglQueryNativePixmapNV",
673	"eglQueryNativeWindowNV",
674};
675
676static const char* s_EGL_NV_post_sub_buffer[] =
677{
678	"eglPostSubBufferNV",
679};
680
681static const char* s_EGL_NV_stream_consumer_gltexture_yuv[] =
682{
683	"eglStreamConsumerGLTextureExternalAttribsNV",
684};
685
686static const char* s_EGL_NV_stream_metadata[] =
687{
688	"eglQueryDisplayAttribNV",
689	"eglQueryStreamMetadataNV",
690	"eglSetStreamMetadataNV",
691};
692
693static const char* s_EGL_NV_stream_reset[] =
694{
695	"eglResetStreamNV",
696};
697
698static const char* s_EGL_NV_stream_sync[] =
699{
700	"eglCreateStreamSyncNV",
701};
702
703static const char* s_EGL_NV_sync[] =
704{
705	"eglClientWaitSyncNV",
706	"eglCreateFenceSyncNV",
707	"eglDestroySyncNV",
708	"eglFenceNV",
709	"eglGetSyncAttribNV",
710	"eglSignalSyncNV",
711};
712
713static const char* s_EGL_NV_system_time[] =
714{
715	"eglGetSystemTimeFrequencyNV",
716	"eglGetSystemTimeNV",
717};
718
719static const char* s_EGL_EXT_compositor[] =
720{
721	"eglCompositorSetContextListEXT",
722	"eglCompositorSetContextAttributesEXT",
723	"eglCompositorSetWindowListEXT",
724	"eglCompositorSetWindowAttributesEXT",
725	"eglCompositorBindTexWindowEXT",
726	"eglCompositorSetSizeEXT",
727	"eglCompositorSwapPolicyEXT",
728};
729
730static const char* s_GL_APPLE_copy_texture_levels[] =
731{
732	"glCopyTextureLevelsAPPLE",
733};
734
735static const char* s_GL_APPLE_framebuffer_multisample[] =
736{
737	"glRenderbufferStorageMultisampleAPPLE",
738	"glResolveMultisampleFramebufferAPPLE",
739};
740
741static const char* s_GL_APPLE_sync[] =
742{
743	"glClientWaitSyncAPPLE",
744	"glDeleteSyncAPPLE",
745	"glFenceSyncAPPLE",
746	"glGetInteger64vAPPLE",
747	"glGetSyncivAPPLE",
748	"glIsSyncAPPLE",
749	"glWaitSyncAPPLE",
750};
751
752static const char* s_GL_EXT_discard_framebuffer[] =
753{
754	"glDiscardFramebufferEXT",
755};
756
757static const char* s_GL_EXT_map_buffer_range[] =
758{
759	"glFlushMappedBufferRangeEXT",
760	"glMapBufferRangeEXT",
761};
762
763static const char* s_GL_EXT_multi_draw_arrays[] =
764{
765	"glMultiDrawArraysEXT",
766	"glMultiDrawElementsEXT",
767};
768
769static const char* s_GL_EXT_multisampled_render_to_texture[] =
770{
771	"glFramebufferTexture2DMultisampleEXT",
772	"glRenderbufferStorageMultisampleEXT",
773};
774
775static const char* s_GL_EXT_robustness[] =
776{
777	"glGetGraphicsResetStatusEXT",
778	"glGetnUniformfvEXT",
779	"glGetnUniformivEXT",
780	"glReadnPixelsEXT",
781};
782
783static const char* s_GL_EXT_texture_storage[] =
784{
785	"glTexStorage1DEXT",
786	"glTexStorage2DEXT",
787	"glTexStorage3DEXT",
788	"glTextureStorage1DEXT",
789	"glTextureStorage2DEXT",
790	"glTextureStorage3DEXT",
791};
792
793static const char* s_GL_IMG_multisampled_render_to_texture[] =
794{
795	"glFramebufferTexture2DMultisampleIMG",
796	"glRenderbufferStorageMultisampleIMG",
797};
798
799static const char* s_GL_IMG_user_clip_plane[] =
800{
801	"glClipPlanefIMG",
802	"glClipPlanexIMG",
803};
804
805static const char* s_GL_NV_fence[] =
806{
807	"glDeleteFencesNV",
808	"glFinishFenceNV",
809	"glGenFencesNV",
810	"glGetFenceivNV",
811	"glIsFenceNV",
812	"glSetFenceNV",
813	"glTestFenceNV",
814};
815
816static const char* s_GL_OES_EGL_image[] =
817{
818	"glEGLImageTargetRenderbufferStorageOES",
819	"glEGLImageTargetTexture2DOES",
820};
821
822static const char* s_GL_OES_blend_equation_separate[] =
823{
824	"glBlendEquationSeparateOES",
825};
826
827static const char* s_GL_OES_blend_func_separate[] =
828{
829	"glBlendFuncSeparateOES",
830};
831
832static const char* s_GL_OES_blend_subtract[] =
833{
834	"glBlendEquationOES",
835};
836
837static const char* s_GL_OES_draw_texture[] =
838{
839	"glDrawTexfOES",
840	"glDrawTexfvOES",
841	"glDrawTexiOES",
842	"glDrawTexivOES",
843	"glDrawTexsOES",
844	"glDrawTexsvOES",
845	"glDrawTexxOES",
846	"glDrawTexxvOES",
847};
848
849static const char* s_GL_OES_fixed_point[] =
850{
851	"glAlphaFuncxOES",
852	"glClearColorxOES",
853	"glClearDepthxOES",
854	"glClipPlanexOES",
855	"glColor4xOES",
856	"glDepthRangexOES",
857	"glFogxOES",
858	"glFogxvOES",
859	"glFrustumxOES",
860	"glGetClipPlanexOES",
861	"glGetFixedvOES",
862	"glGetLightxvOES",
863	"glGetMaterialxvOES",
864	"glGetTexEnvxvOES",
865	"glGetTexParameterxvOES",
866	"glLightModelxOES",
867	"glLightModelxvOES",
868	"glLightxOES",
869	"glLightxvOES",
870	"glLineWidthxOES",
871	"glLoadMatrixxOES",
872	"glMaterialxOES",
873	"glMaterialxvOES",
874	"glMultMatrixxOES",
875	"glMultiTexCoord4xOES",
876	"glNormal3xOES",
877	"glOrthoxOES",
878	"glPointParameterxOES",
879	"glPointParameterxvOES",
880	"glPointSizexOES",
881	"glPolygonOffsetxOES",
882	"glRotatexOES",
883	"glSampleCoveragexOES",
884	"glScalexOES",
885	"glTexEnvxOES",
886	"glTexEnvxvOES",
887	"glTexParameterxOES",
888	"glTexParameterxvOES",
889	"glTranslatexOES",
890};
891
892static const char* s_GL_OES_framebuffer_object[] =
893{
894	"glBindFramebufferOES",
895	"glBindRenderbufferOES",
896	"glCheckFramebufferStatusOES",
897	"glDeleteFramebuffersOES",
898	"glDeleteRenderbuffersOES",
899	"glFramebufferRenderbufferOES",
900	"glFramebufferTexture2DOES",
901	"glGenFramebuffersOES",
902	"glGenRenderbuffersOES",
903	"glGenerateMipmapOES",
904	"glGetFramebufferAttachmentParameterivOES",
905	"glGetRenderbufferParameterivOES",
906	"glIsFramebufferOES",
907	"glIsRenderbufferOES",
908	"glRenderbufferStorageOES",
909};
910
911static const char* s_GL_OES_mapbuffer[] =
912{
913	"glGetBufferPointervOES",
914	"glMapBufferOES",
915	"glUnmapBufferOES",
916};
917
918static const char* s_GL_OES_matrix_palette[] =
919{
920	"glCurrentPaletteMatrixOES",
921	"glLoadPaletteFromModelViewMatrixOES",
922	"glMatrixIndexPointerOES",
923	"glWeightPointerOES",
924};
925
926static const char* s_GL_OES_point_size_array[] =
927{
928	"glPointSizePointerOES",
929};
930
931static const char* s_GL_OES_query_matrix[] =
932{
933	"glQueryMatrixxOES",
934};
935
936static const char* s_GL_OES_single_precision[] =
937{
938	"glClearDepthfOES",
939	"glClipPlanefOES",
940	"glDepthRangefOES",
941	"glFrustumfOES",
942	"glGetClipPlanefOES",
943	"glOrthofOES",
944};
945
946static const char* s_GL_OES_texture_cube_map[] =
947{
948	"glGetTexGenfvOES",
949	"glGetTexGenivOES",
950	"glGetTexGenxvOES",
951	"glTexGenfOES",
952	"glTexGenfvOES",
953	"glTexGeniOES",
954	"glTexGenivOES",
955	"glTexGenxOES",
956	"glTexGenxvOES",
957};
958
959static const char* s_GL_OES_vertex_array_object[] =
960{
961	"glBindVertexArrayOES",
962	"glDeleteVertexArraysOES",
963	"glGenVertexArraysOES",
964	"glIsVertexArrayOES",
965};
966
967static const char* s_GL_QCOM_driver_control[] =
968{
969	"glDisableDriverControlQCOM",
970	"glEnableDriverControlQCOM",
971	"glGetDriverControlStringQCOM",
972	"glGetDriverControlsQCOM",
973};
974
975static const char* s_GL_QCOM_extended_get[] =
976{
977	"glExtGetBufferPointervQCOM",
978	"glExtGetBuffersQCOM",
979	"glExtGetFramebuffersQCOM",
980	"glExtGetRenderbuffersQCOM",
981	"glExtGetTexLevelParameterivQCOM",
982	"glExtGetTexSubImageQCOM",
983	"glExtGetTexturesQCOM",
984	"glExtTexObjectStateOverrideiQCOM",
985};
986
987static const char* s_GL_QCOM_extended_get2[] =
988{
989	"glExtGetProgramBinarySourceQCOM",
990	"glExtGetProgramsQCOM",
991	"glExtGetShadersQCOM",
992	"glExtIsProgramBinaryQCOM",
993};
994
995static const char* s_GL_QCOM_tiled_rendering[] =
996{
997	"glEndTilingQCOM",
998	"glStartTilingQCOM",
999};
1000
1001static const char* s_GL_AMD_performance_monitor[] =
1002{
1003	"glBeginPerfMonitorAMD",
1004	"glDeletePerfMonitorsAMD",
1005	"glEndPerfMonitorAMD",
1006	"glGenPerfMonitorsAMD",
1007	"glGetPerfMonitorCounterDataAMD",
1008	"glGetPerfMonitorCounterInfoAMD",
1009	"glGetPerfMonitorCounterStringAMD",
1010	"glGetPerfMonitorCountersAMD",
1011	"glGetPerfMonitorGroupStringAMD",
1012	"glGetPerfMonitorGroupsAMD",
1013	"glSelectPerfMonitorCountersAMD",
1014};
1015
1016static const char* s_GL_ANGLE_framebuffer_blit[] =
1017{
1018	"glBlitFramebufferANGLE",
1019};
1020
1021static const char* s_GL_ANGLE_framebuffer_multisample[] =
1022{
1023	"glRenderbufferStorageMultisampleANGLE",
1024};
1025
1026static const char* s_GL_ANGLE_instanced_arrays[] =
1027{
1028	"glDrawArraysInstancedANGLE",
1029	"glDrawElementsInstancedANGLE",
1030	"glVertexAttribDivisorANGLE",
1031};
1032
1033static const char* s_GL_ANGLE_translated_shader_source[] =
1034{
1035	"glGetTranslatedShaderSourceANGLE",
1036};
1037
1038static const char* s_GL_EXT_base_instance[] =
1039{
1040	"glDrawArraysInstancedBaseInstanceEXT",
1041	"glDrawElementsInstancedBaseInstanceEXT",
1042	"glDrawElementsInstancedBaseVertexBaseInstanceEXT",
1043};
1044
1045static const char* s_GL_EXT_blend_func_extended[] =
1046{
1047	"glBindFragDataLocationEXT",
1048	"glBindFragDataLocationIndexedEXT",
1049	"glGetFragDataIndexEXT",
1050	"glGetProgramResourceLocationIndexEXT",
1051};
1052
1053static const char* s_GL_EXT_buffer_storage[] =
1054{
1055	"glBufferStorageEXT",
1056};
1057
1058static const char* s_GL_EXT_clear_texture[] =
1059{
1060	"glClearTexImageEXT",
1061	"glClearTexSubImageEXT",
1062};
1063
1064static const char* s_GL_EXT_copy_image[] =
1065{
1066	"glCopyImageSubDataEXT",
1067};
1068
1069static const char* s_GL_EXT_debug_label[] =
1070{
1071	"glGetObjectLabelEXT",
1072	"glLabelObjectEXT",
1073};
1074
1075static const char* s_GL_EXT_debug_marker[] =
1076{
1077	"glInsertEventMarkerEXT",
1078	"glPopGroupMarkerEXT",
1079	"glPushGroupMarkerEXT",
1080};
1081
1082static const char* s_GL_EXT_disjoint_timer_query[] =
1083{
1084	"glBeginQueryEXT",
1085	"glDeleteQueriesEXT",
1086	"glEndQueryEXT",
1087	"glGenQueriesEXT",
1088	"glGetQueryObjecti64vEXT",
1089	"glGetQueryObjectivEXT",
1090	"glGetQueryObjectui64vEXT",
1091	"glGetQueryObjectuivEXT",
1092	"glGetQueryivEXT",
1093	"glIsQueryEXT",
1094	"glQueryCounterEXT",
1095};
1096
1097static const char* s_GL_EXT_draw_buffers[] =
1098{
1099	"glDrawBuffersEXT",
1100};
1101
1102static const char* s_GL_EXT_draw_buffers_indexed[] =
1103{
1104	"glBlendEquationSeparateiEXT",
1105	"glBlendEquationiEXT",
1106	"glBlendFuncSeparateiEXT",
1107	"glBlendFunciEXT",
1108	"glColorMaskiEXT",
1109	"glDisableiEXT",
1110	"glEnableiEXT",
1111	"glIsEnablediEXT",
1112};
1113
1114static const char* s_GL_EXT_draw_elements_base_vertex[] =
1115{
1116	"glDrawElementsBaseVertexEXT",
1117	"glDrawElementsInstancedBaseVertexEXT",
1118	"glDrawRangeElementsBaseVertexEXT",
1119	"glMultiDrawElementsBaseVertexEXT",
1120};
1121
1122static const char* s_GL_EXT_draw_instanced[] =
1123{
1124	"glDrawArraysInstancedEXT",
1125	"glDrawElementsInstancedEXT",
1126};
1127
1128static const char* s_GL_EXT_draw_transform_feedback[] =
1129{
1130	"glDrawTransformFeedbackEXT",
1131	"glDrawTransformFeedbackInstancedEXT",
1132};
1133
1134static const char* s_GL_EXT_external_buffer[] =
1135{
1136	"glBufferStorageExternalEXT",
1137	"glNamedBufferStorageExternalEXT",
1138};
1139
1140static const char* s_GL_EXT_geometry_shader[] =
1141{
1142	"glFramebufferTextureEXT",
1143};
1144
1145static const char* s_GL_EXT_instanced_arrays[] =
1146{
1147	"glDrawArraysInstancedEXT",
1148	"glDrawElementsInstancedEXT",
1149	"glVertexAttribDivisorEXT",
1150};
1151
1152static const char* s_GL_EXT_memory_object[] =
1153{
1154	"glBufferStorageMemEXT",
1155	"glCreateMemoryObjectsEXT",
1156	"glDeleteMemoryObjectsEXT",
1157	"glGetMemoryObjectParameterivEXT",
1158	"glGetUnsignedBytevEXT",
1159	"glGetUnsignedBytei_vEXT",
1160	"glIsMemoryObjectEXT",
1161	"glMemoryObjectParameterivEXT",
1162	"glNamedBufferStorageMemEXT",
1163	"glTexStorageMem2DEXT",
1164	"glTexStorageMem2DMultisampleEXT",
1165	"glTexStorageMem3DEXT",
1166	"glTexStorageMem3DMultisampleEXT",
1167	"glTextureStorageMem2DEXT",
1168	"glTextureStorageMem2DMultisampleEXT",
1169	"glTextureStorageMem3DEXT",
1170	"glTextureStorageMem3DMultisampleEXT",
1171};
1172
1173static const char* s_GL_EXT_memory_object_fd[] =
1174{
1175	"glImportMemoryFdEXT",
1176};
1177
1178static const char* s_GL_EXT_memory_object_win32[] =
1179{
1180	"glImportMemoryWin32HandleEXT",
1181	"glImportMemoryWin32NameEXT",
1182};
1183
1184static const char* s_GL_EXT_multi_draw_indirect[] =
1185{
1186	"glMultiDrawArraysIndirectEXT",
1187	"glMultiDrawElementsIndirectEXT",
1188};
1189
1190static const char* s_GL_EXT_multiview_draw_buffers[] =
1191{
1192	"glDrawBuffersIndexedEXT",
1193	"glGetIntegeri_vEXT",
1194	"glReadBufferIndexedEXT",
1195};
1196
1197static const char* s_GL_EXT_occlusion_query_boolean[] =
1198{
1199	"glBeginQueryEXT",
1200	"glDeleteQueriesEXT",
1201	"glEndQueryEXT",
1202	"glGenQueriesEXT",
1203	"glGetQueryObjectuivEXT",
1204	"glGetQueryivEXT",
1205	"glIsQueryEXT",
1206};
1207
1208static const char* s_GL_EXT_polygon_offset_clamp[] =
1209{
1210	"glPolygonOffsetClampEXT",
1211};
1212
1213static const char* s_GL_EXT_primitive_bounding_box[] =
1214{
1215	"glPrimitiveBoundingBoxEXT",
1216};
1217
1218static const char* s_GL_EXT_raster_multisample[] =
1219{
1220	"glRasterSamplesEXT",
1221};
1222
1223static const char* s_GL_EXT_semaphore[] =
1224{
1225	"glDeleteSemaphoresEXT",
1226	"glGenSemaphoresEXT",
1227	"glGetSemaphoreParameterui64vEXT",
1228	"glGetUnsignedBytevEXT",
1229	"glGetUnsignedBytei_vEXT",
1230	"glIsSemaphoreEXT",
1231	"glSemaphoreParameterui64vEXT",
1232	"glSignalSemaphoreEXT",
1233	"glWaitSemaphoreEXT",
1234};
1235
1236static const char* s_GL_EXT_semaphore_fd[] =
1237{
1238	"glImportSemaphoreFdEXT",
1239};
1240
1241static const char* s_GL_EXT_semaphore_win32[] =
1242{
1243	"glImportSemaphoreWin32HandleEXT",
1244	"glImportSemaphoreWin32NameEXT",
1245};
1246
1247static const char* s_GL_EXT_separate_shader_objects[] =
1248{
1249	"glActiveShaderProgramEXT",
1250	"glBindProgramPipelineEXT",
1251	"glCreateShaderProgramvEXT",
1252	"glDeleteProgramPipelinesEXT",
1253	"glGenProgramPipelinesEXT",
1254	"glGetProgramPipelineInfoLogEXT",
1255	"glGetProgramPipelineivEXT",
1256	"glIsProgramPipelineEXT",
1257	"glProgramParameteriEXT",
1258	"glProgramUniform1fEXT",
1259	"glProgramUniform1fvEXT",
1260	"glProgramUniform1iEXT",
1261	"glProgramUniform1ivEXT",
1262	"glProgramUniform1uiEXT",
1263	"glProgramUniform1uivEXT",
1264	"glProgramUniform2fEXT",
1265	"glProgramUniform2fvEXT",
1266	"glProgramUniform2iEXT",
1267	"glProgramUniform2ivEXT",
1268	"glProgramUniform2uiEXT",
1269	"glProgramUniform2uivEXT",
1270	"glProgramUniform3fEXT",
1271	"glProgramUniform3fvEXT",
1272	"glProgramUniform3iEXT",
1273	"glProgramUniform3ivEXT",
1274	"glProgramUniform3uiEXT",
1275	"glProgramUniform3uivEXT",
1276	"glProgramUniform4fEXT",
1277	"glProgramUniform4fvEXT",
1278	"glProgramUniform4iEXT",
1279	"glProgramUniform4ivEXT",
1280	"glProgramUniform4uiEXT",
1281	"glProgramUniform4uivEXT",
1282	"glProgramUniformMatrix2fvEXT",
1283	"glProgramUniformMatrix2x3fvEXT",
1284	"glProgramUniformMatrix2x4fvEXT",
1285	"glProgramUniformMatrix3fvEXT",
1286	"glProgramUniformMatrix3x2fvEXT",
1287	"glProgramUniformMatrix3x4fvEXT",
1288	"glProgramUniformMatrix4fvEXT",
1289	"glProgramUniformMatrix4x2fvEXT",
1290	"glProgramUniformMatrix4x3fvEXT",
1291	"glUseProgramStagesEXT",
1292	"glValidateProgramPipelineEXT",
1293};
1294
1295static const char* s_GL_EXT_shader_pixel_local_storage2[] =
1296{
1297	"glClearPixelLocalStorageuiEXT",
1298	"glFramebufferPixelLocalStorageSizeEXT",
1299	"glGetFramebufferPixelLocalStorageSizeEXT",
1300};
1301
1302static const char* s_GL_EXT_sparse_texture[] =
1303{
1304	"glTexPageCommitmentEXT",
1305};
1306
1307static const char* s_GL_EXT_tessellation_shader[] =
1308{
1309	"glPatchParameteriEXT",
1310};
1311
1312static const char* s_GL_EXT_texture_border_clamp[] =
1313{
1314	"glGetSamplerParameterIivEXT",
1315	"glGetSamplerParameterIuivEXT",
1316	"glGetTexParameterIivEXT",
1317	"glGetTexParameterIuivEXT",
1318	"glSamplerParameterIivEXT",
1319	"glSamplerParameterIuivEXT",
1320	"glTexParameterIivEXT",
1321	"glTexParameterIuivEXT",
1322};
1323
1324static const char* s_GL_EXT_texture_buffer[] =
1325{
1326	"glTexBufferEXT",
1327	"glTexBufferRangeEXT",
1328};
1329
1330static const char* s_GL_EXT_texture_filter_minmax[] =
1331{
1332	"glRasterSamplesEXT",
1333};
1334
1335static const char* s_GL_EXT_texture_view[] =
1336{
1337	"glTextureViewEXT",
1338};
1339
1340static const char* s_GL_EXT_win32_keyed_mutex[] =
1341{
1342	"glAcquireKeyedMutexWin32EXT",
1343	"glReleaseKeyedMutexWin32EXT",
1344};
1345
1346static const char* s_GL_EXT_window_rectangles[] =
1347{
1348	"glWindowRectanglesEXT",
1349};
1350
1351static const char* s_GL_IMG_bindless_texture[] =
1352{
1353	"glGetTextureHandleIMG",
1354	"glGetTextureSamplerHandleIMG",
1355	"glProgramUniformHandleui64IMG",
1356	"glProgramUniformHandleui64vIMG",
1357	"glUniformHandleui64IMG",
1358	"glUniformHandleui64vIMG",
1359};
1360
1361static const char* s_GL_IMG_framebuffer_downsample[] =
1362{
1363	"glFramebufferTexture2DDownsampleIMG",
1364	"glFramebufferTextureLayerDownsampleIMG",
1365};
1366
1367static const char* s_GL_INTEL_framebuffer_CMAA[] =
1368{
1369	"glApplyFramebufferAttachmentCMAAINTEL",
1370};
1371
1372static const char* s_GL_INTEL_performance_query[] =
1373{
1374	"glBeginPerfQueryINTEL",
1375	"glCreatePerfQueryINTEL",
1376	"glDeletePerfQueryINTEL",
1377	"glEndPerfQueryINTEL",
1378	"glGetFirstPerfQueryIdINTEL",
1379	"glGetNextPerfQueryIdINTEL",
1380	"glGetPerfCounterInfoINTEL",
1381	"glGetPerfQueryDataINTEL",
1382	"glGetPerfQueryIdByNameINTEL",
1383	"glGetPerfQueryInfoINTEL",
1384};
1385
1386static const char* s_GL_KHR_blend_equation_advanced[] =
1387{
1388	"glBlendBarrierKHR",
1389};
1390
1391static const char* s_GL_KHR_debug[] =
1392{
1393	"glDebugMessageCallbackKHR",
1394	"glDebugMessageControlKHR",
1395	"glDebugMessageInsertKHR",
1396	"glGetDebugMessageLogKHR",
1397	"glGetObjectLabelKHR",
1398	"glGetObjectPtrLabelKHR",
1399	"glGetPointervKHR",
1400	"glObjectLabelKHR",
1401	"glObjectPtrLabelKHR",
1402	"glPopDebugGroupKHR",
1403	"glPushDebugGroupKHR",
1404};
1405
1406static const char* s_GL_KHR_robustness[] =
1407{
1408	"glGetGraphicsResetStatusKHR",
1409	"glGetnUniformfvKHR",
1410	"glGetnUniformivKHR",
1411	"glGetnUniformuivKHR",
1412	"glReadnPixelsKHR",
1413};
1414
1415static const char* s_GL_NV_bindless_texture[] =
1416{
1417	"glGetImageHandleNV",
1418	"glGetTextureHandleNV",
1419	"glGetTextureSamplerHandleNV",
1420	"glIsImageHandleResidentNV",
1421	"glIsTextureHandleResidentNV",
1422	"glMakeImageHandleNonResidentNV",
1423	"glMakeImageHandleResidentNV",
1424	"glMakeTextureHandleNonResidentNV",
1425	"glMakeTextureHandleResidentNV",
1426	"glProgramUniformHandleui64NV",
1427	"glProgramUniformHandleui64vNV",
1428	"glUniformHandleui64NV",
1429	"glUniformHandleui64vNV",
1430};
1431
1432static const char* s_GL_NV_blend_equation_advanced[] =
1433{
1434	"glBlendBarrierNV",
1435	"glBlendParameteriNV",
1436};
1437
1438static const char* s_GL_NV_conditional_render[] =
1439{
1440	"glBeginConditionalRenderNV",
1441	"glEndConditionalRenderNV",
1442};
1443
1444static const char* s_GL_NV_conservative_raster[] =
1445{
1446	"glSubpixelPrecisionBiasNV",
1447};
1448
1449static const char* s_GL_NV_conservative_raster_pre_snap_triangles[] =
1450{
1451	"glConservativeRasterParameteriNV",
1452};
1453
1454static const char* s_GL_NV_copy_buffer[] =
1455{
1456	"glCopyBufferSubDataNV",
1457};
1458
1459static const char* s_GL_NV_coverage_sample[] =
1460{
1461	"glCoverageMaskNV",
1462	"glCoverageOperationNV",
1463};
1464
1465static const char* s_GL_NV_draw_buffers[] =
1466{
1467	"glDrawBuffersNV",
1468};
1469
1470static const char* s_GL_NV_draw_instanced[] =
1471{
1472	"glDrawArraysInstancedNV",
1473	"glDrawElementsInstancedNV",
1474};
1475
1476static const char* s_GL_NV_draw_vulkan_image[] =
1477{
1478	"glDrawVkImageNV",
1479	"glGetVkProcAddrNV",
1480	"glWaitVkSemaphoreNV",
1481	"glSignalVkSemaphoreNV",
1482	"glSignalVkFenceNV",
1483};
1484
1485static const char* s_GL_NV_fragment_coverage_to_color[] =
1486{
1487	"glFragmentCoverageColorNV",
1488};
1489
1490static const char* s_GL_NV_framebuffer_blit[] =
1491{
1492	"glBlitFramebufferNV",
1493};
1494
1495static const char* s_GL_NV_framebuffer_mixed_samples[] =
1496{
1497	"glCoverageModulationNV",
1498	"glCoverageModulationTableNV",
1499	"glGetCoverageModulationTableNV",
1500	"glRasterSamplesEXT",
1501};
1502
1503static const char* s_GL_NV_framebuffer_multisample[] =
1504{
1505	"glRenderbufferStorageMultisampleNV",
1506};
1507
1508static const char* s_GL_NV_gpu_shader5[] =
1509{
1510	"glGetUniformi64vNV",
1511	"glProgramUniform1i64NV",
1512	"glProgramUniform1i64vNV",
1513	"glProgramUniform1ui64NV",
1514	"glProgramUniform1ui64vNV",
1515	"glProgramUniform2i64NV",
1516	"glProgramUniform2i64vNV",
1517	"glProgramUniform2ui64NV",
1518	"glProgramUniform2ui64vNV",
1519	"glProgramUniform3i64NV",
1520	"glProgramUniform3i64vNV",
1521	"glProgramUniform3ui64NV",
1522	"glProgramUniform3ui64vNV",
1523	"glProgramUniform4i64NV",
1524	"glProgramUniform4i64vNV",
1525	"glProgramUniform4ui64NV",
1526	"glProgramUniform4ui64vNV",
1527	"glUniform1i64NV",
1528	"glUniform1i64vNV",
1529	"glUniform1ui64NV",
1530	"glUniform1ui64vNV",
1531	"glUniform2i64NV",
1532	"glUniform2i64vNV",
1533	"glUniform2ui64NV",
1534	"glUniform2ui64vNV",
1535	"glUniform3i64NV",
1536	"glUniform3i64vNV",
1537	"glUniform3ui64NV",
1538	"glUniform3ui64vNV",
1539	"glUniform4i64NV",
1540	"glUniform4i64vNV",
1541	"glUniform4ui64NV",
1542	"glUniform4ui64vNV",
1543};
1544
1545static const char* s_GL_NV_instanced_arrays[] =
1546{
1547	"glVertexAttribDivisorNV",
1548};
1549
1550static const char* s_GL_NV_internalformat_sample_query[] =
1551{
1552	"glGetInternalformatSampleivNV",
1553};
1554
1555static const char* s_GL_NV_non_square_matrices[] =
1556{
1557	"glUniformMatrix2x3fvNV",
1558	"glUniformMatrix2x4fvNV",
1559	"glUniformMatrix3x2fvNV",
1560	"glUniformMatrix3x4fvNV",
1561	"glUniformMatrix4x2fvNV",
1562	"glUniformMatrix4x3fvNV",
1563};
1564
1565static const char* s_GL_NV_path_rendering[] =
1566{
1567	"glCopyPathNV",
1568	"glCoverFillPathInstancedNV",
1569	"glCoverFillPathNV",
1570	"glCoverStrokePathInstancedNV",
1571	"glCoverStrokePathNV",
1572	"glDeletePathsNV",
1573	"glGenPathsNV",
1574	"glGetPathCommandsNV",
1575	"glGetPathCoordsNV",
1576	"glGetPathDashArrayNV",
1577	"glGetPathLengthNV",
1578	"glGetPathMetricRangeNV",
1579	"glGetPathMetricsNV",
1580	"glGetPathParameterfvNV",
1581	"glGetPathParameterivNV",
1582	"glGetPathSpacingNV",
1583	"glGetProgramResourcefvNV",
1584	"glInterpolatePathsNV",
1585	"glIsPathNV",
1586	"glIsPointInFillPathNV",
1587	"glIsPointInStrokePathNV",
1588	"glMatrixLoad3x2fNV",
1589	"glMatrixLoad3x3fNV",
1590	"glMatrixLoadTranspose3x3fNV",
1591	"glMatrixMult3x2fNV",
1592	"glMatrixMult3x3fNV",
1593	"glMatrixMultTranspose3x3fNV",
1594	"glPathCommandsNV",
1595	"glPathCoordsNV",
1596	"glPathCoverDepthFuncNV",
1597	"glPathDashArrayNV",
1598	"glPathGlyphIndexArrayNV",
1599	"glPathGlyphIndexRangeNV",
1600	"glPathGlyphRangeNV",
1601	"glPathGlyphsNV",
1602	"glPathMemoryGlyphIndexArrayNV",
1603	"glPathParameterfNV",
1604	"glPathParameterfvNV",
1605	"glPathParameteriNV",
1606	"glPathParameterivNV",
1607	"glPathStencilDepthOffsetNV",
1608	"glPathStencilFuncNV",
1609	"glPathStringNV",
1610	"glPathSubCommandsNV",
1611	"glPathSubCoordsNV",
1612	"glPointAlongPathNV",
1613	"glProgramPathFragmentInputGenNV",
1614	"glStencilFillPathInstancedNV",
1615	"glStencilFillPathNV",
1616	"glStencilStrokePathInstancedNV",
1617	"glStencilStrokePathNV",
1618	"glStencilThenCoverFillPathInstancedNV",
1619	"glStencilThenCoverFillPathNV",
1620	"glStencilThenCoverStrokePathInstancedNV",
1621	"glStencilThenCoverStrokePathNV",
1622	"glTransformPathNV",
1623	"glWeightPathsNV",
1624};
1625
1626static const char* s_GL_NV_polygon_mode[] =
1627{
1628	"glPolygonModeNV",
1629};
1630
1631static const char* s_GL_NV_read_buffer[] =
1632{
1633	"glReadBufferNV",
1634};
1635
1636static const char* s_GL_NV_sample_locations[] =
1637{
1638	"glFramebufferSampleLocationsfvNV",
1639	"glNamedFramebufferSampleLocationsfvNV",
1640	"glResolveDepthValuesNV",
1641};
1642
1643static const char* s_GL_NV_viewport_array[] =
1644{
1645	"glDepthRangeArrayfvNV",
1646	"glDepthRangeIndexedfNV",
1647	"glDisableiNV",
1648	"glEnableiNV",
1649	"glGetFloati_vNV",
1650	"glIsEnablediNV",
1651	"glScissorArrayvNV",
1652	"glScissorIndexedNV",
1653	"glScissorIndexedvNV",
1654	"glViewportArrayvNV",
1655	"glViewportIndexedfNV",
1656	"glViewportIndexedfvNV",
1657};
1658
1659static const char* s_GL_NV_viewport_swizzle[] =
1660{
1661	"glViewportSwizzleNV",
1662};
1663
1664static const char* s_GL_OES_copy_image[] =
1665{
1666	"glCopyImageSubDataOES",
1667};
1668
1669static const char* s_GL_OES_draw_buffers_indexed[] =
1670{
1671	"glBlendEquationSeparateiOES",
1672	"glBlendEquationiOES",
1673	"glBlendFuncSeparateiOES",
1674	"glBlendFunciOES",
1675	"glColorMaskiOES",
1676	"glDisableiOES",
1677	"glEnableiOES",
1678	"glIsEnablediOES",
1679};
1680
1681static const char* s_GL_OES_draw_elements_base_vertex[] =
1682{
1683	"glDrawElementsBaseVertexOES",
1684	"glDrawElementsInstancedBaseVertexOES",
1685	"glDrawRangeElementsBaseVertexOES",
1686	"glMultiDrawElementsBaseVertexOES",
1687};
1688
1689static const char* s_GL_OES_geometry_shader[] =
1690{
1691	"glFramebufferTextureOES",
1692};
1693
1694static const char* s_GL_OES_get_program_binary[] =
1695{
1696	"glGetProgramBinaryOES",
1697	"glProgramBinaryOES",
1698};
1699
1700static const char* s_GL_OES_primitive_bounding_box[] =
1701{
1702	"glPrimitiveBoundingBoxOES",
1703};
1704
1705static const char* s_GL_OES_sample_shading[] =
1706{
1707	"glMinSampleShadingOES",
1708};
1709
1710static const char* s_GL_OES_tessellation_shader[] =
1711{
1712	"glPatchParameteriOES",
1713};
1714
1715static const char* s_GL_OES_texture_3D[] =
1716{
1717	"glCompressedTexImage3DOES",
1718	"glCompressedTexSubImage3DOES",
1719	"glCopyTexSubImage3DOES",
1720	"glFramebufferTexture3DOES",
1721	"glTexImage3DOES",
1722	"glTexSubImage3DOES",
1723};
1724
1725static const char* s_GL_OES_texture_border_clamp[] =
1726{
1727	"glGetSamplerParameterIivOES",
1728	"glGetSamplerParameterIuivOES",
1729	"glGetTexParameterIivOES",
1730	"glGetTexParameterIuivOES",
1731	"glSamplerParameterIivOES",
1732	"glSamplerParameterIuivOES",
1733	"glTexParameterIivOES",
1734	"glTexParameterIuivOES",
1735};
1736
1737static const char* s_GL_OES_texture_buffer[] =
1738{
1739	"glTexBufferOES",
1740	"glTexBufferRangeOES",
1741};
1742
1743static const char* s_GL_OES_texture_storage_multisample_2d_array[] =
1744{
1745	"glTexStorage3DMultisampleOES",
1746};
1747
1748static const char* s_GL_OES_texture_view[] =
1749{
1750	"glTextureViewOES",
1751};
1752
1753static const char* s_GL_OES_viewport_array[] =
1754{
1755	"glDepthRangeArrayfvOES",
1756	"glDepthRangeIndexedfOES",
1757	"glDisableiOES",
1758	"glEnableiOES",
1759	"glGetFloati_vOES",
1760	"glIsEnablediOES",
1761	"glScissorArrayvOES",
1762	"glScissorIndexedOES",
1763	"glScissorIndexedvOES",
1764	"glViewportArrayvOES",
1765	"glViewportIndexedfOES",
1766	"glViewportIndexedfvOES",
1767};
1768
1769static const char* s_GL_OVR_multiview[] =
1770{
1771	"glFramebufferTextureMultiviewOVR",
1772};
1773
1774static const char* s_GL_OVR_multiview_multisampled_render_to_texture[] =
1775{
1776	"glFramebufferTextureMultisampleMultiviewOVR",
1777};
1778
1779static const char* s_GL_QCOM_alpha_test[] =
1780{
1781	"glAlphaFuncQCOM",
1782};
1783
1784static const char* s_GL_QCOM_framebuffer_foveated[] =
1785{
1786	"glFramebufferFoveationConfigQCOM",
1787	"glFramebufferFoveationParametersQCOM",
1788};
1789
1790static const char* s_GL_QCOM_shader_framebuffer_fetch_noncoherent[] =
1791{
1792	"glFramebufferFetchBarrierQCOM",
1793};
1794
1795static const struct
1796{
1797	const char*			name;
1798	const int			numFunctions;
1799	const char* const*	functions;
1800} s_extensions[] =
1801{
1802	{ "EGL_ANDROID_blob_cache",								DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache),							s_EGL_ANDROID_blob_cache							},
1803	{ "EGL_ANDROID_create_native_client_buffer",			DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer),			s_EGL_ANDROID_create_native_client_buffer			},
1804	{ "EGL_ANDROID_native_fence_sync",						DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync),					s_EGL_ANDROID_native_fence_sync						},
1805	{ "EGL_ANDROID_presentation_time",						DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time),					s_EGL_ANDROID_presentation_time						},
1806	{ "EGL_ANGLE_query_surface_pointer",					DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer),					s_EGL_ANGLE_query_surface_pointer					},
1807	{ "EGL_EXT_device_base",								DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base),								s_EGL_EXT_device_base								},
1808	{ "EGL_EXT_device_enumeration",							DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration),						s_EGL_EXT_device_enumeration						},
1809	{ "EGL_EXT_device_query",								DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query),								s_EGL_EXT_device_query								},
1810	{ "EGL_EXT_image_dma_buf_import_modifiers",				DE_LENGTH_OF_ARRAY(s_EGL_EXT_image_dma_buf_import_modifiers),			s_EGL_EXT_image_dma_buf_import_modifiers			},
1811	{ "EGL_EXT_output_base",								DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base),								s_EGL_EXT_output_base								},
1812	{ "EGL_EXT_platform_base",								DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base),							s_EGL_EXT_platform_base								},
1813	{ "EGL_EXT_stream_consumer_egloutput",					DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput),				s_EGL_EXT_stream_consumer_egloutput					},
1814	{ "EGL_EXT_swap_buffers_with_damage",					DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage),					s_EGL_EXT_swap_buffers_with_damage					},
1815	{ "EGL_HI_clientpixmap",								DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap),								s_EGL_HI_clientpixmap								},
1816	{ "EGL_KHR_cl_event2",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2),								s_EGL_KHR_cl_event2									},
1817	{ "EGL_KHR_debug",										DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug),									s_EGL_KHR_debug										},
1818	{ "EGL_KHR_display_reference",							DE_LENGTH_OF_ARRAY(s_EGL_KHR_display_reference),						s_EGL_KHR_display_reference							},
1819	{ "EGL_KHR_fence_sync",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync),								s_EGL_KHR_fence_sync								},
1820	{ "EGL_KHR_image",										DE_LENGTH_OF_ARRAY(s_EGL_KHR_image),									s_EGL_KHR_image										},
1821	{ "EGL_KHR_image_base",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base),								s_EGL_KHR_image_base								},
1822	{ "EGL_KHR_lock_surface",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface),								s_EGL_KHR_lock_surface								},
1823	{ "EGL_KHR_lock_surface3",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3),							s_EGL_KHR_lock_surface3								},
1824	{ "EGL_KHR_partial_update",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update),							s_EGL_KHR_partial_update							},
1825	{ "EGL_KHR_reusable_sync",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync),							s_EGL_KHR_reusable_sync								},
1826	{ "EGL_KHR_stream",										DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream),									s_EGL_KHR_stream									},
1827	{ "EGL_KHR_stream_attrib",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib),							s_EGL_KHR_stream_attrib								},
1828	{ "EGL_KHR_stream_consumer_gltexture",					DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture),				s_EGL_KHR_stream_consumer_gltexture					},
1829	{ "EGL_KHR_stream_cross_process_fd",					DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd),					s_EGL_KHR_stream_cross_process_fd					},
1830	{ "EGL_KHR_stream_fifo",								DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo),								s_EGL_KHR_stream_fifo								},
1831	{ "EGL_KHR_stream_producer_eglsurface",					DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface),				s_EGL_KHR_stream_producer_eglsurface				},
1832	{ "EGL_KHR_swap_buffers_with_damage",					DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage),					s_EGL_KHR_swap_buffers_with_damage					},
1833	{ "EGL_KHR_wait_sync",									DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync),								s_EGL_KHR_wait_sync									},
1834	{ "EGL_MESA_drm_image",									DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image),								s_EGL_MESA_drm_image								},
1835	{ "EGL_MESA_image_dma_buf_export",						DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export),					s_EGL_MESA_image_dma_buf_export						},
1836	{ "EGL_NOK_swap_region",								DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region),								s_EGL_NOK_swap_region								},
1837	{ "EGL_NOK_swap_region2",								DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2),								s_EGL_NOK_swap_region2								},
1838	{ "EGL_NV_native_query",								DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query),								s_EGL_NV_native_query								},
1839	{ "EGL_NV_post_sub_buffer",								DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer),							s_EGL_NV_post_sub_buffer							},
1840	{ "EGL_NV_stream_consumer_gltexture_yuv",				DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv),				s_EGL_NV_stream_consumer_gltexture_yuv				},
1841	{ "EGL_NV_stream_metadata",								DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata),							s_EGL_NV_stream_metadata							},
1842	{ "EGL_NV_stream_reset",								DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset),								s_EGL_NV_stream_reset								},
1843	{ "EGL_NV_stream_sync",									DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync),								s_EGL_NV_stream_sync								},
1844	{ "EGL_NV_sync",										DE_LENGTH_OF_ARRAY(s_EGL_NV_sync),										s_EGL_NV_sync										},
1845	{ "EGL_NV_system_time",									DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time),								s_EGL_NV_system_time								},
1846	{ "EGL_EXT_compositor",									DE_LENGTH_OF_ARRAY(s_EGL_EXT_compositor),								s_EGL_EXT_compositor								},
1847	{ "GL_APPLE_copy_texture_levels",						DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels),						s_GL_APPLE_copy_texture_levels						},
1848	{ "GL_APPLE_framebuffer_multisample",					DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample),					s_GL_APPLE_framebuffer_multisample					},
1849	{ "GL_APPLE_sync",										DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync),									s_GL_APPLE_sync										},
1850	{ "GL_EXT_discard_framebuffer",							DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer),						s_GL_EXT_discard_framebuffer						},
1851	{ "GL_EXT_map_buffer_range",							DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range),							s_GL_EXT_map_buffer_range							},
1852	{ "GL_EXT_multi_draw_arrays",							DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays),							s_GL_EXT_multi_draw_arrays							},
1853	{ "GL_EXT_multisampled_render_to_texture",				DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture),			s_GL_EXT_multisampled_render_to_texture				},
1854	{ "GL_EXT_robustness",									DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness),								s_GL_EXT_robustness									},
1855	{ "GL_EXT_texture_storage",								DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage),							s_GL_EXT_texture_storage							},
1856	{ "GL_IMG_multisampled_render_to_texture",				DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture),			s_GL_IMG_multisampled_render_to_texture				},
1857	{ "GL_IMG_user_clip_plane",								DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane),							s_GL_IMG_user_clip_plane							},
1858	{ "GL_NV_fence",										DE_LENGTH_OF_ARRAY(s_GL_NV_fence),										s_GL_NV_fence										},
1859	{ "GL_OES_EGL_image",									DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image),									s_GL_OES_EGL_image									},
1860	{ "GL_OES_blend_equation_separate",						DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate),					s_GL_OES_blend_equation_separate					},
1861	{ "GL_OES_blend_func_separate",							DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate),						s_GL_OES_blend_func_separate						},
1862	{ "GL_OES_blend_subtract",								DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract),							s_GL_OES_blend_subtract								},
1863	{ "GL_OES_draw_texture",								DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture),								s_GL_OES_draw_texture								},
1864	{ "GL_OES_fixed_point",									DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point),								s_GL_OES_fixed_point								},
1865	{ "GL_OES_framebuffer_object",							DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object),						s_GL_OES_framebuffer_object							},
1866	{ "GL_OES_mapbuffer",									DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer),									s_GL_OES_mapbuffer									},
1867	{ "GL_OES_matrix_palette",								DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette),							s_GL_OES_matrix_palette								},
1868	{ "GL_OES_point_size_array",							DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array),							s_GL_OES_point_size_array							},
1869	{ "GL_OES_query_matrix",								DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix),								s_GL_OES_query_matrix								},
1870	{ "GL_OES_single_precision",							DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision),							s_GL_OES_single_precision							},
1871	{ "GL_OES_texture_cube_map",							DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map),							s_GL_OES_texture_cube_map							},
1872	{ "GL_OES_vertex_array_object",							DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object),						s_GL_OES_vertex_array_object						},
1873	{ "GL_QCOM_driver_control",								DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control),							s_GL_QCOM_driver_control							},
1874	{ "GL_QCOM_extended_get",								DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get),								s_GL_QCOM_extended_get								},
1875	{ "GL_QCOM_extended_get2",								DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2),							s_GL_QCOM_extended_get2								},
1876	{ "GL_QCOM_tiled_rendering",							DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering),							s_GL_QCOM_tiled_rendering							},
1877	{ "GL_AMD_performance_monitor",							DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor),						s_GL_AMD_performance_monitor						},
1878	{ "GL_ANGLE_framebuffer_blit",							DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit),						s_GL_ANGLE_framebuffer_blit							},
1879	{ "GL_ANGLE_framebuffer_multisample",					DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample),					s_GL_ANGLE_framebuffer_multisample					},
1880	{ "GL_ANGLE_instanced_arrays",							DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays),						s_GL_ANGLE_instanced_arrays							},
1881	{ "GL_ANGLE_translated_shader_source",					DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source),				s_GL_ANGLE_translated_shader_source					},
1882	{ "GL_EXT_base_instance",								DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance),								s_GL_EXT_base_instance								},
1883	{ "GL_EXT_blend_func_extended",							DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended),						s_GL_EXT_blend_func_extended						},
1884	{ "GL_EXT_buffer_storage",								DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage),							s_GL_EXT_buffer_storage								},
1885	{ "GL_EXT_clear_texture",								DE_LENGTH_OF_ARRAY(s_GL_EXT_clear_texture),								s_GL_EXT_clear_texture								},
1886	{ "GL_EXT_copy_image",									DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image),								s_GL_EXT_copy_image									},
1887	{ "GL_EXT_debug_label",									DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label),								s_GL_EXT_debug_label								},
1888	{ "GL_EXT_debug_marker",								DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker),								s_GL_EXT_debug_marker								},
1889	{ "GL_EXT_disjoint_timer_query",						DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query),						s_GL_EXT_disjoint_timer_query						},
1890	{ "GL_EXT_draw_buffers",								DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers),								s_GL_EXT_draw_buffers								},
1891	{ "GL_EXT_draw_buffers_indexed",						DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed),						s_GL_EXT_draw_buffers_indexed						},
1892	{ "GL_EXT_draw_elements_base_vertex",					DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex),					s_GL_EXT_draw_elements_base_vertex					},
1893	{ "GL_EXT_draw_instanced",								DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced),							s_GL_EXT_draw_instanced								},
1894	{ "GL_EXT_draw_transform_feedback",						DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_transform_feedback),					s_GL_EXT_draw_transform_feedback					},
1895	{ "GL_EXT_external_buffer",								DE_LENGTH_OF_ARRAY(s_GL_EXT_external_buffer),							s_GL_EXT_external_buffer							},
1896	{ "GL_EXT_geometry_shader",								DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader),							s_GL_EXT_geometry_shader							},
1897	{ "GL_EXT_instanced_arrays",							DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays),							s_GL_EXT_instanced_arrays							},
1898	{ "GL_EXT_memory_object",								DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object),								s_GL_EXT_memory_object								},
1899	{ "GL_EXT_memory_object_fd",							DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_fd),							s_GL_EXT_memory_object_fd							},
1900	{ "GL_EXT_memory_object_win32",							DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_win32),						s_GL_EXT_memory_object_win32						},
1901	{ "GL_EXT_multi_draw_indirect",							DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect),						s_GL_EXT_multi_draw_indirect						},
1902	{ "GL_EXT_multiview_draw_buffers",						DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers),					s_GL_EXT_multiview_draw_buffers						},
1903	{ "GL_EXT_occlusion_query_boolean",						DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean),					s_GL_EXT_occlusion_query_boolean					},
1904	{ "GL_EXT_polygon_offset_clamp",						DE_LENGTH_OF_ARRAY(s_GL_EXT_polygon_offset_clamp),						s_GL_EXT_polygon_offset_clamp						},
1905	{ "GL_EXT_primitive_bounding_box",						DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box),					s_GL_EXT_primitive_bounding_box						},
1906	{ "GL_EXT_raster_multisample",							DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample),						s_GL_EXT_raster_multisample							},
1907	{ "GL_EXT_semaphore",									DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore),									s_GL_EXT_semaphore									},
1908	{ "GL_EXT_semaphore_fd",								DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_fd),								s_GL_EXT_semaphore_fd								},
1909	{ "GL_EXT_semaphore_win32",								DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_win32),							s_GL_EXT_semaphore_win32							},
1910	{ "GL_EXT_separate_shader_objects",						DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects),					s_GL_EXT_separate_shader_objects					},
1911	{ "GL_EXT_shader_pixel_local_storage2",					DE_LENGTH_OF_ARRAY(s_GL_EXT_shader_pixel_local_storage2),				s_GL_EXT_shader_pixel_local_storage2				},
1912	{ "GL_EXT_sparse_texture",								DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture),							s_GL_EXT_sparse_texture								},
1913	{ "GL_EXT_tessellation_shader",							DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader),						s_GL_EXT_tessellation_shader						},
1914	{ "GL_EXT_texture_border_clamp",						DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp),						s_GL_EXT_texture_border_clamp						},
1915	{ "GL_EXT_texture_buffer",								DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer),							s_GL_EXT_texture_buffer								},
1916	{ "GL_EXT_texture_filter_minmax",						DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_filter_minmax),						s_GL_EXT_texture_filter_minmax						},
1917	{ "GL_EXT_texture_view",								DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view),								s_GL_EXT_texture_view								},
1918	{ "GL_EXT_win32_keyed_mutex",							DE_LENGTH_OF_ARRAY(s_GL_EXT_win32_keyed_mutex),							s_GL_EXT_win32_keyed_mutex							},
1919	{ "GL_EXT_window_rectangles",							DE_LENGTH_OF_ARRAY(s_GL_EXT_window_rectangles),							s_GL_EXT_window_rectangles							},
1920	{ "GL_IMG_bindless_texture",							DE_LENGTH_OF_ARRAY(s_GL_IMG_bindless_texture),							s_GL_IMG_bindless_texture							},
1921	{ "GL_IMG_framebuffer_downsample",						DE_LENGTH_OF_ARRAY(s_GL_IMG_framebuffer_downsample),					s_GL_IMG_framebuffer_downsample						},
1922	{ "GL_INTEL_framebuffer_CMAA",							DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA),						s_GL_INTEL_framebuffer_CMAA							},
1923	{ "GL_INTEL_performance_query",							DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query),						s_GL_INTEL_performance_query						},
1924	{ "GL_KHR_blend_equation_advanced",						DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced),					s_GL_KHR_blend_equation_advanced					},
1925	{ "GL_KHR_debug",										DE_LENGTH_OF_ARRAY(s_GL_KHR_debug),										s_GL_KHR_debug										},
1926	{ "GL_KHR_robustness",									DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness),								s_GL_KHR_robustness									},
1927	{ "GL_NV_bindless_texture",								DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture),							s_GL_NV_bindless_texture							},
1928	{ "GL_NV_blend_equation_advanced",						DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced),					s_GL_NV_blend_equation_advanced						},
1929	{ "GL_NV_conditional_render",							DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render),							s_GL_NV_conditional_render							},
1930	{ "GL_NV_conservative_raster",							DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster),						s_GL_NV_conservative_raster							},
1931	{ "GL_NV_conservative_raster_pre_snap_triangles",		DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster_pre_snap_triangles),		s_GL_NV_conservative_raster_pre_snap_triangles		},
1932	{ "GL_NV_copy_buffer",									DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer),								s_GL_NV_copy_buffer									},
1933	{ "GL_NV_coverage_sample",								DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample),							s_GL_NV_coverage_sample								},
1934	{ "GL_NV_draw_buffers",									DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers),								s_GL_NV_draw_buffers								},
1935	{ "GL_NV_draw_instanced",								DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced),								s_GL_NV_draw_instanced								},
1936	{ "GL_NV_draw_vulkan_image",							DE_LENGTH_OF_ARRAY(s_GL_NV_draw_vulkan_image),							s_GL_NV_draw_vulkan_image							},
1937	{ "GL_NV_fragment_coverage_to_color",					DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color),					s_GL_NV_fragment_coverage_to_color					},
1938	{ "GL_NV_framebuffer_blit",								DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit),							s_GL_NV_framebuffer_blit							},
1939	{ "GL_NV_framebuffer_mixed_samples",					DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples),					s_GL_NV_framebuffer_mixed_samples					},
1940	{ "GL_NV_framebuffer_multisample",						DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample),					s_GL_NV_framebuffer_multisample						},
1941	{ "GL_NV_gpu_shader5",									DE_LENGTH_OF_ARRAY(s_GL_NV_gpu_shader5),								s_GL_NV_gpu_shader5									},
1942	{ "GL_NV_instanced_arrays",								DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays),							s_GL_NV_instanced_arrays							},
1943	{ "GL_NV_internalformat_sample_query",					DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query),				s_GL_NV_internalformat_sample_query					},
1944	{ "GL_NV_non_square_matrices",							DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices),						s_GL_NV_non_square_matrices							},
1945	{ "GL_NV_path_rendering",								DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering),								s_GL_NV_path_rendering								},
1946	{ "GL_NV_polygon_mode",									DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode),								s_GL_NV_polygon_mode								},
1947	{ "GL_NV_read_buffer",									DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer),								s_GL_NV_read_buffer									},
1948	{ "GL_NV_sample_locations",								DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations),							s_GL_NV_sample_locations							},
1949	{ "GL_NV_viewport_array",								DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array),								s_GL_NV_viewport_array								},
1950	{ "GL_NV_viewport_swizzle",								DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_swizzle),							s_GL_NV_viewport_swizzle							},
1951	{ "GL_OES_copy_image",									DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image),								s_GL_OES_copy_image									},
1952	{ "GL_OES_draw_buffers_indexed",						DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed),						s_GL_OES_draw_buffers_indexed						},
1953	{ "GL_OES_draw_elements_base_vertex",					DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex),					s_GL_OES_draw_elements_base_vertex					},
1954	{ "GL_OES_geometry_shader",								DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader),							s_GL_OES_geometry_shader							},
1955	{ "GL_OES_get_program_binary",							DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary),						s_GL_OES_get_program_binary							},
1956	{ "GL_OES_primitive_bounding_box",						DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box),					s_GL_OES_primitive_bounding_box						},
1957	{ "GL_OES_sample_shading",								DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading),							s_GL_OES_sample_shading								},
1958	{ "GL_OES_tessellation_shader",							DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader),						s_GL_OES_tessellation_shader						},
1959	{ "GL_OES_texture_3D",									DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D),								s_GL_OES_texture_3D									},
1960	{ "GL_OES_texture_border_clamp",						DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp),						s_GL_OES_texture_border_clamp						},
1961	{ "GL_OES_texture_buffer",								DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer),							s_GL_OES_texture_buffer								},
1962	{ "GL_OES_texture_storage_multisample_2d_array",		DE_LENGTH_OF_ARRAY(s_GL_OES_texture_storage_multisample_2d_array),		s_GL_OES_texture_storage_multisample_2d_array		},
1963	{ "GL_OES_texture_view",								DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view),								s_GL_OES_texture_view								},
1964	{ "GL_OES_viewport_array",								DE_LENGTH_OF_ARRAY(s_GL_OES_viewport_array),							s_GL_OES_viewport_array								},
1965	{ "GL_OVR_multiview",									DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview),									s_GL_OVR_multiview									},
1966	{ "GL_OVR_multiview_multisampled_render_to_texture",	DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview_multisampled_render_to_texture),	s_GL_OVR_multiview_multisampled_render_to_texture	},
1967	{ "GL_QCOM_alpha_test",									DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test),								s_GL_QCOM_alpha_test								},
1968	{ "GL_QCOM_framebuffer_foveated",						DE_LENGTH_OF_ARRAY(s_GL_QCOM_framebuffer_foveated),						s_GL_QCOM_framebuffer_foveated						},
1969	{ "GL_QCOM_shader_framebuffer_fetch_noncoherent",		DE_LENGTH_OF_ARRAY(s_GL_QCOM_shader_framebuffer_fetch_noncoherent),		s_GL_QCOM_shader_framebuffer_fetch_noncoherent		},
1970};
1971