summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe/sp_state_rasterizer.c
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2009-12-26 21:05:31 +0000
committerJosé Fonseca <jfonseca@vmware.com>2009-12-26 21:06:46 +0000
commit4ccf0bb74e7f88ff51bba64a2a94a29f997231f5 (patch)
tree96f0f201782979a21abe1c8f5a3be02f4234e038 /src/gallium/drivers/softpipe/sp_state_rasterizer.c
parent080703e398f737b71336312fd3dc8d6f38f61e51 (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.c9
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 87b7219683..a5b00336d4 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;
}