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 <tarceri@itsqueeze.com>
This commit is contained in:
Marek Olšák 2019-11-01 21:37:47 -04:00
parent 62229e8949
commit abb8011f9d

View file

@ -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);
}