summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_shader.cpp
diff options
context:
space:
mode:
authorTapani Pälli <tapani.palli@intel.com>2015-06-11 10:41:53 +0300
committerKenneth Graunke <kenneth@whitecape.org>2015-06-24 12:03:41 -0700
commit104c8fc2c2aa5621261f80aa6b4f76c3163078f1 (patch)
tree1e8d9a2b08974154344909440415eed80c21af0c /src/mesa/drivers/dri/i965/brw_shader.cpp
parentc2ff3485b3d48749ea9dcad07bc1a691627dc3e5 (diff)
downloadexternal_mesa3d-104c8fc2c2aa5621261f80aa6b4f76c3163078f1.zip
external_mesa3d-104c8fc2c2aa5621261f80aa6b4f76c3163078f1.tar.gz
external_mesa3d-104c8fc2c2aa5621261f80aa6b4f76c3163078f1.tar.bz2
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 <tapani.palli@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: mesa-stable@lists.freedesktop.org
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_shader.cpp')
-rw-r--r--src/mesa/drivers/dri/i965/brw_shader.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
index 32c4013..5653d6b 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);
}