summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-11-19 22:08:51 -0800
committerKenneth Graunke <[email protected]>2019-02-21 10:26:10 -0800
commit11da219be9c1d0b1093e7b8e99a920d41596c718 (patch)
treec90dc35c86a5f6ba3395a749f803a85703cd5ccf /src
parent30d7bebc8a032378103c14fa3382f539bf861895 (diff)
iris: Avoid synchronizing due to the workaround BO
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/iris/iris_batch.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_batch.c b/src/gallium/drivers/iris/iris_batch.c
index 065c05ae808..fa07bf6fc0c 100644
--- a/src/gallium/drivers/iris/iris_batch.c
+++ b/src/gallium/drivers/iris/iris_batch.c
@@ -226,6 +226,14 @@ iris_use_pinned_bo(struct iris_batch *batch,
{
assert(bo->kflags & EXEC_OBJECT_PINNED);
+ /* Never mark the workaround BO with EXEC_OBJECT_WRITE. We don't care
+ * about the order of any writes to that buffer, and marking it writable
+ * would introduce data dependencies between multiple batches which share
+ * the buffer.
+ */
+ if (bo == batch->screen->workaround_bo)
+ writable = false;
+
struct drm_i915_gem_exec_object2 *existing_entry =
find_validation_entry(batch, bo);