[Mesa-dev] [PATCH] st/mesa: add support for GL core profiles

Ian Romanick idr at freedesktop.org
Wed Nov 28 13:43:13 PST 2012


On 11/28/2012 09:14 AM, Marek Olšák wrote:
> The rest of the plumbing was in place already.
>
> I have tested this by turning on all GL 3.1 features.
> The drivers not supporting GL 3.1 will fail to create a core profile
> as they should.

This looks about the way I would expect.

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

> ---
>   src/gallium/state_trackers/dri/common/dri_context.c |    4 +++-
>   src/mesa/state_tracker/st_manager.c                 |    3 +++
>   2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/src/gallium/state_trackers/dri/common/dri_context.c b/src/gallium/state_trackers/dri/common/dri_context.c
> index b91303d..360174b 100644
> --- a/src/gallium/state_trackers/dri/common/dri_context.c
> +++ b/src/gallium/state_trackers/dri/common/dri_context.c
> @@ -82,7 +82,9 @@ dri_create_context(gl_api api, const struct gl_config * visual,
>         attribs.profile = ST_PROFILE_OPENGL_ES2;
>         break;
>      case API_OPENGL:
> -      attribs.profile = ST_PROFILE_DEFAULT;
> +   case API_OPENGL_CORE:
> +      attribs.profile = api == API_OPENGL ? ST_PROFILE_DEFAULT
> +                                          : ST_PROFILE_OPENGL_CORE;
>         attribs.major = major_version;
>         attribs.minor = minor_version;
>
> diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
> index 88b886d..999e916 100644
> --- a/src/mesa/state_tracker/st_manager.c
> +++ b/src/mesa/state_tracker/st_manager.c
> @@ -624,6 +624,8 @@ st_api_create_context(struct st_api *stapi, struct st_manager *smapi,
>         api = API_OPENGLES2;
>         break;
>      case ST_PROFILE_OPENGL_CORE:
> +      api = API_OPENGL_CORE;
> +      break;
>      default:
>         *error = ST_CONTEXT_ERROR_BAD_API;
>         return NULL;
> @@ -884,6 +886,7 @@ static const struct st_api st_gl_api = {
>      ST_API_OPENGL,
>   #if FEATURE_GL
>      ST_PROFILE_DEFAULT_MASK |
> +   ST_PROFILE_OPENGL_CORE_MASK |
>   #endif
>   #if FEATURE_ES1
>      ST_PROFILE_OPENGL_ES1_MASK |
>



More information about the mesa-dev mailing list