Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com>
On 2015-06-03 00:00:51, Iago Toral Quiroga wrote: > From: Samuel Iglesias Gonsalvez <sigles...@igalia.com> > > Signed-off-by: Samuel Iglesias Gonsalvez <sigles...@igalia.com> > --- > src/glsl/glcpp/glcpp-parse.y | 3 ++ > src/glsl/glsl_parser_extras.cpp | 63 > +++++++++++++++++++++-------------------- > src/glsl/glsl_parser_extras.h | 7 +++++ > src/mesa/main/extensions.c | 1 + > src/mesa/main/mtypes.h | 1 + > 5 files changed, 44 insertions(+), 31 deletions(-) > > diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y > index a11b6b2..ed1bffb 100644 > --- a/src/glsl/glcpp/glcpp-parse.y > +++ b/src/glsl/glcpp/glcpp-parse.y > @@ -2483,6 +2483,9 @@ _glcpp_parser_handle_version_declaration(glcpp_parser_t > *parser, intmax_t versio > > if (extensions->ARB_shader_precision) > add_builtin_define(parser, "GL_ARB_shader_precision", 1); > + > + if (extensions->ARB_shader_storage_buffer_object) > + add_builtin_define(parser, > "GL_ARB_shader_storage_buffer_object", 1); > } > } > > diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp > index 046d5d7..0d7e521 100644 > --- a/src/glsl/glsl_parser_extras.cpp > +++ b/src/glsl/glsl_parser_extras.cpp > @@ -551,37 +551,38 @@ static const _mesa_glsl_extension > _mesa_glsl_supported_extensions[] = { > > /* ARB extensions go here, sorted alphabetically. > */ > - EXT(ARB_arrays_of_arrays, true, false, > ARB_arrays_of_arrays), > - EXT(ARB_compute_shader, true, false, ARB_compute_shader), > - EXT(ARB_conservative_depth, true, false, > ARB_conservative_depth), > - EXT(ARB_derivative_control, true, false, > ARB_derivative_control), > - EXT(ARB_draw_buffers, true, false, dummy_true), > - EXT(ARB_draw_instanced, true, false, ARB_draw_instanced), > - EXT(ARB_explicit_attrib_location, true, false, > ARB_explicit_attrib_location), > - EXT(ARB_explicit_uniform_location, true, false, > ARB_explicit_uniform_location), > - EXT(ARB_fragment_coord_conventions, true, false, > ARB_fragment_coord_conventions), > - EXT(ARB_fragment_layer_viewport, true, false, > ARB_fragment_layer_viewport), > - EXT(ARB_gpu_shader5, true, false, ARB_gpu_shader5), > - EXT(ARB_gpu_shader_fp64, true, false, > ARB_gpu_shader_fp64), > - EXT(ARB_sample_shading, true, false, ARB_sample_shading), > - EXT(ARB_separate_shader_objects, true, false, dummy_true), > - EXT(ARB_shader_atomic_counters, true, false, > ARB_shader_atomic_counters), > - EXT(ARB_shader_bit_encoding, true, false, > ARB_shader_bit_encoding), > - EXT(ARB_shader_image_load_store, true, false, > ARB_shader_image_load_store), > - EXT(ARB_shader_precision, true, false, > ARB_shader_precision), > - EXT(ARB_shader_stencil_export, true, false, > ARB_shader_stencil_export), > - EXT(ARB_shader_texture_lod, true, false, > ARB_shader_texture_lod), > - EXT(ARB_shading_language_420pack, true, false, > ARB_shading_language_420pack), > - EXT(ARB_shading_language_packing, true, false, > ARB_shading_language_packing), > - EXT(ARB_texture_cube_map_array, true, false, > ARB_texture_cube_map_array), > - EXT(ARB_texture_gather, true, false, ARB_texture_gather), > - EXT(ARB_texture_multisample, true, false, > ARB_texture_multisample), > - EXT(ARB_texture_query_levels, true, false, > ARB_texture_query_levels), > - EXT(ARB_texture_query_lod, true, false, > ARB_texture_query_lod), > - EXT(ARB_texture_rectangle, true, false, dummy_true), > - EXT(ARB_uniform_buffer_object, true, false, > ARB_uniform_buffer_object), > - EXT(ARB_vertex_attrib_64bit, true, false, > ARB_vertex_attrib_64bit), > - EXT(ARB_viewport_array, true, false, ARB_viewport_array), > + EXT(ARB_arrays_of_arrays, true, false, > ARB_arrays_of_arrays), > + EXT(ARB_compute_shader, true, false, > ARB_compute_shader), > + EXT(ARB_conservative_depth, true, false, > ARB_conservative_depth), > + EXT(ARB_derivative_control, true, false, > ARB_derivative_control), > + EXT(ARB_draw_buffers, true, false, dummy_true), > + EXT(ARB_draw_instanced, true, false, > ARB_draw_instanced), > + EXT(ARB_explicit_attrib_location, true, false, > ARB_explicit_attrib_location), > + EXT(ARB_explicit_uniform_location, true, false, > ARB_explicit_uniform_location), > + EXT(ARB_fragment_coord_conventions, true, false, > ARB_fragment_coord_conventions), > + EXT(ARB_fragment_layer_viewport, true, false, > ARB_fragment_layer_viewport), > + EXT(ARB_gpu_shader5, true, false, ARB_gpu_shader5), > + EXT(ARB_gpu_shader_fp64, true, false, > ARB_gpu_shader_fp64), > + EXT(ARB_sample_shading, true, false, > ARB_sample_shading), > + EXT(ARB_separate_shader_objects, true, false, dummy_true), > + EXT(ARB_shader_atomic_counters, true, false, > ARB_shader_atomic_counters), > + EXT(ARB_shader_bit_encoding, true, false, > ARB_shader_bit_encoding), > + EXT(ARB_shader_image_load_store, true, false, > ARB_shader_image_load_store), > + EXT(ARB_shader_precision, true, false, > ARB_shader_precision), > + EXT(ARB_shader_stencil_export, true, false, > ARB_shader_stencil_export), > + EXT(ARB_shader_storage_buffer_object, true, false, > ARB_shader_storage_buffer_object), > + EXT(ARB_shader_texture_lod, true, false, > ARB_shader_texture_lod), > + EXT(ARB_shading_language_420pack, true, false, > ARB_shading_language_420pack), > + EXT(ARB_shading_language_packing, true, false, > ARB_shading_language_packing), > + EXT(ARB_texture_cube_map_array, true, false, > ARB_texture_cube_map_array), > + EXT(ARB_texture_gather, true, false, > ARB_texture_gather), > + EXT(ARB_texture_multisample, true, false, > ARB_texture_multisample), > + EXT(ARB_texture_query_levels, true, false, > ARB_texture_query_levels), > + EXT(ARB_texture_query_lod, true, false, > ARB_texture_query_lod), > + EXT(ARB_texture_rectangle, true, false, dummy_true), > + EXT(ARB_uniform_buffer_object, true, false, > ARB_uniform_buffer_object), > + EXT(ARB_vertex_attrib_64bit, true, false, > ARB_vertex_attrib_64bit), > + EXT(ARB_viewport_array, true, false, > ARB_viewport_array), > > /* KHR extensions go here, sorted alphabetically. > */ > diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h > index 9a0c24e..a49548b 100644 > --- a/src/glsl/glsl_parser_extras.h > +++ b/src/glsl/glsl_parser_extras.h > @@ -215,6 +215,11 @@ struct _mesa_glsl_parse_state { > return ARB_uniform_buffer_object_enable || is_version(140, 300); > } > > + bool has_shader_storage_buffer_objects() const > + { > + return ARB_shader_storage_buffer_object_enable || is_version(430, 0); > + } > + > bool has_separate_shader_objects() const > { > return ARB_separate_shader_objects_enable || is_version(410, 310) > @@ -462,6 +467,8 @@ struct _mesa_glsl_parse_state { > bool ARB_shader_precision_warn; > bool ARB_shader_stencil_export_enable; > bool ARB_shader_stencil_export_warn; > + bool ARB_shader_storage_buffer_object_enable; > + bool ARB_shader_storage_buffer_object_warn; > bool ARB_shader_texture_lod_enable; > bool ARB_shader_texture_lod_warn; > bool ARB_shading_language_420pack_enable; > diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c > index f9bf503..905efb7 100644 > --- a/src/mesa/main/extensions.c > +++ b/src/mesa/main/extensions.c > @@ -153,6 +153,7 @@ static const struct extension extension_table[] = { > { "GL_ARB_shader_objects", o(dummy_true), > GL, 2002 }, > { "GL_ARB_shader_precision", o(ARB_shader_precision), > GL, 2010 }, > { "GL_ARB_shader_stencil_export", > o(ARB_shader_stencil_export), GL, 2009 }, > + { "GL_ARB_shader_storage_buffer_object", > o(ARB_shader_storage_buffer_object), GL, 2012 }, > { "GL_ARB_shader_texture_lod", > o(ARB_shader_texture_lod), GL, 2009 }, > { "GL_ARB_shading_language_100", o(dummy_true), > GLL, 2003 }, > { "GL_ARB_shading_language_packing", > o(ARB_shading_language_packing), GL, 2011 }, > diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h > index 737f0be..631e01b 100644 > --- a/src/mesa/main/mtypes.h > +++ b/src/mesa/main/mtypes.h > @@ -3651,6 +3651,7 @@ struct gl_extensions > GLboolean ARB_shader_image_load_store; > GLboolean ARB_shader_precision; > GLboolean ARB_shader_stencil_export; > + GLboolean ARB_shader_storage_buffer_object; > GLboolean ARB_shader_texture_lod; > GLboolean ARB_shading_language_packing; > GLboolean ARB_shading_language_420pack; > -- > 1.9.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev