Mesa (master): r600g,radeonsi: don' t skip the context flush if a fence should be returned

Marek Olšák mareko at kemper.freedesktop.org
Fri Apr 18 11:37:20 UTC 2014


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Apr 18 13:25:11 2014 +0200

r600g,radeonsi: don't skip the context flush if a fence should be returned

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77589

---

 src/gallium/drivers/r600/r600_hw_context.c   |    2 +-
 src/gallium/drivers/radeonsi/si_hw_context.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_hw_context.c b/src/gallium/drivers/r600/r600_hw_context.c
index a860519..5ecc73d 100644
--- a/src/gallium/drivers/r600/r600_hw_context.c
+++ b/src/gallium/drivers/r600/r600_hw_context.c
@@ -236,7 +236,7 @@ void r600_context_gfx_flush(void *context, unsigned flags,
 	struct r600_context *ctx = context;
 	struct radeon_winsys_cs *cs = ctx->b.rings.gfx.cs;
 
-	if (cs->cdw == ctx->b.initial_gfx_cs_size)
+	if (cs->cdw == ctx->b.initial_gfx_cs_size && !fence)
 		return;
 
 	ctx->b.rings.gfx.flushing = true;
diff --git a/src/gallium/drivers/radeonsi/si_hw_context.c b/src/gallium/drivers/radeonsi/si_hw_context.c
index 185041e..383157b 100644
--- a/src/gallium/drivers/radeonsi/si_hw_context.c
+++ b/src/gallium/drivers/radeonsi/si_hw_context.c
@@ -83,7 +83,7 @@ void si_context_gfx_flush(void *context, unsigned flags,
 	struct si_context *ctx = context;
 	struct radeon_winsys_cs *cs = ctx->b.rings.gfx.cs;
 
-	if (cs->cdw == ctx->b.initial_gfx_cs_size)
+	if (cs->cdw == ctx->b.initial_gfx_cs_size && !fence)
 		return;
 
 	ctx->b.rings.gfx.flushing = true;




More information about the mesa-commit mailing list