diff options
author | Zack Rusin <zack@tungstengraphics.com> | 2007-09-19 14:06:19 -0400 |
---|---|---|
committer | Zack Rusin <zack@tungstengraphics.com> | 2007-09-19 14:06:19 -0400 |
commit | c8650b087440c7ba5ad0d8652dc916852e55bc1d (patch) | |
tree | 1bca7e2e2ad7f3372478f389991dfbb68e62cf11 | |
parent | fe555c39bb7fd530298b5be4a8f06bff41726c86 (diff) |
Avoid redundant reallocation of the template.
cso already allocated the template for us. Returning 0 means
we have no driver specific representation and just want
the template on the bind.
-rw-r--r-- | src/mesa/pipe/softpipe/sp_state_blend.c | 9 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_atom_blend.c | 4 |
2 files changed, 6 insertions, 7 deletions
diff --git a/src/mesa/pipe/softpipe/sp_state_blend.c b/src/mesa/pipe/softpipe/sp_state_blend.c index 7a94e82d6f..7fb47e7aab 100644 --- a/src/mesa/pipe/softpipe/sp_state_blend.c +++ b/src/mesa/pipe/softpipe/sp_state_blend.c @@ -34,10 +34,9 @@ void * softpipe_create_blend_state(struct pipe_context *pipe, const struct pipe_blend_state *blend) { - struct pipe_blend_state *new_blend = malloc(sizeof(struct pipe_blend_state)); - memcpy(new_blend, blend, sizeof(struct pipe_blend_state)); - - return new_blend; + /* means that we just want pipe_blend_state and don't have + * anything specific */ + return 0; } void softpipe_bind_blend_state( struct pipe_context *pipe, @@ -53,7 +52,7 @@ void softpipe_bind_blend_state( struct pipe_context *pipe, void softpipe_delete_blend_state(struct pipe_context *pipe, void *blend ) { - free(blend); + /* do nothing */ } diff --git a/src/mesa/state_tracker/st_atom_blend.c b/src/mesa/state_tracker/st_atom_blend.c index d5eadc3541..f321cd3829 100644 --- a/src/mesa/state_tracker/st_atom_blend.c +++ b/src/mesa/state_tracker/st_atom_blend.c @@ -156,6 +156,7 @@ static void update_blend( struct st_context *st ) { struct pipe_blend_state blend; + const struct cso_blend *cso; memset(&blend, 0, sizeof(blend)); @@ -211,8 +212,7 @@ update_blend( struct st_context *st ) if (st->ctx->Color.DitherFlag) blend.dither = 1; - const struct cso_blend *cso = - st_cached_blend_state(st, &blend); + cso = st_cached_blend_state(st, &blend); if (st->state.blend != cso) { /* state has changed */ |