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