[Mesa-dev] [PATCH 04/16] i965: Add a cache_coherent field to brw_bo
Matt Turner
mattst88 at gmail.com
Wed May 24 20:04:46 UTC 2017
---
src/mesa/drivers/dri/i965/brw_bufmgr.c | 1 +
src/mesa/drivers/dri/i965/brw_bufmgr.h | 5 +++++
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 3 +++
3 files changed, 9 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.c b/src/mesa/drivers/dri/i965/brw_bufmgr.c
index 9a65d32..2b42182 100644
--- a/src/mesa/drivers/dri/i965/brw_bufmgr.c
+++ b/src/mesa/drivers/dri/i965/brw_bufmgr.c
@@ -351,6 +351,7 @@ retry:
bo->name = name;
p_atomic_set(&bo->refcount, 1);
bo->reusable = true;
+ bo->cache_coherent = bufmgr->has_llc;
pthread_mutex_unlock(&bufmgr->lock);
diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.h b/src/mesa/drivers/dri/i965/brw_bufmgr.h
index 1e3e8cf..6ce14bb 100644
--- a/src/mesa/drivers/dri/i965/brw_bufmgr.h
+++ b/src/mesa/drivers/dri/i965/brw_bufmgr.h
@@ -123,6 +123,11 @@ struct brw_bo {
* Boolean of whether this buffer can be re-used
*/
bool reusable;
+
+ /**
+ * Boolean of whether this buffer is cache coherent
+ */
+ bool cache_coherent;
};
#define BO_ALLOC_FOR_RENDER (1<<0)
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index 6c308ff..049b4c1 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -627,6 +627,9 @@ miptree_create(struct brw_context *brw,
alloc_flags);
}
+ if (layout_flags & MIPTREE_LAYOUT_FOR_SCANOUT)
+ mt->bo->cache_coherent = false;
+
return mt;
}
--
2.10.2
More information about the mesa-dev
mailing list