// MobileGL - MobileGL/MG_Util/GLExtensions.h
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
//   https://www.gnu.org/licenses/gpl-3.0.txt
//   https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header

#pragma once

namespace MobileGL {
    enum GLExtension {
        V_OpenGL10,
        V_OpenGL11,
        V_OpenGL12,
        V_OpenGL13,
        V_OpenGL14,
        V_OpenGL15,
        V_OpenGL20,
        V_OpenGL21,
        V_OpenGL30,
        V_OpenGL31,
        V_OpenGL32,
        V_OpenGL33,
        V_OpenGL40,
        V_OpenGL41,
        V_OpenGL42,
        V_OpenGL43,
        V_OpenGL44,
        V_OpenGL45,
        V_OpenGL46,
        E_GL_EXT_shader_samples_identical,
        E_GL_ARB_multitexture,
        E_GLX_ARB_get_proc_address,
        E_GL_ARB_transpose_matrix,
        E_WGL_ARB_buffer_region,
        E_GL_ARB_multisample,
        E_GLX_ARB_multisample,
        E_WGL_ARB_multisample,
        E_GL_ARB_texture_env_add,
        E_GL_ARB_texture_cube_map,
        E_WGL_ARB_extensions_string,
        E_WGL_ARB_pixel_format,
        E_WGL_ARB_make_current_read,
        E_WGL_ARB_pbuffer,
        E_GL_ARB_texture_compression,
        E_GL_ARB_texture_border_clamp,
        E_GL_ARB_point_parameters,
        E_GL_ARB_vertex_blend,
        E_GL_ARB_matrix_palette,
        E_GL_ARB_texture_env_combine,
        E_GL_ARB_texture_env_crossbar,
        E_GL_ARB_texture_env_dot3,
        E_WGL_ARB_render_texture,
        E_GL_ARB_texture_mirrored_repeat,
        E_GL_ARB_depth_texture,
        E_GL_ARB_shadow,
        E_GL_ARB_shadow_ambient,
        E_GL_ARB_window_pos,
        E_GL_ARB_vertex_program,
        E_GL_ARB_fragment_program,
        E_GL_ARB_vertex_buffer_object,
        E_GLX_ARB_vertex_buffer_object,
        E_GL_ARB_occlusion_query,
        E_GL_ARB_shader_objects,
        E_GL_ARB_vertex_shader,
        E_GL_ARB_fragment_shader,
        E_GL_ARB_shading_language_100,
        E_GL_ARB_texture_non_power_of_two,
        E_GL_ARB_point_sprite,
        E_GL_ARB_fragment_program_shadow,
        E_GL_ARB_draw_buffers,
        E_GL_ARB_texture_rectangle,
        E_GL_ARB_color_buffer_float,
        E_GLX_ARB_fbconfig_float,
        E_WGL_ARB_pixel_format_float,
        E_GL_ARB_half_float_pixel,
        E_GL_ARB_texture_float,
        E_GL_ARB_pixel_buffer_object,
        E_GL_ARB_depth_buffer_float,
        E_GL_ARB_draw_instanced,
        E_GL_ARB_framebuffer_object,
        E_GL_ARB_framebuffer_sRGB,
        E_GLX_ARB_framebuffer_sRGB,
        E_WGL_ARB_framebuffer_sRGB,
        E_GL_ARB_geometry_shader4,
        E_GL_ARB_half_float_vertex,
        E_GL_ARB_instanced_arrays,
        E_GL_ARB_map_buffer_range,
        E_GL_ARB_texture_buffer_object,
        E_GL_ARB_texture_compression_rgtc,
        E_GL_ARB_texture_rg,
        E_GL_ARB_vertex_array_object,
        E_WGL_ARB_create_context,
        E_GLX_ARB_create_context,
        E_GL_ARB_uniform_buffer_object,
        E_GL_ARB_compatibility,
        E_GL_ARB_copy_buffer,
        E_GL_ARB_shader_texture_lod,
        E_GL_ARB_depth_clamp,
        E_GL_ARB_draw_elements_base_vertex,
        E_GL_ARB_fragment_coord_conventions,
        E_GL_ARB_provoking_vertex,
        E_GL_ARB_seamless_cube_map,
        E_GL_ARB_sync,
        E_GL_ARB_texture_multisample,
        E_GL_ARB_vertex_array_bgra,
        E_GL_ARB_draw_buffers_blend,
        E_GL_ARB_sample_shading,
        E_GL_ARB_texture_cube_map_array,
        E_GL_ARB_texture_gather,
        E_GL_ARB_texture_query_lod,
        E_WGL_ARB_create_context_profile,
        E_GLX_ARB_create_context_profile,
        E_GL_ARB_shading_language_include,
        E_GL_ARB_texture_compression_bptc,
        E_GL_ARB_blend_func_extended,
        E_GL_ARB_explicit_attrib_location,
        E_GL_ARB_occlusion_query2,
        E_GL_ARB_sampler_objects,
        E_GL_ARB_shader_bit_encoding,
        E_GL_ARB_texture_rgb10_a2ui,
        E_GL_ARB_texture_swizzle,
        E_GL_ARB_timer_query,
        E_GL_ARB_vertex_type_2_10_10_10_rev,
        E_GL_ARB_draw_indirect,
        E_GL_ARB_gpu_shader5,
        E_GL_ARB_gpu_shader_fp64,
        E_GL_ARB_shader_subroutine,
        E_GL_ARB_tessellation_shader,
        E_GL_ARB_texture_buffer_object_rgb32,
        E_GL_ARB_transform_feedback2,
        E_GL_ARB_transform_feedback3,
        E_GL_ARB_ES2_compatibility,
        E_GL_ARB_get_program_binary,
        E_GL_ARB_separate_shader_objects,
        E_GL_ARB_shader_precision,
        E_GL_ARB_vertex_attrib_64bit,
        E_GL_ARB_viewport_array,
        E_GLX_ARB_create_context_robustness,
        E_WGL_ARB_create_context_robustness,
        E_GL_ARB_cl_event,
        E_GL_ARB_debug_output,
        E_GL_ARB_robustness,
        E_GL_ARB_shader_stencil_export,
        E_GL_ARB_base_instance,
        E_GL_ARB_shading_language_420pack,
        E_GL_ARB_transform_feedback_instanced,
        E_GL_ARB_compressed_texture_pixel_storage,
        E_GL_ARB_conservative_depth,
        E_GL_ARB_internalformat_query,
        E_GL_ARB_map_buffer_alignment,
        E_GL_ARB_shader_atomic_counters,
        E_GL_ARB_shader_image_load_store,
        E_GL_ARB_shading_language_packing,
        E_GL_ARB_texture_storage,
        E_GL_KHR_texture_compression_astc_hdr,
        E_GL_KHR_texture_compression_astc_ldr,
        E_GL_KHR_debug,
        E_GL_ARB_arrays_of_arrays,
        E_GL_ARB_clear_buffer_object,
        E_GL_ARB_compute_shader,
        E_GL_ARB_copy_image,
        E_GL_ARB_texture_view,
        E_GL_ARB_vertex_attrib_binding,
        E_GL_ARB_robustness_isolation,
        E_GL_ARB_robustness_share_group_isolation,
        E_GL_ARB_ES3_compatibility,
        E_GL_ARB_explicit_uniform_location,
        E_GL_ARB_fragment_layer_viewport,
        E_GL_ARB_framebuffer_no_attachments,
        E_GL_ARB_internalformat_query2,
        E_GL_ARB_invalidate_subdata,
        E_GL_ARB_multi_draw_indirect,
        E_GL_ARB_program_interface_query,
        E_GL_ARB_robust_buffer_access_behavior,
        E_GL_ARB_shader_image_size,
        E_GL_ARB_shader_storage_buffer_object,
        E_GL_ARB_stencil_texturing,
        E_GL_ARB_texture_buffer_range,
        E_GL_ARB_texture_query_levels,
        E_GL_ARB_texture_storage_multisample,
        E_GLX_ARB_robustness_application_isolation,
        E_GLX_ARB_robustness_share_group_isolation,
        E_WGL_ARB_robustness_application_isolation,
        E_WGL_ARB_robustness_share_group_isolation,
        E_GL_ARB_buffer_storage,
        E_GL_ARB_clear_texture,
        E_GL_ARB_enhanced_layouts,
        E_GL_ARB_multi_bind,
        E_GL_ARB_query_buffer_object,
        E_GL_ARB_texture_mirror_clamp_to_edge,
        E_GL_ARB_texture_stencil8,
        E_GL_ARB_vertex_type_10f_11f_11f_rev,
        E_GL_ARB_bindless_texture,
        E_GL_ARB_compute_variable_group_size,
        E_GL_ARB_indirect_parameters,
        E_GL_ARB_seamless_cubemap_per_texture,
        E_GL_ARB_shader_draw_parameters,
        E_GL_ARB_shader_group_vote,
        E_GL_ARB_sparse_texture,
        E_GL_ARB_ES3_1_compatibility,
        E_GL_ARB_clip_control,
        E_GL_ARB_conditional_render_inverted,
        E_GL_ARB_cull_distance,
        E_GL_ARB_derivative_control,
        E_GL_ARB_direct_state_access,
        E_GL_ARB_get_texture_sub_image,
        E_GL_ARB_shader_texture_image_samples,
        E_GL_ARB_texture_barrier,
        E_GL_KHR_context_flush_control,
        E_GLX_ARB_context_flush_control,
        E_WGL_ARB_context_flush_control,
        E_GL_KHR_robust_buffer_access_behavior,
        E_GL_KHR_robustness,
        E_GL_ARB_pipeline_statistics_query,
        E_GL_ARB_sparse_buffer,
        E_GL_ARB_transform_feedback_overflow_query,
        E_GL_KHR_blend_equation_advanced,
        E_GL_KHR_blend_equation_advanced_coherent,
        E_GL_KHR_no_error,
        E_GL_ARB_ES3_2_compatibility,
        E_GL_ARB_fragment_shader_interlock,
        E_GL_ARB_gpu_shader_int64,
        E_GL_ARB_parallel_shader_compile,
        E_GL_ARB_post_depth_coverage,
        E_GL_ARB_sample_locations,
        E_GL_ARB_shader_atomic_counter_ops,
        E_GL_ARB_shader_ballot,
        E_GL_ARB_shader_clock,
        E_GL_ARB_shader_viewport_layer_array,
        E_GL_ARB_sparse_texture2,
        E_GL_ARB_sparse_texture_clamp,
        E_GL_ARB_texture_filter_minmax,
        E_GL_KHR_texture_compression_astc_sliced_3d,
        E_GL_ARB_gl_spirv,
        E_GLX_ARB_create_context_no_error,
        E_WGL_ARB_create_context_no_error,
        E_GL_KHR_parallel_shader_compile,
        E_GL_ARB_polygon_offset_clamp,
        E_GL_ARB_spirv_extensions,
        E_GL_ARB_texture_filter_anisotropic,
        E_GL_KHR_shader_subgroup,
        E_GL_EXT_abgr,
        E_GL_EXT_blend_color,
        E_GL_EXT_polygon_offset,
        E_GL_EXT_texture,
        E_GL_EXT_texture3D,
        E_GL_SGIS_texture_filter4,
        E_GL_EXT_subtexture,
        E_GL_EXT_copy_texture,
        E_GL_EXT_histogram,
        E_GL_EXT_convolution,
        E_GL_SGI_color_matrix,
        E_GL_SGI_color_table,
        E_GL_SGIS_pixel_texture,
        E_GL_SGIS_texture4D,
        E_GL_SGI_texture_color_table,
        E_GL_EXT_cmyka,
        E_GL_EXT_texture_object,
        E_GL_SGIS_detail_texture,
        E_GL_SGIS_sharpen_texture,
        E_GL_EXT_packed_pixels,
        E_GL_SGIS_texture_lod,
        E_GL_SGIS_multisample,
        E_GLX_SGIS_multisample,
        E_GL_EXT_rescale_normal,
        E_GLX_EXT_visual_info,
        E_GL_EXT_vertex_array,
        E_GL_EXT_misc_attribute,
        E_GL_SGIS_generate_mipmap,
        E_GL_SGIX_clipmap,
        E_GL_SGIX_shadow,
        E_GL_SGIS_texture_edge_clamp,
        E_GL_SGIS_texture_border_clamp,
        E_GL_EXT_blend_minmax,
        E_GL_EXT_blend_subtract,
        E_GL_EXT_blend_logic_op,
        E_GLX_SGI_swap_control,
        E_GLX_SGI_video_sync,
        E_GLX_SGI_make_current_read,
        E_GLX_SGIX_video_source,
        E_GLX_EXT_visual_rating,
        E_GL_SGIX_interlace,
        E_GLX_EXT_import_context,
        E_GLX_SGIX_fbconfig,
        E_GLX_SGIX_pbuffer,
        E_GL_SGIS_texture_select,
        E_GL_SGIX_sprite,
        E_GL_SGIX_texture_multi_buffer,
        E_GL_EXT_point_parameters,
        E_GL_SGIX_instruments,
        E_GL_SGIX_texture_scale_bias,
        E_GL_SGIX_framezoom,
        E_GL_SGIX_tag_sample_buffer,
        E_GL_SGIX_reference_plane,
        E_GL_SGIX_flush_raster,
        E_GLX_SGI_cushion,
        E_GL_SGIX_depth_texture,
        E_GL_SGIS_fog_function,
        E_GL_SGIX_fog_offset,
        E_GL_HP_image_transform,
        E_GL_HP_convolution_border_modes,
        E_GL_SGIX_texture_add_env,
        E_GL_EXT_color_subtable,
        E_GLU_EXT_object_space_tess,
        E_GL_PGI_vertex_hints,
        E_GL_PGI_misc_hints,
        E_GL_EXT_paletted_texture,
        E_GL_EXT_clip_volume_hint,
        E_GL_SGIX_list_priority,
        E_GL_SGIX_ir_instrument1,
        E_GLX_SGIX_video_resize,
        E_GL_SGIX_texture_lod_bias,
        E_GLU_SGI_filter4_parameters,
        E_GLX_SGIX_dm_buffer,
        E_GL_SGIX_shadow_ambient,
        E_GLX_SGIX_swap_group,
        E_GLX_SGIX_swap_barrier,
        E_GL_EXT_index_texture,
        E_GL_EXT_index_material,
        E_GL_EXT_index_func,
        E_GL_EXT_index_array_formats,
        E_GL_EXT_compiled_vertex_array,
        E_GL_EXT_cull_vertex,
        E_GLU_EXT_nurbs_tessellator,
        E_GL_SGIX_ycrcb,
        E_GL_EXT_fragment_lighting,
        E_GL_IBM_rasterpos_clip,
        E_GL_HP_texture_lighting,
        E_GL_EXT_draw_range_elements,
        E_GL_WIN_phong_shading,
        E_GL_WIN_specular_fog,
        E_GLX_SGIS_color_range,
        E_GL_SGIS_color_range,
        E_GL_EXT_light_texture,
        E_GL_SGIX_blend_alpha_minmax,
        E_GL_EXT_scene_marker,
        E_GLX_EXT_scene_marker,
        E_GL_SGIX_pixel_texture_bits,
        E_GL_EXT_bgra,
        E_GL_SGIX_async,
        E_GL_SGIX_async_pixel,
        E_GL_SGIX_async_histogram,
        E_GL_INTEL_texture_scissor,
        E_GL_INTEL_parallel_arrays,
        E_GL_HP_occlusion_test,
        E_GL_EXT_pixel_transform,
        E_GL_EXT_pixel_transform_color_table,
        E_GL_EXT_shared_texture_palette,
        E_GLX_SGIS_blended_overlay,
        E_GL_EXT_separate_specular_color,
        E_GL_EXT_secondary_color,
        E_GL_EXT_texture_env,
        E_GL_EXT_texture_perturb_normal,
        E_GL_EXT_multi_draw_arrays,
        E_GL_SUN_multi_draw_arrays,
        E_GL_EXT_fog_coord,
        E_GL_REND_screen_coordinates,
        E_GL_EXT_coordinate_frame,
        E_GL_EXT_texture_env_combine,
        E_GL_APPLE_specular_vector,
        E_GL_APPLE_transform_hint,
        E_GL_SUNX_constant_data,
        E_GL_SUN_global_alpha,
        E_GL_SUN_triangle_list,
        E_GL_SUN_vertex,
        E_WGL_EXT_display_color_table,
        E_WGL_EXT_extensions_string,
        E_WGL_EXT_make_current_read,
        E_WGL_EXT_pixel_format,
        E_WGL_EXT_pbuffer,
        E_WGL_EXT_swap_control,
        E_GL_EXT_blend_func_separate,
        E_GL_INGR_color_clamp,
        E_GL_INGR_interlace_read,
        E_GL_EXT_stencil_wrap,
        E_WGL_EXT_depth_float,
        E_GL_EXT_422_pixels,
        E_GL_NV_texgen_reflection,
        E_GL_SGIX_texture_range,
        E_GL_SUN_convolution_border_modes,
        E_GLX_SUN_get_transparent_index,
        E_GLX_SGIX_video_resize_float,
        E_GL_EXT_texture_env_add,
        E_GL_EXT_texture_lod_bias,
        E_GL_EXT_texture_filter_anisotropic,
        E_GL_EXT_vertex_weighting,
        E_GL_NV_light_max_exponent,
        E_GL_NV_vertex_array_range,
        E_GL_NV_register_combiners,
        E_GL_NV_fog_distance,
        E_GL_NV_texgen_emboss,
        E_GL_NV_blend_square,
        E_GL_NV_texture_env_combine4,
        E_GL_MESA_resize_buffers,
        E_GL_MESA_window_pos,
        E_GL_EXT_texture_compression_s3tc,
        E_GL_IBM_cull_vertex,
        E_GL_IBM_multimode_draw_arrays,
        E_GL_IBM_vertex_array_lists,
        E_GL_3DFX_texture_compression_FXT1,
        E_GL_3DFX_multisample,
        E_GL_3DFX_tbuffer,
        E_WGL_EXT_multisample,
        E_GL_EXT_multisample,
        E_GL_SGIX_vertex_preclip,
        E_GL_SGIX_vertex_preclip_hint,
        E_GL_SGIX_convolution_accuracy,
        E_GL_SGIX_resample,
        E_GL_SGIS_point_line_texgen,
        E_GL_SGIS_texture_color_mask,
        E_GLX_MESA_copy_sub_buffer,
        E_GLX_MESA_pixmap_colormap,
        E_GLX_MESA_release_buffers,
        E_GLX_MESA_set_3dfx_mode,
        E_GL_EXT_texture_env_dot3,
        E_GL_ATI_texture_mirror_once,
        E_GL_NV_fence,
        E_GL_IBM_static_data,
        E_GL_IBM_texture_mirrored_repeat,
        E_GL_NV_evaluators,
        E_GL_NV_packed_depth_stencil,
        E_GL_NV_register_combiners2,
        E_GL_NV_texture_compression_vtc,
        E_GL_NV_texture_rectangle,
        E_GL_NV_texture_shader,
        E_GL_NV_texture_shader2,
        E_GL_NV_vertex_array_range2,
        E_GL_NV_vertex_program,
        E_GLX_SGIX_visual_select_group,
        E_GL_SGIX_texture_coordinate_clamp,
        E_GLX_OML_swap_method,
        E_GLX_OML_sync_control,
        E_GL_OML_interlace,
        E_GL_OML_subsample,
        E_GL_OML_resample,
        E_WGL_OML_sync_control,
        E_GL_NV_copy_depth_to_color,
        E_GL_ATI_envmap_bumpmap,
        E_GL_ATI_fragment_shader,
        E_GL_ATI_pn_triangles,
        E_GL_ATI_vertex_array_object,
        E_GL_EXT_vertex_shader,
        E_GL_ATI_vertex_streams,
        E_WGL_I3D_digital_video_control,
        E_WGL_I3D_gamma,
        E_WGL_I3D_genlock,
        E_WGL_I3D_image_buffer,
        E_WGL_I3D_swap_frame_lock,
        E_WGL_I3D_swap_frame_usage,
        E_GL_ATI_element_array,
        E_GL_SUN_mesh_array,
        E_GL_SUN_slice_accum,
        E_GL_NV_multisample_filter_hint,
        E_GL_NV_depth_clamp,
        E_GL_NV_occlusion_query,
        E_GL_NV_point_sprite,
        E_WGL_NV_render_depth_texture,
        E_WGL_NV_render_texture_rectangle,
        E_GL_NV_texture_shader3,
        E_GL_NV_vertex_program1_1,
        E_GL_EXT_shadow_funcs,
        E_GL_EXT_stencil_two_side,
        E_GL_ATI_text_fragment_shader,
        E_GL_APPLE_client_storage,
        E_GL_APPLE_element_array,
        E_GL_APPLE_fence,
        E_GL_APPLE_vertex_array_object,
        E_GL_APPLE_vertex_array_range,
        E_GL_APPLE_ycbcr_422,
        E_GL_S3_s3tc,
        E_GL_ATI_draw_buffers,
        E_WGL_ATI_pixel_format_float,
        E_GL_ATI_texture_env_combine3,
        E_GL_ATI_texture_float,
        E_GL_NV_float_buffer,
        E_WGL_NV_float_buffer,
        E_GL_NV_fragment_program,
        E_GL_NV_half_float,
        E_GL_NV_pixel_data_range,
        E_GL_NV_primitive_restart,
        E_GL_NV_texture_expand_normal,
        E_GL_NV_vertex_program2,
        E_GL_ATI_map_object_buffer,
        E_GL_ATI_separate_stencil,
        E_GL_ATI_vertex_attrib_array_object,
        E_GL_OES_byte_coordinates,
        E_GL_OES_fixed_point,
        E_GL_OES_single_precision,
        E_GL_OES_compressed_paletted_texture,
        E_GL_OES_read_format,
        E_GL_OES_query_matrix,
        E_GL_EXT_depth_bounds_test,
        E_GL_EXT_texture_mirror_clamp,
        E_GL_EXT_blend_equation_separate,
        E_GL_MESA_pack_invert,
        E_GL_MESA_ycbcr_texture,
        E_GL_EXT_pixel_buffer_object,
        E_GL_NV_fragment_program_option,
        E_GL_NV_fragment_program2,
        E_GL_NV_vertex_program2_option,
        E_GL_NV_vertex_program3,
        E_GLX_SGIX_hyperpipe,
        E_GLX_MESA_agp_offset,
        E_GL_EXT_texture_compression_dxt1,
        E_GL_EXT_framebuffer_object,
        E_GL_GREMEDY_string_marker,
        E_GL_EXT_packed_depth_stencil,
        E_WGL_3DL_stereo_control,
        E_GL_EXT_stencil_clear_tag,
        E_GL_EXT_texture_sRGB,
        E_GL_EXT_framebuffer_blit,
        E_GL_EXT_framebuffer_multisample,
        E_GL_MESAX_texture_stack,
        E_GL_EXT_timer_query,
        E_GL_EXT_gpu_program_parameters,
        E_GL_APPLE_flush_buffer_range,
        E_GL_NV_gpu_program4,
        E_GL_NV_geometry_program4,
        E_GL_EXT_geometry_shader4,
        E_GL_NV_vertex_program4,
        E_GL_EXT_gpu_shader4,
        E_GL_EXT_draw_instanced,
        E_GL_EXT_packed_float,
        E_GLX_EXT_fbconfig_packed_float,
        E_WGL_EXT_pixel_format_packed_float,
        E_GL_EXT_texture_array,
        E_GL_EXT_texture_buffer_object,
        E_GL_EXT_texture_compression_latc,
        E_GL_EXT_texture_compression_rgtc,
        E_GL_EXT_texture_shared_exponent,
        E_GL_NV_depth_buffer_float,
        E_GL_NV_fragment_program4,
        E_GL_NV_framebuffer_multisample_coverage,
        E_GL_EXT_framebuffer_sRGB,
        E_GLX_EXT_framebuffer_sRGB,
        E_WGL_EXT_framebuffer_sRGB,
        E_GL_NV_geometry_shader4,
        E_GL_NV_parameter_buffer_object,
        E_GL_EXT_draw_buffers2,
        E_GL_NV_transform_feedback,
        E_GL_EXT_bindable_uniform,
        E_GL_EXT_texture_integer,
        E_GLX_EXT_texture_from_pixmap,
        E_GL_GREMEDY_frame_terminator,
        E_GL_NV_conditional_render,
        E_GL_NV_present_video,
        E_GLX_NV_present_video,
        E_WGL_NV_present_video,
        E_GLX_NV_video_out,
        E_WGL_NV_video_output,
        E_GLX_NV_swap_group,
        E_WGL_NV_swap_group,
        E_GL_EXT_transform_feedback,
        E_GL_EXT_direct_state_access,
        E_GL_EXT_vertex_array_bgra,
        E_WGL_NV_gpu_affinity,
        E_GL_EXT_texture_swizzle,
        E_GL_NV_explicit_multisample,
        E_GL_NV_transform_feedback2,
        E_GL_ATI_meminfo,
        E_GL_AMD_performance_monitor,
        E_WGL_AMD_gpu_association,
        E_GL_AMD_texture_texture4,
        E_GL_AMD_vertex_shader_tessellator,
        E_GL_EXT_provoking_vertex,
        E_GL_EXT_texture_snorm,
        E_GL_AMD_draw_buffers_blend,
        E_GL_APPLE_texture_range,
        E_GL_APPLE_float_pixels,
        E_GL_APPLE_vertex_program_evaluators,
        E_GL_APPLE_aux_depth_stencil,
        E_GL_APPLE_object_purgeable,
        E_GL_APPLE_row_bytes,
        E_GL_APPLE_rgb_422,
        E_GL_NV_video_capture,
        E_GLX_NV_video_capture,
        E_WGL_NV_video_capture,
        E_GL_EXT_swap_control,
        E_GL_NV_copy_image,
        E_GLX_NV_copy_image,
        E_WGL_NV_copy_image,
        E_GL_EXT_separate_shader_objects,
        E_GL_NV_parameter_buffer_object2,
        E_GL_NV_shader_buffer_load,
        E_GL_NV_vertex_buffer_unified_memory,
        E_GL_NV_texture_barrier,
        E_GL_AMD_shader_stencil_export,
        E_GL_AMD_seamless_cubemap_per_texture,
        E_GLX_INTEL_swap_event,
        E_GL_AMD_conservative_depth,
        E_GL_EXT_shader_image_load_store,
        E_GL_EXT_vertex_attrib_64bit,
        E_GL_NV_gpu_program5,
        E_GL_NV_gpu_shader5,
        E_GL_NV_shader_buffer_store,
        E_GL_NV_tessellation_program5,
        E_GL_NV_vertex_attrib_integer_64bit,
        E_GL_NV_multisample_coverage,
        E_GL_AMD_name_gen_delete,
        E_GL_AMD_debug_output,
        E_GL_NV_vdpau_interop,
        E_GL_AMD_transform_feedback3_lines_triangles,
        E_GLX_AMD_gpu_association,
        E_GLX_EXT_create_context_es2_profile,
        E_GLX_EXT_create_context_es_profile,
        E_WGL_EXT_create_context_es2_profile,
        E_WGL_EXT_create_context_es_profile,
        E_GL_AMD_depth_clamp_separate,
        E_GL_EXT_texture_sRGB_decode,
        E_GL_NV_texture_multisample,
        E_GL_AMD_blend_minmax_factor,
        E_GL_AMD_sample_positions,
        E_GL_EXT_x11_sync_object,
        E_WGL_NV_DX_interop,
        E_GL_AMD_multi_draw_indirect,
        E_GL_EXT_framebuffer_multisample_blit_scaled,
        E_GL_NV_path_rendering,
        E_GL_AMD_pinned_memory,
        E_WGL_NV_DX_interop2,
        E_GL_AMD_stencil_operation_extended,
        E_GLX_EXT_swap_control_tear,
        E_WGL_EXT_swap_control_tear,
        E_GL_AMD_vertex_shader_viewport_index,
        E_GL_AMD_vertex_shader_layer,
        E_GL_NV_bindless_texture,
        E_GL_NV_shader_atomic_float,
        E_GL_AMD_query_buffer_object,
        E_GL_NV_compute_program5,
        E_GL_NV_shader_storage_buffer_object,
        E_GL_NV_shader_atomic_counters,
        E_GL_NV_deep_texture3D,
        E_GL_NVX_conditional_render,
        E_GL_AMD_sparse_texture,
        E_GLX_EXT_buffer_age,
        E_GL_AMD_shader_trinary_minmax,
        E_GL_INTEL_map_texture,
        E_GL_NV_draw_texture,
        E_GL_AMD_interleaved_elements,
        E_GL_NV_bindless_multi_draw_indirect,
        E_GL_NV_blend_equation_advanced,
        E_GL_NV_blend_equation_advanced_coherent,
        E_GL_NV_gpu_program5_mem_extended,
        E_GL_AMD_shader_atomic_counter_ops,
        E_WGL_NV_delay_before_swap,
        E_GL_EXT_shader_integer_mix,
        E_GL_NVX_gpu_memory_info,
        E_GL_EXT_debug_label,
        E_GL_EXT_debug_marker,
        E_GL_INTEL_fragment_shader_ordering,
        E_GL_AMD_occlusion_query_event,
        E_GL_INTEL_performance_query,
        E_GL_AMD_shader_stencil_value_export,
        E_GLX_NV_delay_before_swap,
        E_GLX_MESA_query_renderer,
        E_GL_NV_shader_thread_group,
        E_GL_NV_shader_thread_shuffle,
        E_GL_EXT_shader_image_load_formatted,
        E_GL_AMD_transform_feedback4,
        E_GL_AMD_gpu_shader_int64,
        E_GLX_EXT_stereo_tree,
        E_GL_AMD_gcn_shader,
        E_GL_AMD_framebuffer_sample_positions,
        E_GL_NV_shader_atomic_int64,
        E_GL_NV_bindless_multi_draw_indirect_count,
        E_GLX_NV_copy_buffer,
        E_GL_NV_uniform_buffer_unified_memory,
        E_GL_EXT_polygon_offset_clamp,
        E_GL_EXT_post_depth_coverage,
        E_GL_EXT_raster_multisample,
        E_GL_EXT_sparse_texture2,
        E_GL_EXT_texture_filter_minmax,
        E_GL_NV_conservative_raster,
        E_GL_NV_fill_rectangle,
        E_GL_NV_fragment_coverage_to_color,
        E_GL_NV_fragment_shader_interlock,
        E_GL_NV_framebuffer_mixed_samples,
        E_GL_NV_geometry_shader_passthrough,
        E_GL_NV_path_rendering_shared_edge,
        E_GL_NV_sample_locations,
        E_GL_NV_sample_mask_override_coverage,
        E_GL_NV_shader_atomic_fp16_vector,
        E_GL_NV_internalformat_sample_query,
        E_GL_NV_viewport_array2,
        E_GL_NV_command_list,
        E_GL_OVR_multiview,
        E_GL_OVR_multiview2,
        E_GL_NV_conservative_raster_dilate,
        E_GL_INTEL_framebuffer_CMAA,
        E_GLX_EXT_libglvnd,
        E_GL_NV_viewport_swizzle,
        E_GL_NV_robustness_video_memory_purge,
        E_GL_AMD_shader_explicit_vertex_parameter,
        E_GL_NV_clip_space_w_scaling,
        E_GL_NV_conservative_raster_pre_snap_triangles,
        E_GL_NV_shader_atomic_float64,
        E_GL_NV_stereo_view_rendering,
        E_GL_EXT_window_rectangles,
        E_GL_INTEL_conservative_rasterization,
        E_GL_NVX_blend_equation_advanced_multi_draw_buffers,
        E_GL_NVX_linked_gpu_multicast,
        E_GL_NV_gpu_multicast,
        E_GL_MESA_shader_integer_functions,
        E_GL_AMD_gpu_shader_half_float,
        E_GL_AMD_shader_ballot,
        E_WGL_EXT_colorspace,
        E_GL_SGIX_pixel_texture,
        E_GL_NV_alpha_to_coverage_dither_control,
        E_GL_NV_draw_vulkan_image,
        E_GL_AMD_texture_gather_bias_lod,
        E_GL_EXT_memory_object,
        E_GL_EXT_semaphore,
        E_GL_EXT_memory_object_fd,
        E_GL_EXT_semaphore_fd,
        E_GL_EXT_memory_object_win32,
        E_GL_EXT_semaphore_win32,
        E_GL_EXT_win32_keyed_mutex,
        E_GL_AMD_gpu_shader_int16,
        E_GL_EXT_external_buffer,
        E_GL_NV_texture_rectangle_compressed,
        E_GL_NV_blend_minmax_factor,
        E_GL_NV_query_resource,
        E_GL_NV_query_resource_tag,
        E_GL_AMD_shader_image_load_store_lod,
        E_GLX_MESA_swap_control,
        E_GL_MESA_tile_raster_order,
        E_GL_MESA_program_binary_formats,
        E_GL_NV_conservative_raster_pre_snap,
        E_GL_NV_conservative_raster_underestimation,
        E_GL_AMD_gpu_shader_half_float_fetch,
        E_GL_EXT_shader_framebuffer_fetch,
        E_GL_EXT_shader_framebuffer_fetch_non_coherent,
        E_GL_INTEL_blackhole_render,
        E_GL_EXT_EGL_image_storage,
        E_GL_AMD_framebuffer_multisample_advanced,
        E_GL_NV_memory_attachment,
        E_GL_NV_compute_shader_derivatives,
        E_GL_NV_fragment_shader_barycentric,
        E_GL_NV_mesh_shader,
        E_GL_NV_representative_fragment_test,
        E_GL_NV_scissor_exclusive,
        E_GL_NV_shader_texture_footprint,
        E_GL_NV_shading_rate_image,
        E_WGL_ATI_render_texture_rectangle,
        E_GL_NV_vdpau_interop2,
        E_GL_EXT_texture_sRGB_R8,
        E_GLX_EXT_context_priority,
        E_GL_EXT_multiview_timer_query,
        E_GL_EXT_multiview_texture_multisample,
        E_GL_EXT_multiview_tessellation_geometry_shader,
        E_GL_EXT_texture_shadow_lod,
        E_GL_MESA_framebuffer_flip_y,
        E_GL_NVX_progress_fence,
        E_WGL_NV_multigpu_context,
        E_GL_NVX_gpu_multicast2,
        E_GL_NV_shader_subgroup_partitioned,
        E_GLX_NV_multigpu_context,
        E_GL_EXT_EGL_sync,
        E_GL_INTEL_shader_integer_functions2,
        E_GL_MESA_framebuffer_flip_x,
        E_GL_MESA_framebuffer_swap_xy,
        E_GL_NV_memory_object_sparse,
        E_GL_NV_timeline_semaphore,
        E_GLX_EXT_get_drawable_type,
        E_GLX_EXT_no_config_context,
        E_GL_NV_primitive_shading_rate,
        E_GL_EXT_texture_sRGB_RG8,
        E_GL_EXT_texture_storage,
        E_GL_EXT_framebuffer_blit_layers,
        E_GL_NV_uniform_buffer_std430_layout,
        E_GL_MESA_texture_const_bandwidth
    };
} // namespace MobileGL
