[Mesa-dev] [PATCH] glsl: add has_shader_image_load_store()

Anuj Phogat anuj.phogat at gmail.com
Thu Feb 23 18:14:50 UTC 2017


On Thu, Feb 23, 2017 at 10:04 AM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> Preliminary work for ARB_bindless_texture which can interact
> with ARB_shader_image_load_store.
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>  src/compiler/glsl/builtin_variables.cpp | 3 +--
>  src/compiler/glsl/glsl_parser.yy        | 3 +--
>  src/compiler/glsl/glsl_parser_extras.h  | 5 +++++
>  3 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/src/compiler/glsl/builtin_variables.cpp b/src/compiler/glsl/builtin_variables.cpp
> index db8418bbc7..fc0443e715 100644
> --- a/src/compiler/glsl/builtin_variables.cpp
> +++ b/src/compiler/glsl/builtin_variables.cpp
> @@ -840,8 +840,7 @@ builtin_variable_generator::generate_constants()
>                  state->Const.MaxTransformFeedbackInterleavedComponents);
>     }
>
> -   if (state->is_version(420, 310) ||
> -       state->ARB_shader_image_load_store_enable) {
> +   if (state->has_shader_image_load_store()) {
>        add_const("gl_MaxImageUnits",
>                  state->Const.MaxImageUnits);
>        add_const("gl_MaxVertexImageUniforms",
> diff --git a/src/compiler/glsl/glsl_parser.yy b/src/compiler/glsl/glsl_parser.yy
> index fd7edb28e7..7777d703f8 100644
> --- a/src/compiler/glsl/glsl_parser.yy
> +++ b/src/compiler/glsl/glsl_parser.yy
> @@ -1322,8 +1322,7 @@ layout_qualifier_id:
>        }
>
>        /* Layout qualifiers for ARB_shader_image_load_store. */
> -      if (state->ARB_shader_image_load_store_enable ||
> -          state->is_version(420, 310)) {
> +      if (state->has_shader_image_load_store()) {
>           if (!$$.flags.i) {
>              static const struct {
>                 const char *name;
> diff --git a/src/compiler/glsl/glsl_parser_extras.h b/src/compiler/glsl/glsl_parser_extras.h
> index 8feef8cbcd..01acbb62e3 100644
> --- a/src/compiler/glsl/glsl_parser_extras.h
> +++ b/src/compiler/glsl/glsl_parser_extras.h
> @@ -330,6 +330,11 @@ struct _mesa_glsl_parse_state {
>               is_version(400, 320);
>     }
>
> +   bool has_shader_image_load_store() const
> +   {
> +      return ARB_shader_image_load_store_enable || is_version(420, 310);
> +   }
> +
>     void process_version_directive(YYLTYPE *locp, int version,
>                                    const char *ident);
>
> --
> 2.11.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>


More information about the mesa-dev mailing list