Mesa (master): radeonsi: don't keep compute shader IR after compilation
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Nov 6 04:30:36 UTC 2019
Module: Mesa
Branch: master
Commit: abb8011f9d584bc4198d7475d279a6136a9b0403
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=abb8011f9d584bc4198d7475d279a6136a9b0403
Author: Marek Olšák <marek.olsak at amd.com>
Date: Fri Nov 1 21:37:47 2019 -0400
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 at itsqueeze.com>
---
src/gallium/drivers/radeonsi/si_compute.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
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);
}
More information about the mesa-commit
mailing list