From 02932f37fa030f2d438b599106651cb938c3edc9 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 5 Jan 2012 14:25:04 +0000 Subject: softpipe: allow softpipe to set shader params depending on runtime llvm (v3) If draw isn't using llvm we can support vertex texture and integers, These will be fixed up later, but for now allow this check to happen at run-time. v2: since 3e22c7a25321554a32fa6254485912fd53deff3a we can ask draw for a non-llvm context. Just track if ask and set the vars accordingly. This probably isn't perfect but should cover the cases we care about. v3: use debug option, restructure to store in screen, as suggested by Jakob. Signed-off-by: Dave Airlie --- src/gallium/drivers/softpipe/sp_context.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/gallium/drivers/softpipe/sp_context.c') diff --git a/src/gallium/drivers/softpipe/sp_context.c b/src/gallium/drivers/softpipe/sp_context.c index e533e5a8243..abe0507b1ac 100644 --- a/src/gallium/drivers/softpipe/sp_context.c +++ b/src/gallium/drivers/softpipe/sp_context.c @@ -50,7 +50,7 @@ #include "sp_tex_tile_cache.h" #include "sp_texture.h" #include "sp_query.h" - +#include "sp_screen.h" /** @@ -230,6 +230,7 @@ struct pipe_context * softpipe_create_context( struct pipe_screen *screen, void *priv ) { + struct softpipe_screen *sp_screen = softpipe_screen(screen); struct softpipe_context *softpipe = CALLOC_STRUCT(softpipe_context); uint i; @@ -304,7 +305,7 @@ softpipe_create_context( struct pipe_screen *screen, /* * Create drawing context and plug our rendering stage into it. */ - if (debug_get_bool_option("SOFTPIPE_USE_LLVM", FALSE)) + if (sp_screen->using_llvm) softpipe->draw = draw_create(&softpipe->pipe); else softpipe->draw = draw_create_no_llvm(&softpipe->pipe); -- cgit v1.2.3