From: Rob Clark Date: Sun, 16 Apr 2017 18:47:35 +0000 (-0400) Subject: freedreno: move clear path dirty state hack to a2xx backend X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d7fa7f5e7eafed8bb88f7e0b9ba4261a76ad9c95;p=mesa.git freedreno: move clear path dirty state hack to a2xx backend a3xx/a4xx use the generic u_blitter path, which will make state dirty bits be set appropriately thanks to the automagic of generic code setting generic state in the driver. And a5xx has a blit/dma engine (actually, two) so it doesn't need these extra dirty bits set. Signed-off-by: Rob Clark --- diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_draw.c b/src/gallium/drivers/freedreno/a2xx/fd2_draw.c index e47ae9b8afd..feec59fa5de 100644 --- a/src/gallium/drivers/freedreno/a2xx/fd2_draw.c +++ b/src/gallium/drivers/freedreno/a2xx/fd2_draw.c @@ -278,6 +278,15 @@ fd2_clear(struct fd_context *ctx, unsigned buffers, OUT_PKT3(ring, CP_SET_CONSTANT, 2); OUT_RING(ring, CP_REG(REG_A2XX_RB_COPY_CONTROL)); OUT_RING(ring, 0x00000000); + + ctx->dirty |= FD_DIRTY_ZSA | + FD_DIRTY_VIEWPORT | + FD_DIRTY_RASTERIZER | + FD_DIRTY_SAMPLE_MASK | + FD_DIRTY_PROG | + FD_DIRTY_CONSTBUF | + FD_DIRTY_BLEND | + FD_DIRTY_FRAMEBUFFER; } void diff --git a/src/gallium/drivers/freedreno/freedreno_draw.c b/src/gallium/drivers/freedreno/freedreno_draw.c index f911d4a6095..16c9ea84af3 100644 --- a/src/gallium/drivers/freedreno/freedreno_draw.c +++ b/src/gallium/drivers/freedreno/freedreno_draw.c @@ -367,15 +367,6 @@ fd_clear(struct pipe_context *pctx, unsigned buffers, ctx->clear(ctx, buffers, color, depth, stencil); - ctx->dirty |= FD_DIRTY_ZSA | - FD_DIRTY_VIEWPORT | - FD_DIRTY_RASTERIZER | - FD_DIRTY_SAMPLE_MASK | - FD_DIRTY_PROG | - FD_DIRTY_CONSTBUF | - FD_DIRTY_BLEND | - FD_DIRTY_FRAMEBUFFER; - if (fd_mesa_debug & FD_DBG_DCLEAR) fd_context_all_dirty(ctx); }