From 11da219be9c1d0b1093e7b8e99a920d41596c718 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 19 Nov 2018 22:08:51 -0800 Subject: [PATCH] iris: Avoid synchronizing due to the workaround BO --- src/gallium/drivers/iris/iris_batch.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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); -- 2.30.2