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

Marek Olšák maraeo at gmail.com
Wed Nov 28 11:22:15 PST 2012


On Wed, Nov 28, 2012 at 7:55 PM, Andreas Boll
<andreas.boll.dev at gmail.com> wrote:
> 2012/11/28 Marek Olšák <maraeo at gmail.com>:
>> 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.
>> ---
>>  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 |
>> --
>> 1.7.10.4
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
> Is this enough for fixing fdo#57241 ?

No, it's not. This patch doesn't change the behavior of gallium
drivers, because none of them expose GL 3.1 at the moment.

Marek


More information about the mesa-dev mailing list