[Mesa-dev] [PATCH 1/2] mesa: disallow creation of GL 3.1 compatibility contexts
Marek Olšák
maraeo at gmail.com
Sat Dec 8 14:02:07 PST 2012
Death to driver-specific hacks!
---
src/mesa/drivers/dri/intel/intel_extensions.c | 6 +-----
src/mesa/main/version.c | 6 ++++++
src/mesa/state_tracker/st_extensions.c | 5 +----
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 96288ab..df886a5 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 eef8f43..4373d7b 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 93ef7a9..726d868 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 {
--
1.7.10.4
More information about the mesa-dev
mailing list