From: Marek Olšák Date: Sat, 2 Nov 2019 01:37:47 +0000 (-0400) Subject: radeonsi: don't keep compute shader IR after compilation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=abb8011f9d584bc4198d7475d279a6136a9b0403;p=mesa.git radeonsi: don't keep compute shader IR after compilation not needed. We also need to free TGSI in the destroy function for the case when an app is terminated and si_create_compute_state_async is never executed because of util_queue_drop_job. Reviewed-by: Timothy Arceri --- diff --git a/src/gallium/drivers/radeonsi/si_compute.c b/src/gallium/drivers/radeonsi/si_compute.c index 56af2aedbb7..4cadf3e808d 100644 --- a/src/gallium/drivers/radeonsi/si_compute.c +++ b/src/gallium/drivers/radeonsi/si_compute.c @@ -208,8 +208,10 @@ static void si_create_compute_state_async(void *job, int thread_index) simple_mtx_unlock(&sscreen->shader_cache_mutex); } - if (program->ir_type == PIPE_SHADER_IR_TGSI) - FREE(sel->tokens); + FREE(sel->tokens); + sel->tokens = NULL; + ralloc_free(sel->nir); + sel->nir = NULL; } static void *si_create_compute_state( @@ -974,6 +976,7 @@ void si_destroy_compute(struct si_compute *program) FREE(program->global_buffers); si_shader_destroy(&program->shader); + FREE(program->sel.tokens); ralloc_free(program->sel.nir); FREE(program); }