From: Vadim Girlin Date: Mon, 9 Apr 2012 15:35:39 +0000 (+0400) Subject: r600g: store glsl_feature_level in the r600_screen X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e382a0c14251a3000090ee75765f8d88d1b20409;p=mesa.git r600g: store glsl_feature_level in the r600_screen Signed-off-by: Vadim Girlin Reviewed-by: Michel Dänzer Signed-off-by: Dave Airlie --- diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 49c79f16ffa..b1bb26a0227 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -405,7 +405,7 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param) return 1; case PIPE_CAP_GLSL_FEATURE_LEVEL: - return debug_get_bool_option("R600_GLSL130", FALSE) ? 130 : 120; + return rscreen->glsl_feature_level; /* Supported except the original R600. */ case PIPE_CAP_INDEP_BLEND_ENABLE: @@ -875,6 +875,7 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws) pipe_mutex_init(rscreen->fences.mutex); rscreen->use_surface_alloc = debug_get_bool_option("R600_SURF", TRUE); + rscreen->glsl_feature_level = debug_get_bool_option("R600_GLSL130", FALSE) ? 130 : 120; return &rscreen->screen; } diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index fafc4364043..fd134fae0c6 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -124,6 +124,7 @@ struct r600_screen { unsigned num_contexts; bool use_surface_alloc; + int glsl_feature_level; /* for thread-safe write accessing to num_contexts */ pipe_mutex mutex_num_contexts;