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 13a26984991216cbf9a44fbf390f95dc05b5493a.
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_GLES10[] =
61 "glClientActiveTexture",
69 "glCompressedTexImage2D",
70 "glCompressedTexSubImage2D",
72 "glCopyTexSubImage2D",
81 "glDisableClientState",
85 "glEnableClientState",
98 "glGetBufferParameteriv",
114 "glGetTexParameterfv",
115 "glGetTexParameteriv",
116 "glGetTexParameterxv",
151 "glPointParameterfv",
153 "glPointParameterxv",
193 static const char* s_GLES20[] =
197 "glBindAttribLocation",
200 "glBindRenderbuffer",
204 "glBlendEquationSeparate",
206 "glBlendFuncSeparate",
209 "glCheckFramebufferStatus",
216 "glCompressedTexImage2D",
217 "glCompressedTexSubImage2D",
219 "glCopyTexSubImage2D",
224 "glDeleteFramebuffers",
226 "glDeleteRenderbuffers",
234 "glDisableVertexAttribArray",
238 "glEnableVertexAttribArray",
241 "glFramebufferRenderbuffer",
242 "glFramebufferTexture2D",
246 "glGenRenderbuffers",
250 "glGetActiveUniform",
251 "glGetAttachedShaders",
252 "glGetAttribLocation",
254 "glGetBufferParameteriv",
257 "glGetFramebufferAttachmentParameteriv",
259 "glGetProgramInfoLog",
261 "glGetRenderbufferParameteriv",
262 "glGetShaderInfoLog",
263 "glGetShaderPrecisionFormat",
267 "glGetTexParameterfv",
268 "glGetTexParameteriv",
269 "glGetUniformLocation",
272 "glGetVertexAttribPointerv",
273 "glGetVertexAttribfv",
274 "glGetVertexAttribiv",
288 "glReleaseShaderCompiler",
289 "glRenderbufferStorage",
295 "glStencilFuncSeparate",
297 "glStencilMaskSeparate",
299 "glStencilOpSeparate",
322 "glUniformMatrix2fv",
323 "glUniformMatrix3fv",
324 "glUniformMatrix4fv",
335 "glVertexAttribPointer",
339 static const char* s_GLES30[] =
342 "glBeginTransformFeedback",
346 "glBindTransformFeedback",
354 "glCompressedTexImage3D",
355 "glCompressedTexSubImage3D",
356 "glCopyBufferSubData",
357 "glCopyTexSubImage3D",
361 "glDeleteTransformFeedbacks",
362 "glDeleteVertexArrays",
363 "glDrawArraysInstanced",
365 "glDrawElementsInstanced",
366 "glDrawRangeElements",
368 "glEndTransformFeedback",
370 "glFlushMappedBufferRange",
371 "glFramebufferTextureLayer",
374 "glGenTransformFeedbacks",
376 "glGetActiveUniformBlockName",
377 "glGetActiveUniformBlockiv",
378 "glGetActiveUniformsiv",
379 "glGetBufferParameteri64v",
380 "glGetBufferPointerv",
381 "glGetFragDataLocation",
385 "glGetInternalformativ",
386 "glGetProgramBinary",
387 "glGetQueryObjectuiv",
389 "glGetSamplerParameterfv",
390 "glGetSamplerParameteriv",
393 "glGetTransformFeedbackVarying",
394 "glGetUniformBlockIndex",
395 "glGetUniformIndices",
397 "glGetVertexAttribIiv",
398 "glGetVertexAttribIuiv",
399 "glInvalidateFramebuffer",
400 "glInvalidateSubFramebuffer",
404 "glIsTransformFeedback",
407 "glPauseTransformFeedback",
409 "glProgramParameteri",
411 "glRenderbufferStorageMultisample",
412 "glResumeTransformFeedback",
413 "glSamplerParameterf",
414 "glSamplerParameterfv",
415 "glSamplerParameteri",
416 "glSamplerParameteriv",
421 "glTransformFeedbackVaryings",
430 "glUniformBlockBinding",
431 "glUniformMatrix2x3fv",
432 "glUniformMatrix2x4fv",
433 "glUniformMatrix3x2fv",
434 "glUniformMatrix3x4fv",
435 "glUniformMatrix4x2fv",
436 "glUniformMatrix4x3fv",
438 "glVertexAttribDivisor",
440 "glVertexAttribI4iv",
441 "glVertexAttribI4ui",
442 "glVertexAttribI4uiv",
443 "glVertexAttribIPointer",
447 static const char* s_EGL_ANDROID_blob_cache[] =
449 "eglSetBlobCacheFuncsANDROID",
452 static const char* s_EGL_ANDROID_create_native_client_buffer[] =
454 "eglCreateNativeClientBufferANDROID",
457 static const char* s_EGL_ANDROID_native_fence_sync[] =
459 "eglDupNativeFenceFDANDROID",
462 static const char* s_EGL_ANDROID_presentation_time[] =
464 "eglPresentationTimeANDROID",
467 static const char* s_EGL_ANGLE_query_surface_pointer[] =
469 "eglQuerySurfacePointerANGLE",
472 static const char* s_EGL_EXT_device_base[] =
474 "eglQueryDeviceAttribEXT",
475 "eglQueryDeviceStringEXT",
476 "eglQueryDevicesEXT",
477 "eglQueryDisplayAttribEXT",
480 static const char* s_EGL_EXT_device_enumeration[] =
482 "eglQueryDevicesEXT",
485 static const char* s_EGL_EXT_device_query[] =
487 "eglQueryDeviceAttribEXT",
488 "eglQueryDeviceStringEXT",
489 "eglQueryDisplayAttribEXT",
492 static const char* s_EGL_EXT_image_dma_buf_import_modifiers[] =
494 "eglQueryDmaBufFormatsEXT",
495 "eglQueryDmaBufModifiersEXT",
498 static const char* s_EGL_EXT_output_base[] =
500 "eglGetOutputLayersEXT",
501 "eglGetOutputPortsEXT",
502 "eglOutputLayerAttribEXT",
503 "eglOutputPortAttribEXT",
504 "eglQueryOutputLayerAttribEXT",
505 "eglQueryOutputLayerStringEXT",
506 "eglQueryOutputPortAttribEXT",
507 "eglQueryOutputPortStringEXT",
510 static const char* s_EGL_EXT_platform_base[] =
512 "eglCreatePlatformPixmapSurfaceEXT",
513 "eglCreatePlatformWindowSurfaceEXT",
514 "eglGetPlatformDisplayEXT",
517 static const char* s_EGL_EXT_stream_consumer_egloutput[] =
519 "eglStreamConsumerOutputEXT",
522 static const char* s_EGL_EXT_swap_buffers_with_damage[] =
524 "eglSwapBuffersWithDamageEXT",
527 static const char* s_EGL_HI_clientpixmap[] =
529 "eglCreatePixmapSurfaceHI",
532 static const char* s_EGL_KHR_cl_event2[] =
534 "eglCreateSync64KHR",
537 static const char* s_EGL_KHR_debug[] =
539 "eglDebugMessageControlKHR",
544 static const char* s_EGL_KHR_display_reference[] =
546 "eglQueryDisplayAttribKHR",
549 static const char* s_EGL_KHR_fence_sync[] =
551 "eglClientWaitSyncKHR",
554 "eglGetSyncAttribKHR",
557 static const char* s_EGL_KHR_image[] =
560 "eglDestroyImageKHR",
563 static const char* s_EGL_KHR_image_base[] =
566 "eglDestroyImageKHR",
569 static const char* s_EGL_KHR_lock_surface[] =
572 "eglUnlockSurfaceKHR",
575 static const char* s_EGL_KHR_lock_surface3[] =
578 "eglQuerySurface64KHR",
579 "eglUnlockSurfaceKHR",
582 static const char* s_EGL_KHR_partial_update[] =
584 "eglSetDamageRegionKHR",
587 static const char* s_EGL_KHR_reusable_sync[] =
589 "eglClientWaitSyncKHR",
592 "eglGetSyncAttribKHR",
596 static const char* s_EGL_KHR_stream[] =
598 "eglCreateStreamKHR",
599 "eglDestroyStreamKHR",
601 "eglQueryStreamu64KHR",
602 "eglStreamAttribKHR",
605 static const char* s_EGL_KHR_stream_attrib[] =
607 "eglCreateStreamAttribKHR",
608 "eglQueryStreamAttribKHR",
609 "eglSetStreamAttribKHR",
610 "eglStreamConsumerAcquireAttribKHR",
611 "eglStreamConsumerReleaseAttribKHR",
614 static const char* s_EGL_KHR_stream_consumer_gltexture[] =
616 "eglStreamConsumerAcquireKHR",
617 "eglStreamConsumerGLTextureExternalKHR",
618 "eglStreamConsumerReleaseKHR",
621 static const char* s_EGL_KHR_stream_cross_process_fd[] =
623 "eglCreateStreamFromFileDescriptorKHR",
624 "eglGetStreamFileDescriptorKHR",
627 static const char* s_EGL_KHR_stream_fifo[] =
629 "eglQueryStreamTimeKHR",
632 static const char* s_EGL_KHR_stream_producer_eglsurface[] =
634 "eglCreateStreamProducerSurfaceKHR",
637 static const char* s_EGL_KHR_swap_buffers_with_damage[] =
639 "eglSwapBuffersWithDamageKHR",
642 static const char* s_EGL_KHR_wait_sync[] =
647 static const char* s_EGL_MESA_drm_image[] =
649 "eglCreateDRMImageMESA",
650 "eglExportDRMImageMESA",
653 static const char* s_EGL_MESA_image_dma_buf_export[] =
655 "eglExportDMABUFImageMESA",
656 "eglExportDMABUFImageQueryMESA",
659 static const char* s_EGL_NOK_swap_region[] =
661 "eglSwapBuffersRegionNOK",
664 static const char* s_EGL_NOK_swap_region2[] =
666 "eglSwapBuffersRegion2NOK",
669 static const char* s_EGL_NV_native_query[] =
671 "eglQueryNativeDisplayNV",
672 "eglQueryNativePixmapNV",
673 "eglQueryNativeWindowNV",
676 static const char* s_EGL_NV_post_sub_buffer[] =
678 "eglPostSubBufferNV",
681 static const char* s_EGL_NV_stream_consumer_gltexture_yuv[] =
683 "eglStreamConsumerGLTextureExternalAttribsNV",
686 static const char* s_EGL_NV_stream_metadata[] =
688 "eglQueryDisplayAttribNV",
689 "eglQueryStreamMetadataNV",
690 "eglSetStreamMetadataNV",
693 static const char* s_EGL_NV_stream_reset[] =
698 static const char* s_EGL_NV_stream_sync[] =
700 "eglCreateStreamSyncNV",
703 static const char* s_EGL_NV_sync[] =
705 "eglClientWaitSyncNV",
706 "eglCreateFenceSyncNV",
709 "eglGetSyncAttribNV",
713 static const char* s_EGL_NV_system_time[] =
715 "eglGetSystemTimeFrequencyNV",
716 "eglGetSystemTimeNV",
719 static const char* s_EGL_EXT_compositor[] =
721 "eglCompositorSetContextListEXT",
722 "eglCompositorSetContextAttributesEXT",
723 "eglCompositorSetWindowListEXT",
724 "eglCompositorSetWindowAttributesEXT",
725 "eglCompositorBindTexWindowEXT",
726 "eglCompositorSetSizeEXT",
727 "eglCompositorSwapPolicyEXT",
730 static const char* s_GL_APPLE_copy_texture_levels[] =
732 "glCopyTextureLevelsAPPLE",
735 static const char* s_GL_APPLE_framebuffer_multisample[] =
737 "glRenderbufferStorageMultisampleAPPLE",
738 "glResolveMultisampleFramebufferAPPLE",
741 static const char* s_GL_APPLE_sync[] =
743 "glClientWaitSyncAPPLE",
746 "glGetInteger64vAPPLE",
752 static const char* s_GL_EXT_discard_framebuffer[] =
754 "glDiscardFramebufferEXT",
757 static const char* s_GL_EXT_map_buffer_range[] =
759 "glFlushMappedBufferRangeEXT",
760 "glMapBufferRangeEXT",
763 static const char* s_GL_EXT_multi_draw_arrays[] =
765 "glMultiDrawArraysEXT",
766 "glMultiDrawElementsEXT",
769 static const char* s_GL_EXT_multisampled_render_to_texture[] =
771 "glFramebufferTexture2DMultisampleEXT",
772 "glRenderbufferStorageMultisampleEXT",
775 static const char* s_GL_EXT_robustness[] =
777 "glGetGraphicsResetStatusEXT",
778 "glGetnUniformfvEXT",
779 "glGetnUniformivEXT",
783 static const char* s_GL_EXT_texture_storage[] =
788 "glTextureStorage1DEXT",
789 "glTextureStorage2DEXT",
790 "glTextureStorage3DEXT",
793 static const char* s_GL_IMG_multisampled_render_to_texture[] =
795 "glFramebufferTexture2DMultisampleIMG",
796 "glRenderbufferStorageMultisampleIMG",
799 static const char* s_GL_IMG_user_clip_plane[] =
805 static const char* s_GL_NV_fence[] =
816 static const char* s_GL_OES_EGL_image[] =
818 "glEGLImageTargetRenderbufferStorageOES",
819 "glEGLImageTargetTexture2DOES",
822 static const char* s_GL_OES_blend_equation_separate[] =
824 "glBlendEquationSeparateOES",
827 static const char* s_GL_OES_blend_func_separate[] =
829 "glBlendFuncSeparateOES",
832 static const char* s_GL_OES_blend_subtract[] =
834 "glBlendEquationOES",
837 static const char* s_GL_OES_draw_texture[] =
849 static const char* s_GL_OES_fixed_point[] =
860 "glGetClipPlanexOES",
863 "glGetMaterialxvOES",
865 "glGetTexParameterxvOES",
875 "glMultiTexCoord4xOES",
878 "glPointParameterxOES",
879 "glPointParameterxvOES",
881 "glPolygonOffsetxOES",
883 "glSampleCoveragexOES",
887 "glTexParameterxOES",
888 "glTexParameterxvOES",
892 static const char* s_GL_OES_framebuffer_object[] =
894 "glBindFramebufferOES",
895 "glBindRenderbufferOES",
896 "glCheckFramebufferStatusOES",
897 "glDeleteFramebuffersOES",
898 "glDeleteRenderbuffersOES",
899 "glFramebufferRenderbufferOES",
900 "glFramebufferTexture2DOES",
901 "glGenFramebuffersOES",
902 "glGenRenderbuffersOES",
903 "glGenerateMipmapOES",
904 "glGetFramebufferAttachmentParameterivOES",
905 "glGetRenderbufferParameterivOES",
906 "glIsFramebufferOES",
907 "glIsRenderbufferOES",
908 "glRenderbufferStorageOES",
911 static const char* s_GL_OES_mapbuffer[] =
913 "glGetBufferPointervOES",
918 static const char* s_GL_OES_matrix_palette[] =
920 "glCurrentPaletteMatrixOES",
921 "glLoadPaletteFromModelViewMatrixOES",
922 "glMatrixIndexPointerOES",
923 "glWeightPointerOES",
926 static const char* s_GL_OES_point_size_array[] =
928 "glPointSizePointerOES",
931 static const char* s_GL_OES_query_matrix[] =
936 static const char* s_GL_OES_single_precision[] =
942 "glGetClipPlanefOES",
946 static const char* s_GL_OES_texture_cube_map[] =
959 static const char* s_GL_OES_vertex_array_object[] =
961 "glBindVertexArrayOES",
962 "glDeleteVertexArraysOES",
963 "glGenVertexArraysOES",
964 "glIsVertexArrayOES",
967 static const char* s_GL_QCOM_driver_control[] =
969 "glDisableDriverControlQCOM",
970 "glEnableDriverControlQCOM",
971 "glGetDriverControlStringQCOM",
972 "glGetDriverControlsQCOM",
975 static const char* s_GL_QCOM_extended_get[] =
977 "glExtGetBufferPointervQCOM",
978 "glExtGetBuffersQCOM",
979 "glExtGetFramebuffersQCOM",
980 "glExtGetRenderbuffersQCOM",
981 "glExtGetTexLevelParameterivQCOM",
982 "glExtGetTexSubImageQCOM",
983 "glExtGetTexturesQCOM",
984 "glExtTexObjectStateOverrideiQCOM",
987 static const char* s_GL_QCOM_extended_get2[] =
989 "glExtGetProgramBinarySourceQCOM",
990 "glExtGetProgramsQCOM",
991 "glExtGetShadersQCOM",
992 "glExtIsProgramBinaryQCOM",
995 static const char* s_GL_QCOM_tiled_rendering[] =
1001 static const char* s_GL_AMD_performance_monitor[] =
1003 "glBeginPerfMonitorAMD",
1004 "glDeletePerfMonitorsAMD",
1005 "glEndPerfMonitorAMD",
1006 "glGenPerfMonitorsAMD",
1007 "glGetPerfMonitorCounterDataAMD",
1008 "glGetPerfMonitorCounterInfoAMD",
1009 "glGetPerfMonitorCounterStringAMD",
1010 "glGetPerfMonitorCountersAMD",
1011 "glGetPerfMonitorGroupStringAMD",
1012 "glGetPerfMonitorGroupsAMD",
1013 "glSelectPerfMonitorCountersAMD",
1016 static const char* s_GL_ANGLE_framebuffer_blit[] =
1018 "glBlitFramebufferANGLE",
1021 static const char* s_GL_ANGLE_framebuffer_multisample[] =
1023 "glRenderbufferStorageMultisampleANGLE",
1026 static const char* s_GL_ANGLE_instanced_arrays[] =
1028 "glDrawArraysInstancedANGLE",
1029 "glDrawElementsInstancedANGLE",
1030 "glVertexAttribDivisorANGLE",
1033 static const char* s_GL_ANGLE_translated_shader_source[] =
1035 "glGetTranslatedShaderSourceANGLE",
1038 static const char* s_GL_EXT_base_instance[] =
1040 "glDrawArraysInstancedBaseInstanceEXT",
1041 "glDrawElementsInstancedBaseInstanceEXT",
1042 "glDrawElementsInstancedBaseVertexBaseInstanceEXT",
1045 static const char* s_GL_EXT_blend_func_extended[] =
1047 "glBindFragDataLocationEXT",
1048 "glBindFragDataLocationIndexedEXT",
1049 "glGetFragDataIndexEXT",
1050 "glGetProgramResourceLocationIndexEXT",
1053 static const char* s_GL_EXT_buffer_storage[] =
1055 "glBufferStorageEXT",
1058 static const char* s_GL_EXT_clear_texture[] =
1060 "glClearTexImageEXT",
1061 "glClearTexSubImageEXT",
1064 static const char* s_GL_EXT_copy_image[] =
1066 "glCopyImageSubDataEXT",
1069 static const char* s_GL_EXT_debug_label[] =
1071 "glGetObjectLabelEXT",
1075 static const char* s_GL_EXT_debug_marker[] =
1077 "glInsertEventMarkerEXT",
1078 "glPopGroupMarkerEXT",
1079 "glPushGroupMarkerEXT",
1082 static const char* s_GL_EXT_disjoint_timer_query[] =
1085 "glDeleteQueriesEXT",
1088 "glGetQueryObjecti64vEXT",
1089 "glGetQueryObjectivEXT",
1090 "glGetQueryObjectui64vEXT",
1091 "glGetQueryObjectuivEXT",
1094 "glQueryCounterEXT",
1097 static const char* s_GL_EXT_draw_buffers[] =
1102 static const char* s_GL_EXT_draw_buffers_indexed[] =
1104 "glBlendEquationSeparateiEXT",
1105 "glBlendEquationiEXT",
1106 "glBlendFuncSeparateiEXT",
1114 static const char* s_GL_EXT_draw_elements_base_vertex[] =
1116 "glDrawElementsBaseVertexEXT",
1117 "glDrawElementsInstancedBaseVertexEXT",
1118 "glDrawRangeElementsBaseVertexEXT",
1119 "glMultiDrawElementsBaseVertexEXT",
1122 static const char* s_GL_EXT_draw_instanced[] =
1124 "glDrawArraysInstancedEXT",
1125 "glDrawElementsInstancedEXT",
1128 static const char* s_GL_EXT_draw_transform_feedback[] =
1130 "glDrawTransformFeedbackEXT",
1131 "glDrawTransformFeedbackInstancedEXT",
1134 static const char* s_GL_EXT_external_buffer[] =
1136 "glBufferStorageExternalEXT",
1137 "glNamedBufferStorageExternalEXT",
1140 static const char* s_GL_EXT_geometry_shader[] =
1142 "glFramebufferTextureEXT",
1145 static const char* s_GL_EXT_instanced_arrays[] =
1147 "glDrawArraysInstancedEXT",
1148 "glDrawElementsInstancedEXT",
1149 "glVertexAttribDivisorEXT",
1152 static const char* s_GL_EXT_memory_object[] =
1154 "glBufferStorageMemEXT",
1155 "glCreateMemoryObjectsEXT",
1156 "glDeleteMemoryObjectsEXT",
1157 "glGetMemoryObjectParameterivEXT",
1158 "glGetUnsignedBytevEXT",
1159 "glGetUnsignedBytei_vEXT",
1160 "glIsMemoryObjectEXT",
1161 "glMemoryObjectParameterivEXT",
1162 "glNamedBufferStorageMemEXT",
1163 "glTexStorageMem2DEXT",
1164 "glTexStorageMem2DMultisampleEXT",
1165 "glTexStorageMem3DEXT",
1166 "glTexStorageMem3DMultisampleEXT",
1167 "glTextureStorageMem2DEXT",
1168 "glTextureStorageMem2DMultisampleEXT",
1169 "glTextureStorageMem3DEXT",
1170 "glTextureStorageMem3DMultisampleEXT",
1173 static const char* s_GL_EXT_memory_object_fd[] =
1175 "glImportMemoryFdEXT",
1178 static const char* s_GL_EXT_memory_object_win32[] =
1180 "glImportMemoryWin32HandleEXT",
1181 "glImportMemoryWin32NameEXT",
1184 static const char* s_GL_EXT_multi_draw_indirect[] =
1186 "glMultiDrawArraysIndirectEXT",
1187 "glMultiDrawElementsIndirectEXT",
1190 static const char* s_GL_EXT_multiview_draw_buffers[] =
1192 "glDrawBuffersIndexedEXT",
1193 "glGetIntegeri_vEXT",
1194 "glReadBufferIndexedEXT",
1197 static const char* s_GL_EXT_occlusion_query_boolean[] =
1200 "glDeleteQueriesEXT",
1203 "glGetQueryObjectuivEXT",
1208 static const char* s_GL_EXT_polygon_offset_clamp[] =
1210 "glPolygonOffsetClampEXT",
1213 static const char* s_GL_EXT_primitive_bounding_box[] =
1215 "glPrimitiveBoundingBoxEXT",
1218 static const char* s_GL_EXT_raster_multisample[] =
1220 "glRasterSamplesEXT",
1223 static const char* s_GL_EXT_semaphore[] =
1225 "glDeleteSemaphoresEXT",
1226 "glGenSemaphoresEXT",
1227 "glGetSemaphoreParameterui64vEXT",
1228 "glGetUnsignedBytevEXT",
1229 "glGetUnsignedBytei_vEXT",
1231 "glSemaphoreParameterui64vEXT",
1232 "glSignalSemaphoreEXT",
1233 "glWaitSemaphoreEXT",
1236 static const char* s_GL_EXT_semaphore_fd[] =
1238 "glImportSemaphoreFdEXT",
1241 static const char* s_GL_EXT_semaphore_win32[] =
1243 "glImportSemaphoreWin32HandleEXT",
1244 "glImportSemaphoreWin32NameEXT",
1247 static const char* s_GL_EXT_separate_shader_objects[] =
1249 "glActiveShaderProgramEXT",
1250 "glBindProgramPipelineEXT",
1251 "glCreateShaderProgramvEXT",
1252 "glDeleteProgramPipelinesEXT",
1253 "glGenProgramPipelinesEXT",
1254 "glGetProgramPipelineInfoLogEXT",
1255 "glGetProgramPipelineivEXT",
1256 "glIsProgramPipelineEXT",
1257 "glProgramParameteriEXT",
1258 "glProgramUniform1fEXT",
1259 "glProgramUniform1fvEXT",
1260 "glProgramUniform1iEXT",
1261 "glProgramUniform1ivEXT",
1262 "glProgramUniform1uiEXT",
1263 "glProgramUniform1uivEXT",
1264 "glProgramUniform2fEXT",
1265 "glProgramUniform2fvEXT",
1266 "glProgramUniform2iEXT",
1267 "glProgramUniform2ivEXT",
1268 "glProgramUniform2uiEXT",
1269 "glProgramUniform2uivEXT",
1270 "glProgramUniform3fEXT",
1271 "glProgramUniform3fvEXT",
1272 "glProgramUniform3iEXT",
1273 "glProgramUniform3ivEXT",
1274 "glProgramUniform3uiEXT",
1275 "glProgramUniform3uivEXT",
1276 "glProgramUniform4fEXT",
1277 "glProgramUniform4fvEXT",
1278 "glProgramUniform4iEXT",
1279 "glProgramUniform4ivEXT",
1280 "glProgramUniform4uiEXT",
1281 "glProgramUniform4uivEXT",
1282 "glProgramUniformMatrix2fvEXT",
1283 "glProgramUniformMatrix2x3fvEXT",
1284 "glProgramUniformMatrix2x4fvEXT",
1285 "glProgramUniformMatrix3fvEXT",
1286 "glProgramUniformMatrix3x2fvEXT",
1287 "glProgramUniformMatrix3x4fvEXT",
1288 "glProgramUniformMatrix4fvEXT",
1289 "glProgramUniformMatrix4x2fvEXT",
1290 "glProgramUniformMatrix4x3fvEXT",
1291 "glUseProgramStagesEXT",
1292 "glValidateProgramPipelineEXT",
1295 static const char* s_GL_EXT_shader_pixel_local_storage2[] =
1297 "glClearPixelLocalStorageuiEXT",
1298 "glFramebufferPixelLocalStorageSizeEXT",
1299 "glGetFramebufferPixelLocalStorageSizeEXT",
1302 static const char* s_GL_EXT_sparse_texture[] =
1304 "glTexPageCommitmentEXT",
1307 static const char* s_GL_EXT_tessellation_shader[] =
1309 "glPatchParameteriEXT",
1312 static const char* s_GL_EXT_texture_border_clamp[] =
1314 "glGetSamplerParameterIivEXT",
1315 "glGetSamplerParameterIuivEXT",
1316 "glGetTexParameterIivEXT",
1317 "glGetTexParameterIuivEXT",
1318 "glSamplerParameterIivEXT",
1319 "glSamplerParameterIuivEXT",
1320 "glTexParameterIivEXT",
1321 "glTexParameterIuivEXT",
1324 static const char* s_GL_EXT_texture_buffer[] =
1327 "glTexBufferRangeEXT",
1330 static const char* s_GL_EXT_texture_filter_minmax[] =
1332 "glRasterSamplesEXT",
1335 static const char* s_GL_EXT_texture_view[] =
1340 static const char* s_GL_EXT_win32_keyed_mutex[] =
1342 "glAcquireKeyedMutexWin32EXT",
1343 "glReleaseKeyedMutexWin32EXT",
1346 static const char* s_GL_EXT_window_rectangles[] =
1348 "glWindowRectanglesEXT",
1351 static const char* s_GL_IMG_bindless_texture[] =
1353 "glGetTextureHandleIMG",
1354 "glGetTextureSamplerHandleIMG",
1355 "glProgramUniformHandleui64IMG",
1356 "glProgramUniformHandleui64vIMG",
1357 "glUniformHandleui64IMG",
1358 "glUniformHandleui64vIMG",
1361 static const char* s_GL_IMG_framebuffer_downsample[] =
1363 "glFramebufferTexture2DDownsampleIMG",
1364 "glFramebufferTextureLayerDownsampleIMG",
1367 static const char* s_GL_INTEL_framebuffer_CMAA[] =
1369 "glApplyFramebufferAttachmentCMAAINTEL",
1372 static const char* s_GL_INTEL_performance_query[] =
1374 "glBeginPerfQueryINTEL",
1375 "glCreatePerfQueryINTEL",
1376 "glDeletePerfQueryINTEL",
1377 "glEndPerfQueryINTEL",
1378 "glGetFirstPerfQueryIdINTEL",
1379 "glGetNextPerfQueryIdINTEL",
1380 "glGetPerfCounterInfoINTEL",
1381 "glGetPerfQueryDataINTEL",
1382 "glGetPerfQueryIdByNameINTEL",
1383 "glGetPerfQueryInfoINTEL",
1386 static const char* s_GL_KHR_blend_equation_advanced[] =
1388 "glBlendBarrierKHR",
1391 static const char* s_GL_KHR_debug[] =
1393 "glDebugMessageCallbackKHR",
1394 "glDebugMessageControlKHR",
1395 "glDebugMessageInsertKHR",
1396 "glGetDebugMessageLogKHR",
1397 "glGetObjectLabelKHR",
1398 "glGetObjectPtrLabelKHR",
1401 "glObjectPtrLabelKHR",
1402 "glPopDebugGroupKHR",
1403 "glPushDebugGroupKHR",
1406 static const char* s_GL_KHR_robustness[] =
1408 "glGetGraphicsResetStatusKHR",
1409 "glGetnUniformfvKHR",
1410 "glGetnUniformivKHR",
1411 "glGetnUniformuivKHR",
1415 static const char* s_GL_NV_bindless_texture[] =
1417 "glGetImageHandleNV",
1418 "glGetTextureHandleNV",
1419 "glGetTextureSamplerHandleNV",
1420 "glIsImageHandleResidentNV",
1421 "glIsTextureHandleResidentNV",
1422 "glMakeImageHandleNonResidentNV",
1423 "glMakeImageHandleResidentNV",
1424 "glMakeTextureHandleNonResidentNV",
1425 "glMakeTextureHandleResidentNV",
1426 "glProgramUniformHandleui64NV",
1427 "glProgramUniformHandleui64vNV",
1428 "glUniformHandleui64NV",
1429 "glUniformHandleui64vNV",
1432 static const char* s_GL_NV_blend_equation_advanced[] =
1435 "glBlendParameteriNV",
1438 static const char* s_GL_NV_conditional_render[] =
1440 "glBeginConditionalRenderNV",
1441 "glEndConditionalRenderNV",
1444 static const char* s_GL_NV_conservative_raster[] =
1446 "glSubpixelPrecisionBiasNV",
1449 static const char* s_GL_NV_conservative_raster_pre_snap_triangles[] =
1451 "glConservativeRasterParameteriNV",
1454 static const char* s_GL_NV_copy_buffer[] =
1456 "glCopyBufferSubDataNV",
1459 static const char* s_GL_NV_coverage_sample[] =
1462 "glCoverageOperationNV",
1465 static const char* s_GL_NV_draw_buffers[] =
1470 static const char* s_GL_NV_draw_instanced[] =
1472 "glDrawArraysInstancedNV",
1473 "glDrawElementsInstancedNV",
1476 static const char* s_GL_NV_draw_vulkan_image[] =
1479 "glGetVkProcAddrNV",
1480 "glWaitVkSemaphoreNV",
1481 "glSignalVkSemaphoreNV",
1482 "glSignalVkFenceNV",
1485 static const char* s_GL_NV_fragment_coverage_to_color[] =
1487 "glFragmentCoverageColorNV",
1490 static const char* s_GL_NV_framebuffer_blit[] =
1492 "glBlitFramebufferNV",
1495 static const char* s_GL_NV_framebuffer_mixed_samples[] =
1497 "glCoverageModulationNV",
1498 "glCoverageModulationTableNV",
1499 "glGetCoverageModulationTableNV",
1500 "glRasterSamplesEXT",
1503 static const char* s_GL_NV_framebuffer_multisample[] =
1505 "glRenderbufferStorageMultisampleNV",
1508 static const char* s_GL_NV_gpu_shader5[] =
1510 "glGetUniformi64vNV",
1511 "glProgramUniform1i64NV",
1512 "glProgramUniform1i64vNV",
1513 "glProgramUniform1ui64NV",
1514 "glProgramUniform1ui64vNV",
1515 "glProgramUniform2i64NV",
1516 "glProgramUniform2i64vNV",
1517 "glProgramUniform2ui64NV",
1518 "glProgramUniform2ui64vNV",
1519 "glProgramUniform3i64NV",
1520 "glProgramUniform3i64vNV",
1521 "glProgramUniform3ui64NV",
1522 "glProgramUniform3ui64vNV",
1523 "glProgramUniform4i64NV",
1524 "glProgramUniform4i64vNV",
1525 "glProgramUniform4ui64NV",
1526 "glProgramUniform4ui64vNV",
1530 "glUniform1ui64vNV",
1534 "glUniform2ui64vNV",
1538 "glUniform3ui64vNV",
1542 "glUniform4ui64vNV",
1545 static const char* s_GL_NV_instanced_arrays[] =
1547 "glVertexAttribDivisorNV",
1550 static const char* s_GL_NV_internalformat_sample_query[] =
1552 "glGetInternalformatSampleivNV",
1555 static const char* s_GL_NV_non_square_matrices[] =
1557 "glUniformMatrix2x3fvNV",
1558 "glUniformMatrix2x4fvNV",
1559 "glUniformMatrix3x2fvNV",
1560 "glUniformMatrix3x4fvNV",
1561 "glUniformMatrix4x2fvNV",
1562 "glUniformMatrix4x3fvNV",
1565 static const char* s_GL_NV_path_rendering[] =
1568 "glCoverFillPathInstancedNV",
1569 "glCoverFillPathNV",
1570 "glCoverStrokePathInstancedNV",
1571 "glCoverStrokePathNV",
1574 "glGetPathCommandsNV",
1575 "glGetPathCoordsNV",
1576 "glGetPathDashArrayNV",
1577 "glGetPathLengthNV",
1578 "glGetPathMetricRangeNV",
1579 "glGetPathMetricsNV",
1580 "glGetPathParameterfvNV",
1581 "glGetPathParameterivNV",
1582 "glGetPathSpacingNV",
1583 "glGetProgramResourcefvNV",
1584 "glInterpolatePathsNV",
1586 "glIsPointInFillPathNV",
1587 "glIsPointInStrokePathNV",
1588 "glMatrixLoad3x2fNV",
1589 "glMatrixLoad3x3fNV",
1590 "glMatrixLoadTranspose3x3fNV",
1591 "glMatrixMult3x2fNV",
1592 "glMatrixMult3x3fNV",
1593 "glMatrixMultTranspose3x3fNV",
1596 "glPathCoverDepthFuncNV",
1597 "glPathDashArrayNV",
1598 "glPathGlyphIndexArrayNV",
1599 "glPathGlyphIndexRangeNV",
1600 "glPathGlyphRangeNV",
1602 "glPathMemoryGlyphIndexArrayNV",
1603 "glPathParameterfNV",
1604 "glPathParameterfvNV",
1605 "glPathParameteriNV",
1606 "glPathParameterivNV",
1607 "glPathStencilDepthOffsetNV",
1608 "glPathStencilFuncNV",
1610 "glPathSubCommandsNV",
1611 "glPathSubCoordsNV",
1612 "glPointAlongPathNV",
1613 "glProgramPathFragmentInputGenNV",
1614 "glStencilFillPathInstancedNV",
1615 "glStencilFillPathNV",
1616 "glStencilStrokePathInstancedNV",
1617 "glStencilStrokePathNV",
1618 "glStencilThenCoverFillPathInstancedNV",
1619 "glStencilThenCoverFillPathNV",
1620 "glStencilThenCoverStrokePathInstancedNV",
1621 "glStencilThenCoverStrokePathNV",
1622 "glTransformPathNV",
1626 static const char* s_GL_NV_polygon_mode[] =
1631 static const char* s_GL_NV_read_buffer[] =
1636 static const char* s_GL_NV_sample_locations[] =
1638 "glFramebufferSampleLocationsfvNV",
1639 "glNamedFramebufferSampleLocationsfvNV",
1640 "glResolveDepthValuesNV",
1643 static const char* s_GL_NV_viewport_array[] =
1645 "glDepthRangeArrayfvNV",
1646 "glDepthRangeIndexedfNV",
1651 "glScissorArrayvNV",
1652 "glScissorIndexedNV",
1653 "glScissorIndexedvNV",
1654 "glViewportArrayvNV",
1655 "glViewportIndexedfNV",
1656 "glViewportIndexedfvNV",
1659 static const char* s_GL_NV_viewport_swizzle[] =
1661 "glViewportSwizzleNV",
1664 static const char* s_GL_OES_copy_image[] =
1666 "glCopyImageSubDataOES",
1669 static const char* s_GL_OES_draw_buffers_indexed[] =
1671 "glBlendEquationSeparateiOES",
1672 "glBlendEquationiOES",
1673 "glBlendFuncSeparateiOES",
1681 static const char* s_GL_OES_draw_elements_base_vertex[] =
1683 "glDrawElementsBaseVertexOES",
1684 "glDrawElementsInstancedBaseVertexOES",
1685 "glDrawRangeElementsBaseVertexOES",
1686 "glMultiDrawElementsBaseVertexOES",
1689 static const char* s_GL_OES_geometry_shader[] =
1691 "glFramebufferTextureOES",
1694 static const char* s_GL_OES_get_program_binary[] =
1696 "glGetProgramBinaryOES",
1697 "glProgramBinaryOES",
1700 static const char* s_GL_OES_primitive_bounding_box[] =
1702 "glPrimitiveBoundingBoxOES",
1705 static const char* s_GL_OES_sample_shading[] =
1707 "glMinSampleShadingOES",
1710 static const char* s_GL_OES_tessellation_shader[] =
1712 "glPatchParameteriOES",
1715 static const char* s_GL_OES_texture_3D[] =
1717 "glCompressedTexImage3DOES",
1718 "glCompressedTexSubImage3DOES",
1719 "glCopyTexSubImage3DOES",
1720 "glFramebufferTexture3DOES",
1722 "glTexSubImage3DOES",
1725 static const char* s_GL_OES_texture_border_clamp[] =
1727 "glGetSamplerParameterIivOES",
1728 "glGetSamplerParameterIuivOES",
1729 "glGetTexParameterIivOES",
1730 "glGetTexParameterIuivOES",
1731 "glSamplerParameterIivOES",
1732 "glSamplerParameterIuivOES",
1733 "glTexParameterIivOES",
1734 "glTexParameterIuivOES",
1737 static const char* s_GL_OES_texture_buffer[] =
1740 "glTexBufferRangeOES",
1743 static const char* s_GL_OES_texture_storage_multisample_2d_array[] =
1745 "glTexStorage3DMultisampleOES",
1748 static const char* s_GL_OES_texture_view[] =
1753 static const char* s_GL_OES_viewport_array[] =
1755 "glDepthRangeArrayfvOES",
1756 "glDepthRangeIndexedfOES",
1761 "glScissorArrayvOES",
1762 "glScissorIndexedOES",
1763 "glScissorIndexedvOES",
1764 "glViewportArrayvOES",
1765 "glViewportIndexedfOES",
1766 "glViewportIndexedfvOES",
1769 static const char* s_GL_OVR_multiview[] =
1771 "glFramebufferTextureMultiviewOVR",
1774 static const char* s_GL_OVR_multiview_multisampled_render_to_texture[] =
1776 "glFramebufferTextureMultisampleMultiviewOVR",
1779 static const char* s_GL_QCOM_alpha_test[] =
1784 static const char* s_GL_QCOM_framebuffer_foveated[] =
1786 "glFramebufferFoveationConfigQCOM",
1787 "glFramebufferFoveationParametersQCOM",
1790 static const char* s_GL_QCOM_shader_framebuffer_fetch_noncoherent[] =
1792 "glFramebufferFetchBarrierQCOM",
1798 const int numFunctions;
1799 const char* const* functions;
1802 { "EGL_ANDROID_blob_cache", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache), s_EGL_ANDROID_blob_cache },
1803 { "EGL_ANDROID_create_native_client_buffer", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer), s_EGL_ANDROID_create_native_client_buffer },
1804 { "EGL_ANDROID_native_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync), s_EGL_ANDROID_native_fence_sync },
1805 { "EGL_ANDROID_presentation_time", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time), s_EGL_ANDROID_presentation_time },
1806 { "EGL_ANGLE_query_surface_pointer", DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer), s_EGL_ANGLE_query_surface_pointer },
1807 { "EGL_EXT_device_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base), s_EGL_EXT_device_base },
1808 { "EGL_EXT_device_enumeration", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration), s_EGL_EXT_device_enumeration },
1809 { "EGL_EXT_device_query", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query), s_EGL_EXT_device_query },
1810 { "EGL_EXT_image_dma_buf_import_modifiers", DE_LENGTH_OF_ARRAY(s_EGL_EXT_image_dma_buf_import_modifiers), s_EGL_EXT_image_dma_buf_import_modifiers },
1811 { "EGL_EXT_output_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base), s_EGL_EXT_output_base },
1812 { "EGL_EXT_platform_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base), s_EGL_EXT_platform_base },
1813 { "EGL_EXT_stream_consumer_egloutput", DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput), s_EGL_EXT_stream_consumer_egloutput },
1814 { "EGL_EXT_swap_buffers_with_damage", DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage), s_EGL_EXT_swap_buffers_with_damage },
1815 { "EGL_HI_clientpixmap", DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap), s_EGL_HI_clientpixmap },
1816 { "EGL_KHR_cl_event2", DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2), s_EGL_KHR_cl_event2 },
1817 { "EGL_KHR_debug", DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug), s_EGL_KHR_debug },
1818 { "EGL_KHR_display_reference", DE_LENGTH_OF_ARRAY(s_EGL_KHR_display_reference), s_EGL_KHR_display_reference },
1819 { "EGL_KHR_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync), s_EGL_KHR_fence_sync },
1820 { "EGL_KHR_image", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image), s_EGL_KHR_image },
1821 { "EGL_KHR_image_base", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base), s_EGL_KHR_image_base },
1822 { "EGL_KHR_lock_surface", DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface), s_EGL_KHR_lock_surface },
1823 { "EGL_KHR_lock_surface3", DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3), s_EGL_KHR_lock_surface3 },
1824 { "EGL_KHR_partial_update", DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update), s_EGL_KHR_partial_update },
1825 { "EGL_KHR_reusable_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync), s_EGL_KHR_reusable_sync },
1826 { "EGL_KHR_stream", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream), s_EGL_KHR_stream },
1827 { "EGL_KHR_stream_attrib", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib), s_EGL_KHR_stream_attrib },
1828 { "EGL_KHR_stream_consumer_gltexture", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture), s_EGL_KHR_stream_consumer_gltexture },
1829 { "EGL_KHR_stream_cross_process_fd", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd), s_EGL_KHR_stream_cross_process_fd },
1830 { "EGL_KHR_stream_fifo", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo), s_EGL_KHR_stream_fifo },
1831 { "EGL_KHR_stream_producer_eglsurface", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface), s_EGL_KHR_stream_producer_eglsurface },
1832 { "EGL_KHR_swap_buffers_with_damage", DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage), s_EGL_KHR_swap_buffers_with_damage },
1833 { "EGL_KHR_wait_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync), s_EGL_KHR_wait_sync },
1834 { "EGL_MESA_drm_image", DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image), s_EGL_MESA_drm_image },
1835 { "EGL_MESA_image_dma_buf_export", DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export), s_EGL_MESA_image_dma_buf_export },
1836 { "EGL_NOK_swap_region", DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region), s_EGL_NOK_swap_region },
1837 { "EGL_NOK_swap_region2", DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2), s_EGL_NOK_swap_region2 },
1838 { "EGL_NV_native_query", DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query), s_EGL_NV_native_query },
1839 { "EGL_NV_post_sub_buffer", DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer), s_EGL_NV_post_sub_buffer },
1840 { "EGL_NV_stream_consumer_gltexture_yuv", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv), s_EGL_NV_stream_consumer_gltexture_yuv },
1841 { "EGL_NV_stream_metadata", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata), s_EGL_NV_stream_metadata },
1842 { "EGL_NV_stream_reset", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset), s_EGL_NV_stream_reset },
1843 { "EGL_NV_stream_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync), s_EGL_NV_stream_sync },
1844 { "EGL_NV_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_sync), s_EGL_NV_sync },
1845 { "EGL_NV_system_time", DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time), s_EGL_NV_system_time },
1846 { "EGL_EXT_compositor", DE_LENGTH_OF_ARRAY(s_EGL_EXT_compositor), s_EGL_EXT_compositor },
1847 { "GL_APPLE_copy_texture_levels", DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels), s_GL_APPLE_copy_texture_levels },
1848 { "GL_APPLE_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample), s_GL_APPLE_framebuffer_multisample },
1849 { "GL_APPLE_sync", DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync), s_GL_APPLE_sync },
1850 { "GL_EXT_discard_framebuffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer), s_GL_EXT_discard_framebuffer },
1851 { "GL_EXT_map_buffer_range", DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range), s_GL_EXT_map_buffer_range },
1852 { "GL_EXT_multi_draw_arrays", DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays), s_GL_EXT_multi_draw_arrays },
1853 { "GL_EXT_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture), s_GL_EXT_multisampled_render_to_texture },
1854 { "GL_EXT_robustness", DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness), s_GL_EXT_robustness },
1855 { "GL_EXT_texture_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage), s_GL_EXT_texture_storage },
1856 { "GL_IMG_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture), s_GL_IMG_multisampled_render_to_texture },
1857 { "GL_IMG_user_clip_plane", DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane), s_GL_IMG_user_clip_plane },
1858 { "GL_NV_fence", DE_LENGTH_OF_ARRAY(s_GL_NV_fence), s_GL_NV_fence },
1859 { "GL_OES_EGL_image", DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image), s_GL_OES_EGL_image },
1860 { "GL_OES_blend_equation_separate", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate), s_GL_OES_blend_equation_separate },
1861 { "GL_OES_blend_func_separate", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate), s_GL_OES_blend_func_separate },
1862 { "GL_OES_blend_subtract", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract), s_GL_OES_blend_subtract },
1863 { "GL_OES_draw_texture", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture), s_GL_OES_draw_texture },
1864 { "GL_OES_fixed_point", DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point), s_GL_OES_fixed_point },
1865 { "GL_OES_framebuffer_object", DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object), s_GL_OES_framebuffer_object },
1866 { "GL_OES_mapbuffer", DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer), s_GL_OES_mapbuffer },
1867 { "GL_OES_matrix_palette", DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette), s_GL_OES_matrix_palette },
1868 { "GL_OES_point_size_array", DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array), s_GL_OES_point_size_array },
1869 { "GL_OES_query_matrix", DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix), s_GL_OES_query_matrix },
1870 { "GL_OES_single_precision", DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision), s_GL_OES_single_precision },
1871 { "GL_OES_texture_cube_map", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map), s_GL_OES_texture_cube_map },
1872 { "GL_OES_vertex_array_object", DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object), s_GL_OES_vertex_array_object },
1873 { "GL_QCOM_driver_control", DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control), s_GL_QCOM_driver_control },
1874 { "GL_QCOM_extended_get", DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get), s_GL_QCOM_extended_get },
1875 { "GL_QCOM_extended_get2", DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2), s_GL_QCOM_extended_get2 },
1876 { "GL_QCOM_tiled_rendering", DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering), s_GL_QCOM_tiled_rendering },
1877 { "GL_AMD_performance_monitor", DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor), s_GL_AMD_performance_monitor },
1878 { "GL_ANGLE_framebuffer_blit", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit), s_GL_ANGLE_framebuffer_blit },
1879 { "GL_ANGLE_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample), s_GL_ANGLE_framebuffer_multisample },
1880 { "GL_ANGLE_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays), s_GL_ANGLE_instanced_arrays },
1881 { "GL_ANGLE_translated_shader_source", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source), s_GL_ANGLE_translated_shader_source },
1882 { "GL_EXT_base_instance", DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance), s_GL_EXT_base_instance },
1883 { "GL_EXT_blend_func_extended", DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended), s_GL_EXT_blend_func_extended },
1884 { "GL_EXT_buffer_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage), s_GL_EXT_buffer_storage },
1885 { "GL_EXT_clear_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_clear_texture), s_GL_EXT_clear_texture },
1886 { "GL_EXT_copy_image", DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image), s_GL_EXT_copy_image },
1887 { "GL_EXT_debug_label", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label), s_GL_EXT_debug_label },
1888 { "GL_EXT_debug_marker", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker), s_GL_EXT_debug_marker },
1889 { "GL_EXT_disjoint_timer_query", DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query), s_GL_EXT_disjoint_timer_query },
1890 { "GL_EXT_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers), s_GL_EXT_draw_buffers },
1891 { "GL_EXT_draw_buffers_indexed", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed), s_GL_EXT_draw_buffers_indexed },
1892 { "GL_EXT_draw_elements_base_vertex", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex), s_GL_EXT_draw_elements_base_vertex },
1893 { "GL_EXT_draw_instanced", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced), s_GL_EXT_draw_instanced },
1894 { "GL_EXT_draw_transform_feedback", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_transform_feedback), s_GL_EXT_draw_transform_feedback },
1895 { "GL_EXT_external_buffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_external_buffer), s_GL_EXT_external_buffer },
1896 { "GL_EXT_geometry_shader", DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader), s_GL_EXT_geometry_shader },
1897 { "GL_EXT_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays), s_GL_EXT_instanced_arrays },
1898 { "GL_EXT_memory_object", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object), s_GL_EXT_memory_object },
1899 { "GL_EXT_memory_object_fd", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_fd), s_GL_EXT_memory_object_fd },
1900 { "GL_EXT_memory_object_win32", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_win32), s_GL_EXT_memory_object_win32 },
1901 { "GL_EXT_multi_draw_indirect", DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect), s_GL_EXT_multi_draw_indirect },
1902 { "GL_EXT_multiview_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers), s_GL_EXT_multiview_draw_buffers },
1903 { "GL_EXT_occlusion_query_boolean", DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean), s_GL_EXT_occlusion_query_boolean },
1904 { "GL_EXT_polygon_offset_clamp", DE_LENGTH_OF_ARRAY(s_GL_EXT_polygon_offset_clamp), s_GL_EXT_polygon_offset_clamp },
1905 { "GL_EXT_primitive_bounding_box", DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box), s_GL_EXT_primitive_bounding_box },
1906 { "GL_EXT_raster_multisample", DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample), s_GL_EXT_raster_multisample },
1907 { "GL_EXT_semaphore", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore), s_GL_EXT_semaphore },
1908 { "GL_EXT_semaphore_fd", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_fd), s_GL_EXT_semaphore_fd },
1909 { "GL_EXT_semaphore_win32", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_win32), s_GL_EXT_semaphore_win32 },
1910 { "GL_EXT_separate_shader_objects", DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects), s_GL_EXT_separate_shader_objects },
1911 { "GL_EXT_shader_pixel_local_storage2", DE_LENGTH_OF_ARRAY(s_GL_EXT_shader_pixel_local_storage2), s_GL_EXT_shader_pixel_local_storage2 },
1912 { "GL_EXT_sparse_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture), s_GL_EXT_sparse_texture },
1913 { "GL_EXT_tessellation_shader", DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader), s_GL_EXT_tessellation_shader },
1914 { "GL_EXT_texture_border_clamp", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp), s_GL_EXT_texture_border_clamp },
1915 { "GL_EXT_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer), s_GL_EXT_texture_buffer },
1916 { "GL_EXT_texture_filter_minmax", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_filter_minmax), s_GL_EXT_texture_filter_minmax },
1917 { "GL_EXT_texture_view", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view), s_GL_EXT_texture_view },
1918 { "GL_EXT_win32_keyed_mutex", DE_LENGTH_OF_ARRAY(s_GL_EXT_win32_keyed_mutex), s_GL_EXT_win32_keyed_mutex },
1919 { "GL_EXT_window_rectangles", DE_LENGTH_OF_ARRAY(s_GL_EXT_window_rectangles), s_GL_EXT_window_rectangles },
1920 { "GL_IMG_bindless_texture", DE_LENGTH_OF_ARRAY(s_GL_IMG_bindless_texture), s_GL_IMG_bindless_texture },
1921 { "GL_IMG_framebuffer_downsample", DE_LENGTH_OF_ARRAY(s_GL_IMG_framebuffer_downsample), s_GL_IMG_framebuffer_downsample },
1922 { "GL_INTEL_framebuffer_CMAA", DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA), s_GL_INTEL_framebuffer_CMAA },
1923 { "GL_INTEL_performance_query", DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query), s_GL_INTEL_performance_query },
1924 { "GL_KHR_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced), s_GL_KHR_blend_equation_advanced },
1925 { "GL_KHR_debug", DE_LENGTH_OF_ARRAY(s_GL_KHR_debug), s_GL_KHR_debug },
1926 { "GL_KHR_robustness", DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness), s_GL_KHR_robustness },
1927 { "GL_NV_bindless_texture", DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture), s_GL_NV_bindless_texture },
1928 { "GL_NV_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced), s_GL_NV_blend_equation_advanced },
1929 { "GL_NV_conditional_render", DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render), s_GL_NV_conditional_render },
1930 { "GL_NV_conservative_raster", DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster), s_GL_NV_conservative_raster },
1931 { "GL_NV_conservative_raster_pre_snap_triangles", DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster_pre_snap_triangles), s_GL_NV_conservative_raster_pre_snap_triangles },
1932 { "GL_NV_copy_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer), s_GL_NV_copy_buffer },
1933 { "GL_NV_coverage_sample", DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample), s_GL_NV_coverage_sample },
1934 { "GL_NV_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers), s_GL_NV_draw_buffers },
1935 { "GL_NV_draw_instanced", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced), s_GL_NV_draw_instanced },
1936 { "GL_NV_draw_vulkan_image", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_vulkan_image), s_GL_NV_draw_vulkan_image },
1937 { "GL_NV_fragment_coverage_to_color", DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color), s_GL_NV_fragment_coverage_to_color },
1938 { "GL_NV_framebuffer_blit", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit), s_GL_NV_framebuffer_blit },
1939 { "GL_NV_framebuffer_mixed_samples", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples), s_GL_NV_framebuffer_mixed_samples },
1940 { "GL_NV_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample), s_GL_NV_framebuffer_multisample },
1941 { "GL_NV_gpu_shader5", DE_LENGTH_OF_ARRAY(s_GL_NV_gpu_shader5), s_GL_NV_gpu_shader5 },
1942 { "GL_NV_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays), s_GL_NV_instanced_arrays },
1943 { "GL_NV_internalformat_sample_query", DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query), s_GL_NV_internalformat_sample_query },
1944 { "GL_NV_non_square_matrices", DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices), s_GL_NV_non_square_matrices },
1945 { "GL_NV_path_rendering", DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering), s_GL_NV_path_rendering },
1946 { "GL_NV_polygon_mode", DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode), s_GL_NV_polygon_mode },
1947 { "GL_NV_read_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer), s_GL_NV_read_buffer },
1948 { "GL_NV_sample_locations", DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations), s_GL_NV_sample_locations },
1949 { "GL_NV_viewport_array", DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array), s_GL_NV_viewport_array },
1950 { "GL_NV_viewport_swizzle", DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_swizzle), s_GL_NV_viewport_swizzle },
1951 { "GL_OES_copy_image", DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image), s_GL_OES_copy_image },
1952 { "GL_OES_draw_buffers_indexed", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed), s_GL_OES_draw_buffers_indexed },
1953 { "GL_OES_draw_elements_base_vertex", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex), s_GL_OES_draw_elements_base_vertex },
1954 { "GL_OES_geometry_shader", DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader), s_GL_OES_geometry_shader },
1955 { "GL_OES_get_program_binary", DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary), s_GL_OES_get_program_binary },
1956 { "GL_OES_primitive_bounding_box", DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box), s_GL_OES_primitive_bounding_box },
1957 { "GL_OES_sample_shading", DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading), s_GL_OES_sample_shading },
1958 { "GL_OES_tessellation_shader", DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader), s_GL_OES_tessellation_shader },
1959 { "GL_OES_texture_3D", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D), s_GL_OES_texture_3D },
1960 { "GL_OES_texture_border_clamp", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp), s_GL_OES_texture_border_clamp },
1961 { "GL_OES_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer), s_GL_OES_texture_buffer },
1962 { "GL_OES_texture_storage_multisample_2d_array", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_storage_multisample_2d_array), s_GL_OES_texture_storage_multisample_2d_array },
1963 { "GL_OES_texture_view", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view), s_GL_OES_texture_view },
1964 { "GL_OES_viewport_array", DE_LENGTH_OF_ARRAY(s_GL_OES_viewport_array), s_GL_OES_viewport_array },
1965 { "GL_OVR_multiview", DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview), s_GL_OVR_multiview },
1966 { "GL_OVR_multiview_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview_multisampled_render_to_texture), s_GL_OVR_multiview_multisampled_render_to_texture },
1967 { "GL_QCOM_alpha_test", DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test), s_GL_QCOM_alpha_test },
1968 { "GL_QCOM_framebuffer_foveated", DE_LENGTH_OF_ARRAY(s_GL_QCOM_framebuffer_foveated), s_GL_QCOM_framebuffer_foveated },
1969 { "GL_QCOM_shader_framebuffer_fetch_noncoherent", DE_LENGTH_OF_ARRAY(s_GL_QCOM_shader_framebuffer_fetch_noncoherent), s_GL_QCOM_shader_framebuffer_fetch_noncoherent },