summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_atom_blend.c
diff options
context:
space:
mode:
authorZack Rusin <zack@tungstengraphics.com>2007-09-19 12:35:29 -0400
committerZack Rusin <zack@tungstengraphics.com>2007-09-19 13:12:09 -0400
commitc0bf7322088715bb411068c3d631b0c4be8cdff5 (patch)
treeacc04e8f411800c3dbdc6672585d38894dd11b5d /src/mesa/state_tracker/st_atom_blend.c
parentb3cc74aa448f42340cbd01578a51f94eb2949618 (diff)
Redo the cso cache to map driver data in a lot more pleasing way.
Drivers can now create whatever they want from the state template. We use cso_state object to store the template (necessary during lookups), and the driver data. Convert blend state to the new semantics.
Diffstat (limited to 'src/mesa/state_tracker/st_atom_blend.c')
-rw-r--r--src/mesa/state_tracker/st_atom_blend.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mesa/state_tracker/st_atom_blend.c b/src/mesa/state_tracker/st_atom_blend.c
index d94beb66c7..d5eadc3541 100644
--- a/src/mesa/state_tracker/st_atom_blend.c
+++ b/src/mesa/state_tracker/st_atom_blend.c
@@ -211,14 +211,14 @@ update_blend( struct st_context *st )
if (st->ctx->Color.DitherFlag)
blend.dither = 1;
- struct pipe_blend_state *real_blend =
+ const struct cso_blend *cso =
st_cached_blend_state(st, &blend);
- if (st->state.blend != real_blend) {
+ if (st->state.blend != cso) {
/* state has changed */
- st->state.blend = real_blend;
+ st->state.blend = cso;
/* bind new state */
- st->pipe->bind_blend_state(st->pipe, real_blend);
+ st->pipe->bind_blend_state(st->pipe, cso->data);
}
if (memcmp(st->ctx->Color.BlendColor, &st->state.blend_color, 4 * sizeof(GLfloat)) != 0) {