diff options
author | José Fonseca <[email protected]> | 2009-12-26 21:05:31 +0000 |
---|---|---|
committer | José Fonseca <[email protected]> | 2009-12-26 21:06:46 +0000 |
commit | 4ccf0bb74e7f88ff51bba64a2a94a29f997231f5 (patch) | |
tree | 96f0f201782979a21abe1c8f5a3be02f4234e038 /src/gallium/drivers/softpipe/sp_state_rasterizer.c | |
parent | 080703e398f737b71336312fd3dc8d6f38f61e51 (diff) |
softpipe: Flush draw module when fragment pipeline state changes.
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_state_rasterizer.c')
-rw-r--r-- | src/gallium/drivers/softpipe/sp_state_rasterizer.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gallium/drivers/softpipe/sp_state_rasterizer.c b/src/gallium/drivers/softpipe/sp_state_rasterizer.c index 87b72196838..a5b00336d44 100644 --- a/src/gallium/drivers/softpipe/sp_state_rasterizer.c +++ b/src/gallium/drivers/softpipe/sp_state_rasterizer.c @@ -41,14 +41,17 @@ softpipe_create_rasterizer_state(struct pipe_context *pipe, } void softpipe_bind_rasterizer_state(struct pipe_context *pipe, - void *setup) + void *rasterizer) { struct softpipe_context *softpipe = softpipe_context(pipe); + if (softpipe->rasterizer == rasterizer) + return; + /* pass-through to draw module */ - draw_set_rasterizer_state(softpipe->draw, setup); + draw_set_rasterizer_state(softpipe->draw, rasterizer); - softpipe->rasterizer = (struct pipe_rasterizer_state *)setup; + softpipe->rasterizer = rasterizer; softpipe->dirty |= SP_NEW_RASTERIZER; } |