summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe/sp_state_blend.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_blend.c
parent080703e398f737b71336312fd3dc8d6f38f61e51 (diff)
softpipe: Flush draw module when fragment pipeline state changes.
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_state_blend.c')
-rw-r--r--src/gallium/drivers/softpipe/sp_state_blend.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/softpipe/sp_state_blend.c b/src/gallium/drivers/softpipe/sp_state_blend.c
index efed082f82..95ab323433 100644
--- a/src/gallium/drivers/softpipe/sp_state_blend.c
+++ b/src/gallium/drivers/softpipe/sp_state_blend.c
@@ -29,6 +29,7 @@
*/
#include "util/u_memory.h"
+#include "draw/draw_context.h"
#include "sp_context.h"
#include "sp_state.h"
@@ -45,6 +46,8 @@ void softpipe_bind_blend_state( struct pipe_context *pipe,
{
struct softpipe_context *softpipe = softpipe_context(pipe);
+ draw_flush(softpipe->draw);
+
softpipe->blend = (struct pipe_blend_state *)blend;
softpipe->dirty |= SP_NEW_BLEND;
@@ -62,6 +65,8 @@ void softpipe_set_blend_color( struct pipe_context *pipe,
{
struct softpipe_context *softpipe = softpipe_context(pipe);
+ draw_flush(softpipe->draw);
+
softpipe->blend_color = *blend_color;
softpipe->dirty |= SP_NEW_BLEND;