From: Tapani Pälli Date: Thu, 11 Jun 2015 07:41:53 +0000 (+0300) Subject: i965: Delete linked GLSL IR when using NIR. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=104c8fc2c2aa5621261f80aa6b4f76c3163078f1;p=mesa.git i965: Delete linked GLSL IR when using NIR. This is based on Kenneth's patch to delete 'most of the IR'. Due to linker changes to clone variables, we can now free all of IR. Saves 58MB of memory when replaying a Dota 2 trace on Broadwell. Signed-off-by: Tapani Pälli Reviewed-by: Kenneth Graunke Cc: mesa-stable@lists.freedesktop.org --- diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index 32c40131434..5653d6ba1e4 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -387,8 +387,11 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg) brw_add_texrect_params(prog); - if (options->NirOptions) + if (options->NirOptions) { prog->nir = brw_create_nir(brw, shProg, prog, (gl_shader_stage) stage); + ralloc_free(shader->ir); + shader->ir = NULL; + } _mesa_reference_program(ctx, &prog, NULL); }