1 /* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
4 * Generated from Khronos EGL API description (egl.xml) revision 3338ed0db494d6a4db7f76627b38f0b1892db096.
7 static const char* s_EGL14[] =
14 "eglCreatePbufferFromClientBuffer",
15 "eglCreatePbufferSurface",
16 "eglCreatePixmapSurface",
17 "eglCreateWindowSurface",
22 "eglGetCurrentContext",
23 "eglGetCurrentDisplay",
24 "eglGetCurrentSurface",
45 static const char* s_EGL15[] =
49 "eglCreatePlatformPixmapSurface",
50 "eglCreatePlatformWindowSurface",
54 "eglGetPlatformDisplay",
59 static const char* s_GLES10[] =
75 "glClientActiveTexture",
83 "glCompressedTexImage2D",
84 "glCompressedTexSubImage2D",
86 "glCopyTexSubImage2D",
95 "glDisableClientState",
99 "glEnableClientState",
112 "glGetBufferParameteriv",
128 "glGetTexParameterfv",
129 "glGetTexParameteriv",
130 "glGetTexParameterxv",
165 "glPointParameterfv",
167 "glPointParameterxv",
207 static const char* s_GLES20[] =
211 "glBindAttribLocation",
214 "glBindRenderbuffer",
218 "glBlendEquationSeparate",
220 "glBlendFuncSeparate",
223 "glCheckFramebufferStatus",
230 "glCompressedTexImage2D",
231 "glCompressedTexSubImage2D",
233 "glCopyTexSubImage2D",
238 "glDeleteFramebuffers",
240 "glDeleteRenderbuffers",
248 "glDisableVertexAttribArray",
252 "glEnableVertexAttribArray",
255 "glFramebufferRenderbuffer",
256 "glFramebufferTexture2D",
260 "glGenRenderbuffers",
264 "glGetActiveUniform",
265 "glGetAttachedShaders",
266 "glGetAttribLocation",
268 "glGetBufferParameteriv",
271 "glGetFramebufferAttachmentParameteriv",
273 "glGetProgramInfoLog",
275 "glGetRenderbufferParameteriv",
276 "glGetShaderInfoLog",
277 "glGetShaderPrecisionFormat",
281 "glGetTexParameterfv",
282 "glGetTexParameteriv",
283 "glGetUniformLocation",
286 "glGetVertexAttribPointerv",
287 "glGetVertexAttribfv",
288 "glGetVertexAttribiv",
302 "glReleaseShaderCompiler",
303 "glRenderbufferStorage",
309 "glStencilFuncSeparate",
311 "glStencilMaskSeparate",
313 "glStencilOpSeparate",
336 "glUniformMatrix2fv",
337 "glUniformMatrix3fv",
338 "glUniformMatrix4fv",
349 "glVertexAttribPointer",
353 static const char* s_GLES30[] =
356 "glBeginTransformFeedback",
360 "glBindTransformFeedback",
368 "glCompressedTexImage3D",
369 "glCompressedTexSubImage3D",
370 "glCopyBufferSubData",
371 "glCopyTexSubImage3D",
375 "glDeleteTransformFeedbacks",
376 "glDeleteVertexArrays",
377 "glDrawArraysInstanced",
379 "glDrawElementsInstanced",
380 "glDrawRangeElements",
382 "glEndTransformFeedback",
384 "glFlushMappedBufferRange",
385 "glFramebufferTextureLayer",
388 "glGenTransformFeedbacks",
390 "glGetActiveUniformBlockName",
391 "glGetActiveUniformBlockiv",
392 "glGetActiveUniformsiv",
393 "glGetBufferParameteri64v",
394 "glGetBufferPointerv",
395 "glGetFragDataLocation",
399 "glGetInternalformativ",
400 "glGetProgramBinary",
401 "glGetQueryObjectuiv",
403 "glGetSamplerParameterfv",
404 "glGetSamplerParameteriv",
407 "glGetTransformFeedbackVarying",
408 "glGetUniformBlockIndex",
409 "glGetUniformIndices",
411 "glGetVertexAttribIiv",
412 "glGetVertexAttribIuiv",
413 "glInvalidateFramebuffer",
414 "glInvalidateSubFramebuffer",
418 "glIsTransformFeedback",
421 "glPauseTransformFeedback",
423 "glProgramParameteri",
425 "glRenderbufferStorageMultisample",
426 "glResumeTransformFeedback",
427 "glSamplerParameterf",
428 "glSamplerParameterfv",
429 "glSamplerParameteri",
430 "glSamplerParameteriv",
435 "glTransformFeedbackVaryings",
444 "glUniformBlockBinding",
445 "glUniformMatrix2x3fv",
446 "glUniformMatrix2x4fv",
447 "glUniformMatrix3x2fv",
448 "glUniformMatrix3x4fv",
449 "glUniformMatrix4x2fv",
450 "glUniformMatrix4x3fv",
452 "glVertexAttribDivisor",
454 "glVertexAttribI4iv",
455 "glVertexAttribI4ui",
456 "glVertexAttribI4uiv",
457 "glVertexAttribIPointer",
461 static const char* s_EGL_ANDROID_blob_cache[] =
463 "eglSetBlobCacheFuncsANDROID",
466 static const char* s_EGL_ANDROID_create_native_client_buffer[] =
468 "eglCreateNativeClientBufferANDROID",
471 static const char* s_EGL_ANDROID_get_native_client_buffer[] =
473 "eglGetNativeClientBufferANDROID",
476 static const char* s_EGL_ANDROID_native_fence_sync[] =
478 "eglDupNativeFenceFDANDROID",
481 static const char* s_EGL_ANDROID_presentation_time[] =
483 "eglPresentationTimeANDROID",
486 static const char* s_EGL_ANDROID_get_frame_timestamps[] =
488 "eglGetCompositorTimingSupportedANDROID",
489 "eglGetCompositorTimingANDROID",
490 "eglGetNextFrameIdANDROID",
491 "eglGetFrameTimestampSupportedANDROID",
492 "eglGetFrameTimestampsANDROID",
495 static const char* s_EGL_ANGLE_query_surface_pointer[] =
497 "eglQuerySurfacePointerANGLE",
500 static const char* s_EGL_EXT_client_sync[] =
502 "eglClientSignalSyncEXT",
505 static const char* s_EGL_EXT_device_base[] =
507 "eglQueryDeviceAttribEXT",
508 "eglQueryDeviceStringEXT",
509 "eglQueryDevicesEXT",
510 "eglQueryDisplayAttribEXT",
513 static const char* s_EGL_EXT_device_enumeration[] =
515 "eglQueryDevicesEXT",
518 static const char* s_EGL_EXT_device_query[] =
520 "eglQueryDeviceAttribEXT",
521 "eglQueryDeviceStringEXT",
522 "eglQueryDisplayAttribEXT",
525 static const char* s_EGL_EXT_image_dma_buf_import_modifiers[] =
527 "eglQueryDmaBufFormatsEXT",
528 "eglQueryDmaBufModifiersEXT",
531 static const char* s_EGL_EXT_output_base[] =
533 "eglGetOutputLayersEXT",
534 "eglGetOutputPortsEXT",
535 "eglOutputLayerAttribEXT",
536 "eglOutputPortAttribEXT",
537 "eglQueryOutputLayerAttribEXT",
538 "eglQueryOutputLayerStringEXT",
539 "eglQueryOutputPortAttribEXT",
540 "eglQueryOutputPortStringEXT",
543 static const char* s_EGL_EXT_platform_base[] =
545 "eglCreatePlatformPixmapSurfaceEXT",
546 "eglCreatePlatformWindowSurfaceEXT",
547 "eglGetPlatformDisplayEXT",
550 static const char* s_EGL_EXT_stream_consumer_egloutput[] =
552 "eglStreamConsumerOutputEXT",
555 static const char* s_EGL_EXT_swap_buffers_with_damage[] =
557 "eglSwapBuffersWithDamageEXT",
560 static const char* s_EGL_EXT_sync_reuse[] =
562 "eglUnsignalSyncEXT",
565 static const char* s_EGL_HI_clientpixmap[] =
567 "eglCreatePixmapSurfaceHI",
570 static const char* s_EGL_KHR_cl_event2[] =
572 "eglCreateSync64KHR",
575 static const char* s_EGL_KHR_debug[] =
577 "eglDebugMessageControlKHR",
582 static const char* s_EGL_KHR_display_reference[] =
584 "eglQueryDisplayAttribKHR",
587 static const char* s_EGL_KHR_fence_sync[] =
589 "eglClientWaitSyncKHR",
592 "eglGetSyncAttribKHR",
595 static const char* s_EGL_KHR_image[] =
598 "eglDestroyImageKHR",
601 static const char* s_EGL_KHR_image_base[] =
604 "eglDestroyImageKHR",
607 static const char* s_EGL_KHR_lock_surface[] =
610 "eglUnlockSurfaceKHR",
613 static const char* s_EGL_KHR_lock_surface3[] =
616 "eglQuerySurface64KHR",
617 "eglUnlockSurfaceKHR",
620 static const char* s_EGL_KHR_partial_update[] =
622 "eglSetDamageRegionKHR",
625 static const char* s_EGL_KHR_reusable_sync[] =
627 "eglClientWaitSyncKHR",
630 "eglGetSyncAttribKHR",
634 static const char* s_EGL_KHR_stream[] =
636 "eglCreateStreamKHR",
637 "eglDestroyStreamKHR",
639 "eglQueryStreamu64KHR",
640 "eglStreamAttribKHR",
643 static const char* s_EGL_KHR_stream_attrib[] =
645 "eglCreateStreamAttribKHR",
646 "eglQueryStreamAttribKHR",
647 "eglSetStreamAttribKHR",
648 "eglStreamConsumerAcquireAttribKHR",
649 "eglStreamConsumerReleaseAttribKHR",
652 static const char* s_EGL_KHR_stream_consumer_gltexture[] =
654 "eglStreamConsumerAcquireKHR",
655 "eglStreamConsumerGLTextureExternalKHR",
656 "eglStreamConsumerReleaseKHR",
659 static const char* s_EGL_KHR_stream_cross_process_fd[] =
661 "eglCreateStreamFromFileDescriptorKHR",
662 "eglGetStreamFileDescriptorKHR",
665 static const char* s_EGL_KHR_stream_fifo[] =
667 "eglQueryStreamTimeKHR",
670 static const char* s_EGL_KHR_stream_producer_eglsurface[] =
672 "eglCreateStreamProducerSurfaceKHR",
675 static const char* s_EGL_KHR_swap_buffers_with_damage[] =
677 "eglSwapBuffersWithDamageKHR",
680 static const char* s_EGL_KHR_wait_sync[] =
685 static const char* s_EGL_MESA_drm_image[] =
687 "eglCreateDRMImageMESA",
688 "eglExportDRMImageMESA",
691 static const char* s_EGL_MESA_image_dma_buf_export[] =
693 "eglExportDMABUFImageMESA",
694 "eglExportDMABUFImageQueryMESA",
697 static const char* s_EGL_NOK_swap_region[] =
699 "eglSwapBuffersRegionNOK",
702 static const char* s_EGL_NOK_swap_region2[] =
704 "eglSwapBuffersRegion2NOK",
707 static const char* s_EGL_NV_native_query[] =
709 "eglQueryNativeDisplayNV",
710 "eglQueryNativePixmapNV",
711 "eglQueryNativeWindowNV",
714 static const char* s_EGL_NV_post_sub_buffer[] =
716 "eglPostSubBufferNV",
719 static const char* s_EGL_NV_stream_consumer_gltexture_yuv[] =
721 "eglStreamConsumerGLTextureExternalAttribsNV",
724 static const char* s_EGL_NV_stream_flush[] =
729 static const char* s_EGL_NV_stream_metadata[] =
731 "eglQueryDisplayAttribNV",
732 "eglQueryStreamMetadataNV",
733 "eglSetStreamMetadataNV",
736 static const char* s_EGL_NV_stream_reset[] =
741 static const char* s_EGL_NV_stream_sync[] =
743 "eglCreateStreamSyncNV",
746 static const char* s_EGL_NV_sync[] =
748 "eglClientWaitSyncNV",
749 "eglCreateFenceSyncNV",
752 "eglGetSyncAttribNV",
756 static const char* s_EGL_NV_system_time[] =
758 "eglGetSystemTimeFrequencyNV",
759 "eglGetSystemTimeNV",
762 static const char* s_EGL_EXT_compositor[] =
764 "eglCompositorSetContextListEXT",
765 "eglCompositorSetContextAttributesEXT",
766 "eglCompositorSetWindowListEXT",
767 "eglCompositorSetWindowAttributesEXT",
768 "eglCompositorBindTexWindowEXT",
769 "eglCompositorSetSizeEXT",
770 "eglCompositorSwapPolicyEXT",
773 static const char* s_GL_APPLE_copy_texture_levels[] =
775 "glCopyTextureLevelsAPPLE",
778 static const char* s_GL_APPLE_framebuffer_multisample[] =
780 "glRenderbufferStorageMultisampleAPPLE",
781 "glResolveMultisampleFramebufferAPPLE",
784 static const char* s_GL_APPLE_sync[] =
786 "glClientWaitSyncAPPLE",
789 "glGetInteger64vAPPLE",
795 static const char* s_GL_EXT_debug_marker[] =
797 "glInsertEventMarkerEXT",
798 "glPopGroupMarkerEXT",
799 "glPushGroupMarkerEXT",
802 static const char* s_GL_EXT_discard_framebuffer[] =
804 "glDiscardFramebufferEXT",
807 static const char* s_GL_EXT_map_buffer_range[] =
809 "glFlushMappedBufferRangeEXT",
810 "glMapBufferRangeEXT",
813 static const char* s_GL_EXT_multi_draw_arrays[] =
815 "glMultiDrawArraysEXT",
816 "glMultiDrawElementsEXT",
819 static const char* s_GL_EXT_multisampled_render_to_texture[] =
821 "glFramebufferTexture2DMultisampleEXT",
822 "glRenderbufferStorageMultisampleEXT",
825 static const char* s_GL_EXT_robustness[] =
827 "glGetGraphicsResetStatusEXT",
828 "glGetnUniformfvEXT",
829 "glGetnUniformivEXT",
833 static const char* s_GL_EXT_texture_storage[] =
838 "glTextureStorage1DEXT",
839 "glTextureStorage2DEXT",
840 "glTextureStorage3DEXT",
843 static const char* s_GL_IMG_multisampled_render_to_texture[] =
845 "glFramebufferTexture2DMultisampleIMG",
846 "glRenderbufferStorageMultisampleIMG",
849 static const char* s_GL_IMG_user_clip_plane[] =
855 static const char* s_GL_NV_fence[] =
866 static const char* s_GL_OES_EGL_image[] =
868 "glEGLImageTargetRenderbufferStorageOES",
869 "glEGLImageTargetTexture2DOES",
872 static const char* s_GL_OES_blend_equation_separate[] =
874 "glBlendEquationSeparateOES",
877 static const char* s_GL_OES_blend_func_separate[] =
879 "glBlendFuncSeparateOES",
882 static const char* s_GL_OES_blend_subtract[] =
884 "glBlendEquationOES",
887 static const char* s_GL_OES_draw_texture[] =
899 static const char* s_GL_OES_fixed_point[] =
910 "glGetClipPlanexOES",
913 "glGetMaterialxvOES",
915 "glGetTexParameterxvOES",
925 "glMultiTexCoord4xOES",
928 "glPointParameterxOES",
929 "glPointParameterxvOES",
931 "glPolygonOffsetxOES",
933 "glSampleCoveragexOES",
937 "glTexParameterxOES",
938 "glTexParameterxvOES",
942 static const char* s_GL_OES_framebuffer_object[] =
944 "glBindFramebufferOES",
945 "glBindRenderbufferOES",
946 "glCheckFramebufferStatusOES",
947 "glDeleteFramebuffersOES",
948 "glDeleteRenderbuffersOES",
949 "glFramebufferRenderbufferOES",
950 "glFramebufferTexture2DOES",
951 "glGenFramebuffersOES",
952 "glGenRenderbuffersOES",
953 "glGenerateMipmapOES",
954 "glGetFramebufferAttachmentParameterivOES",
955 "glGetRenderbufferParameterivOES",
956 "glIsFramebufferOES",
957 "glIsRenderbufferOES",
958 "glRenderbufferStorageOES",
961 static const char* s_GL_OES_mapbuffer[] =
963 "glGetBufferPointervOES",
968 static const char* s_GL_OES_matrix_palette[] =
970 "glCurrentPaletteMatrixOES",
971 "glLoadPaletteFromModelViewMatrixOES",
972 "glMatrixIndexPointerOES",
973 "glWeightPointerOES",
976 static const char* s_GL_OES_point_size_array[] =
978 "glPointSizePointerOES",
981 static const char* s_GL_OES_query_matrix[] =
986 static const char* s_GL_OES_single_precision[] =
992 "glGetClipPlanefOES",
996 static const char* s_GL_OES_texture_cube_map[] =
1009 static const char* s_GL_OES_vertex_array_object[] =
1011 "glBindVertexArrayOES",
1012 "glDeleteVertexArraysOES",
1013 "glGenVertexArraysOES",
1014 "glIsVertexArrayOES",
1017 static const char* s_GL_QCOM_driver_control[] =
1019 "glDisableDriverControlQCOM",
1020 "glEnableDriverControlQCOM",
1021 "glGetDriverControlStringQCOM",
1022 "glGetDriverControlsQCOM",
1025 static const char* s_GL_QCOM_extended_get[] =
1027 "glExtGetBufferPointervQCOM",
1028 "glExtGetBuffersQCOM",
1029 "glExtGetFramebuffersQCOM",
1030 "glExtGetRenderbuffersQCOM",
1031 "glExtGetTexLevelParameterivQCOM",
1032 "glExtGetTexSubImageQCOM",
1033 "glExtGetTexturesQCOM",
1034 "glExtTexObjectStateOverrideiQCOM",
1037 static const char* s_GL_QCOM_extended_get2[] =
1039 "glExtGetProgramBinarySourceQCOM",
1040 "glExtGetProgramsQCOM",
1041 "glExtGetShadersQCOM",
1042 "glExtIsProgramBinaryQCOM",
1045 static const char* s_GL_QCOM_tiled_rendering[] =
1048 "glStartTilingQCOM",
1051 static const char* s_GL_AMD_framebuffer_multisample_advanced[] =
1053 "glNamedRenderbufferStorageMultisampleAdvancedAMD",
1054 "glRenderbufferStorageMultisampleAdvancedAMD",
1057 static const char* s_GL_AMD_performance_monitor[] =
1059 "glBeginPerfMonitorAMD",
1060 "glDeletePerfMonitorsAMD",
1061 "glEndPerfMonitorAMD",
1062 "glGenPerfMonitorsAMD",
1063 "glGetPerfMonitorCounterDataAMD",
1064 "glGetPerfMonitorCounterInfoAMD",
1065 "glGetPerfMonitorCounterStringAMD",
1066 "glGetPerfMonitorCountersAMD",
1067 "glGetPerfMonitorGroupStringAMD",
1068 "glGetPerfMonitorGroupsAMD",
1069 "glSelectPerfMonitorCountersAMD",
1072 static const char* s_GL_ANGLE_framebuffer_blit[] =
1074 "glBlitFramebufferANGLE",
1077 static const char* s_GL_ANGLE_framebuffer_multisample[] =
1079 "glRenderbufferStorageMultisampleANGLE",
1082 static const char* s_GL_ANGLE_instanced_arrays[] =
1084 "glDrawArraysInstancedANGLE",
1085 "glDrawElementsInstancedANGLE",
1086 "glVertexAttribDivisorANGLE",
1089 static const char* s_GL_ANGLE_translated_shader_source[] =
1091 "glGetTranslatedShaderSourceANGLE",
1094 static const char* s_GL_EXT_EGL_image_storage[] =
1096 "glEGLImageTargetTexStorageEXT",
1097 "glEGLImageTargetTextureStorageEXT",
1100 static const char* s_GL_EXT_base_instance[] =
1102 "glDrawArraysInstancedBaseInstanceEXT",
1103 "glDrawElementsInstancedBaseInstanceEXT",
1104 "glDrawElementsInstancedBaseVertexBaseInstanceEXT",
1107 static const char* s_GL_EXT_blend_func_extended[] =
1109 "glBindFragDataLocationEXT",
1110 "glBindFragDataLocationIndexedEXT",
1111 "glGetFragDataIndexEXT",
1112 "glGetProgramResourceLocationIndexEXT",
1115 static const char* s_GL_EXT_buffer_storage[] =
1117 "glBufferStorageEXT",
1120 static const char* s_GL_EXT_clear_texture[] =
1122 "glClearTexImageEXT",
1123 "glClearTexSubImageEXT",
1126 static const char* s_GL_EXT_clip_control[] =
1131 static const char* s_GL_EXT_copy_image[] =
1133 "glCopyImageSubDataEXT",
1136 static const char* s_GL_EXT_debug_label[] =
1138 "glGetObjectLabelEXT",
1142 static const char* s_GL_EXT_disjoint_timer_query[] =
1145 "glDeleteQueriesEXT",
1148 "glGetInteger64vEXT",
1149 "glGetQueryObjecti64vEXT",
1150 "glGetQueryObjectivEXT",
1151 "glGetQueryObjectui64vEXT",
1152 "glGetQueryObjectuivEXT",
1155 "glQueryCounterEXT",
1158 static const char* s_GL_EXT_draw_buffers[] =
1163 static const char* s_GL_EXT_draw_buffers_indexed[] =
1165 "glBlendEquationSeparateiEXT",
1166 "glBlendEquationiEXT",
1167 "glBlendFuncSeparateiEXT",
1175 static const char* s_GL_EXT_draw_elements_base_vertex[] =
1177 "glDrawElementsBaseVertexEXT",
1178 "glDrawElementsInstancedBaseVertexEXT",
1179 "glDrawRangeElementsBaseVertexEXT",
1180 "glMultiDrawElementsBaseVertexEXT",
1183 static const char* s_GL_EXT_draw_instanced[] =
1185 "glDrawArraysInstancedEXT",
1186 "glDrawElementsInstancedEXT",
1189 static const char* s_GL_EXT_draw_transform_feedback[] =
1191 "glDrawTransformFeedbackEXT",
1192 "glDrawTransformFeedbackInstancedEXT",
1195 static const char* s_GL_EXT_external_buffer[] =
1197 "glBufferStorageExternalEXT",
1198 "glNamedBufferStorageExternalEXT",
1201 static const char* s_GL_EXT_fragment_shading_rate[] =
1203 "glFramebufferShadingRateEXT",
1204 "glGetFragmentShadingRatesEXT",
1206 "glShadingRateCombinerOpsEXT",
1209 static const char* s_GL_EXT_geometry_shader[] =
1211 "glFramebufferTextureEXT",
1214 static const char* s_GL_EXT_instanced_arrays[] =
1216 "glDrawArraysInstancedEXT",
1217 "glDrawElementsInstancedEXT",
1218 "glVertexAttribDivisorEXT",
1221 static const char* s_GL_EXT_memory_object[] =
1223 "glBufferStorageMemEXT",
1224 "glCreateMemoryObjectsEXT",
1225 "glDeleteMemoryObjectsEXT",
1226 "glGetMemoryObjectParameterivEXT",
1227 "glGetUnsignedBytevEXT",
1228 "glGetUnsignedBytei_vEXT",
1229 "glIsMemoryObjectEXT",
1230 "glMemoryObjectParameterivEXT",
1231 "glNamedBufferStorageMemEXT",
1232 "glTexStorageMem2DEXT",
1233 "glTexStorageMem2DMultisampleEXT",
1234 "glTexStorageMem3DEXT",
1235 "glTexStorageMem3DMultisampleEXT",
1236 "glTextureStorageMem2DEXT",
1237 "glTextureStorageMem2DMultisampleEXT",
1238 "glTextureStorageMem3DEXT",
1239 "glTextureStorageMem3DMultisampleEXT",
1242 static const char* s_GL_EXT_memory_object_fd[] =
1244 "glImportMemoryFdEXT",
1247 static const char* s_GL_EXT_memory_object_win32[] =
1249 "glImportMemoryWin32HandleEXT",
1250 "glImportMemoryWin32NameEXT",
1253 static const char* s_GL_EXT_multi_draw_indirect[] =
1255 "glMultiDrawArraysIndirectEXT",
1256 "glMultiDrawElementsIndirectEXT",
1259 static const char* s_GL_EXT_multiview_draw_buffers[] =
1261 "glDrawBuffersIndexedEXT",
1262 "glGetIntegeri_vEXT",
1263 "glReadBufferIndexedEXT",
1266 static const char* s_GL_EXT_occlusion_query_boolean[] =
1269 "glDeleteQueriesEXT",
1272 "glGetQueryObjectuivEXT",
1277 static const char* s_GL_EXT_polygon_offset_clamp[] =
1279 "glPolygonOffsetClampEXT",
1282 static const char* s_GL_EXT_primitive_bounding_box[] =
1284 "glPrimitiveBoundingBoxEXT",
1287 static const char* s_GL_EXT_raster_multisample[] =
1289 "glRasterSamplesEXT",
1292 static const char* s_GL_EXT_semaphore[] =
1294 "glDeleteSemaphoresEXT",
1295 "glGenSemaphoresEXT",
1296 "glGetSemaphoreParameterui64vEXT",
1297 "glGetUnsignedBytevEXT",
1298 "glGetUnsignedBytei_vEXT",
1300 "glSemaphoreParameterui64vEXT",
1301 "glSignalSemaphoreEXT",
1302 "glWaitSemaphoreEXT",
1305 static const char* s_GL_EXT_semaphore_fd[] =
1307 "glImportSemaphoreFdEXT",
1310 static const char* s_GL_EXT_semaphore_win32[] =
1312 "glImportSemaphoreWin32HandleEXT",
1313 "glImportSemaphoreWin32NameEXT",
1316 static const char* s_GL_EXT_separate_shader_objects[] =
1318 "glActiveShaderProgramEXT",
1319 "glBindProgramPipelineEXT",
1320 "glCreateShaderProgramvEXT",
1321 "glDeleteProgramPipelinesEXT",
1322 "glGenProgramPipelinesEXT",
1323 "glGetProgramPipelineInfoLogEXT",
1324 "glGetProgramPipelineivEXT",
1325 "glIsProgramPipelineEXT",
1326 "glProgramParameteriEXT",
1327 "glProgramUniform1fEXT",
1328 "glProgramUniform1fvEXT",
1329 "glProgramUniform1iEXT",
1330 "glProgramUniform1ivEXT",
1331 "glProgramUniform1uiEXT",
1332 "glProgramUniform1uivEXT",
1333 "glProgramUniform2fEXT",
1334 "glProgramUniform2fvEXT",
1335 "glProgramUniform2iEXT",
1336 "glProgramUniform2ivEXT",
1337 "glProgramUniform2uiEXT",
1338 "glProgramUniform2uivEXT",
1339 "glProgramUniform3fEXT",
1340 "glProgramUniform3fvEXT",
1341 "glProgramUniform3iEXT",
1342 "glProgramUniform3ivEXT",
1343 "glProgramUniform3uiEXT",
1344 "glProgramUniform3uivEXT",
1345 "glProgramUniform4fEXT",
1346 "glProgramUniform4fvEXT",
1347 "glProgramUniform4iEXT",
1348 "glProgramUniform4ivEXT",
1349 "glProgramUniform4uiEXT",
1350 "glProgramUniform4uivEXT",
1351 "glProgramUniformMatrix2fvEXT",
1352 "glProgramUniformMatrix2x3fvEXT",
1353 "glProgramUniformMatrix2x4fvEXT",
1354 "glProgramUniformMatrix3fvEXT",
1355 "glProgramUniformMatrix3x2fvEXT",
1356 "glProgramUniformMatrix3x4fvEXT",
1357 "glProgramUniformMatrix4fvEXT",
1358 "glProgramUniformMatrix4x2fvEXT",
1359 "glProgramUniformMatrix4x3fvEXT",
1360 "glUseProgramStagesEXT",
1361 "glValidateProgramPipelineEXT",
1364 static const char* s_GL_EXT_shader_framebuffer_fetch_non_coherent[] =
1366 "glFramebufferFetchBarrierEXT",
1369 static const char* s_GL_EXT_shader_pixel_local_storage2[] =
1371 "glClearPixelLocalStorageuiEXT",
1372 "glFramebufferPixelLocalStorageSizeEXT",
1373 "glGetFramebufferPixelLocalStorageSizeEXT",
1376 static const char* s_GL_EXT_sparse_texture[] =
1378 "glTexPageCommitmentEXT",
1381 static const char* s_GL_EXT_tessellation_shader[] =
1383 "glPatchParameteriEXT",
1386 static const char* s_GL_EXT_texture_border_clamp[] =
1388 "glGetSamplerParameterIivEXT",
1389 "glGetSamplerParameterIuivEXT",
1390 "glGetTexParameterIivEXT",
1391 "glGetTexParameterIuivEXT",
1392 "glSamplerParameterIivEXT",
1393 "glSamplerParameterIuivEXT",
1394 "glTexParameterIivEXT",
1395 "glTexParameterIuivEXT",
1398 static const char* s_GL_EXT_texture_buffer[] =
1401 "glTexBufferRangeEXT",
1404 static const char* s_GL_EXT_texture_storage_compression[] =
1406 "glTexStorageAttribs2DEXT",
1407 "glTexStorageAttribs3DEXT",
1410 static const char* s_GL_EXT_texture_view[] =
1415 static const char* s_GL_NV_timeline_semaphore[] =
1417 "glCreateSemaphoresNV",
1418 "glGetSemaphoreParameterivNV",
1419 "glSemaphoreParameterivNV",
1422 static const char* s_GL_EXT_win32_keyed_mutex[] =
1424 "glAcquireKeyedMutexWin32EXT",
1425 "glReleaseKeyedMutexWin32EXT",
1428 static const char* s_GL_EXT_window_rectangles[] =
1430 "glWindowRectanglesEXT",
1433 static const char* s_GL_IMG_bindless_texture[] =
1435 "glGetTextureHandleIMG",
1436 "glGetTextureSamplerHandleIMG",
1437 "glProgramUniformHandleui64IMG",
1438 "glProgramUniformHandleui64vIMG",
1439 "glUniformHandleui64IMG",
1440 "glUniformHandleui64vIMG",
1443 static const char* s_GL_IMG_framebuffer_downsample[] =
1445 "glFramebufferTexture2DDownsampleIMG",
1446 "glFramebufferTextureLayerDownsampleIMG",
1449 static const char* s_GL_INTEL_framebuffer_CMAA[] =
1451 "glApplyFramebufferAttachmentCMAAINTEL",
1454 static const char* s_GL_INTEL_performance_query[] =
1456 "glBeginPerfQueryINTEL",
1457 "glCreatePerfQueryINTEL",
1458 "glDeletePerfQueryINTEL",
1459 "glEndPerfQueryINTEL",
1460 "glGetFirstPerfQueryIdINTEL",
1461 "glGetNextPerfQueryIdINTEL",
1462 "glGetPerfCounterInfoINTEL",
1463 "glGetPerfQueryDataINTEL",
1464 "glGetPerfQueryIdByNameINTEL",
1465 "glGetPerfQueryInfoINTEL",
1468 static const char* s_GL_KHR_blend_equation_advanced[] =
1470 "glBlendBarrierKHR",
1473 static const char* s_GL_KHR_debug[] =
1475 "glDebugMessageCallbackKHR",
1476 "glDebugMessageControlKHR",
1477 "glDebugMessageInsertKHR",
1478 "glGetDebugMessageLogKHR",
1479 "glGetObjectLabelKHR",
1480 "glGetObjectPtrLabelKHR",
1483 "glObjectPtrLabelKHR",
1484 "glPopDebugGroupKHR",
1485 "glPushDebugGroupKHR",
1488 static const char* s_GL_KHR_robustness[] =
1490 "glGetGraphicsResetStatusKHR",
1491 "glGetnUniformfvKHR",
1492 "glGetnUniformivKHR",
1493 "glGetnUniformuivKHR",
1497 static const char* s_GL_KHR_parallel_shader_compile[] =
1499 "glMaxShaderCompilerThreadsKHR",
1502 static const char* s_GL_MESA_framebuffer_flip_y[] =
1504 "glFramebufferParameteriMESA",
1505 "glGetFramebufferParameterivMESA",
1508 static const char* s_GL_NV_bindless_texture[] =
1510 "glGetImageHandleNV",
1511 "glGetTextureHandleNV",
1512 "glGetTextureSamplerHandleNV",
1513 "glIsImageHandleResidentNV",
1514 "glIsTextureHandleResidentNV",
1515 "glMakeImageHandleNonResidentNV",
1516 "glMakeImageHandleResidentNV",
1517 "glMakeTextureHandleNonResidentNV",
1518 "glMakeTextureHandleResidentNV",
1519 "glProgramUniformHandleui64NV",
1520 "glProgramUniformHandleui64vNV",
1521 "glUniformHandleui64NV",
1522 "glUniformHandleui64vNV",
1525 static const char* s_GL_NV_blend_equation_advanced[] =
1528 "glBlendParameteriNV",
1531 static const char* s_GL_NV_clip_space_w_scaling[] =
1533 "glViewportPositionWScaleNV",
1536 static const char* s_GL_NV_conditional_render[] =
1538 "glBeginConditionalRenderNV",
1539 "glEndConditionalRenderNV",
1542 static const char* s_GL_NV_conservative_raster[] =
1544 "glSubpixelPrecisionBiasNV",
1547 static const char* s_GL_NV_conservative_raster_pre_snap_triangles[] =
1549 "glConservativeRasterParameteriNV",
1552 static const char* s_GL_NV_copy_buffer[] =
1554 "glCopyBufferSubDataNV",
1557 static const char* s_GL_NV_coverage_sample[] =
1560 "glCoverageOperationNV",
1563 static const char* s_GL_NV_draw_buffers[] =
1568 static const char* s_GL_NV_draw_instanced[] =
1570 "glDrawArraysInstancedNV",
1571 "glDrawElementsInstancedNV",
1574 static const char* s_GL_NV_draw_vulkan_image[] =
1577 "glGetVkProcAddrNV",
1578 "glWaitVkSemaphoreNV",
1579 "glSignalVkSemaphoreNV",
1580 "glSignalVkFenceNV",
1583 static const char* s_GL_NV_fragment_coverage_to_color[] =
1585 "glFragmentCoverageColorNV",
1588 static const char* s_GL_NV_framebuffer_blit[] =
1590 "glBlitFramebufferNV",
1593 static const char* s_GL_NV_framebuffer_mixed_samples[] =
1595 "glCoverageModulationNV",
1596 "glCoverageModulationTableNV",
1597 "glGetCoverageModulationTableNV",
1598 "glRasterSamplesEXT",
1601 static const char* s_GL_NV_framebuffer_multisample[] =
1603 "glRenderbufferStorageMultisampleNV",
1606 static const char* s_GL_NV_gpu_shader5[] =
1608 "glGetUniformi64vNV",
1609 "glProgramUniform1i64NV",
1610 "glProgramUniform1i64vNV",
1611 "glProgramUniform1ui64NV",
1612 "glProgramUniform1ui64vNV",
1613 "glProgramUniform2i64NV",
1614 "glProgramUniform2i64vNV",
1615 "glProgramUniform2ui64NV",
1616 "glProgramUniform2ui64vNV",
1617 "glProgramUniform3i64NV",
1618 "glProgramUniform3i64vNV",
1619 "glProgramUniform3ui64NV",
1620 "glProgramUniform3ui64vNV",
1621 "glProgramUniform4i64NV",
1622 "glProgramUniform4i64vNV",
1623 "glProgramUniform4ui64NV",
1624 "glProgramUniform4ui64vNV",
1628 "glUniform1ui64vNV",
1632 "glUniform2ui64vNV",
1636 "glUniform3ui64vNV",
1640 "glUniform4ui64vNV",
1643 static const char* s_GL_NV_instanced_arrays[] =
1645 "glVertexAttribDivisorNV",
1648 static const char* s_GL_NV_internalformat_sample_query[] =
1650 "glGetInternalformatSampleivNV",
1653 static const char* s_GL_NV_memory_attachment[] =
1655 "glBufferAttachMemoryNV",
1656 "glGetMemoryObjectDetachedResourcesuivNV",
1657 "glNamedBufferAttachMemoryNV",
1658 "glResetMemoryObjectParameterNV",
1659 "glTexAttachMemoryNV",
1660 "glTextureAttachMemoryNV",
1663 static const char* s_GL_NV_memory_object_sparse[] =
1665 "glBufferPageCommitmentMemNV",
1666 "glNamedBufferPageCommitmentMemNV",
1667 "glTexPageCommitmentMemNV",
1668 "glTexturePageCommitmentMemNV",
1671 static const char* s_GL_NV_mesh_shader[] =
1673 "glDrawMeshTasksNV",
1674 "glDrawMeshTasksIndirectNV",
1675 "glMultiDrawMeshTasksIndirectNV",
1676 "glMultiDrawMeshTasksIndirectCountNV",
1679 static const char* s_GL_NV_non_square_matrices[] =
1681 "glUniformMatrix2x3fvNV",
1682 "glUniformMatrix2x4fvNV",
1683 "glUniformMatrix3x2fvNV",
1684 "glUniformMatrix3x4fvNV",
1685 "glUniformMatrix4x2fvNV",
1686 "glUniformMatrix4x3fvNV",
1689 static const char* s_GL_NV_path_rendering[] =
1692 "glCoverFillPathInstancedNV",
1693 "glCoverFillPathNV",
1694 "glCoverStrokePathInstancedNV",
1695 "glCoverStrokePathNV",
1698 "glGetPathCommandsNV",
1699 "glGetPathCoordsNV",
1700 "glGetPathDashArrayNV",
1701 "glGetPathLengthNV",
1702 "glGetPathMetricRangeNV",
1703 "glGetPathMetricsNV",
1704 "glGetPathParameterfvNV",
1705 "glGetPathParameterivNV",
1706 "glGetPathSpacingNV",
1707 "glGetProgramResourcefvNV",
1708 "glInterpolatePathsNV",
1710 "glIsPointInFillPathNV",
1711 "glIsPointInStrokePathNV",
1712 "glMatrixFrustumEXT",
1713 "glMatrixLoad3x2fNV",
1714 "glMatrixLoad3x3fNV",
1715 "glMatrixLoadIdentityEXT",
1716 "glMatrixLoadTranspose3x3fNV",
1717 "glMatrixLoadTransposedEXT",
1718 "glMatrixLoadTransposefEXT",
1721 "glMatrixMult3x2fNV",
1722 "glMatrixMult3x3fNV",
1723 "glMatrixMultTranspose3x3fNV",
1724 "glMatrixMultTransposedEXT",
1725 "glMatrixMultTransposefEXT",
1731 "glMatrixRotatedEXT",
1732 "glMatrixRotatefEXT",
1733 "glMatrixScaledEXT",
1734 "glMatrixScalefEXT",
1735 "glMatrixTranslatedEXT",
1736 "glMatrixTranslatefEXT",
1739 "glPathCoverDepthFuncNV",
1740 "glPathDashArrayNV",
1741 "glPathGlyphIndexArrayNV",
1742 "glPathGlyphIndexRangeNV",
1743 "glPathGlyphRangeNV",
1745 "glPathMemoryGlyphIndexArrayNV",
1746 "glPathParameterfNV",
1747 "glPathParameterfvNV",
1748 "glPathParameteriNV",
1749 "glPathParameterivNV",
1750 "glPathStencilDepthOffsetNV",
1751 "glPathStencilFuncNV",
1753 "glPathSubCommandsNV",
1754 "glPathSubCoordsNV",
1755 "glPointAlongPathNV",
1756 "glProgramPathFragmentInputGenNV",
1757 "glStencilFillPathInstancedNV",
1758 "glStencilFillPathNV",
1759 "glStencilStrokePathInstancedNV",
1760 "glStencilStrokePathNV",
1761 "glStencilThenCoverFillPathInstancedNV",
1762 "glStencilThenCoverFillPathNV",
1763 "glStencilThenCoverStrokePathInstancedNV",
1764 "glStencilThenCoverStrokePathNV",
1765 "glTransformPathNV",
1769 static const char* s_GL_NV_polygon_mode[] =
1774 static const char* s_GL_NV_read_buffer[] =
1779 static const char* s_GL_NV_sample_locations[] =
1781 "glFramebufferSampleLocationsfvNV",
1782 "glNamedFramebufferSampleLocationsfvNV",
1783 "glResolveDepthValuesNV",
1786 static const char* s_GL_NV_scissor_exclusive[] =
1788 "glScissorExclusiveArrayvNV",
1789 "glScissorExclusiveNV",
1792 static const char* s_GL_NV_shading_rate_image[] =
1794 "glBindShadingRateImageNV",
1795 "glGetShadingRateImagePaletteNV",
1796 "glGetShadingRateSampleLocationivNV",
1797 "glShadingRateImageBarrierNV",
1798 "glShadingRateImagePaletteNV",
1799 "glShadingRateSampleOrderNV",
1800 "glShadingRateSampleOrderCustomNV",
1803 static const char* s_GL_NV_viewport_array[] =
1805 "glDepthRangeArrayfvNV",
1806 "glDepthRangeIndexedfNV",
1811 "glScissorArrayvNV",
1812 "glScissorIndexedNV",
1813 "glScissorIndexedvNV",
1814 "glViewportArrayvNV",
1815 "glViewportIndexedfNV",
1816 "glViewportIndexedfvNV",
1819 static const char* s_GL_NV_viewport_swizzle[] =
1821 "glViewportSwizzleNV",
1824 static const char* s_GL_OES_copy_image[] =
1826 "glCopyImageSubDataOES",
1829 static const char* s_GL_OES_draw_buffers_indexed[] =
1831 "glBlendEquationSeparateiOES",
1832 "glBlendEquationiOES",
1833 "glBlendFuncSeparateiOES",
1841 static const char* s_GL_OES_draw_elements_base_vertex[] =
1843 "glDrawElementsBaseVertexOES",
1844 "glDrawElementsInstancedBaseVertexOES",
1845 "glDrawRangeElementsBaseVertexOES",
1846 "glMultiDrawElementsBaseVertexEXT",
1849 static const char* s_GL_OES_geometry_shader[] =
1851 "glFramebufferTextureOES",
1854 static const char* s_GL_OES_get_program_binary[] =
1856 "glGetProgramBinaryOES",
1857 "glProgramBinaryOES",
1860 static const char* s_GL_OES_primitive_bounding_box[] =
1862 "glPrimitiveBoundingBoxOES",
1865 static const char* s_GL_OES_sample_shading[] =
1867 "glMinSampleShadingOES",
1870 static const char* s_GL_OES_tessellation_shader[] =
1872 "glPatchParameteriOES",
1875 static const char* s_GL_OES_texture_3D[] =
1877 "glCompressedTexImage3DOES",
1878 "glCompressedTexSubImage3DOES",
1879 "glCopyTexSubImage3DOES",
1880 "glFramebufferTexture3DOES",
1882 "glTexSubImage3DOES",
1885 static const char* s_GL_OES_texture_border_clamp[] =
1887 "glGetSamplerParameterIivOES",
1888 "glGetSamplerParameterIuivOES",
1889 "glGetTexParameterIivOES",
1890 "glGetTexParameterIuivOES",
1891 "glSamplerParameterIivOES",
1892 "glSamplerParameterIuivOES",
1893 "glTexParameterIivOES",
1894 "glTexParameterIuivOES",
1897 static const char* s_GL_OES_texture_buffer[] =
1900 "glTexBufferRangeOES",
1903 static const char* s_GL_OES_texture_storage_multisample_2d_array[] =
1905 "glTexStorage3DMultisampleOES",
1908 static const char* s_GL_OES_texture_view[] =
1913 static const char* s_GL_OES_viewport_array[] =
1915 "glDepthRangeArrayfvOES",
1916 "glDepthRangeIndexedfOES",
1921 "glScissorArrayvOES",
1922 "glScissorIndexedOES",
1923 "glScissorIndexedvOES",
1924 "glViewportArrayvOES",
1925 "glViewportIndexedfOES",
1926 "glViewportIndexedfvOES",
1929 static const char* s_GL_OVR_multiview[] =
1931 "glFramebufferTextureMultiviewOVR",
1934 static const char* s_GL_OVR_multiview_multisampled_render_to_texture[] =
1936 "glFramebufferTextureMultisampleMultiviewOVR",
1939 static const char* s_GL_QCOM_alpha_test[] =
1944 static const char* s_GL_QCOM_framebuffer_foveated[] =
1946 "glFramebufferFoveationConfigQCOM",
1947 "glFramebufferFoveationParametersQCOM",
1950 static const char* s_GL_QCOM_motion_estimation[] =
1952 "glTexEstimateMotionQCOM",
1953 "glTexEstimateMotionRegionsQCOM",
1956 static const char* s_GL_QCOM_frame_extrapolation[] =
1958 "glExtrapolateTex2DQCOM",
1961 static const char* s_GL_QCOM_texture_foveated[] =
1963 "glTextureFoveationParametersQCOM",
1966 static const char* s_GL_QCOM_shader_framebuffer_fetch_noncoherent[] =
1968 "glFramebufferFetchBarrierQCOM",
1971 static const char* s_GL_QCOM_shading_rate[] =
1973 "glShadingRateQCOM",
1979 const int numFunctions;
1980 const char* const* functions;
1983 { "EGL_ANDROID_blob_cache", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache), s_EGL_ANDROID_blob_cache },
1984 { "EGL_ANDROID_create_native_client_buffer", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer), s_EGL_ANDROID_create_native_client_buffer },
1985 { "EGL_ANDROID_get_native_client_buffer", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_get_native_client_buffer), s_EGL_ANDROID_get_native_client_buffer },
1986 { "EGL_ANDROID_native_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync), s_EGL_ANDROID_native_fence_sync },
1987 { "EGL_ANDROID_presentation_time", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time), s_EGL_ANDROID_presentation_time },
1988 { "EGL_ANDROID_get_frame_timestamps", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_get_frame_timestamps), s_EGL_ANDROID_get_frame_timestamps },
1989 { "EGL_ANGLE_query_surface_pointer", DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer), s_EGL_ANGLE_query_surface_pointer },
1990 { "EGL_EXT_client_sync", DE_LENGTH_OF_ARRAY(s_EGL_EXT_client_sync), s_EGL_EXT_client_sync },
1991 { "EGL_EXT_device_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base), s_EGL_EXT_device_base },
1992 { "EGL_EXT_device_enumeration", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration), s_EGL_EXT_device_enumeration },
1993 { "EGL_EXT_device_query", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query), s_EGL_EXT_device_query },
1994 { "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 },
1995 { "EGL_EXT_output_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base), s_EGL_EXT_output_base },
1996 { "EGL_EXT_platform_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base), s_EGL_EXT_platform_base },
1997 { "EGL_EXT_stream_consumer_egloutput", DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput), s_EGL_EXT_stream_consumer_egloutput },
1998 { "EGL_EXT_swap_buffers_with_damage", DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage), s_EGL_EXT_swap_buffers_with_damage },
1999 { "EGL_EXT_sync_reuse", DE_LENGTH_OF_ARRAY(s_EGL_EXT_sync_reuse), s_EGL_EXT_sync_reuse },
2000 { "EGL_HI_clientpixmap", DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap), s_EGL_HI_clientpixmap },
2001 { "EGL_KHR_cl_event2", DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2), s_EGL_KHR_cl_event2 },
2002 { "EGL_KHR_debug", DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug), s_EGL_KHR_debug },
2003 { "EGL_KHR_display_reference", DE_LENGTH_OF_ARRAY(s_EGL_KHR_display_reference), s_EGL_KHR_display_reference },
2004 { "EGL_KHR_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync), s_EGL_KHR_fence_sync },
2005 { "EGL_KHR_image", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image), s_EGL_KHR_image },
2006 { "EGL_KHR_image_base", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base), s_EGL_KHR_image_base },
2007 { "EGL_KHR_lock_surface", DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface), s_EGL_KHR_lock_surface },
2008 { "EGL_KHR_lock_surface3", DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3), s_EGL_KHR_lock_surface3 },
2009 { "EGL_KHR_partial_update", DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update), s_EGL_KHR_partial_update },
2010 { "EGL_KHR_reusable_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync), s_EGL_KHR_reusable_sync },
2011 { "EGL_KHR_stream", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream), s_EGL_KHR_stream },
2012 { "EGL_KHR_stream_attrib", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib), s_EGL_KHR_stream_attrib },
2013 { "EGL_KHR_stream_consumer_gltexture", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture), s_EGL_KHR_stream_consumer_gltexture },
2014 { "EGL_KHR_stream_cross_process_fd", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd), s_EGL_KHR_stream_cross_process_fd },
2015 { "EGL_KHR_stream_fifo", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo), s_EGL_KHR_stream_fifo },
2016 { "EGL_KHR_stream_producer_eglsurface", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface), s_EGL_KHR_stream_producer_eglsurface },
2017 { "EGL_KHR_swap_buffers_with_damage", DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage), s_EGL_KHR_swap_buffers_with_damage },
2018 { "EGL_KHR_wait_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync), s_EGL_KHR_wait_sync },
2019 { "EGL_MESA_drm_image", DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image), s_EGL_MESA_drm_image },
2020 { "EGL_MESA_image_dma_buf_export", DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export), s_EGL_MESA_image_dma_buf_export },
2021 { "EGL_NOK_swap_region", DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region), s_EGL_NOK_swap_region },
2022 { "EGL_NOK_swap_region2", DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2), s_EGL_NOK_swap_region2 },
2023 { "EGL_NV_native_query", DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query), s_EGL_NV_native_query },
2024 { "EGL_NV_post_sub_buffer", DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer), s_EGL_NV_post_sub_buffer },
2025 { "EGL_NV_stream_consumer_gltexture_yuv", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv), s_EGL_NV_stream_consumer_gltexture_yuv },
2026 { "EGL_NV_stream_flush", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_flush), s_EGL_NV_stream_flush },
2027 { "EGL_NV_stream_metadata", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata), s_EGL_NV_stream_metadata },
2028 { "EGL_NV_stream_reset", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset), s_EGL_NV_stream_reset },
2029 { "EGL_NV_stream_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync), s_EGL_NV_stream_sync },
2030 { "EGL_NV_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_sync), s_EGL_NV_sync },
2031 { "EGL_NV_system_time", DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time), s_EGL_NV_system_time },
2032 { "EGL_EXT_compositor", DE_LENGTH_OF_ARRAY(s_EGL_EXT_compositor), s_EGL_EXT_compositor },
2033 { "GL_APPLE_copy_texture_levels", DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels), s_GL_APPLE_copy_texture_levels },
2034 { "GL_APPLE_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample), s_GL_APPLE_framebuffer_multisample },
2035 { "GL_APPLE_sync", DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync), s_GL_APPLE_sync },
2036 { "GL_EXT_debug_marker", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker), s_GL_EXT_debug_marker },
2037 { "GL_EXT_discard_framebuffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer), s_GL_EXT_discard_framebuffer },
2038 { "GL_EXT_map_buffer_range", DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range), s_GL_EXT_map_buffer_range },
2039 { "GL_EXT_multi_draw_arrays", DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays), s_GL_EXT_multi_draw_arrays },
2040 { "GL_EXT_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture), s_GL_EXT_multisampled_render_to_texture },
2041 { "GL_EXT_robustness", DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness), s_GL_EXT_robustness },
2042 { "GL_EXT_texture_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage), s_GL_EXT_texture_storage },
2043 { "GL_IMG_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture), s_GL_IMG_multisampled_render_to_texture },
2044 { "GL_IMG_user_clip_plane", DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane), s_GL_IMG_user_clip_plane },
2045 { "GL_NV_fence", DE_LENGTH_OF_ARRAY(s_GL_NV_fence), s_GL_NV_fence },
2046 { "GL_OES_EGL_image", DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image), s_GL_OES_EGL_image },
2047 { "GL_OES_blend_equation_separate", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate), s_GL_OES_blend_equation_separate },
2048 { "GL_OES_blend_func_separate", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate), s_GL_OES_blend_func_separate },
2049 { "GL_OES_blend_subtract", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract), s_GL_OES_blend_subtract },
2050 { "GL_OES_draw_texture", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture), s_GL_OES_draw_texture },
2051 { "GL_OES_fixed_point", DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point), s_GL_OES_fixed_point },
2052 { "GL_OES_framebuffer_object", DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object), s_GL_OES_framebuffer_object },
2053 { "GL_OES_mapbuffer", DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer), s_GL_OES_mapbuffer },
2054 { "GL_OES_matrix_palette", DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette), s_GL_OES_matrix_palette },
2055 { "GL_OES_point_size_array", DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array), s_GL_OES_point_size_array },
2056 { "GL_OES_query_matrix", DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix), s_GL_OES_query_matrix },
2057 { "GL_OES_single_precision", DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision), s_GL_OES_single_precision },
2058 { "GL_OES_texture_cube_map", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map), s_GL_OES_texture_cube_map },
2059 { "GL_OES_vertex_array_object", DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object), s_GL_OES_vertex_array_object },
2060 { "GL_QCOM_driver_control", DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control), s_GL_QCOM_driver_control },
2061 { "GL_QCOM_extended_get", DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get), s_GL_QCOM_extended_get },
2062 { "GL_QCOM_extended_get2", DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2), s_GL_QCOM_extended_get2 },
2063 { "GL_QCOM_tiled_rendering", DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering), s_GL_QCOM_tiled_rendering },
2064 { "GL_AMD_framebuffer_multisample_advanced", DE_LENGTH_OF_ARRAY(s_GL_AMD_framebuffer_multisample_advanced), s_GL_AMD_framebuffer_multisample_advanced },
2065 { "GL_AMD_performance_monitor", DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor), s_GL_AMD_performance_monitor },
2066 { "GL_ANGLE_framebuffer_blit", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit), s_GL_ANGLE_framebuffer_blit },
2067 { "GL_ANGLE_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample), s_GL_ANGLE_framebuffer_multisample },
2068 { "GL_ANGLE_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays), s_GL_ANGLE_instanced_arrays },
2069 { "GL_ANGLE_translated_shader_source", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source), s_GL_ANGLE_translated_shader_source },
2070 { "GL_EXT_EGL_image_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_EGL_image_storage), s_GL_EXT_EGL_image_storage },
2071 { "GL_EXT_base_instance", DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance), s_GL_EXT_base_instance },
2072 { "GL_EXT_blend_func_extended", DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended), s_GL_EXT_blend_func_extended },
2073 { "GL_EXT_buffer_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage), s_GL_EXT_buffer_storage },
2074 { "GL_EXT_clear_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_clear_texture), s_GL_EXT_clear_texture },
2075 { "GL_EXT_clip_control", DE_LENGTH_OF_ARRAY(s_GL_EXT_clip_control), s_GL_EXT_clip_control },
2076 { "GL_EXT_copy_image", DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image), s_GL_EXT_copy_image },
2077 { "GL_EXT_debug_label", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label), s_GL_EXT_debug_label },
2078 { "GL_EXT_disjoint_timer_query", DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query), s_GL_EXT_disjoint_timer_query },
2079 { "GL_EXT_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers), s_GL_EXT_draw_buffers },
2080 { "GL_EXT_draw_buffers_indexed", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed), s_GL_EXT_draw_buffers_indexed },
2081 { "GL_EXT_draw_elements_base_vertex", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex), s_GL_EXT_draw_elements_base_vertex },
2082 { "GL_EXT_draw_instanced", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced), s_GL_EXT_draw_instanced },
2083 { "GL_EXT_draw_transform_feedback", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_transform_feedback), s_GL_EXT_draw_transform_feedback },
2084 { "GL_EXT_external_buffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_external_buffer), s_GL_EXT_external_buffer },
2085 { "GL_EXT_fragment_shading_rate", DE_LENGTH_OF_ARRAY(s_GL_EXT_fragment_shading_rate), s_GL_EXT_fragment_shading_rate },
2086 { "GL_EXT_geometry_shader", DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader), s_GL_EXT_geometry_shader },
2087 { "GL_EXT_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays), s_GL_EXT_instanced_arrays },
2088 { "GL_EXT_memory_object", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object), s_GL_EXT_memory_object },
2089 { "GL_EXT_memory_object_fd", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_fd), s_GL_EXT_memory_object_fd },
2090 { "GL_EXT_memory_object_win32", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_win32), s_GL_EXT_memory_object_win32 },
2091 { "GL_EXT_multi_draw_indirect", DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect), s_GL_EXT_multi_draw_indirect },
2092 { "GL_EXT_multiview_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers), s_GL_EXT_multiview_draw_buffers },
2093 { "GL_EXT_occlusion_query_boolean", DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean), s_GL_EXT_occlusion_query_boolean },
2094 { "GL_EXT_polygon_offset_clamp", DE_LENGTH_OF_ARRAY(s_GL_EXT_polygon_offset_clamp), s_GL_EXT_polygon_offset_clamp },
2095 { "GL_EXT_primitive_bounding_box", DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box), s_GL_EXT_primitive_bounding_box },
2096 { "GL_EXT_raster_multisample", DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample), s_GL_EXT_raster_multisample },
2097 { "GL_EXT_semaphore", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore), s_GL_EXT_semaphore },
2098 { "GL_EXT_semaphore_fd", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_fd), s_GL_EXT_semaphore_fd },
2099 { "GL_EXT_semaphore_win32", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_win32), s_GL_EXT_semaphore_win32 },
2100 { "GL_EXT_separate_shader_objects", DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects), s_GL_EXT_separate_shader_objects },
2101 { "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 },
2102 { "GL_EXT_shader_pixel_local_storage2", DE_LENGTH_OF_ARRAY(s_GL_EXT_shader_pixel_local_storage2), s_GL_EXT_shader_pixel_local_storage2 },
2103 { "GL_EXT_sparse_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture), s_GL_EXT_sparse_texture },
2104 { "GL_EXT_tessellation_shader", DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader), s_GL_EXT_tessellation_shader },
2105 { "GL_EXT_texture_border_clamp", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp), s_GL_EXT_texture_border_clamp },
2106 { "GL_EXT_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer), s_GL_EXT_texture_buffer },
2107 { "GL_EXT_texture_storage_compression", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage_compression), s_GL_EXT_texture_storage_compression },
2108 { "GL_EXT_texture_view", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view), s_GL_EXT_texture_view },
2109 { "GL_NV_timeline_semaphore", DE_LENGTH_OF_ARRAY(s_GL_NV_timeline_semaphore), s_GL_NV_timeline_semaphore },
2110 { "GL_EXT_win32_keyed_mutex", DE_LENGTH_OF_ARRAY(s_GL_EXT_win32_keyed_mutex), s_GL_EXT_win32_keyed_mutex },
2111 { "GL_EXT_window_rectangles", DE_LENGTH_OF_ARRAY(s_GL_EXT_window_rectangles), s_GL_EXT_window_rectangles },
2112 { "GL_IMG_bindless_texture", DE_LENGTH_OF_ARRAY(s_GL_IMG_bindless_texture), s_GL_IMG_bindless_texture },
2113 { "GL_IMG_framebuffer_downsample", DE_LENGTH_OF_ARRAY(s_GL_IMG_framebuffer_downsample), s_GL_IMG_framebuffer_downsample },
2114 { "GL_INTEL_framebuffer_CMAA", DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA), s_GL_INTEL_framebuffer_CMAA },
2115 { "GL_INTEL_performance_query", DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query), s_GL_INTEL_performance_query },
2116 { "GL_KHR_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced), s_GL_KHR_blend_equation_advanced },
2117 { "GL_KHR_debug", DE_LENGTH_OF_ARRAY(s_GL_KHR_debug), s_GL_KHR_debug },
2118 { "GL_KHR_robustness", DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness), s_GL_KHR_robustness },
2119 { "GL_KHR_parallel_shader_compile", DE_LENGTH_OF_ARRAY(s_GL_KHR_parallel_shader_compile), s_GL_KHR_parallel_shader_compile },
2120 { "GL_MESA_framebuffer_flip_y", DE_LENGTH_OF_ARRAY(s_GL_MESA_framebuffer_flip_y), s_GL_MESA_framebuffer_flip_y },
2121 { "GL_NV_bindless_texture", DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture), s_GL_NV_bindless_texture },
2122 { "GL_NV_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced), s_GL_NV_blend_equation_advanced },
2123 { "GL_NV_clip_space_w_scaling", DE_LENGTH_OF_ARRAY(s_GL_NV_clip_space_w_scaling), s_GL_NV_clip_space_w_scaling },
2124 { "GL_NV_conditional_render", DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render), s_GL_NV_conditional_render },
2125 { "GL_NV_conservative_raster", DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster), s_GL_NV_conservative_raster },
2126 { "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 },
2127 { "GL_NV_copy_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer), s_GL_NV_copy_buffer },
2128 { "GL_NV_coverage_sample", DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample), s_GL_NV_coverage_sample },
2129 { "GL_NV_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers), s_GL_NV_draw_buffers },
2130 { "GL_NV_draw_instanced", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced), s_GL_NV_draw_instanced },
2131 { "GL_NV_draw_vulkan_image", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_vulkan_image), s_GL_NV_draw_vulkan_image },
2132 { "GL_NV_fragment_coverage_to_color", DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color), s_GL_NV_fragment_coverage_to_color },
2133 { "GL_NV_framebuffer_blit", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit), s_GL_NV_framebuffer_blit },
2134 { "GL_NV_framebuffer_mixed_samples", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples), s_GL_NV_framebuffer_mixed_samples },
2135 { "GL_NV_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample), s_GL_NV_framebuffer_multisample },
2136 { "GL_NV_gpu_shader5", DE_LENGTH_OF_ARRAY(s_GL_NV_gpu_shader5), s_GL_NV_gpu_shader5 },
2137 { "GL_NV_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays), s_GL_NV_instanced_arrays },
2138 { "GL_NV_internalformat_sample_query", DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query), s_GL_NV_internalformat_sample_query },
2139 { "GL_NV_memory_attachment", DE_LENGTH_OF_ARRAY(s_GL_NV_memory_attachment), s_GL_NV_memory_attachment },
2140 { "GL_NV_memory_object_sparse", DE_LENGTH_OF_ARRAY(s_GL_NV_memory_object_sparse), s_GL_NV_memory_object_sparse },
2141 { "GL_NV_mesh_shader", DE_LENGTH_OF_ARRAY(s_GL_NV_mesh_shader), s_GL_NV_mesh_shader },
2142 { "GL_NV_non_square_matrices", DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices), s_GL_NV_non_square_matrices },
2143 { "GL_NV_path_rendering", DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering), s_GL_NV_path_rendering },
2144 { "GL_NV_polygon_mode", DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode), s_GL_NV_polygon_mode },
2145 { "GL_NV_read_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer), s_GL_NV_read_buffer },
2146 { "GL_NV_sample_locations", DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations), s_GL_NV_sample_locations },
2147 { "GL_NV_scissor_exclusive", DE_LENGTH_OF_ARRAY(s_GL_NV_scissor_exclusive), s_GL_NV_scissor_exclusive },
2148 { "GL_NV_shading_rate_image", DE_LENGTH_OF_ARRAY(s_GL_NV_shading_rate_image), s_GL_NV_shading_rate_image },
2149 { "GL_NV_viewport_array", DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array), s_GL_NV_viewport_array },
2150 { "GL_NV_viewport_swizzle", DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_swizzle), s_GL_NV_viewport_swizzle },
2151 { "GL_OES_copy_image", DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image), s_GL_OES_copy_image },
2152 { "GL_OES_draw_buffers_indexed", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed), s_GL_OES_draw_buffers_indexed },
2153 { "GL_OES_draw_elements_base_vertex", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex), s_GL_OES_draw_elements_base_vertex },
2154 { "GL_OES_geometry_shader", DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader), s_GL_OES_geometry_shader },
2155 { "GL_OES_get_program_binary", DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary), s_GL_OES_get_program_binary },
2156 { "GL_OES_primitive_bounding_box", DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box), s_GL_OES_primitive_bounding_box },
2157 { "GL_OES_sample_shading", DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading), s_GL_OES_sample_shading },
2158 { "GL_OES_tessellation_shader", DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader), s_GL_OES_tessellation_shader },
2159 { "GL_OES_texture_3D", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D), s_GL_OES_texture_3D },
2160 { "GL_OES_texture_border_clamp", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp), s_GL_OES_texture_border_clamp },
2161 { "GL_OES_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer), s_GL_OES_texture_buffer },
2162 { "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 },
2163 { "GL_OES_texture_view", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view), s_GL_OES_texture_view },
2164 { "GL_OES_viewport_array", DE_LENGTH_OF_ARRAY(s_GL_OES_viewport_array), s_GL_OES_viewport_array },
2165 { "GL_OVR_multiview", DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview), s_GL_OVR_multiview },
2166 { "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 },
2167 { "GL_QCOM_alpha_test", DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test), s_GL_QCOM_alpha_test },
2168 { "GL_QCOM_framebuffer_foveated", DE_LENGTH_OF_ARRAY(s_GL_QCOM_framebuffer_foveated), s_GL_QCOM_framebuffer_foveated },
2169 { "GL_QCOM_motion_estimation", DE_LENGTH_OF_ARRAY(s_GL_QCOM_motion_estimation), s_GL_QCOM_motion_estimation },
2170 { "GL_QCOM_frame_extrapolation", DE_LENGTH_OF_ARRAY(s_GL_QCOM_frame_extrapolation), s_GL_QCOM_frame_extrapolation },
2171 { "GL_QCOM_texture_foveated", DE_LENGTH_OF_ARRAY(s_GL_QCOM_texture_foveated), s_GL_QCOM_texture_foveated },
2172 { "GL_QCOM_shader_framebuffer_fetch_noncoherent", DE_LENGTH_OF_ARRAY(s_GL_QCOM_shader_framebuffer_fetch_noncoherent), s_GL_QCOM_shader_framebuffer_fetch_noncoherent },
2173 { "GL_QCOM_shading_rate", DE_LENGTH_OF_ARRAY(s_GL_QCOM_shading_rate), s_GL_QCOM_shading_rate },