I'd like to ignore GL version and extension requirements in extensions, because they are sometimes added due to laziness of extension authors and the requirements can be unreasonable.
Marek On Sat, May 19, 2018 at 9:18 AM, Benedikt Schemmer <b...@besd.de> wrote: > These are just a few extensions for which I had the specifications handy, > to > get a feel for what this might look like. > > It's already been pointed out that applications might fail because of this. > > (I haven't found an application that does yet but I can only test on > 64-bit) > The argument for this change would be that its ok if the application fails > because it does something unexpected and its better to let it explicitly > fail > and create a workaround for it than to just silently hope that everything > is > going to be alright. > > CC: "Marek Olšák" <mar...@gmail.com> > CC: Eric Anholt <e...@anholt.net> > CC: Emil Velikov <emil.l.veli...@gmail.com> > CC: Timothy Arceri <tarc...@itsqueeze.com> > CC: Ilia Mirkin <imir...@alum.mit.edu> > > Signed-off-by: Benedikt Schemmer <b...@besd.de> > --- > src/mesa/main/extensions_table.h | 98 ++++++++++++++++++++++-------- > ---------- > 1 file changed, 53 insertions(+), 45 deletions(-) > > diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_ > table.h > index 931e0d4d33..6e3bdbe99c 100644 > --- a/src/mesa/main/extensions_table.h > +++ b/src/mesa/main/extensions_table.h > @@ -6,7 +6,8 @@ > #define ANYES2 0 > #define x ~0 > > -//EXT(name_str , driver_cap > ,GLL_ver,GLC_ver, gles_ver, glES2_ver, yyyy) > +//highest GLL_ver = 46, lowest GLC_ver = 30 > +//EXT(name_str , driver_cap > ,GLL_ver,GLC_ver, gles_ver, glES2_ver, year) > EXT(3DFX_texture_compression_FXT1 , > TDFX_texture_compression_FXT1 , ANYGLL, ANYGLC, x , x , > 1999) > > EXT(AMD_conservative_depth , ARB_conservative_depth > , ANYGLL, ANYGLC, x , x , 2009) > @@ -31,60 +32,62 @@ EXT(APPLE_texture_max_level , > dummy_true > EXT(ARB_ES2_compatibility , ARB_ES2_compatibility > , ANYGLL, ANYGLC, x , x , 2009) > EXT(ARB_ES3_1_compatibility , ARB_ES3_1_compatibility > , x , ANYGLC, x , x , 2014) > EXT(ARB_ES3_2_compatibility , ARB_ES3_2_compatibility > , x , ANYGLC, x , x , 2015) > -EXT(ARB_ES3_compatibility , ARB_ES3_compatibility > , ANYGLL, ANYGLC, x , x , 2012) > -EXT(ARB_arrays_of_arrays , ARB_arrays_of_arrays > , ANYGLL, ANYGLC, x , x , 2012) > +EXT(ARB_ES3_compatibility , ARB_ES3_compatibility > , 33 , 33 , x , x , 2012) // requires > ARB_ES2_compatibility, ARB_invalidate_subdata, ARB_texture_storage, > OES_compressed_* > +EXT(ARB_arrays_of_arrays , ARB_arrays_of_arrays > , 12 , 12 , x , x , 2012) > EXT(ARB_base_instance , ARB_base_instance > , ANYGLL, ANYGLC, x , x , 2011) > EXT(ARB_bindless_texture , ARB_bindless_texture > , ANYGLL, ANYGLC, x , x , 2013) > EXT(ARB_blend_func_extended , ARB_blend_func_extended > , ANYGLL, ANYGLC, x , x , 2009) > EXT(ARB_buffer_storage , ARB_buffer_storage > , ANYGLL, ANYGLC, x , x , 2013) > +//EXT(ARB_cl_event , ARB_cl_event > , 31 , 31 , x , x , 2013) // requires GL_ARB_sync > EXT(ARB_clear_buffer_object , dummy_true > , ANYGLL, ANYGLC, x , x , 2012) > EXT(ARB_clear_texture , ARB_clear_texture > , ANYGLL, ANYGLC, x , x , 2013) > EXT(ARB_clip_control , ARB_clip_control > , ANYGLL, ANYGLC, x , x , 2014) > EXT(ARB_color_buffer_float , ARB_color_buffer_float > , ANYGLL, ANYGLC, x , x , 2004) > EXT(ARB_compatibility , ARB_compatibility > , ANYGLL, x , x , x , 2009) > EXT(ARB_compressed_texture_pixel_storage , dummy_true > , ANYGLL, ANYGLC, x , x , 2011) > -EXT(ARB_compute_shader , ARB_compute_shader > , ANYGLL, ANYGLC, x , x , 2012) > -EXT(ARB_compute_variable_group_size , ARB_compute_variable_group_size > , ANYGLL, ANYGLC, x , x , 2013) > +EXT(ARB_compute_shader , ARB_compute_shader > , 42 , 42 , x , x , 2012) > +EXT(ARB_compute_variable_group_size , ARB_compute_variable_group_size > , 42 , 42 , x , x , 2013) //or ARB compute shader > EXT(ARB_conditional_render_inverted , ARB_conditional_render_inverted > , ANYGLL, ANYGLC, x , x , 2014) > EXT(ARB_conservative_depth , ARB_conservative_depth > , ANYGLL, ANYGLC, x , x , 2011) > EXT(ARB_copy_buffer , dummy_true > , ANYGLL, ANYGLC, x , x , 2008) > -EXT(ARB_copy_image , ARB_copy_image > , ANYGLL, ANYGLC, x , x , 2012) > -EXT(ARB_cull_distance , ARB_cull_distance > , ANYGLL, ANYGLC, x , x , 2014) > -EXT(ARB_debug_output , dummy_true > , ANYGLL, ANYGLC, x , x , 2009) > +EXT(ARB_copy_image , ARB_copy_image > , 11 , 11 , x , x , 2012) > +EXT(ARB_cull_distance , ARB_cull_distance > , 30 , 30 , x , x , 2014) > +EXT(ARB_debug_output , dummy_true > , 11 , 11 , x , x , 2009) > EXT(ARB_depth_buffer_float , ARB_depth_buffer_float > , ANYGLL, ANYGLC, x , x , 2008) > EXT(ARB_depth_clamp , ARB_depth_clamp > , ANYGLL, ANYGLC, x , x , 2003) > -EXT(ARB_depth_texture , ARB_depth_texture > , ANYGLL, x , x , x , 2001) > -EXT(ARB_derivative_control , ARB_derivative_control > , ANYGLL, ANYGLC, x , x , 2014) > -EXT(ARB_direct_state_access , dummy_true > , x , ANYGLC, x , x , 2014) > +EXT(ARB_depth_texture , ARB_depth_texture > , 11 , x , x , x , 2001) > +EXT(ARB_derivative_control , ARB_derivative_control > , 40 , 40 , x , x , 2014) > +EXT(ARB_direct_state_access , dummy_true > , x , 20 , x , x , 2014) > EXT(ARB_draw_buffers , dummy_true > , ANYGLL, ANYGLC, x , x , 2002) > EXT(ARB_draw_buffers_blend , ARB_draw_buffers_blend > , ANYGLL, ANYGLC, x , x , 2009) > EXT(ARB_draw_elements_base_vertex , > ARB_draw_elements_base_vertex , ANYGLL, ANYGLC, x , x , > 2009) > EXT(ARB_draw_indirect , ARB_draw_indirect > , x , ANYGLC, x , x , 2010) > -EXT(ARB_draw_instanced , ARB_draw_instanced > , ANYGLL, ANYGLC, x , x , 2008) > -EXT(ARB_enhanced_layouts , ARB_enhanced_layouts > , ANYGLL, ANYGLC, x , x , 2013) > -EXT(ARB_explicit_attrib_location , > ARB_explicit_attrib_location , ANYGLL, ANYGLC, x , x , > 2009) > +EXT(ARB_draw_instanced , ARB_draw_instanced > , 20 , 20 , x , x , 2008) // EXT_gpu_shader4 or > NV_vertex_program4 or OpenGL 3.0 is required > +EXT(ARB_enhanced_layouts , ARB_enhanced_layouts > , 31 , 31 , x , x , 2013) > +EXT(ARB_explicit_attrib_location , > ARB_explicit_attrib_location , ANYGLL, ANYGLC, x , x , > 2009) //GL_ARB_vertex_shader is always available > EXT(ARB_explicit_uniform_location , > ARB_explicit_uniform_location , ANYGLL, ANYGLC, x , x , > 2012) > EXT(ARB_fragment_coord_conventions , > ARB_fragment_coord_conventions , ANYGLL, ANYGLC, x , x , > 2009) > EXT(ARB_fragment_layer_viewport , > ARB_fragment_layer_viewport , x , ANYGLC, x , x , > 2012) > EXT(ARB_fragment_program , ARB_fragment_program > , ANYGLL, x , x , x , 2002) > EXT(ARB_fragment_program_shadow , > ARB_fragment_program_shadow , ANYGLL, x , x , x , > 2003) > EXT(ARB_fragment_shader , ARB_fragment_shader > , ANYGLL, ANYGLC, x , x , 2002) > -EXT(ARB_framebuffer_no_attachments , > ARB_framebuffer_no_attachments , ANYGLL, ANYGLC, x , x , > 2012) > -EXT(ARB_framebuffer_object , ARB_framebuffer_object > , ANYGLL, ANYGLC, x , x , 2005) > +//EXT(ARB_fragment_shader_interlock , > ARB_fragment_shader_interlock , 42 , 42 , x , x , > 2015) > +EXT(ARB_framebuffer_no_attachments , > ARB_framebuffer_no_attachments , 11 , 11 , x , x , > 2012) // requires ARB_framebuffer_object > +EXT(ARB_framebuffer_object , ARB_framebuffer_object > , 11 , 11 , x , x , 2005) > EXT(ARB_framebuffer_sRGB , EXT_framebuffer_sRGB > , ANYGLL, ANYGLC, x , x , 1998) > EXT(ARB_get_program_binary , dummy_true > , ANYGLL, ANYGLC, x , x , 2010) > -EXT(ARB_get_texture_sub_image , dummy_true > , ANYGLL, ANYGLC, x , x , 2014) > -EXT(ARB_gl_spirv , ARB_gl_spirv > , x , ANYGLC, x , x , 2016) > -EXT(ARB_gpu_shader5 , ARB_gpu_shader5 > , 32 , 40 , x , x , 2010) > -EXT(ARB_gpu_shader_fp64 , ARB_gpu_shader_fp64 > , x , ANYGLC, x , x , 2010) > -EXT(ARB_gpu_shader_int64 , ARB_gpu_shader_int64 > , x , ANYGLC, x , x , 2015) > -EXT(ARB_half_float_pixel , dummy_true > , ANYGLL, ANYGLC, x , x , 2003) > +EXT(ARB_get_texture_sub_image , dummy_true > , 20 , 20 , x , x , 2014) > +EXT(ARB_gl_spirv , ARB_gl_spirv > , x , 33 , x , x , 2016) > +EXT(ARB_gpu_shader5 , ARB_gpu_shader5 > , 30 , 30 , x , x , 2010) > +EXT(ARB_gpu_shader_fp64 , ARB_gpu_shader_fp64 > , 32 , 32 , x , x , 2010) > +EXT(ARB_gpu_shader_int64 , ARB_gpu_shader_int64 > , x , 40 , x , x , 2015) > +EXT(ARB_half_float_pixel , dummy_true > , 15 , 15 , x , x , 2003) > EXT(ARB_half_float_vertex , ARB_half_float_vertex > , ANYGLL, ANYGLC, x , x , 2008) > -EXT(ARB_indirect_parameters , ARB_indirect_parameters > , x , ANYGLC, x , x , 2013) > +EXT(ARB_indirect_parameters , ARB_indirect_parameters > , x , 42 , x , x , 2013) > EXT(ARB_instanced_arrays , ARB_instanced_arrays > , ANYGLL, ANYGLC, x , x , 2008) > EXT(ARB_internalformat_query , ARB_internalformat_query > , ANYGLL, ANYGLC, x , x , 2011) > EXT(ARB_internalformat_query2 , ARB_internalformat_query2 > , ANYGLL, ANYGLC, x , x , 2013) > -EXT(ARB_invalidate_subdata , dummy_true > , ANYGLL, ANYGLC, x , x , 2012) > +EXT(ARB_invalidate_subdata , dummy_true > , 20 , 20 , x , x , 2012) > EXT(ARB_map_buffer_alignment , dummy_true > , ANYGLL, ANYGLC, x , x , 2011) > EXT(ARB_map_buffer_range , ARB_map_buffer_range > , ANYGLL, ANYGLC, x , x , 2008) > EXT(ARB_multi_bind , dummy_true > , ANYGLL, ANYGLC, x , x , 2013) > @@ -97,27 +100,28 @@ EXT(ARB_pipeline_statistics_query , > ARB_pipeline_statistics_query > EXT(ARB_pixel_buffer_object , EXT_pixel_buffer_object > , ANYGLL, ANYGLC, x , x , 2004) > EXT(ARB_point_parameters , EXT_point_parameters > , ANYGLL, x , x , x , 1997) > EXT(ARB_point_sprite , ARB_point_sprite > , ANYGLL, ANYGLC, x , x , 2003) > -EXT(ARB_polygon_offset_clamp , ARB_polygon_offset_clamp > , ANYGLL, ANYGLC, x , x , 2017) > +EXT(ARB_polygon_offset_clamp , ARB_polygon_offset_clamp > , 33 , 33 , x , x , 2017) > EXT(ARB_post_depth_coverage , ARB_post_depth_coverage > , x , ANYGLC, x , x , 2015) > EXT(ARB_program_interface_query , dummy_true > , ANYGLL, ANYGLC, x , x , 2012) > EXT(ARB_provoking_vertex , EXT_provoking_vertex > , ANYGLL, ANYGLC, x , x , 2009) > EXT(ARB_query_buffer_object , ARB_query_buffer_object > , ANYGLL, ANYGLC, x , x , 2013) > -EXT(ARB_robust_buffer_access_behavior , > ARB_robust_buffer_access_behavior > , ANYGLL, ANYGLC, x , x , 2012) > +EXT(ARB_robust_buffer_access_behavior , > ARB_robust_buffer_access_behavior > , ANYGLL, ANYGLC, x , x , 2012) // requires ARB_robustness > extension > EXT(ARB_robustness , dummy_true > , ANYGLL, ANYGLC, x , x , 2010) > -EXT(ARB_sample_shading , ARB_sample_shading > , ANYGLL, ANYGLC, x , x , 2009) > +EXT(ARB_sample_shading , ARB_sample_shading > , 20 , 20 , x , x , 2009) > +//EXT(ARB_sample_locations , ARB_sample_locations > , x , x , x , x , 2009 > EXT(ARB_sampler_objects , dummy_true > , ANYGLL, ANYGLC, x , x , 2009) > -EXT(ARB_seamless_cube_map , ARB_seamless_cube_map > , ANYGLL, ANYGLC, x , x , 2009) > +EXT(ARB_seamless_cube_map , ARB_seamless_cube_map > , 11 , 11 , x , x , 2009) // requires > ARB_texture_cube_map > EXT(ARB_seamless_cubemap_per_texture , > AMD_seamless_cubemap_per_texture > , ANYGLL, ANYGLC, x , x , 2013) > -EXT(ARB_separate_shader_objects , dummy_true > , ANYGLL, ANYGLC, x , x , 2010) > +EXT(ARB_separate_shader_objects , dummy_true > , ANYGLL, ANYGLC, x , x , 2010) // requires > ARB_shader_objects > EXT(ARB_shader_atomic_counter_ops , > ARB_shader_atomic_counter_ops , ANYGLL, ANYGLC, x , x , > 2015) > EXT(ARB_shader_atomic_counters , ARB_shader_atomic_counters > , ANYGLL, ANYGLC, x , x , 2011) > EXT(ARB_shader_ballot , ARB_shader_ballot > , ANYGLL, ANYGLC, x , x , 2015) > EXT(ARB_shader_bit_encoding , ARB_shader_bit_encoding > , ANYGLL, ANYGLC, x , x , 2010) > EXT(ARB_shader_clock , ARB_shader_clock > , ANYGLL, ANYGLC, x , x , 2015) > EXT(ARB_shader_draw_parameters , ARB_shader_draw_parameters > , ANYGLL, ANYGLC, x , x , 2013) > -EXT(ARB_shader_group_vote , ARB_shader_group_vote > , ANYGLL, ANYGLC, x , x , 2013) > -EXT(ARB_shader_image_load_store , > ARB_shader_image_load_store , ANYGLL, ANYGLC, x , x , > 2011) > -EXT(ARB_shader_image_size , ARB_shader_image_size > , ANYGLL, ANYGLC, x , x , 2012) > +EXT(ARB_shader_group_vote , ARB_shader_group_vote > , 42 , 42 , x , x , 2013) > +EXT(ARB_shader_image_load_store , > ARB_shader_image_load_store , 30 , 30 , x , x , > 2011) > +EXT(ARB_shader_image_size , ARB_shader_image_size > , 42 , 42 , x , x , 2012) > EXT(ARB_shader_objects , dummy_true > , ANYGLL, ANYGLC, x , x , 2002) > EXT(ARB_shader_precision , ARB_shader_precision > , ANYGLL, ANYGLC, x , x , 2010) > EXT(ARB_shader_stencil_export , ARB_shader_stencil_export > , ANYGLL, ANYGLC, x , x , 2009) > @@ -130,55 +134,59 @@ EXT(ARB_shading_language_100 , > dummy_true > EXT(ARB_shading_language_420pack , > ARB_shading_language_420pack , ANYGLL, ANYGLC, x , x , > 2011) > EXT(ARB_shading_language_packing , > ARB_shading_language_packing , ANYGLL, ANYGLC, x , x , > 2011) > EXT(ARB_shadow , ARB_shadow > , ANYGLL, x , x , x , 2001) > +//EXT(ARB_shadow_ambient , ARB_shadow_ambient > , 11 , x , x , x , 2001) //requires ARB_shadow > EXT(ARB_sparse_buffer , ARB_sparse_buffer > , ANYGLL, ANYGLC, x , x , 2014) > +//EXT(ARB_sparse_texture , ARB_sparse_texture > , 11 , 11 , x , x , 2014) > +//EXT(ARB_sparse_texture2 , ARB_sparse_texture2 > , 11 , 11 , x , x , 2014) // requires > ARB_sparse_texture > +//EXT(ARB_sparse_texture_clamp , > ARB_sparse_texture_clamp , 11 , 11 , x , x , > 2014) // requires ARB_sparse_texture2 > EXT(ARB_stencil_texturing , ARB_stencil_texturing > , ANYGLL, ANYGLC, x , x , 2012) > -EXT(ARB_sync , ARB_sync > , ANYGLL, ANYGLC, x , x , 2003) > +EXT(ARB_sync , ARB_sync > , 31 , 31 , x , x , 2003) > EXT(ARB_tessellation_shader , ARB_tessellation_shader > , x , ANYGLC, x , x , 2009) > EXT(ARB_texture_barrier , NV_texture_barrier > , ANYGLL, ANYGLC, x , x , 2014) > EXT(ARB_texture_border_clamp , ARB_texture_border_clamp > , ANYGLL, x , x , x , 2000) > EXT(ARB_texture_buffer_object , ARB_texture_buffer_object > , ANYGLL, ANYGLC, x , x , 2008) > EXT(ARB_texture_buffer_object_rgb32 , ARB_texture_buffer_object_rgb32 > , ANYGLL, ANYGLC, x , x , 2009) > EXT(ARB_texture_buffer_range , ARB_texture_buffer_range > , ANYGLL, ANYGLC, x , x , 2012) > -EXT(ARB_texture_compression , dummy_true > , ANYGLL, x , x , x , 2000) > -EXT(ARB_texture_compression_bptc , > ARB_texture_compression_bptc , ANYGLL, ANYGLC, x , x , > 2010) > -EXT(ARB_texture_compression_rgtc , > ARB_texture_compression_rgtc , ANYGLL, ANYGLC, x , x , > 2004) > +EXT(ARB_texture_compression , dummy_true > , 11 , x , x , x , 2000) > +EXT(ARB_texture_compression_bptc , > ARB_texture_compression_bptc , 11 , 11 , x , x , > 2010) > +EXT(ARB_texture_compression_rgtc , > ARB_texture_compression_rgtc , 11 , 11 , x , x , > 2004) // requires ARB_texture_compression > EXT(ARB_texture_cube_map , ARB_texture_cube_map > , ANYGLL, x , x , x , 1999) > EXT(ARB_texture_cube_map_array , ARB_texture_cube_map_array > , ANYGLL, ANYGLC, x , x , 2009) > EXT(ARB_texture_env_add , dummy_true > , ANYGLL, x , x , x , 1999) > EXT(ARB_texture_env_combine , ARB_texture_env_combine > , ANYGLL, x , x , x , 2001) > -EXT(ARB_texture_env_crossbar , ARB_texture_env_crossbar > , ANYGLL, x , x , x , 2001) > +EXT(ARB_texture_env_crossbar , ARB_texture_env_crossbar > , 11 , x , x , x , 2001) //why not core? > EXT(ARB_texture_env_dot3 , ARB_texture_env_dot3 > , ANYGLL, x , x , x , 2001) > EXT(ARB_texture_filter_anisotropic , > ARB_texture_filter_anisotropic , ANYGLL, ANYGLC, x , x , > 2017) > EXT(ARB_texture_float , ARB_texture_float > , ANYGLL, ANYGLC, x , x , 2004) > EXT(ARB_texture_gather , ARB_texture_gather > , ANYGLL, ANYGLC, x , x , 2009) > -EXT(ARB_texture_mirror_clamp_to_edge , > ARB_texture_mirror_clamp_to_edge , ANYGLL, ANYGLC, x , x , > 2013) > +EXT(ARB_texture_mirror_clamp_to_edge , > ARB_texture_mirror_clamp_to_edge , 14 , 14 , x , x , > 2013) > EXT(ARB_texture_mirrored_repeat , dummy_true > , ANYGLL, x , x , x , 2001) > EXT(ARB_texture_multisample , ARB_texture_multisample > , ANYGLL, ANYGLC, x , x , 2009) > EXT(ARB_texture_non_power_of_two , > ARB_texture_non_power_of_two , ANYGLL, ANYGLC, x , x , > 2003) > -EXT(ARB_texture_query_levels , ARB_texture_query_levels > , ANYGLL, ANYGLC, x , x , 2012) > +EXT(ARB_texture_query_levels , ARB_texture_query_levels > , 30 , 30 , x , x , 2012) > EXT(ARB_texture_query_lod , ARB_texture_query_lod > , ANYGLL, ANYGLC, x , x , 2009) > -EXT(ARB_texture_rectangle , NV_texture_rectangle > , ANYGLL, ANYGLC, x , x , 2004) > +EXT(ARB_texture_rectangle , NV_texture_rectangle > , 11 , 11 , x , x , 2004) > EXT(ARB_texture_rg , ARB_texture_rg > , ANYGLL, ANYGLC, x , x , 2008) > EXT(ARB_texture_rgb10_a2ui , ARB_texture_rgb10_a2ui > , ANYGLL, ANYGLC, x , x , 2009) > EXT(ARB_texture_stencil8 , ARB_texture_stencil8 > , ANYGLL, ANYGLC, x , x , 2013) > -EXT(ARB_texture_storage , dummy_true > , ANYGLL, ANYGLC, x , x , 2011) > +EXT(ARB_texture_storage , dummy_true > , 12 , 12 , x , x , 2011) > EXT(ARB_texture_storage_multisample , ARB_texture_multisample > , ANYGLL, ANYGLC, x , x , 2012) > EXT(ARB_texture_swizzle , EXT_texture_swizzle > , ANYGLL, ANYGLC, x , x , 2008) > EXT(ARB_texture_view , ARB_texture_view > , ANYGLL, ANYGLC, x , x , 2012) > EXT(ARB_timer_query , ARB_timer_query > , ANYGLL, ANYGLC, x , x , 2010) > EXT(ARB_transform_feedback2 , ARB_transform_feedback2 > , ANYGLL, ANYGLC, x , x , 2010) > EXT(ARB_transform_feedback3 , ARB_transform_feedback3 > , ANYGLL, ANYGLC, x , x , 2010) > -EXT(ARB_transform_feedback_instanced , > ARB_transform_feedback_instanced > , ANYGLL, ANYGLC, x , x , 2011) > +EXT(ARB_transform_feedback_instanced , > ARB_transform_feedback_instanced > , 20 , 20 , x , x , 2011) // OpenGL 4.0 or the > ARB_transform_feedback2 extension is required, OpenGL 3.1 or the > ARB_draw_instanced extension is required > EXT(ARB_transform_feedback_overflow_query , > ARB_transform_feedback_overflow_query > , ANYGLL, ANYGLC, x , x , 2014) > EXT(ARB_transpose_matrix , dummy_true > , ANYGLL, x , x , x , 1999) > EXT(ARB_uniform_buffer_object , ARB_uniform_buffer_object > , ANYGLL, ANYGLC, x , x , 2009) > -EXT(ARB_vertex_array_bgra , EXT_vertex_array_bgra > , ANYGLL, ANYGLC, x , x , 2008) > +EXT(ARB_vertex_array_bgra , EXT_vertex_array_bgra > , 11 , 11 , x , x , 2008) > EXT(ARB_vertex_array_object , dummy_true > , ANYGLL, ANYGLC, x , x , 2006) > EXT(ARB_vertex_attrib_64bit , ARB_vertex_attrib_64bit > , x , ANYGLC, x , x , 2010) > EXT(ARB_vertex_attrib_binding , dummy_true > , ANYGLL, ANYGLC, x , x , 2012) > EXT(ARB_vertex_buffer_object , dummy_true > , ANYGLL, x , x , x , 2003) > -EXT(ARB_vertex_program , ARB_vertex_program > , ANYGLL, x , x , x , 2002) > -EXT(ARB_vertex_shader , ARB_vertex_shader > , ANYGLL, ANYGLC, x , x , 2002) > +EXT(ARB_vertex_program , ARB_vertex_program > , 13 , x , x , x , 2002) > +EXT(ARB_vertex_shader , ARB_vertex_shader > , ANYGLL, ANYGLC, x , x , 2002) // requires > ARB_shader_objects > EXT(ARB_vertex_type_10f_11f_11f_rev , > ARB_vertex_type_10f_11f_11f_rev , ANYGLL, ANYGLC, x , x , > 2013) > EXT(ARB_vertex_type_2_10_10_10_rev , > ARB_vertex_type_2_10_10_10_rev , ANYGLL, ANYGLC, x , x , > 2009) > EXT(ARB_viewport_array , ARB_viewport_array > , x , ANYGLC, x , x , 2010) > -- > 2.14.1 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev