Mesa (master): i915g: Don't avoid flushing when we have a pending fence.

Stephane Marchesin marcheu at kemper.freedesktop.org
Thu Jan 19 03:26:29 UTC 2012


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

Author: Stéphane Marchesin <marcheu at chromium.org>
Date:   Wed Jan 18 19:24:18 2012 -0800

i915g: Don't avoid flushing when we have a pending fence.

Otherwise the fence will never arrive.
Also check for a NULL i915->batch.

NOTE: This is a candidate for the 8.0 branch.

---

 src/gallium/drivers/i915/i915_flush.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/i915/i915_flush.c b/src/gallium/drivers/i915/i915_flush.c
index 5d8e3c8..0a0ca78 100644
--- a/src/gallium/drivers/i915/i915_flush.c
+++ b/src/gallium/drivers/i915/i915_flush.c
@@ -45,7 +45,10 @@ static void i915_flush_pipe( struct pipe_context *pipe,
 
    draw_flush(i915->draw);
 
-   if (i915->batch->map == i915->batch->ptr) {
+   /* Only shortcut this if we have no fence, otherwise we must flush the
+    * empty batchbuffer to get our fence back.
+    */
+   if (!fence && i915->batch && (i915->batch->map == i915->batch->ptr)) {
       return;
    }
 




More information about the mesa-commit mailing list