Mesa (master): freedreno: move clear path dirty state hack to a2xx backend

Rob Clark robclark at kemper.freedesktop.org
Tue Apr 18 20:51:10 UTC 2017


Module: Mesa
Branch: master
Commit: d7fa7f5e7eafed8bb88f7e0b9ba4261a76ad9c95
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7fa7f5e7eafed8bb88f7e0b9ba4261a76ad9c95

Author: Rob Clark <robdclark at gmail.com>
Date:   Sun Apr 16 14:47:35 2017 -0400

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 <robdclark at gmail.com>

---

 src/gallium/drivers/freedreno/a2xx/fd2_draw.c  | 9 +++++++++
 src/gallium/drivers/freedreno/freedreno_draw.c | 9 ---------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_draw.c b/src/gallium/drivers/freedreno/a2xx/fd2_draw.c
index e47ae9b8af..feec59fa5d 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 f911d4a609..16c9ea84af 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);
 }




More information about the mesa-commit mailing list