cso already allocated the template for us. Returning 0 means
we have no driver specific representation and just want
the template on the bind.
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,
void softpipe_delete_blend_state(struct pipe_context *pipe,
void *blend )
{
- free(blend);
+ /* do nothing */
}
update_blend( struct st_context *st )
{
struct pipe_blend_state blend;
+ const struct cso_blend *cso;
memset(&blend, 0, sizeof(blend));
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 */