summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-11-08 14:51:16 -0800
committerKenneth Graunke <[email protected]>2019-02-21 10:26:10 -0800
commitdb199d9d0770c3c76e6a9487b07c61513204bf8f (patch)
tree06d82617cf04eeaf6cbc5e5fd53db1250b100254 /src/gallium
parentd69bc4ac121369ac6cfe62c1b720a9dd59bf3483 (diff)
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.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/iris/iris_batch.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_batch.c b/src/gallium/drivers/iris/iris_batch.c
index 85051186980..cc346ca0029 100644
--- a/src/gallium/drivers/iris/iris_batch.c
+++ b/src/gallium/drivers/iris/iris_batch.c
@@ -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);
}
}