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