intel/blorp: Rework our usage of ralloc when compiling shaders
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 21 Oct 2016 19:09:38 +0000 (12:09 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 28 Oct 2016 05:46:13 +0000 (22:46 -0700)
commit43dadb6edd5e3e3e10b1198184a9f75556edad49
treef2c67ee18bbef5193633c3aacf98ec985eeda7e8
parentab92480272bc34d943d28506cc36759e141b4371
intel/blorp: Rework our usage of ralloc when compiling shaders

Previously, we were creating the shader with a NULL ralloc context and then
trusting in blorp_compile_fs to clean it up.  The only problem was that
blorp_compile_fs didn't clean up its context properly so we were leaking.
When I went to fix that, I realized that it couldn't because it has to
return the shader binary which is allocated off of that context and used by
the caller.  The solution is to make blorp_compile_fs take a ralloc
context, allocate the nir_shaders directly off that context, and clean it
all up in whatever function creates the shader and calls blorp_compile_fs.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
Cc: "12.0, 13.0" <mesa-stable@lists.freedesktop.org>
src/intel/blorp/blorp.c
src/intel/blorp/blorp_blit.c
src/intel/blorp/blorp_clear.c
src/intel/blorp/blorp_priv.h