summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_program.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/state_tracker/st_cb_program.c')
-rw-r--r--src/mesa/state_tracker/st_cb_program.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_cb_program.c b/src/mesa/state_tracker/st_cb_program.c
index 3a7ce9405e..5c00dd1ae1 100644
--- a/src/mesa/state_tracker/st_cb_program.c
+++ b/src/mesa/state_tracker/st_cb_program.c
@@ -165,6 +165,12 @@ static void st_program_string_notify( GLcontext *ctx,
stfp->serialNo++;
+ if (stfp->fs) {
+ /* free the TGSI code */
+ // cso_delete(stfp->vs);
+ stfp->fs = NULL;
+ }
+
stfp->param_state = stfp->Base.Base.Parameters->StateFlags;
}
else if (target == GL_VERTEX_PROGRAM_ARB) {
@@ -172,6 +178,12 @@ static void st_program_string_notify( GLcontext *ctx,
stvp->serialNo++;
+ if (stvp->vs) {
+ /* free the TGSI code */
+ // cso_delete(stfp->vs);
+ stvp->vs = NULL;
+ }
+
stvp->param_state = stvp->Base.Base.Parameters->StateFlags;
/* Also tell tnl about it: