summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-12-08 22:48:47 +0100
committerMarek Olšák <[email protected]>2012-12-12 13:09:54 +0100
commit0ac83a20010ae5fa1635866d1950f06aac15a46d (patch)
treee5fe61920b3cec79e76f314cfe053f91bffa810a
parent25409c6da8163d9acb386511aef0c11577c7aadb (diff)
mesa: disallow creation of GL 3.1 compatibility contexts
Death to driver-specific hacks! Reviewed-by: Ian Romanick <[email protected]>
-rwxr-xr-xsrc/mesa/drivers/dri/intel/intel_extensions.c6
-rw-r--r--src/mesa/main/version.c6
-rw-r--r--src/mesa/state_tracker/st_extensions.c5
3 files changed, 8 insertions, 9 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c
index 96288ab2fe1..df886a5cdfd 100755
--- a/src/mesa/drivers/dri/intel/intel_extensions.c
+++ b/src/mesa/drivers/dri/intel/intel_extensions.c
@@ -89,11 +89,7 @@ intelInitExtensions(struct gl_context *ctx)
ctx->Extensions.ARB_texture_rgb10_a2ui = true;
if (intel->gen >= 6)
- if (ctx->API == API_OPENGL_CORE) {
- ctx->Const.GLSLVersion = 140;
- } else {
- ctx->Const.GLSLVersion = 130;
- }
+ ctx->Const.GLSLVersion = 140;
else
ctx->Const.GLSLVersion = 120;
_mesa_override_glsl_version(ctx);
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
index eef8f437d62..4373d7b9180 100644
--- a/src/mesa/main/version.c
+++ b/src/mesa/main/version.c
@@ -345,6 +345,12 @@ _mesa_compute_version(struct gl_context *ctx)
switch (ctx->API) {
case API_OPENGL_COMPAT:
+ /* Disable GLSL 1.40 and later for legacy contexts.
+ * This disallows creation of the GL 3.1 compatibility context. */
+ if (ctx->Const.GLSLVersion > 130) {
+ ctx->Const.GLSLVersion = 130;
+ }
+ /* fall through */
case API_OPENGL_CORE:
compute_version(ctx);
break;
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 93ef7a91cf7..726d86846a9 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -570,10 +570,7 @@ void st_init_extensions(struct st_context *st)
glsl_feature_level = screen->get_param(screen, PIPE_CAP_GLSL_FEATURE_LEVEL);
if (glsl_feature_level >= 140) {
- if (ctx->API == API_OPENGL_CORE)
- ctx->Const.GLSLVersion = 140;
- else
- ctx->Const.GLSLVersion = 130;
+ ctx->Const.GLSLVersion = 140;
} else if (glsl_feature_level >= 130) {
ctx->Const.GLSLVersion = 130;
} else {