[Mesa-dev] [PATCH 1/2] r600g: store glsl_feature_level in the r600_screen

Vadim Girlin vadimgirlin at gmail.com
Mon Apr 9 08:35:39 PDT 2012


Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>
---
 src/gallium/drivers/r600/r600_pipe.c |    3 ++-
 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 35553f4..6486640 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -411,7 +411,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:
@@ -879,6 +879,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 a84f9cc..47849d2 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;
-- 
1.7.7.6



More information about the mesa-dev mailing list