Module: Mesa Branch: main Commit: 9d73bfc9cdd127a52d07bf8b60e66c5a9495890e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d73bfc9cdd127a52d07bf8b60e66c5a9495890e
Author: Caio Oliveira <caio.olive...@intel.com> Date: Thu Oct 26 15:10:36 2023 -0700 anv: Fix leak when compiling internal kernels Cc: mesa-stable Reviewed-by: Paulo Zanoni <paulo.r.zan...@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwer...@intel.com> Tested-by: Paulo Zanoni <paulo.r.zan...@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25928> --- src/intel/vulkan/anv_internal_kernels.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/intel/vulkan/anv_internal_kernels.c b/src/intel/vulkan/anv_internal_kernels.c index 184d757fb36..077d7ebe177 100644 --- a/src/intel/vulkan/anv_internal_kernels.c +++ b/src/intel/vulkan/anv_internal_kernels.c @@ -245,6 +245,8 @@ compile_upload_spirv(struct anv_device *device, brw_nir_analyze_ubo_ranges(compiler, nir, NULL, prog_data.base.ubo_ranges); + void *temp_ctx = ralloc_context(NULL); + const unsigned *program; if (stage == MESA_SHADER_FRAGMENT) { struct brw_compile_stats stats[3]; @@ -254,6 +256,7 @@ compile_upload_spirv(struct anv_device *device, .log_data = device, .debug_flag = DEBUG_WM, .stats = stats, + .mem_ctx = temp_ctx, }, .key = &key.wm, .prog_data = &prog_data.wm, @@ -287,6 +290,7 @@ compile_upload_spirv(struct anv_device *device, .stats = &stats, .log_data = device, .debug_flag = DEBUG_CS, + .mem_ctx = temp_ctx, }, .key = &key.cs, .prog_data = &prog_data.cs, @@ -314,6 +318,7 @@ compile_upload_spirv(struct anv_device *device, &push_desc_info, 0 /* dynamic_push_values */); + ralloc_free(temp_ctx); ralloc_free(nir); return kernel;