summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/i915/i915_flush.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/i915/i915_flush.c')
-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;
}