From: Marek Olšák <marek.ol...@amd.com> --- src/mesa/main/extensions_table.h | 1 + src/mesa/main/mtypes.h | 1 + src/mesa/main/version.c | 13 ++++++++----- 3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h index e26d395..38e915d 100644 --- a/src/mesa/main/extensions_table.h +++ b/src/mesa/main/extensions_table.h @@ -33,20 +33,21 @@ EXT(ARB_ES3_2_compatibility , ARB_ES3_2_compatibility EXT(ARB_ES3_compatibility , ARB_ES3_compatibility , GLL, GLC, x , x , 2012) EXT(ARB_arrays_of_arrays , ARB_arrays_of_arrays , GLL, GLC, x , x , 2012) EXT(ARB_base_instance , ARB_base_instance , GLL, GLC, x , x , 2011) EXT(ARB_bindless_texture , ARB_bindless_texture , GLL, GLC, x , x , 2013) EXT(ARB_blend_func_extended , ARB_blend_func_extended , GLL, GLC, x , x , 2009) EXT(ARB_buffer_storage , ARB_buffer_storage , GLL, GLC, x , x , 2013) EXT(ARB_clear_buffer_object , dummy_true , GLL, GLC, x , x , 2012) EXT(ARB_clear_texture , ARB_clear_texture , GLL, GLC, x , x , 2013) EXT(ARB_clip_control , ARB_clip_control , GLL, GLC, x , x , 2014) EXT(ARB_color_buffer_float , ARB_color_buffer_float , GLL, GLC, x , x , 2004) +EXT(ARB_compatibility , ARB_compatibility , GLL, x , x , x , 2009) EXT(ARB_compressed_texture_pixel_storage , dummy_true , GLL, GLC, x , x , 2011) EXT(ARB_compute_shader , ARB_compute_shader , GLL, GLC, x , x , 2012) EXT(ARB_compute_variable_group_size , ARB_compute_variable_group_size , GLL, GLC, x , x , 2013) EXT(ARB_conditional_render_inverted , ARB_conditional_render_inverted , GLL, GLC, x , x , 2014) EXT(ARB_conservative_depth , ARB_conservative_depth , GLL, GLC, x , x , 2011) EXT(ARB_copy_buffer , dummy_true , GLL, GLC, x , x , 2008) EXT(ARB_copy_image , ARB_copy_image , GLL, GLC, x , x , 2012) EXT(ARB_cull_distance , ARB_cull_distance , GLL, GLC, x , x , 2014) EXT(ARB_debug_output , dummy_true , GLL, GLC, x , x , 2009) EXT(ARB_depth_buffer_float , ARB_depth_buffer_float , GLL, GLC, x , x , 2008) diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 2802a0e..8a1fae1 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -4012,20 +4012,21 @@ struct gl_extensions GLboolean ARB_ES3_1_compatibility; GLboolean ARB_ES3_2_compatibility; GLboolean ARB_arrays_of_arrays; GLboolean ARB_base_instance; GLboolean ARB_bindless_texture; GLboolean ARB_blend_func_extended; GLboolean ARB_buffer_storage; GLboolean ARB_clear_texture; GLboolean ARB_clip_control; GLboolean ARB_color_buffer_float; + GLboolean ARB_compatibility; GLboolean ARB_compute_shader; GLboolean ARB_compute_variable_group_size; GLboolean ARB_conditional_render_inverted; GLboolean ARB_conservative_depth; GLboolean ARB_copy_image; GLboolean ARB_cull_distance; GLboolean ARB_depth_buffer_float; GLboolean ARB_depth_clamp; GLboolean ARB_depth_texture; GLboolean ARB_derivative_control; diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c index 90c5c5f..06b8e4d 100644 --- a/src/mesa/main/version.c +++ b/src/mesa/main/version.c @@ -572,25 +572,25 @@ compute_version_es2(const struct gl_extensions *extensions, return 0; } } GLuint _mesa_get_version(const struct gl_extensions *extensions, struct gl_constants *consts, gl_api api) { switch (api) { case API_OPENGL_COMPAT: - /* Disable GLSL 1.40 and later for legacy contexts. - * This disallows creation of the GL 3.1 compatibility context. */ + /* Disable higher GLSL versions for legacy contexts. + * This disallows creation of higher compatibility contexts. */ if (!consts->AllowHigherCompatVersion) { - if (consts->GLSLVersion > 130) { - consts->GLSLVersion = 130; + if (consts->GLSLVersion > 140) { + consts->GLSLVersion = 140; } } /* fall through */ case API_OPENGL_CORE: return compute_version(extensions, consts, api); case API_OPENGLES: return compute_version_es1(extensions); case API_OPENGLES2: return compute_version_es2(extensions, consts); } @@ -604,24 +604,27 @@ _mesa_get_version(const struct gl_extensions *extensions, */ void _mesa_compute_version(struct gl_context *ctx) { if (ctx->Version) return; ctx->Version = _mesa_get_version(&ctx->Extensions, &ctx->Const, ctx->API); ctx->Extensions.Version = ctx->Version; + if (ctx->API == API_OPENGL_COMPAT && ctx->Version >= 31) + ctx->Extensions.ARB_compatibility = GL_TRUE; + /* Make sure that the GLSL version lines up with the GL version. In some * cases it can be too high, e.g. if an extension is missing. */ - if (ctx->API == API_OPENGL_CORE) { + if (_mesa_is_desktop_gl(ctx) && ctx->Version >= 31) { switch (ctx->Version) { case 31: ctx->Const.GLSLVersion = 140; break; case 32: ctx->Const.GLSLVersion = 150; break; default: ctx->Const.GLSLVersion = ctx->Version * 10; break; -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev