On Tue, Jun 23, 2015 at 3:39 AM, Marta Lofstedt <marta.lofst...@linux.intel.com> wrote: > From: Marta Lofstedt <marta.lofst...@intel.com> > > Signed-off-by: Marta Lofstedt <marta.lofst...@intel.com> > --- > src/glsl/builtin_functions.cpp | 3 +-- > src/glsl/builtin_types.cpp | 2 +- > src/glsl/glsl_lexer.ll | 13 +++++++------ > src/glsl/glsl_parser_extras.h | 5 +++++ > 4 files changed, 14 insertions(+), 9 deletions(-) > > diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp > index efab299..593a575 100644 > --- a/src/glsl/builtin_functions.cpp > +++ b/src/glsl/builtin_functions.cpp > @@ -270,8 +270,7 @@ texture_array(const _mesa_glsl_parse_state *state) > static bool > texture_multisample(const _mesa_glsl_parse_state *state) > { > - return state->is_version(150, 0) || > - state->ARB_texture_multisample_enable; > + return state->has_texture_multisample(); > } > > static bool > diff --git a/src/glsl/builtin_types.cpp b/src/glsl/builtin_types.cpp > index d92e2eb..9968f7c 100644 > --- a/src/glsl/builtin_types.cpp > +++ b/src/glsl/builtin_types.cpp > @@ -307,7 +307,7 @@ _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->has_texture_multisample()) {
Originally I thought this was a bugfix, but on closer examination, you should just update the table above, builtin_type_versions. Currently it has: T(sampler2DMS, 150, 999) T(sampler2DMSArray, 150, 999) and so on for the int/uint variants. Change the 999 to 310 and you should be good to go. > 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/glsl_lexer.ll b/src/glsl/glsl_lexer.ll > index 10db5b8..3597435 100644 > --- a/src/glsl/glsl_lexer.ll > +++ b/src/glsl/glsl_lexer.ll > @@ -341,12 +341,13 @@ usampler2DArray KEYWORD(130, 300, 130, 300, > USAMPLER2DARRAY); > > /* additional keywords in ARB_texture_multisample, included in GLSL 1.50 > */ > /* these are reserved but not defined in GLSL 3.00 */ > -sampler2DMS KEYWORD_WITH_ALT(150, 300, 150, 0, > yyextra->ARB_texture_multisample_enable, SAMPLER2DMS); > -isampler2DMS KEYWORD_WITH_ALT(150, 300, 150, 0, > yyextra->ARB_texture_multisample_enable, ISAMPLER2DMS); > -usampler2DMS KEYWORD_WITH_ALT(150, 300, 150, 0, > 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); > + /* these are needed for GLES 3.1 */ > +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, 310, > yyextra->ARB_texture_multisample_enable, SAMPLER2DMSARRAY); > +isampler2DMSArray KEYWORD_WITH_ALT(150, 300, 150, 310, > yyextra->ARB_texture_multisample_enable, ISAMPLER2DMSARRAY); > +usampler2DMSArray KEYWORD_WITH_ALT(150, 300, 150, 310, > yyextra->ARB_texture_multisample_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.h b/src/glsl/glsl_parser_extras.h > index 9a0c24e..a231d96 100644 > --- a/src/glsl/glsl_parser_extras.h > +++ b/src/glsl/glsl_parser_extras.h > @@ -221,6 +221,11 @@ struct _mesa_glsl_parse_state { > || EXT_separate_shader_objects_enable; > } > > + bool has_texture_multisample() const > + { > + return ARB_texture_multisample_enable || is_version(150, 310); > + } Since the other use isn't necessary, I'd also remove this and just fix up the original texture_multisample() function to know about ES310 > + > bool has_double() const > { > return ARB_gpu_shader_fp64_enable || is_version(400, 0); > -- > 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