summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_atom_blend.c
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2007-07-03 17:19:30 -0600
committerBrian <brian.paul@tungstengraphics.com>2007-07-03 17:19:30 -0600
commit284efcfc27aaeb447e0898ae3342e9fee20c584a (patch)
tree1609853cf29787ed45d129b17e2549a2e3501d93 /src/mesa/state_tracker/st_atom_blend.c
parentd378a2c0b87dfc0bee0e8310312fec566148cb63 (diff)
hook in state tracking for blend color
Diffstat (limited to 'src/mesa/state_tracker/st_atom_blend.c')
-rw-r--r--src/mesa/state_tracker/st_atom_blend.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_atom_blend.c b/src/mesa/state_tracker/st_atom_blend.c
index e0215c9eef..3e5410cfab 100644
--- a/src/mesa/state_tracker/st_atom_blend.c
+++ b/src/mesa/state_tracker/st_atom_blend.c
@@ -201,6 +201,15 @@ update_blend( struct st_context *st )
st->state.blend = blend; /* struct copy */
st->pipe->set_blend_state(st->pipe, &blend); /* set new state */
}
+
+ if (memcmp(st->ctx->Color.BlendColor, &st->state.blend_color, 4 * sizeof(GLfloat)) != 0) {
+ /* state has changed */
+ st->state.blend_color.color[0] = st->ctx->Color.BlendColor[0];
+ st->state.blend_color.color[1] = st->ctx->Color.BlendColor[1];
+ st->state.blend_color.color[2] = st->ctx->Color.BlendColor[2];
+ st->state.blend_color.color[3] = st->ctx->Color.BlendColor[3];
+ st->pipe->set_blend_color(st->pipe, (struct pipe_blend_color *) st->ctx->Color.BlendColor);
+ }
}