diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-07-15 08:22:33 -0700 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-07-15 16:12:56 -0700 |
commit | f3b7e1ddc77fad6d31f910a6ed9c33db4b13919e (patch) | |
tree | 2a169e1940f5ea60f4977839f91faa51fe0467b6 | |
parent | 74ad5f89f82185bb2a2853d5ec1a59310627a435 (diff) |
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 <[email protected]>
-rw-r--r-- | src/gallium/drivers/panfrost/pan_bo_cache.c | 13 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pan_screen.c | 1 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pan_screen.h | 3 |
3 files changed, 17 insertions, 0 deletions
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 */ |