summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/softpipe/sp_context.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/softpipe/sp_context.c')
-rw-r--r--src/mesa/pipe/softpipe/sp_context.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/mesa/pipe/softpipe/sp_context.c b/src/mesa/pipe/softpipe/sp_context.c
index a6ab45314cf..e415966dae1 100644
--- a/src/mesa/pipe/softpipe/sp_context.c
+++ b/src/mesa/pipe/softpipe/sp_context.c
@@ -334,7 +334,19 @@ struct pipe_context *softpipe_create( struct pipe_winsys *pipe_winsys,
*/
softpipe->draw = draw_create();
assert(softpipe->draw);
- draw_set_rasterize_stage(softpipe->draw, sp_draw_render_stage(softpipe));
+ softpipe->setup = sp_draw_render_stage(softpipe);
+
+ if (getenv("SP_VBUF")) {
+ softpipe->vbuf = sp_draw_vbuf_stage(softpipe->draw,
+ &softpipe->pipe,
+ sp_vbuf_setup_draw);
+
+ draw_set_rasterize_stage(softpipe->draw, softpipe->vbuf);
+ }
+ else {
+ draw_set_rasterize_stage(softpipe->draw, softpipe->setup);
+ }
+
sp_init_region_functions(softpipe);
sp_init_surface_functions(softpipe);