summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2008-05-20 15:30:23 -0600
committerBrian Paul <[email protected]>2008-05-20 15:30:23 -0600
commitbf7519b0a40d18a1cc764357f18df59979604129 (patch)
tree502b488ead1dfd2b3a1405c0252bbdd8b69881cc /src
parent8f792a0707446a7b020e6d47a5fff310a36ca81d (diff)
parent26f874e967e5bcbd0e0c73674df3d3900b98d35b (diff)
Merge branch 'gallium-0.1' into gallium-tex-surfaces
Diffstat (limited to 'src')
-rw-r--r--src/mesa/state_tracker/st_cb_program.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_cb_program.c b/src/mesa/state_tracker/st_cb_program.c
index f951a928ead..11ba5d56f30 100644
--- a/src/mesa/state_tracker/st_cb_program.c
+++ b/src/mesa/state_tracker/st_cb_program.c
@@ -143,6 +143,12 @@ st_delete_program(GLcontext *ctx, struct gl_program *prog)
stvp->driver_shader = NULL;
}
+ if (stvp->draw_shader) {
+ /* this would only have been allocated for the RasterPos path */
+ draw_delete_vertex_shader(st->draw, stvp->draw_shader);
+ stvp->draw_shader = NULL;
+ }
+
if (stvp->state.tokens) {
FREE((void *) stvp->state.tokens);
stvp->state.tokens = NULL;
@@ -226,6 +232,7 @@ static void st_program_string_notify( GLcontext *ctx,
}
if (stvp->draw_shader) {
+ /* this would only have been allocated for the RasterPos path */
draw_delete_vertex_shader(st->draw, stvp->draw_shader);
stvp->draw_shader = NULL;
}