[Mesa-dev] [PATCH 4/6] glsl: add support for OES_texture_storage_multisample_2d_array
Lofstedt, Marta
marta.lofstedt at intel.com
Sun Aug 23 23:45:59 PDT 2015
Reviewed-by: Marta Lofstedt <marta.lofstedt at intel.com>
> -----Original Message-----
> From: Palli, Tapani
> Sent: Monday, August 24, 2015 7:11 AM
> To: Lofstedt, Marta; mesa-dev at 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-bounces at lists.freedesktop.org] On
> >> Behalf Of Tapani Pälli
> >> Sent: Friday, August 21, 2015 9:22 AM
> >> To: mesa-dev at 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.palli at 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 at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list