From 9df64b56663c3ffaee081aa608db9e5163a4eeae Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Fri, 29 Sep 2017 10:06:17 -0700 Subject: anv/pipeline: Ralloc prog_data::param of the compile mem_ctx This way we stop leaking it. This is completely safe because, when we hand it off to anv_shader_bin_create or anv_pipeline_cache_upload_kernel, they make a copy of the entire param array. Reviewed-by: Jordan Justen Reviewed-by: Kenneth Graunke --- src/intel/vulkan/anv_pipeline.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index be67392625b..1e81edd390c 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -417,8 +417,7 @@ anv_pipeline_compile(struct anv_pipeline *pipeline, pipeline->needs_data_cache = true; if (prog_data->nr_params > 0) { - /* XXX: I think we're leaking this */ - prog_data->param = malloc(prog_data->nr_params * sizeof(uint32_t)); + prog_data->param = ralloc_array(mem_ctx, uint32_t, prog_data->nr_params); /* We now set the param values to be offsets into a * anv_push_constant_data structure. Since the compiler doesn't -- cgit v1.2.3