From d87ef8f77c4014902ef05b5caafc66cb36ee56f0 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Tue, 21 Mar 2017 11:35:40 -0400 Subject: [PATCH] freedreno: free compiler when screen is destroyed Drop ir3_compiler_destroy(), since it is only ralloc_free() and we shouldn't really have an ir3 dependency in core. If some future hw has a new compiler, as long as all it's resources are ralloc()d then things will all just work. (In practice, I suppose you never really see this leak, but removing it at least cleans up some noise in valgrind.) Signed-off-by: Rob Clark --- src/gallium/drivers/freedreno/freedreno_screen.c | 2 ++ src/gallium/drivers/freedreno/ir3/ir3_compiler.c | 5 ----- src/gallium/drivers/freedreno/ir3/ir3_compiler.h | 1 - 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index f0c9e187d20..5657de59276 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -144,6 +144,8 @@ fd_screen_destroy(struct pipe_screen *pscreen) mtx_destroy(&screen->lock); + ralloc_free(screen->compiler); + free(screen); } diff --git a/src/gallium/drivers/freedreno/ir3/ir3_compiler.c b/src/gallium/drivers/freedreno/ir3/ir3_compiler.c index 37ad73380ab..ff4d1b09ea8 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_compiler.c +++ b/src/gallium/drivers/freedreno/ir3/ir3_compiler.c @@ -38,8 +38,3 @@ struct ir3_compiler * ir3_compiler_create(struct fd_device *dev, uint32_t gpu_id compiler->set = ir3_ra_alloc_reg_set(compiler); return compiler; } - -void ir3_compiler_destroy(struct ir3_compiler *compiler) -{ - ralloc_free(compiler); -} diff --git a/src/gallium/drivers/freedreno/ir3/ir3_compiler.h b/src/gallium/drivers/freedreno/ir3/ir3_compiler.h index 0ad689ca1e7..671332e816d 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_compiler.h +++ b/src/gallium/drivers/freedreno/ir3/ir3_compiler.h @@ -41,7 +41,6 @@ struct ir3_compiler { }; struct ir3_compiler * ir3_compiler_create(struct fd_device *dev, uint32_t gpu_id); -void ir3_compiler_destroy(struct ir3_compiler *compiler); int ir3_compile_shader_nir(struct ir3_compiler *compiler, struct ir3_shader_variant *so); -- 2.30.2