From 54eae3355870d5b4ebf73f4690c1e72a2008779c Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 8 Oct 2020 10:41:31 -0500 Subject: [PATCH] clover: Stop leaking NIR shaders Reviewed-by: Karol Herbst Part-of: --- src/gallium/frontends/clover/nir/invocation.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/frontends/clover/nir/invocation.cpp b/src/gallium/frontends/clover/nir/invocation.cpp index 4e7b88d..9eb353d 100644 --- a/src/gallium/frontends/clover/nir/invocation.cpp +++ b/src/gallium/frontends/clover/nir/invocation.cpp @@ -342,12 +342,16 @@ module clover::nir::spirv_to_nir(const module &mod, const device &dev, blob_init(&blob); nir_serialize(&blob, nir, false); + ralloc_free(nir); + const pipe_binary_program_header header { uint32_t(blob.size) }; module::section text { section_id, module::section::text_executable, header.num_bytes, {} }; text.data.insert(text.data.end(), reinterpret_cast(&header), reinterpret_cast(&header) + sizeof(header)); text.data.insert(text.data.end(), blob.data, blob.data + blob.size); + free(blob.data); + m.syms.emplace_back(sym.name, std::string(), sym.reqd_work_group_size, section_id, 0, args); m.secs.push_back(text); -- 2.7.4