[Mesa-dev] [PATCH 1/4] st/mesa: drop dependence on API profile in st_init_extensions

Brian Paul brianp at vmware.com
Mon Sep 22 08:05:20 PDT 2014


This series looks good too.  Reviewed-by: Brian Paul <brianp at vmware.com>


On 09/19/2014 01:08 PM, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> The extensions and limits being set in the conditional block are core-only
> anyway and don't have any effect on other profiles.
> ---
>   src/mesa/state_tracker/st_context.c    |  2 +-
>   src/mesa/state_tracker/st_extensions.c | 20 +++++++++-----------
>   src/mesa/state_tracker/st_extensions.h |  1 -
>   src/mesa/state_tracker/st_manager.c    |  2 +-
>   4 files changed, 11 insertions(+), 14 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
> index 768a667..1723513 100644
> --- a/src/mesa/state_tracker/st_context.c
> +++ b/src/mesa/state_tracker/st_context.c
> @@ -242,7 +242,7 @@ st_create_context_priv( struct gl_context *ctx, struct pipe_context *pipe,
>
>      /* GL limits and extensions */
>      st_init_limits(st->pipe->screen, &ctx->Const, &ctx->Extensions);
> -   st_init_extensions(st->pipe->screen, ctx->API, &ctx->Const,
> +   st_init_extensions(st->pipe->screen, &ctx->Const,
>                         &ctx->Extensions, &st->options, ctx->Mesa_DXTn);
>
>      /* Enable shader-based fallbacks for ARB_color_buffer_float if needed. */
> diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
> index c7bc0ca..681723a 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -407,7 +407,6 @@ get_max_samples_for_formats(struct pipe_screen *screen,
>    * Some fine tuning may still be needed.
>    */
>   void st_init_extensions(struct pipe_screen *screen,
> -                        gl_api api,
>                           struct gl_constants *consts,
>                           struct gl_extensions *extensions,
>                           struct st_config_options *options,
> @@ -844,17 +843,16 @@ void st_init_extensions(struct pipe_screen *screen,
>            consts->DisableVaryingPacking = GL_TRUE;
>      }
>
> -   if (api == API_OPENGL_CORE) {
> -      consts->MaxViewports = screen->get_param(screen, PIPE_CAP_MAX_VIEWPORTS);
> -      if (consts->MaxViewports >= 16) {
> -         consts->ViewportBounds.Min = -16384.0;
> -         consts->ViewportBounds.Max = 16384.0;
> -         extensions->ARB_viewport_array = GL_TRUE;
> -         extensions->ARB_fragment_layer_viewport = GL_TRUE;
> -         if (extensions->AMD_vertex_shader_layer)
> -            extensions->AMD_vertex_shader_viewport_index = GL_TRUE;
> -      }
> +   consts->MaxViewports = screen->get_param(screen, PIPE_CAP_MAX_VIEWPORTS);
> +   if (consts->MaxViewports >= 16) {
> +      consts->ViewportBounds.Min = -16384.0;
> +      consts->ViewportBounds.Max = 16384.0;
> +      extensions->ARB_viewport_array = GL_TRUE;
> +      extensions->ARB_fragment_layer_viewport = GL_TRUE;
> +      if (extensions->AMD_vertex_shader_layer)
> +         extensions->AMD_vertex_shader_viewport_index = GL_TRUE;
>      }
> +
>      if (consts->MaxProgramTextureGatherComponents > 0)
>         extensions->ARB_texture_gather = GL_TRUE;
>
> diff --git a/src/mesa/state_tracker/st_extensions.h b/src/mesa/state_tracker/st_extensions.h
> index 8d2724d..faff11f 100644
> --- a/src/mesa/state_tracker/st_extensions.h
> +++ b/src/mesa/state_tracker/st_extensions.h
> @@ -38,7 +38,6 @@ extern void st_init_limits(struct pipe_screen *screen,
>                              struct gl_extensions *extensions);
>
>   extern void st_init_extensions(struct pipe_screen *screen,
> -                               gl_api api,
>                                  struct gl_constants *consts,
>                                  struct gl_extensions *extensions,
>                                  struct st_config_options *options,
> diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
> index 7bc3326..df6de73 100644
> --- a/src/mesa/state_tracker/st_manager.c
> +++ b/src/mesa/state_tracker/st_manager.c
> @@ -928,7 +928,7 @@ static unsigned get_version(struct pipe_screen *screen,
>      _mesa_init_extensions(&extensions);
>
>      st_init_limits(screen, &consts, &extensions);
> -   st_init_extensions(screen, api, &consts, &extensions, options, GL_TRUE);
> +   st_init_extensions(screen, &consts, &extensions, options, GL_TRUE);
>
>      return _mesa_get_version(&extensions, &consts, api);
>   }
>



More information about the mesa-dev mailing list