Mesa (master): i965: Add a cache_coherent field to brw_bo

Matt Turner mattst88 at kemper.freedesktop.org
Tue Jun 6 18:47:59 UTC 2017


Module: Mesa
Branch: master
Commit: 47bb4985346a1ae7d8da06c591e7a3f05068ee99
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=47bb4985346a1ae7d8da06c591e7a3f05068ee99

Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu May 18 12:02:39 2017 -0700

i965: Add a cache_coherent field to brw_bo

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 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 9a65d32dd0..2b42182d26 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 1e3e8cff45..6ce14bbcba 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 ebf77b6550..34b8651b00 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -628,6 +628,9 @@ miptree_create(struct brw_context *brw,
                                   alloc_flags);
    }
 
+   if (layout_flags & MIPTREE_LAYOUT_FOR_SCANOUT)
+      mt->bo->cache_coherent = false;
+
    return mt;
 }
 




More information about the mesa-commit mailing list