diff --git a/src/gallium/frontends/clover/nir/invocation.cpp b/src/gallium/frontends/clover/nir/invocation.cpp index 4e7b88d5dec..9eb353dab9f 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);