iris: Add wait fences to properly sync between render/compute

When flushing a batch due to a data dependency, we need to not only
kick off the other batch's work, but stall our execution until it
completes.  Just wait on last_syncpt after flushing it.
This commit is contained in:
Kenneth Graunke
2018-11-08 14:51:16 -08:00
parent d69bc4ac12
commit db199d9d07

View File

@@ -299,6 +299,8 @@ iris_use_pinned_bo(struct iris_batch *batch,
if (other_entry &&
((other_entry->flags & EXEC_OBJECT_WRITE) || writable)) {
iris_batch_flush(batch->other_batches[b]);
iris_batch_add_syncpt(batch, batch->other_batches[b]->last_syncpt,
I915_EXEC_FENCE_WAIT);
}
}