diff options
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.c | 3 | ||||
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.h | 1 |
2 files changed, 3 insertions, 1 deletions
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; |