diff options
Diffstat (limited to 'src/driver/etna_pipe.c')
-rw-r--r-- | src/driver/etna_pipe.c | 11 |
1 files 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; x<ctx->conn->chip.pixel_pipes; ++x) { |