|
|
|
|
@ -311,64 +311,82 @@ namespace ANGLE {
|
|
|
|
|
recognizing both for compatibility: https://github.com/KhronosGroup/WebGL/commit/00b799a56c90f94c1f4cc402f33a281ed9f43e31 */
|
|
|
|
|
_extension(16,EXT,draw_buffers_indexed, GLES300, None) // #45
|
|
|
|
|
#endif |
|
|
|
|
_extension(17,EXT,polygon_offset_clamp, GLES200, None) // #50
|
|
|
|
|
_extension(18,EXT,clip_control, GLES200, None) // #51
|
|
|
|
|
_extension(19,EXT,depth_clamp, GLES200, None) // #52
|
|
|
|
|
/* EXT_conservative_depth (54) not exposed, as there's no corresponding ES
|
|
|
|
|
extension exposed yet either */ |
|
|
|
|
_extension(20,EXT,texture_mirror_clamp_to_edge, GLES200, None) // #62
|
|
|
|
|
} namespace KHR { |
|
|
|
|
_extension(17,KHR,parallel_shader_compile, GLES200, None) // #37
|
|
|
|
|
_extension(21,KHR,parallel_shader_compile, GLES200, None) // #37
|
|
|
|
|
} namespace NV { |
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension(22,NV,shader_noperspective_interpolation, GLES300, None) // #55
|
|
|
|
|
#endif |
|
|
|
|
} namespace OES { |
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension(20,OES,texture_float, GLES200, GLES300) // #1
|
|
|
|
|
_extension(21,OES,texture_half_float, GLES200, GLES300) // #2
|
|
|
|
|
_extension(22,OES,standard_derivatives, GLES200, GLES300) // #4
|
|
|
|
|
_extension(23,OES,vertex_array_object, GLES200, GLES300) // #5
|
|
|
|
|
_extension(24,OES,element_index_uint, GLES200, GLES300) // #10
|
|
|
|
|
_extension(30,OES,texture_float, GLES200, GLES300) // #1
|
|
|
|
|
_extension(31,OES,texture_half_float, GLES200, GLES300) // #2
|
|
|
|
|
_extension(32,OES,standard_derivatives, GLES200, GLES300) // #4
|
|
|
|
|
_extension(33,OES,vertex_array_object, GLES200, GLES300) // #5
|
|
|
|
|
_extension(34,OES,element_index_uint, GLES200, GLES300) // #10
|
|
|
|
|
#endif |
|
|
|
|
_extension(25,OES,texture_float_linear, GLES200, None) // #20
|
|
|
|
|
_extension(35,OES,texture_float_linear, GLES200, None) // #20
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension(26,OES,texture_half_float_linear, GLES200, GLES300) // #21
|
|
|
|
|
_extension(27,OES,fbo_render_mipmap, GLES200, GLES300) // #28
|
|
|
|
|
_extension(36,OES,texture_half_float_linear, GLES200, GLES300) // #21
|
|
|
|
|
_extension(37,OES,fbo_render_mipmap, GLES200, GLES300) // #28
|
|
|
|
|
#endif |
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
/* This one was renamed from EXT_draw_buffers_indexed in March 2020,
|
|
|
|
|
recognizing both for compatibility: https://github.com/KhronosGroup/WebGL/commit/00b799a56c90f94c1f4cc402f33a281ed9f43e31 */
|
|
|
|
|
_extension(28,OES,draw_buffers_indexed, GLES300, None) // #45
|
|
|
|
|
_extension(38,OES,draw_buffers_indexed, GLES300, None) // #45
|
|
|
|
|
#endif |
|
|
|
|
} namespace OVR { |
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension(30,OVR,multiview2, GLES300, None) // #36
|
|
|
|
|
_extension(40,OVR,multiview2, GLES300, None) // #36
|
|
|
|
|
#endif |
|
|
|
|
} namespace WEBGL { |
|
|
|
|
_extension(31,WEBGL,lose_context, GLES200, None) // #3
|
|
|
|
|
_extension(32,WEBGL,debug_renderer_info, GLES200, None) // #6
|
|
|
|
|
_extension(33,WEBGL,debug_shaders, GLES200, None) // #7
|
|
|
|
|
_extension(34,WEBGL,compressed_texture_s3tc, GLES200, None) // #8
|
|
|
|
|
_extension(41,WEBGL,lose_context, GLES200, None) // #3
|
|
|
|
|
_extension(42,WEBGL,debug_renderer_info, GLES200, None) // #6
|
|
|
|
|
_extension(43,WEBGL,debug_shaders, GLES200, None) // #7
|
|
|
|
|
_extension(44,WEBGL,compressed_texture_s3tc, GLES200, None) // #8
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension(35,WEBGL,depth_texture, GLES200, GLES300) // #9
|
|
|
|
|
_extension(45,WEBGL,depth_texture, GLES200, GLES300) // #9
|
|
|
|
|
#endif |
|
|
|
|
_extension(36,WEBGL,compressed_texture_pvrtc, GLES200, None) // #13
|
|
|
|
|
_extension(46,WEBGL,compressed_texture_pvrtc, GLES200, None) // #13
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
/* Subsumed by the EXT_color_buffer_float extension in WebGL 2, so
|
|
|
|
|
not exposing it on WebGL 2 builds even though it's not in core */ |
|
|
|
|
_extension(37,WEBGL,color_buffer_float, GLES200, None) // #14
|
|
|
|
|
_extension(38,WEBGL,draw_buffers, GLES200, GLES300) // #18
|
|
|
|
|
_extension(47,WEBGL,color_buffer_float, GLES200, None) // #14
|
|
|
|
|
_extension(48,WEBGL,draw_buffers, GLES200, GLES300) // #18
|
|
|
|
|
#endif |
|
|
|
|
/* WEBGL_compressed_texture_etc1 (24) not exposed as the ES
|
|
|
|
|
OES_compressed_ETC1_RGB8_texture extension isn't exposed either */ |
|
|
|
|
_extension(39,WEBGL,compressed_texture_etc, GLES200, None) // #29
|
|
|
|
|
_extension(40,WEBGL,compressed_texture_astc, GLES200, None) // #30
|
|
|
|
|
_extension(41,WEBGL,compressed_texture_s3tc_srgb, GLES200, None) // #32
|
|
|
|
|
_extension(42,WEBGL,multi_draw, GLES200, None) // #40
|
|
|
|
|
_extension(43,WEBGL,blend_equation_advanced_coherent,GLES200,None) // #42
|
|
|
|
|
_extension(49,WEBGL,compressed_texture_etc, GLES200, None) // #29
|
|
|
|
|
_extension(50,WEBGL,compressed_texture_astc, GLES200, None) // #30
|
|
|
|
|
_extension(51,WEBGL,compressed_texture_s3tc_srgb, GLES200, None) // #32
|
|
|
|
|
_extension(52,WEBGL,multi_draw, GLES200, None) // #40
|
|
|
|
|
_extension(53,WEBGL,blend_equation_advanced_coherent,GLES200,None) // #42
|
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
/* This one was renamed from EXT_clip_cull_distance in January 2023,
|
|
|
|
|
recognizing both for compatibility: https://github.com/KhronosGroup/WebGL/commit/c06fc8230ce4b1748be89ce3279cbe5348c9c9c9 */
|
|
|
|
|
_extension(44,WEBGL,clip_cull_distance, GLES300, None) // #43
|
|
|
|
|
_extension(54,WEBGL,clip_cull_distance, GLES300, None) // #43
|
|
|
|
|
#endif |
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension(55,WEBGL,draw_instanced_base_vertex_base_instance,GLES300,None) // #46
|
|
|
|
|
_extension(56,WEBGL,multi_draw_instanced_base_vertex_base_instance,GLES300,None) // #47
|
|
|
|
|
_extension(57,WEBGL,provoking_vertex, GLES300, None) // #48
|
|
|
|
|
#endif |
|
|
|
|
_extension(58,WEBGL,polygon_mode, GLES200, None) // #53
|
|
|
|
|
_extension(59,WEBGL,blend_func_extended, GLES200, None) // #58
|
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension(45,WEBGL,draw_instanced_base_vertex_base_instance,GLES300,None) // #46
|
|
|
|
|
_extension(46,WEBGL,multi_draw_instanced_base_vertex_base_instance,GLES300,None) // #47
|
|
|
|
|
/* WEBGL_render_shared_exponent (60) not exposed, as the ES
|
|
|
|
|
QCOM_render_shared_exponent extension isn't exposed yet either */ |
|
|
|
|
_extension(60,WEBGL,stencil_texturing, GLES300, None) // #61
|
|
|
|
|
#endif |
|
|
|
|
} namespace MAGNUM { |
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension(47,MAGNUM,shader_vertex_id, GLES300, GLES300) |
|
|
|
|
_extension(61,MAGNUM,shader_vertex_id, GLES300, GLES300) |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
#else |
|
|
|
|
@ -399,119 +417,128 @@ namespace ANDROID {
|
|
|
|
|
_extension( 10,ANGLE,base_vertex_base_instance, GLES300, None) // #???
|
|
|
|
|
#endif |
|
|
|
|
_extension( 11,ANGLE,compressed_texture_etc, GLES200, None) // #???
|
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 12,ANGLE,provoking_vertex, GLES300, None) // #???
|
|
|
|
|
#endif |
|
|
|
|
_extension( 13,ANGLE,polygon_mode, GLES200, None) // #???
|
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 14,ANGLE,stencil_texturing, GLES300, None) // #???
|
|
|
|
|
#endif |
|
|
|
|
} namespace APPLE { |
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 12,APPLE,framebuffer_multisample, GLES200, GLES300) // #78
|
|
|
|
|
_extension( 20,APPLE,framebuffer_multisample, GLES200, GLES300) // #78
|
|
|
|
|
#endif |
|
|
|
|
_extension( 13,APPLE,texture_format_BGRA8888, GLES200, None) // #79
|
|
|
|
|
_extension( 21,APPLE,texture_format_BGRA8888, GLES200, None) // #79
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 14,APPLE,texture_max_level, GLES200, GLES300) // #80
|
|
|
|
|
_extension( 22,APPLE,texture_max_level, GLES200, GLES300) // #80
|
|
|
|
|
#endif |
|
|
|
|
_extension( 15,APPLE,clip_distance, GLES200, None) // #193
|
|
|
|
|
_extension( 23,APPLE,clip_distance, GLES200, None) // #193
|
|
|
|
|
} namespace ARM { |
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 16,ARM,rgba8, GLES200, GLES300) // #82
|
|
|
|
|
_extension( 24,ARM,rgba8, GLES200, GLES300) // #82
|
|
|
|
|
#endif |
|
|
|
|
_extension( 17,ARM,shader_framebuffer_fetch, GLES200, None) // #165
|
|
|
|
|
_extension( 18,ARM,shader_framebuffer_fetch_depth_stencil, GLES200, None) // #166
|
|
|
|
|
_extension( 25,ARM,shader_framebuffer_fetch, GLES200, None) // #165
|
|
|
|
|
_extension( 26,ARM,shader_framebuffer_fetch_depth_stencil, GLES200, None) // #166
|
|
|
|
|
} namespace EXT { |
|
|
|
|
_extension( 19,EXT,texture_filter_anisotropic, GLES200, None) // #41
|
|
|
|
|
_extension( 30,EXT,texture_filter_anisotropic, GLES200, None) // #41
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 20,EXT,texture_type_2_10_10_10_REV, GLES200, GLES300) // #42
|
|
|
|
|
_extension( 31,EXT,texture_type_2_10_10_10_REV, GLES200, GLES300) // #42
|
|
|
|
|
#endif |
|
|
|
|
_extension( 21,EXT,texture_compression_dxt1, GLES200, None) // #49
|
|
|
|
|
_extension( 22,EXT,texture_format_BGRA8888, GLES200, None) // #51
|
|
|
|
|
_extension( 32,EXT,texture_compression_dxt1, GLES200, None) // #49
|
|
|
|
|
_extension( 33,EXT,texture_format_BGRA8888, GLES200, None) // #51
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 23,EXT,discard_framebuffer, GLES200, GLES300) // #64
|
|
|
|
|
_extension( 24,EXT,blend_minmax, GLES200, GLES300) // #65
|
|
|
|
|
_extension( 34,EXT,discard_framebuffer, GLES200, GLES300) // #64
|
|
|
|
|
_extension( 35,EXT,blend_minmax, GLES200, GLES300) // #65
|
|
|
|
|
#endif |
|
|
|
|
_extension( 25,EXT,read_format_bgra, GLES200, None) // #66
|
|
|
|
|
_extension( 26,EXT,multi_draw_arrays, GLES200, None) // #67
|
|
|
|
|
_extension( 36,EXT,read_format_bgra, GLES200, None) // #66
|
|
|
|
|
_extension( 37,EXT,multi_draw_arrays, GLES200, None) // #67
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 27,EXT,shader_texture_lod, GLES200, GLES300) // #77
|
|
|
|
|
_extension( 28,EXT,unpack_subimage, GLES200, GLES300) // #90
|
|
|
|
|
_extension( 38,EXT,shader_texture_lod, GLES200, GLES300) // #77
|
|
|
|
|
_extension( 39,EXT,unpack_subimage, GLES200, GLES300) // #90
|
|
|
|
|
#endif |
|
|
|
|
_extension( 29,EXT,color_buffer_half_float, GLES200, GLES320) // #97
|
|
|
|
|
_extension( 30,EXT,debug_label, GLES200, None) // #98
|
|
|
|
|
_extension( 31,EXT,debug_marker, GLES200, None) // #99
|
|
|
|
|
_extension( 40,EXT,color_buffer_half_float, GLES200, GLES320) // #97
|
|
|
|
|
_extension( 41,EXT,debug_label, GLES200, None) // #98
|
|
|
|
|
_extension( 42,EXT,debug_marker, GLES200, None) // #99
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 32,EXT,occlusion_query_boolean, GLES200, GLES300) // #100
|
|
|
|
|
_extension( 43,EXT,occlusion_query_boolean, GLES200, GLES300) // #100
|
|
|
|
|
#endif |
|
|
|
|
_extension( 33,EXT,separate_shader_objects, GLES200, None) // #101
|
|
|
|
|
_extension( 44,EXT,separate_shader_objects, GLES200, None) // #101
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 34,EXT,shadow_samplers, GLES200, GLES300) // #102
|
|
|
|
|
_extension( 35,EXT,texture_rg, GLES200, GLES300) // #103
|
|
|
|
|
_extension( 36,EXT,sRGB, GLES200, GLES300) // #105
|
|
|
|
|
_extension( 45,EXT,shadow_samplers, GLES200, GLES300) // #102
|
|
|
|
|
_extension( 46,EXT,texture_rg, GLES200, GLES300) // #103
|
|
|
|
|
_extension( 47,EXT,sRGB, GLES200, GLES300) // #105
|
|
|
|
|
#endif |
|
|
|
|
_extension( 37,EXT,multisampled_render_to_texture, GLES200, None) // #106
|
|
|
|
|
_extension( 38,EXT,robustness, GLES200, None) // #107
|
|
|
|
|
_extension( 48,EXT,multisampled_render_to_texture, GLES200, None) // #106
|
|
|
|
|
_extension( 49,EXT,robustness, GLES200, None) // #107
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 39,EXT,texture_storage, GLES200, GLES300) // #108
|
|
|
|
|
_extension( 40,EXT,map_buffer_range, GLES200, GLES300) // #121
|
|
|
|
|
_extension( 50,EXT,texture_storage, GLES200, GLES300) // #108
|
|
|
|
|
_extension( 51,EXT,map_buffer_range, GLES200, GLES300) // #121
|
|
|
|
|
#endif |
|
|
|
|
_extension( 41,EXT,shader_framebuffer_fetch, GLES200, None) // #122
|
|
|
|
|
_extension( 52,EXT,shader_framebuffer_fetch, GLES200, None) // #122
|
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 42,EXT,color_buffer_float, GLES300, GLES320) // #137
|
|
|
|
|
_extension( 53,EXT,color_buffer_float, GLES300, GLES320) // #137
|
|
|
|
|
#endif |
|
|
|
|
_extension( 43,EXT,disjoint_timer_query, GLES200, None) // #150
|
|
|
|
|
_extension( 54,EXT,disjoint_timer_query, GLES200, None) // #150
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 44,EXT,draw_buffers, GLES200, GLES300) // #151
|
|
|
|
|
_extension( 55,EXT,draw_buffers, GLES200, GLES300) // #151
|
|
|
|
|
#endif |
|
|
|
|
_extension( 45,EXT,texture_sRGB_decode, GLES200, None) // #152
|
|
|
|
|
_extension( 46,EXT,sRGB_write_control, GLES200, None) // #153
|
|
|
|
|
_extension( 47,EXT,texture_compression_s3tc, GLES200, None) // #154
|
|
|
|
|
_extension( 48,EXT,pvrtc_sRGB, GLES200, None) // #155
|
|
|
|
|
_extension( 56,EXT,texture_sRGB_decode, GLES200, None) // #152
|
|
|
|
|
_extension( 57,EXT,sRGB_write_control, GLES200, None) // #153
|
|
|
|
|
_extension( 58,EXT,texture_compression_s3tc, GLES200, None) // #154
|
|
|
|
|
_extension( 59,EXT,pvrtc_sRGB, GLES200, None) // #155
|
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 49,EXT,instanced_arrays, GLES200, GLES300) // #156
|
|
|
|
|
_extension( 50,EXT,draw_instanced, GLES200, GLES300) // #157
|
|
|
|
|
_extension( 60,EXT,instanced_arrays, GLES200, GLES300) // #156
|
|
|
|
|
_extension( 61,EXT,draw_instanced, GLES200, GLES300) // #157
|
|
|
|
|
#endif |
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 51,EXT,shader_integer_mix, GLES300, None) // #161
|
|
|
|
|
_extension( 52,EXT,copy_image, GLES300, GLES320) // #175
|
|
|
|
|
_extension( 62,EXT,shader_integer_mix, GLES300, None) // #161
|
|
|
|
|
_extension( 63,EXT,copy_image, GLES300, GLES320) // #175
|
|
|
|
|
#endif |
|
|
|
|
_extension( 53,EXT,draw_buffers_indexed, GLES200, GLES320) // #176
|
|
|
|
|
_extension( 64,EXT,draw_buffers_indexed, GLES200, GLES320) // #176
|
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 54,EXT,geometry_shader, GLES310, GLES320) // #177
|
|
|
|
|
_extension( 55,EXT,gpu_shader5, GLES310, GLES320) // #178
|
|
|
|
|
_extension( 56,EXT,shader_io_blocks, GLES310, GLES320) // #180
|
|
|
|
|
_extension( 57,EXT,tessellation_shader, GLES310, GLES320) // #181
|
|
|
|
|
_extension( 65,EXT,geometry_shader, GLES310, GLES320) // #177
|
|
|
|
|
_extension( 66,EXT,gpu_shader5, GLES310, GLES320) // #178
|
|
|
|
|
_extension( 67,EXT,shader_io_blocks, GLES310, GLES320) // #180
|
|
|
|
|
_extension( 68,EXT,tessellation_shader, GLES310, GLES320) // #181
|
|
|
|
|
#endif |
|
|
|
|
_extension( 58,EXT,texture_border_clamp, GLES200, GLES320) // #182
|
|
|
|
|
_extension( 69,EXT,texture_border_clamp, GLES200, GLES320) // #182
|
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 59,EXT,texture_buffer, GLES310, GLES320) // #183
|
|
|
|
|
_extension( 60,EXT,texture_cube_map_array, GLES310, GLES320) // #184
|
|
|
|
|
_extension( 61,EXT,texture_view, GLES310, None) // #185
|
|
|
|
|
_extension( 62,EXT,primitive_bounding_box, GLES310, GLES320) // #186
|
|
|
|
|
_extension( 70,EXT,texture_buffer, GLES310, GLES320) // #183
|
|
|
|
|
_extension( 71,EXT,texture_cube_map_array, GLES310, GLES320) // #184
|
|
|
|
|
_extension( 72,EXT,texture_view, GLES310, None) // #185
|
|
|
|
|
_extension( 73,EXT,primitive_bounding_box, GLES310, GLES320) // #186
|
|
|
|
|
#endif |
|
|
|
|
_extension( 63,EXT,draw_elements_base_vertex, GLES200, None) // #204
|
|
|
|
|
_extension( 74,EXT,draw_elements_base_vertex, GLES200, None) // #204
|
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 64,EXT,texture_norm16, GLES310, None) // #207
|
|
|
|
|
_extension( 65,EXT,texture_sRGB_R8, GLES300, None) // #221
|
|
|
|
|
_extension( 66,EXT,texture_sRGB_RG8, GLES300, None) // #223
|
|
|
|
|
_extension( 75,EXT,texture_norm16, GLES310, None) // #207
|
|
|
|
|
_extension( 76,EXT,texture_sRGB_R8, GLES300, None) // #221
|
|
|
|
|
_extension( 77,EXT,texture_sRGB_RG8, GLES300, None) // #223
|
|
|
|
|
#endif |
|
|
|
|
_extension( 67,EXT,polygon_offset_clamp, GLES200, None) // #252
|
|
|
|
|
_extension( 78,EXT,blend_func_extended, GLES200, None) // #247
|
|
|
|
|
_extension( 79,EXT,polygon_offset_clamp, GLES200, None) // #252
|
|
|
|
|
#ifndef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension( 68,EXT,clip_cull_distance, GLES300, None) // #257
|
|
|
|
|
_extension( 69,EXT,texture_compression_rgtc, GLES300, None) // #286
|
|
|
|
|
_extension( 70,EXT,texture_compression_bptc, GLES300, None) // #287
|
|
|
|
|
#endif |
|
|
|
|
_extension( 71,EXT,texture_compression_s3tc_srgb, GLES200, None) // #289
|
|
|
|
|
_extension( 72,EXT,clip_control, GLES200, None) // #290
|
|
|
|
|
_extension( 73,EXT,depth_clamp, GLES200, None) // #309
|
|
|
|
|
_extension( 80,EXT,clip_cull_distance, GLES300, None) // #257
|
|
|
|
|
_extension( 81,EXT,texture_compression_rgtc, GLES300, None) // #286
|
|
|
|
|
_extension( 82,EXT,texture_compression_bptc, GLES300, None) // #287
|
|
|
|
|
#endif |
|
|
|
|
_extension( 83,EXT,texture_compression_s3tc_srgb, GLES200, None) // #289
|
|
|
|
|
_extension( 84,EXT,clip_control, GLES200, None) // #290
|
|
|
|
|
_extension( 85,EXT,texture_mirror_clamp_to_edge, GLES200, None) // #291
|
|
|
|
|
_extension( 86,EXT,depth_clamp, GLES200, None) // #309
|
|
|
|
|
} namespace IMG { |
|
|
|
|
_extension( 74,IMG,texture_compression_pvrtc, GLES200, None) // #54
|
|
|
|
|
_extension( 87,IMG,texture_compression_pvrtc, GLES200, None) // #54
|
|
|
|
|
} namespace KHR { |
|
|
|
|
_extension( 80,KHR,texture_compression_astc_ldr,GLES200, GLES320) // #117
|
|
|
|
|
_extension( 81,KHR,texture_compression_astc_hdr,GLES200, None) // #117
|
|
|
|
|
_extension( 82,KHR,debug, GLES200, GLES320) // #118
|
|
|
|
|
_extension( 83,KHR,blend_equation_advanced, GLES200, GLES320) // #168
|
|
|
|
|
_extension( 84,KHR,blend_equation_advanced_coherent, GLES200, None) // #168
|
|
|
|
|
_extension( 85,KHR,robustness, GLES200, GLES320) // #170
|
|
|
|
|
_extension( 86,KHR,robust_buffer_access_behavior, GLES200, GLES320) // #189
|
|
|
|
|
_extension( 87,KHR,context_flush_control, GLES200, None) // #191
|
|
|
|
|
_extension( 88,KHR,no_error, GLES200, None) // #243
|
|
|
|
|
_extension( 89,KHR,texture_compression_astc_sliced_3d, GLES200, None) // #249
|
|
|
|
|
_extension( 90,KHR,parallel_shader_compile, GLES200, None) // #288
|
|
|
|
|
_extension( 89,KHR,texture_compression_astc_ldr,GLES200, GLES320) // #117
|
|
|
|
|
_extension( 90,KHR,texture_compression_astc_hdr,GLES200, None) // #117
|
|
|
|
|
_extension( 91,KHR,debug, GLES200, GLES320) // #118
|
|
|
|
|
_extension( 92,KHR,blend_equation_advanced, GLES200, GLES320) // #168
|
|
|
|
|
_extension( 93,KHR,blend_equation_advanced_coherent, GLES200, None) // #168
|
|
|
|
|
_extension( 94,KHR,robustness, GLES200, GLES320) // #170
|
|
|
|
|
_extension( 95,KHR,robust_buffer_access_behavior, GLES200, GLES320) // #189
|
|
|
|
|
_extension( 96,KHR,context_flush_control, GLES200, None) // #191
|
|
|
|
|
_extension( 97,KHR,no_error, GLES200, None) // #243
|
|
|
|
|
_extension( 98,KHR,texture_compression_astc_sliced_3d, GLES200, None) // #249
|
|
|
|
|
_extension( 99,KHR,parallel_shader_compile, GLES200, None) // #288
|
|
|
|
|
} namespace NV { |
|
|
|
|
#ifdef MAGNUM_TARGET_GLES2 |
|
|
|
|
_extension(100,NV,draw_buffers, GLES200, GLES300) // #91
|
|
|
|
|
|