summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStéphane Marchesin <[email protected]>2012-01-18 19:24:18 -0800
committerStéphane Marchesin <[email protected]>2012-01-18 19:25:41 -0800
commit32b07bb1496f5772ca16e719bb87e1702ceff196 (patch)
treee125be092aaaa5e346d97cb047ba3de193a5a22b /src
parent2b4afdba05abe3408f6347be82465b6420f50aab (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/i915/i915_flush.c5
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 5d8e3c8274f..0a0ca7885da 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;
}