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.
This commit is contained in:
Zack Rusin 2007-09-19 14:06:19 -04:00
parent fe555c39bb
commit c8650b0874
2 changed files with 6 additions and 7 deletions

View file

@ -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 */
}

View file

@ -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 */