From e248c02727d658843d7ea2c8c420b2589e7f1fed Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Wed, 29 Jan 2014 10:36:18 +0100 Subject: pe: keep the state updates in order of address Signed-off-by: Christian Gmeiner --- src/driver/etna_pipe.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/driver/etna_pipe.c b/src/driver/etna_pipe.c index 96acf82..5d94ee6 100644 --- a/src/driver/etna_pipe.c +++ b/src/driver/etna_pipe.c @@ -195,6 +195,10 @@ static void reset_context(struct pipe_context *restrict pipe) /*01404*/ EMIT_STATE(PE_DEPTH_NEAR, PE_DEPTH_NEAR); /*01408*/ EMIT_STATE(PE_DEPTH_FAR, PE_DEPTH_FAR); /*0140C*/ EMIT_STATE(PE_DEPTH_NORMALIZE, PE_DEPTH_NORMALIZE); + if (ctx->conn->chip.pixel_pipes == 1) + { + /*01410*/ EMIT_STATE(PE_DEPTH_ADDR, PE_DEPTH_ADDR); + } /*01414*/ EMIT_STATE(PE_DEPTH_STRIDE, PE_DEPTH_STRIDE); /*01418*/ EMIT_STATE(PE_STENCIL_OP, PE_STENCIL_OP); /*0141C*/ EMIT_STATE(PE_STENCIL_CONFIG, PE_STENCIL_CONFIG); @@ -202,14 +206,13 @@ static void reset_context(struct pipe_context *restrict pipe) /*01424*/ EMIT_STATE(PE_ALPHA_BLEND_COLOR, PE_ALPHA_BLEND_COLOR); /*01428*/ EMIT_STATE(PE_ALPHA_CONFIG, PE_ALPHA_CONFIG); /*0142C*/ EMIT_STATE(PE_COLOR_FORMAT, PE_COLOR_FORMAT); - /*01434*/ EMIT_STATE(PE_COLOR_STRIDE, PE_COLOR_STRIDE); - /*01454*/ EMIT_STATE(PE_HDEPTH_CONTROL, PE_HDEPTH_CONTROL); if (ctx->conn->chip.pixel_pipes == 1) { /*01430*/ EMIT_STATE(PE_COLOR_ADDR, PE_COLOR_ADDR); - /*01410*/ EMIT_STATE(PE_DEPTH_ADDR, PE_DEPTH_ADDR); } - else + /*01434*/ EMIT_STATE(PE_COLOR_STRIDE, PE_COLOR_STRIDE); + /*01454*/ EMIT_STATE(PE_HDEPTH_CONTROL, PE_HDEPTH_CONTROL); + if (ctx->conn->chip.pixel_pipes != 1) { for(int x=0; xconn->chip.pixel_pipes; ++x) { -- cgit