From edc830be34cc0ec1c68cdbf15076bcdba52c8c57 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 24 Nov 2022 08:20:39 +0100 Subject: [PATCH] radv: fix memleak with link time optimizations and GPL Do not clone the NIR when the driver retains NIR shaders because it exits early, otherwise stage->nir will never be freed. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7768 Signed-off-by: Samuel Pitoiset Reviewed-by: Tatsuyuki Ishi Part-of: --- src/amd/vulkan/radv_pipeline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index a4161cb0614..7520c162b4d 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -3761,7 +3761,7 @@ radv_pipeline_stage_retain_shader(struct radv_pipeline *pipeline, struct radv_pi { gl_shader_stage s = stage->stage; - pipeline->retained_shaders[s].nir = nir_shader_clone(NULL, stage->nir); + pipeline->retained_shaders[s].nir = stage->nir; } static void