aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_program_cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/iris/iris_program_cache.c')
-rw-r--r--src/gallium/drivers/iris/iris_program_cache.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_program_cache.c b/src/gallium/drivers/iris/iris_program_cache.c
index 5a09c7f5529..d80de6e6c4b 100644
--- a/src/gallium/drivers/iris/iris_program_cache.c
+++ b/src/gallium/drivers/iris/iris_program_cache.c
@@ -341,6 +341,11 @@ iris_destroy_program_cache(struct iris_context *ice)
ice->shaders.prog[i] = NULL;
}
+ hash_table_foreach(ice->shaders.cache, entry) {
+ struct iris_compiled_shader *shader = entry->data;
+ pipe_resource_reference(&shader->buffer, NULL);
+ }
+
u_upload_destroy(ice->shaders.uploader);
ralloc_free(ice->shaders.cache);