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