On Fri, May 20, 2016 at 3:26 AM, Ian Romanick <[email protected]> wrote: > From: Ian Romanick <[email protected]> > > v2: Also support GL_EXT_shader_io_blocks. It's pretty much identical to > the OES extension. Suggested by Ilia. > > Signed-off-by: Ian Romanick <[email protected]> > --- > src/compiler/glsl/glcpp/glcpp-parse.y | 5 +++++ > src/compiler/glsl/glsl_parser_extras.cpp | 2 ++ > src/compiler/glsl/glsl_parser_extras.h | 4 ++++ > src/mesa/main/extensions_table.h | 2 ++ > src/mesa/main/mtypes.h | 1 + > 5 files changed, 14 insertions(+) > > diff --git a/src/compiler/glsl/glcpp/glcpp-parse.y > b/src/compiler/glsl/glcpp/glcpp-parse.y > index e44f074..6dc21a9 100644 > --- a/src/compiler/glsl/glcpp/glcpp-parse.y > +++ b/src/compiler/glsl/glcpp/glcpp-parse.y > @@ -2327,6 +2327,11 @@ > _glcpp_parser_handle_version_declaration(glcpp_parser_t *parser, intmax_t > versio > add_builtin_define(parser, "GL_EXT_texture_buffer", 1); > add_builtin_define(parser, "GL_OES_texture_buffer", 1); > } > + > + if (extensions->OES_shader_io_blocks) { > + add_builtin_define(parser, "GL_EXT_shader_io_blocks", 1); > + add_builtin_define(parser, "GL_OES_shader_io_blocks", 1); > + } > } > } > } else { > diff --git a/src/compiler/glsl/glsl_parser_extras.cpp > b/src/compiler/glsl/glsl_parser_extras.cpp > index 771fd19..9ec0957 100644 > --- a/src/compiler/glsl/glsl_parser_extras.cpp > +++ b/src/compiler/glsl/glsl_parser_extras.cpp > @@ -626,6 +626,7 @@ static const _mesa_glsl_extension > _mesa_glsl_supported_extensions[] = { > EXT(OES_gpu_shader5, false, true, ARB_gpu_shader5), > EXT(OES_sample_variables, false, true, > OES_sample_variables), > EXT(OES_shader_image_atomic, false, true, > ARB_shader_image_load_store), > + EXT(OES_shader_io_blocks, false, true, > OES_shader_io_blocks), > EXT(OES_shader_multisample_interpolation, false, true, > OES_sample_variables), > EXT(OES_standard_derivatives, false, true, > OES_standard_derivatives), > EXT(OES_texture_3D, false, true, dummy_true), > @@ -644,6 +645,7 @@ static const _mesa_glsl_extension > _mesa_glsl_supported_extensions[] = { > EXT(EXT_gpu_shader5, false, true, ARB_gpu_shader5), > EXT(EXT_separate_shader_objects, false, true, dummy_true), > EXT(EXT_shader_integer_mix, true, true, > EXT_shader_integer_mix), > + EXT(EXT_shader_io_blocks, false, true, > OES_shader_io_blocks), > EXT(EXT_shader_samples_identical, true, true, > EXT_shader_samples_identical), > EXT(EXT_texture_array, true, false, EXT_texture_array), > EXT(EXT_texture_buffer, false, true, OES_texture_buffer), > diff --git a/src/compiler/glsl/glsl_parser_extras.h > b/src/compiler/glsl/glsl_parser_extras.h > index aaf12dd..ed60c55 100644 > --- a/src/compiler/glsl/glsl_parser_extras.h > +++ b/src/compiler/glsl/glsl_parser_extras.h > @@ -614,6 +614,8 @@ struct _mesa_glsl_parse_state { > bool OES_sample_variables_warn; > bool OES_shader_image_atomic_enable; > bool OES_shader_image_atomic_warn; > + bool OES_shader_io_blocks_enable; > + bool OES_shader_io_blocks_warn; > bool OES_shader_multisample_interpolation_enable; > bool OES_shader_multisample_interpolation_warn; > bool OES_standard_derivatives_enable; > @@ -647,6 +649,8 @@ struct _mesa_glsl_parse_state { > bool EXT_separate_shader_objects_warn; > bool EXT_shader_integer_mix_enable; > bool EXT_shader_integer_mix_warn; > + bool EXT_shader_io_blocks_enable; > + bool EXT_shader_io_blocks_warn; > bool EXT_shader_samples_identical_enable; > bool EXT_shader_samples_identical_warn; > bool EXT_texture_array_enable; > diff --git a/src/mesa/main/extensions_table.h > b/src/mesa/main/extensions_table.h > index 471b19f..1482147 100644 > --- a/src/mesa/main/extensions_table.h > +++ b/src/mesa/main/extensions_table.h > @@ -226,6 +226,7 @@ EXT(EXT_secondary_color , dummy_true > EXT(EXT_separate_shader_objects , dummy_true > , x , x , x , ES2, 2013) > EXT(EXT_separate_specular_color , dummy_true > , GLL, x , x , x , 1997) > EXT(EXT_shader_integer_mix , EXT_shader_integer_mix > , GLL, GLC, x , 30, 2013) > +EXT(EXT_shader_io_blocks , OES_shader_io_blocks > , x , x , x , 31, 2014) > EXT(EXT_shader_samples_identical , EXT_shader_samples_identical > , GLL, GLC, x , 31, 2015) > EXT(EXT_shadow_funcs , ARB_shadow > , GLL, x , x , x , 2002) > EXT(EXT_stencil_two_side , EXT_stencil_two_side > , GLL, x , x , x , 2001) > @@ -342,6 +343,7 @@ EXT(OES_rgb8_rgba8 , dummy_true > EXT(OES_sample_shading , OES_sample_variables > , x , x , x , 30, 2014) > EXT(OES_sample_variables , OES_sample_variables > , x , x , x , 30, 2014) > EXT(OES_shader_image_atomic , ARB_shader_image_load_store > , x , x , x , 31, 2015) > +EXT(OES_shader_io_blocks , OES_shader_io_blocks > , x , x , x , 31, 2014) > EXT(OES_shader_multisample_interpolation , OES_sample_variables > , x , x , x , 30, 2014) > EXT(OES_single_precision , dummy_true > , x , x , ES1, x , 2003) > EXT(OES_standard_derivatives , OES_standard_derivatives > , x , x , x , ES2, 2005) > diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h > index 0f3150f..a2777b3 100644 > --- a/src/mesa/main/mtypes.h > +++ b/src/mesa/main/mtypes.h > @@ -3908,6 +3908,7 @@ struct gl_extensions > GLboolean EXT_vertex_array_bgra; > GLboolean OES_copy_image; > GLboolean OES_sample_variables; > + GLboolean OES_shader_io_blocks;
Why is this optional? Shouldn't we just flip it on everywhere? > GLboolean OES_standard_derivatives; > GLboolean OES_texture_buffer; > /* vendor extensions */ > -- > 2.5.5 > > _______________________________________________ > mesa-dev mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
