Mesa (master): st/mesa: release tgsi tokens for shader states

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Dec 19 19:41:00 UTC 2019


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

Author: Neha Bhende <bhenden at vmware.com>
Date:   Fri Dec 20 00:59:49 2019 +0530

st/mesa: release tgsi tokens for shader states

Since we are using st_common_variant while creating variant for vertext
program, we can release tokens created in st_create_vp_variant which
are already stored in respective states.
This fix memory leak found with piglit tests

Fixes bc99b22a305b ('st/mesa: use a separate VS variant for the draw module')

Reviewed-by: Charmaine Lee <charmainel at vmware.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>

---

 src/mesa/state_tracker/st_program.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index a9ff68c1f50..ef10399fa18 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -694,6 +694,10 @@ st_create_vp_variant(struct st_context *st,
    else
       vpv->base.driver_shader = pipe->create_vs_state(pipe, &state);
 
+   if (state.tokens) {
+      tgsi_free_tokens(state.tokens);
+   }
+
    return vpv;
 }
 




More information about the mesa-commit mailing list