freedreno: free compiler when screen is destroyed
authorRob Clark <robdclark@gmail.com>
Tue, 21 Mar 2017 15:35:40 +0000 (11:35 -0400)
committerRob Clark <robdclark@gmail.com>
Fri, 24 Mar 2017 22:01:47 +0000 (18:01 -0400)
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 <robdclark@gmail.com>
src/gallium/drivers/freedreno/freedreno_screen.c
src/gallium/drivers/freedreno/ir3/ir3_compiler.c
src/gallium/drivers/freedreno/ir3/ir3_compiler.h

index f0c9e187d20a4bd8b8a17180f18b06aff9d0b063..5657de592769edb2a48cd63d377a1f17e8de0d0c 100644 (file)
@@ -144,6 +144,8 @@ fd_screen_destroy(struct pipe_screen *pscreen)
 
        mtx_destroy(&screen->lock);
 
+       ralloc_free(screen->compiler);
+
        free(screen);
 }
 
index 37ad73380ab863ec79c829e74ced8765756f5b31..ff4d1b09ea8bcfd41920233f6e849076c5ad9179 100644 (file)
@@ -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);
-}
index 0ad689ca1e744df4305cfddf098ffa7bf588780c..671332e816d5f1a4a123524e70b69b348bc4bd29 100644 (file)
@@ -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);