summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/state_tracker/st_program.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index 7e360d3e676..7b8d27cf101 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -745,6 +745,9 @@ st_create_vp_variant(struct st_context *st,
else
vpv->base.driver_shader = pipe->create_vs_state(pipe, &state);
+ if (state.type == PIPE_SHADER_IR_TGSI)
+ tgsi_free_tokens(state.tokens);
+
return vpv;
}
@@ -1351,6 +1354,9 @@ st_create_fp_variant(struct st_context *st,
variant->base.driver_shader = pipe->create_fs_state(pipe, &state);
variant->key = *key;
+ if (state.type == PIPE_SHADER_IR_TGSI)
+ tgsi_free_tokens(state.tokens);
+
return variant;
}