Reviewed-by: Marta Lofstedt <marta.lofst...@intel.com>
> -----Original Message----- > From: Palli, Tapani > Sent: Monday, August 24, 2015 7:11 AM > To: Lofstedt, Marta; mesa-dev@lists.freedesktop.org > Subject: Re: [Mesa-dev] [PATCH 4/6] glsl: add support for > OES_texture_storage_multisample_2d_array > > > > On 08/21/2015 01:29 PM, Lofstedt, Marta wrote: > >> -----Original Message----- > >> From: mesa-dev [mailto:mesa-dev-boun...@lists.freedesktop.org] On > >> Behalf Of Tapani Pälli > >> Sent: Friday, August 21, 2015 9:22 AM > >> To: mesa-dev@lists.freedesktop.org > >> Subject: [Mesa-dev] [PATCH 4/6] glsl: add support for > >> OES_texture_storage_multisample_2d_array > >> > >> Patch adds extension enable bit and enables required keywords and > >> builtin functions for the extension. > >> > >> Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> > >> --- > >> src/glsl/builtin_functions.cpp | 5 +++-- > >> src/glsl/builtin_types.cpp | 3 ++- > >> src/glsl/glcpp/glcpp-parse.y | 2 ++ > >> src/glsl/glsl_lexer.ll | 6 +++--- > >> src/glsl/glsl_parser_extras.cpp | 1 + > >> src/glsl/glsl_parser_extras.h | 2 ++ > >> 6 files changed, 13 insertions(+), 6 deletions(-) > >> > >> diff --git a/src/glsl/builtin_functions.cpp > >> b/src/glsl/builtin_functions.cpp index 57bed86..a4e9baf 100644 > >> --- a/src/glsl/builtin_functions.cpp > >> +++ b/src/glsl/builtin_functions.cpp > >> @@ -284,8 +284,9 @@ texture_multisample(const > _mesa_glsl_parse_state > >> *state) static bool texture_multisample_array(const > >> _mesa_glsl_parse_state *state) { > >> - return state->is_version(150, 0) || > >> - state->ARB_texture_multisample_enable; > >> + return state->is_version(150, 320) || > > > > Could you explain 320? > > The rest of the patchset appear to go for exposure under GLES 3.1 > > This is not necessary change, it's a 'when changing that line make sure that > it > does not need to be touched again' requested by Timothy here: > > http://lists.freedesktop.org/archives/mesa-dev/2015-August/091922.html > > I think this kind of 'future-proofing' in general is potentially dangerous > but in > the case of keywords and builtins it should not cause trouble. > > > > /Marta > > > >> + state->ARB_texture_multisample_enable || > >> + state->OES_texture_storage_multisample_2d_array_enable; > >> } > >> > >> > >> static bool > >> diff --git a/src/glsl/builtin_types.cpp b/src/glsl/builtin_types.cpp > >> index 9cf198f..0d0d71d 100644 > >> --- a/src/glsl/builtin_types.cpp > >> +++ b/src/glsl/builtin_types.cpp > >> @@ -307,7 +307,8 @@ _mesa_glsl_initialize_types(struct > >> _mesa_glsl_parse_state *state) > >> add_type(symbols, glsl_type::usamplerCubeArray_type); > >> } > >> > >> - if (state->ARB_texture_multisample_enable) { > >> + if (state->ARB_texture_multisample_enable || > >> + state->OES_texture_storage_multisample_2d_array_enable) { > >> add_type(symbols, glsl_type::sampler2DMS_type); > >> add_type(symbols, glsl_type::isampler2DMS_type); > >> add_type(symbols, glsl_type::usampler2DMS_type); diff --git > >> a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y index > >> 18e50af..6396817 100644 > >> --- a/src/glsl/glcpp/glcpp-parse.y > >> +++ b/src/glsl/glcpp/glcpp-parse.y > >> @@ -2382,6 +2382,8 @@ > >> _glcpp_parser_handle_version_declaration(glcpp_parser_t *parser, > >> intmax_t versio > >> add_builtin_define(parser, > "GL_OES_EGL_image_external", > >> 1); > >> if (extensions->OES_standard_derivatives) > >> add_builtin_define(parser, > >> "GL_OES_standard_derivatives", 1); > >> + if (extensions->OES_texture_storage_multisample_2d_array) > >> + add_builtin_define(parser, > >> + "GL_OES_texture_storage_multisample_2d_array", 1); > >> } > >> } else { > >> add_builtin_define(parser, "GL_ARB_draw_buffers", 1); diff > >> --git a/src/glsl/glsl_lexer.ll b/src/glsl/glsl_lexer.ll index > >> 24998c1..9d7ad74 > >> 100644 > >> --- a/src/glsl/glsl_lexer.ll > >> +++ b/src/glsl/glsl_lexer.ll > >> @@ -347,9 +347,9 @@ usampler2DArray > KEYWORD(130, 300, > >> 130, 300, USAMPLER2DARRAY); > >> sampler2DMS KEYWORD_WITH_ALT(150, 300, 150, 310, yyextra- > >>> ARB_texture_multisample_enable, SAMPLER2DMS); > >> isampler2DMS KEYWORD_WITH_ALT(150, 300, 150, 310, yyextra- > >>> ARB_texture_multisample_enable, ISAMPLER2DMS); > >> usampler2DMS KEYWORD_WITH_ALT(150, 300, 150, 310, yyextra- > >>> ARB_texture_multisample_enable, USAMPLER2DMS); > >> -sampler2DMSArray KEYWORD_WITH_ALT(150, 300, 150, 0, yyextra- > >>> ARB_texture_multisample_enable, SAMPLER2DMSARRAY); > >> -isampler2DMSArray KEYWORD_WITH_ALT(150, 300, 150, 0, yyextra- > >>> ARB_texture_multisample_enable, ISAMPLER2DMSARRAY); - > >> usampler2DMSArray KEYWORD_WITH_ALT(150, 300, 150, 0, yyextra- > >>> ARB_texture_multisample_enable, USAMPLER2DMSARRAY); > >> +sampler2DMSArray KEYWORD_WITH_ALT(150, 300, 150, 320, yyextra- > >>> ARB_texture_multisample_enable||yyextra- > >>> OES_texture_storage_multisample_2d_array_enable, > >> SAMPLER2DMSARRAY); > >> +isampler2DMSArray KEYWORD_WITH_ALT(150, 300, 150, 320, > >> +yyextra->ARB_texture_multisample_enable||yyextra- > >>> OES_texture_storage_m > >> +ultisample_2d_array_enable, ISAMPLER2DMSARRAY); > usampler2DMSArray > >> +KEYWORD_WITH_ALT(150, 300, 150, 320, > >> +yyextra->ARB_texture_multisample_enable||yyextra- > >>> OES_texture_storage_m > >> +ultisample_2d_array_enable, USAMPLER2DMSARRAY); > >> > >> /* keywords available with ARB_texture_cube_map_array_enable > >> extension on desktop GLSL */ > >> samplerCubeArray KEYWORD_WITH_ALT(400, 0, 400, 0, yyextra- > >>> ARB_texture_cube_map_array_enable, SAMPLERCUBEARRAY); > >> diff --git a/src/glsl/glsl_parser_extras.cpp > >> b/src/glsl/glsl_parser_extras.cpp index 6440a96..fe6129b 100644 > >> --- a/src/glsl/glsl_parser_extras.cpp > >> +++ b/src/glsl/glsl_parser_extras.cpp > >> @@ -626,6 +626,7 @@ static const _mesa_glsl_extension > >> _mesa_glsl_supported_extensions[] = { > >> EXT(OES_EGL_image_external, false, true, > >> OES_EGL_image_external), > >> EXT(OES_standard_derivatives, false, true, > >> OES_standard_derivatives), > >> EXT(OES_texture_3D, false, true, EXT_texture3D), > >> + EXT(OES_texture_storage_multisample_2d_array, false, true, > >> + OES_texture_storage_multisample_2d_array), > >> > >> /* All other extensions go here, sorted alphabetically. > >> */ > >> diff --git a/src/glsl/glsl_parser_extras.h > >> b/src/glsl/glsl_parser_extras.h index > >> e2145be..295cd10 100644 > >> --- a/src/glsl/glsl_parser_extras.h > >> +++ b/src/glsl/glsl_parser_extras.h > >> @@ -548,6 +548,8 @@ struct _mesa_glsl_parse_state { > >> bool OES_standard_derivatives_warn; > >> bool OES_texture_3D_enable; > >> bool OES_texture_3D_warn; > >> + bool OES_texture_storage_multisample_2d_array_enable; > >> + bool OES_texture_storage_multisample_2d_array_warn; > >> > >> /* All other extensions go here, sorted alphabetically. > >> */ > >> -- > >> 2.4.3 > >> > >> _______________________________________________ > >> 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