Mesa (master): i965: release GLSL IR in LinkShader after it's not needed

Tapani Pälli tpalli at kemper.freedesktop.org
Fri Sep 9 06:08:12 UTC 2016


Module: Mesa
Branch: master
Commit: 4542c7ed5fc6d8cb2495d322b4f06d802d7292cc
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4542c7ed5fc6d8cb2495d322b4f06d802d7292cc

Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Mon Sep  5 09:18:09 2016 +0300

i965: release GLSL IR in LinkShader after it's not needed

Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

---

 src/mesa/drivers/dri/i965/brw_link.cpp | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp b/src/mesa/drivers/dri/i965/brw_link.cpp
index 4800be0..2b1fa61 100644
--- a/src/mesa/drivers/dri/i965/brw_link.cpp
+++ b/src/mesa/drivers/dri/i965/brw_link.cpp
@@ -286,5 +286,16 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
       return false;
 
    build_program_resource_list(ctx, shProg);
+
+   for (stage = 0; stage < ARRAY_SIZE(shProg->_LinkedShaders); stage++) {
+      struct gl_linked_shader *shader = shProg->_LinkedShaders[stage];
+      if (!shader)
+         continue;
+
+      /* The GLSL IR won't be needed anymore. */
+      ralloc_free(shader->ir);
+      shader->ir = NULL;
+   }
+
    return true;
 }




More information about the mesa-commit mailing list