Mesa (master): panfrost: Stub out panfrost_bo_cache_evict

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jul 15 23:14:21 UTC 2019


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

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Jul 15 08:22:33 2019 -0700

panfrost: Stub out panfrost_bo_cache_evict

This destructor will be used to legitimately free the BOs, now that a BO
free with cacheable=0 is only a "fake" free.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>

---

 src/gallium/drivers/panfrost/pan_bo_cache.c | 13 +++++++++++++
 src/gallium/drivers/panfrost/pan_screen.c   |  1 +
 src/gallium/drivers/panfrost/pan_screen.h   |  3 +++
 3 files changed, 17 insertions(+)

diff --git a/src/gallium/drivers/panfrost/pan_bo_cache.c b/src/gallium/drivers/panfrost/pan_bo_cache.c
index 3804592b41d..d0ca99da136 100644
--- a/src/gallium/drivers/panfrost/pan_bo_cache.c
+++ b/src/gallium/drivers/panfrost/pan_bo_cache.c
@@ -47,4 +47,17 @@ panfrost_bo_cache_put(
         return false;
 }
 
+/* Evicts all BOs from the cache. Called during context
+ * destroy or during low-memory situations (to free up
+ * memory that may be unused by us just sitting in our
+ * cache, but still reserved from the perspective of the
+ * OS) */
+
+void
+panfrost_bo_cache_evict_all(
+                struct panfrost_screen *screen)
+{
+        /* Stub */
+        return;
+}
 
diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c
index 27ff0020915..48ffde0d7b1 100644
--- a/src/gallium/drivers/panfrost/pan_screen.c
+++ b/src/gallium/drivers/panfrost/pan_screen.c
@@ -443,6 +443,7 @@ static void
 panfrost_destroy_screen(struct pipe_screen *pscreen)
 {
         struct panfrost_screen *screen = pan_screen(pscreen);
+        panfrost_bo_cache_evict_all(screen);
         ralloc_free(screen);
 }
 
diff --git a/src/gallium/drivers/panfrost/pan_screen.h b/src/gallium/drivers/panfrost/pan_screen.h
index b90d9febad2..18866db049e 100644
--- a/src/gallium/drivers/panfrost/pan_screen.h
+++ b/src/gallium/drivers/panfrost/pan_screen.h
@@ -171,5 +171,8 @@ panfrost_bo_cache_put(
                 struct panfrost_screen *screen,
                 struct panfrost_bo *bo);
 
+void
+panfrost_bo_cache_evict_all(
+                struct panfrost_screen *screen);
 
 #endif /* PAN_SCREEN_H */




More information about the mesa-commit mailing list