diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_emit.c b/src/gallium/drivers/freedreno/a2xx/fd2_emit.c index 50eee63636c..44f9b55f1fe 100644 --- a/src/gallium/drivers/freedreno/a2xx/fd2_emit.c +++ b/src/gallium/drivers/freedreno/a2xx/fd2_emit.c @@ -309,6 +309,15 @@ fd2_emit_state(struct fd_context *ctx, const enum fd_dirty_3d_state dirty) OUT_RING(ring, blend->rb_colormask); } + if (dirty & FD_DIRTY_BLEND_COLOR) { + OUT_PKT3(ring, CP_SET_CONSTANT, 5); + OUT_RING(ring, CP_REG(REG_A2XX_RB_BLEND_RED)); + OUT_RING(ring, float_to_ubyte(ctx->blend_color.color[0])); + OUT_RING(ring, float_to_ubyte(ctx->blend_color.color[1])); + OUT_RING(ring, float_to_ubyte(ctx->blend_color.color[2])); + OUT_RING(ring, float_to_ubyte(ctx->blend_color.color[3])); + } + if (dirty & (FD_DIRTY_TEX | FD_DIRTY_PROG)) emit_textures(ring, ctx); } |