From: Jason Ekstrand Date: Fri, 29 Sep 2017 17:06:17 +0000 (-0700) Subject: anv/pipeline: Ralloc prog_data::param of the compile mem_ctx X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9df64b56663c3ffaee081aa608db9e5163a4eeae;p=mesa.git 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 --- 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