freedreno/a5xx: set SP_BLEND_CONTROL properly

Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
Rob Clark 2017-06-06 13:15:02 -04:00
parent 5b60004525
commit 812fd1aaa8
3 changed files with 4 additions and 1 deletions

View File

@ -142,6 +142,8 @@ fd5_blend_state_create(struct pipe_context *pctx,
so->rb_blend_cntl = A5XX_RB_BLEND_CNTL_ENABLE_BLEND(mrt_blend) |
COND(cso->independent_blend_enable, A5XX_RB_BLEND_CNTL_INDEPENDENT_BLEND);
so->sp_blend_cntl = A5XX_SP_BLEND_CNTL_UNK8 |
COND(mrt_blend, A5XX_SP_BLEND_CNTL_ENABLED);
return so;
}

View File

@ -46,6 +46,7 @@ struct fd5_blend_stateobj {
uint32_t blend_control_alpha;
} rb_mrt[A5XX_MAX_RENDER_TARGETS];
uint32_t rb_blend_cntl;
uint32_t sp_blend_cntl;
bool lrz_write;
};

View File

@ -694,7 +694,7 @@ fd5_emit_state(struct fd_context *ctx, struct fd_ringbuffer *ring,
A5XX_RB_BLEND_CNTL_SAMPLE_MASK(0xffff));
OUT_PKT4(ring, REG_A5XX_SP_BLEND_CNTL, 1);
OUT_RING(ring, 0x00000100);
OUT_RING(ring, blend->sp_blend_cntl);
}
if (dirty & FD_DIRTY_BLEND_COLOR) {