From: Alyssa Rosenzweig Date: Mon, 15 Jul 2019 15:22:33 +0000 (-0700) Subject: panfrost: Stub out panfrost_bo_cache_evict X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f3b7e1ddc77fad6d31f910a6ed9c33db4b13919e;p=mesa.git 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 --- 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 */