From 4e6120576fa695ad46e6f23e65c6e4126c18a0e6 Mon Sep 17 00:00:00 2001 From: Stéphane Marchesin Date: Tue, 28 Jun 2011 20:38:07 -0700 Subject: i915g: If we have a program, that means the other fields are ours and we can free them. Otherwise they probably belong to draw. --- src/gallium/drivers/i915/i915_state.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/gallium/drivers/i915') diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c index 7c888b798dc..f412626955d 100644 --- a/src/gallium/drivers/i915/i915_state.c +++ b/src/gallium/drivers/i915/i915_state.c @@ -507,12 +507,14 @@ void i915_delete_fs_state(struct pipe_context *pipe, void *shader) { struct i915_fragment_shader *ifs = (struct i915_fragment_shader *) shader; - if (ifs->program) + if (ifs->program) { FREE(ifs->program); + ifs->program = NULL; + FREE((struct tgsi_token *)ifs->state.tokens); + ifs->state.tokens = NULL; + } ifs->program_len = 0; - FREE((struct tgsi_token *)ifs->state.tokens); - FREE(ifs); } -- cgit v1.2.3