summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2012-11-23 20:20:03 +0100
committerMarek Olšák <maraeo@gmail.com>2012-11-29 01:07:26 +0100
commit249f86e3f88d667437130a2badfe139d3144fcc9 (patch)
tree0e8fa22252c41d7bb08ce6aadf176f58036b3ee8
parentf9429e30aa899520f41d4ba0f1a4534e7e6c9d95 (diff)
st/mesa: add support for GL core profiles
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. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
-rw-r--r--src/gallium/state_trackers/dri/common/dri_context.c4
-rw-r--r--src/mesa/state_tracker/st_manager.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/dri/common/dri_context.c b/src/gallium/state_trackers/dri/common/dri_context.c
index b91303d3e7b..360174b056d 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 88b886de8a5..999e916e92d 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 |