From b7534fe82aa2fd7a4e3fe7695b7b8a4b3d3f23d5 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 31 Aug 2021 14:21:30 -0400 Subject: [PATCH] zink: destroy shader modules on program free to avoid leaking it's irrelevant whether the shader pointer is valid, the shader cache may still exist Fixes: a92442225ca ("zink: split up shader cache per-stage") Reviewed-by: Timothy Arceri Part-of: --- src/gallium/drivers/zink/zink_program.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c index 1e90ec8154d..333464b6b10 100644 --- a/src/gallium/drivers/zink/zink_program.c +++ b/src/gallium/drivers/zink/zink_program.c @@ -683,8 +683,8 @@ zink_destroy_gfx_program(struct zink_screen *screen, if (prog->shaders[i]) { _mesa_set_remove_key(prog->shaders[i]->programs, prog); prog->shaders[i] = NULL; - destroy_shader_cache(screen, &prog->base.shader_cache[i]); } + destroy_shader_cache(screen, &prog->base.shader_cache[i]); ralloc_free(prog->nir[i]); }