# The following output is taken from `magnum-gl-info` with removed `GL_`
# prefixes. Some extensions are comented out as they don't add any symbols
# that aren't already added by headers and would only bloat the headers.

version 2.0 es

extension ANGLE_framebuffer_blit                optional
extension ANGLE_framebuffer_multisample         optional
extension ANGLE_instanced_arrays                optional
extension ANGLE_depth_texture                   optional
extension APPLE_framebuffer_multisample         optional
extension APPLE_texture_max_level               optional
extension APPLE_clip_distance                   optional
extension ARM_rgba8                             optional
extension EXT_texture_type_2_10_10_10_REV       optional
extension EXT_discard_framebuffer               optional
extension EXT_blend_minmax                      optional
extension EXT_shader_texture_lod                optional
extension EXT_unpack_subimage                   optional
extension EXT_occlusion_query_boolean           optional
extension EXT_shadow_samplers                   optional
extension EXT_texture_rg                        optional
extension EXT_sRGB                              optional
extension EXT_texture_storage                   optional
extension EXT_map_buffer_range                  optional
extension EXT_draw_buffers                      optional
extension EXT_instanced_arrays                  optional
extension EXT_draw_instanced                    optional
extension NV_draw_buffers                       optional
# extension NV_fbo_color_attachments            optional
extension NV_read_buffer                        optional
extension NV_pack_subimage                      optional
extension NV_draw_instanced                     optional
extension NV_framebuffer_blit                   optional
extension NV_framebuffer_multisample            optional
extension NV_instanced_arrays                   optional
extension NV_shadow_samplers_array              optional
extension NV_shadow_samplers_cube               optional
extension OES_depth24                           optional
extension OES_element_index_uint                optional
extension OES_fbo_render_mipmap                 optional
extension OES_rgb8_rgba8                        optional
extension OES_texture_3D                        optional
extension OES_texture_half_float_linear         optional
extension OES_texture_float_linear              optional
extension OES_texture_half_float                optional
extension OES_texture_float                     optional
extension OES_texture_npot                      optional
extension OES_vertex_half_float                 optional
extension OES_packed_depth_stencil              optional
extension OES_depth_texture                     optional
extension OES_standard_derivatives              optional
extension OES_vertex_array_object               optional
extension OES_required_internalformat           optional
extension OES_surfaceless_context               optional

extension EXT_color_buffer_half_float           optional
extension EXT_color_buffer_float                optional
extension EXT_draw_buffers_indexed              optional
extension EXT_texture_border_clamp              optional
extension KHR_texture_compression_astc_ldr      optional
extension KHR_debug                             optional
extension KHR_blend_equation_advanced           optional
extension KHR_robustness                        optional
extension KHR_robust_buffer_access_behavior     optional
extension OES_texture_stencil8                  optional

# extension ANGLE_texture_compression_dxt1      optional
# extension ANGLE_texture_compression_dxt3      optional
# extension ANGLE_texture_compression_dxt5      optional
extension APPLE_texture_format_BGRA8888         optional
extension ARM_shader_framebuffer_fetch          optional
extension ARM_shader_framebuffer_fetch_depth_stencil optional
extension EXT_texture_filter_anisotropic        optional
# extension EXT_texture_compression_dxt1        optional
extension EXT_texture_format_BGRA8888           optional
extension EXT_read_format_bgra                  optional
extension EXT_multi_draw_arrays                 optional
extension EXT_debug_label                       optional
extension EXT_debug_marker                      optional
extension EXT_separate_shader_objects           optional
extension EXT_multisampled_render_to_texture    optional
extension EXT_robustness                        optional
extension EXT_shader_framebuffer_fetch          optional
extension EXT_disjoint_timer_query              optional
extension EXT_texture_sRGB_decode               optional
extension EXT_sRGB_write_control                optional
extension EXT_texture_compression_s3tc          optional
extension EXT_pvrtc_sRGB                        optional
extension EXT_texture_sRGB_R8                   optional
extension EXT_texture_sRGB_RG8                  optional
extension EXT_polygon_offset_clamp              optional
extension EXT_texture_compression_s3tc_srgb     optional
extension IMG_texture_compression_pvrtc         optional
# extension KHR_texture_compression_astc_hdr    optional
extension KHR_blend_equation_advanced_coherent  optional
extension KHR_context_flush_control             optional
extension KHR_no_error                          optional
# extension KHR_texture_compression_astc_sliced_3d optional
extension NV_read_buffer_front                  optional
extension NV_read_depth                         optional
extension NV_read_stencil                       optional
extension NV_read_depth_stencil                 optional
extension NV_texture_border_clamp               optional
extension NV_sample_locations                   optional
extension NV_polygon_mode                       optional
extension OES_depth32                           optional
extension OES_mapbuffer                         optional
extension OES_stencil1                          optional
extension OES_stencil4                          optional

begin functions blacklist
    # These are listed in EXT_separate_shader_objects with only the comment
    # saying "Depends on OpenGL ES 3.0 or GL_NV_non_square_matrices". No way to
    # parse that so I have to disable them manually. iOS extension header
    # doesn't provide these for GLES2.
    ProgramUniform1uiEXT
    ProgramUniform2uiEXT
    ProgramUniform3uiEXT
    ProgramUniform4uiEXT
    ProgramUniform1uivEXT
    ProgramUniform2uivEXT
    ProgramUniform3uivEXT
    ProgramUniform4uivEXT
    ProgramUniformMatrix2x3fvEXT
    ProgramUniformMatrix3x2fvEXT
    ProgramUniformMatrix2x4fvEXT
    ProgramUniformMatrix4x2fvEXT
    ProgramUniformMatrix3x4fvEXT
    ProgramUniformMatrix4x3fvEXT

    # These are listed in EXT_texture_storage with a comment saying "Not clear
    # all of these enums should be here for OpenGL ES. Many are only defined if
    # other extensions also requiring them are supported". iOS extension header
    # doesn't provide this one and TexStorage3DEXT, however I need the 3D for
    # OES_texture_3D so I'm having an ugly workaround in flextGLPlatformIOS.cpp.
    TexStorage1DEXT

    # These are listed in EXT_texture_storage with a comment saying "Supported
    # only if GL_EXT_direct_state_access is supported". Again impossible to
    # parse so I have to disable them manually. iOS extension header doesn't
    # provide these for GLES2.
    TextureStorage1DEXT
    TextureStorage2DEXT
    TextureStorage3DEXT
end functions blacklist

# kate: hl python
