diff options
author | Brian Paul <brianp@vmware.com> | 2012-12-14 10:47:46 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2012-12-19 09:02:08 -0700 |
commit | fddcc67f5cb41f70d1d11827eb9190a5caec13c5 (patch) | |
tree | 8256082ae0b08b87d7e8aa4b11bc6bfc9160ef55 /src/gallium/drivers/softpipe/sp_state.h | |
parent | 18ef8f83b2586de037df7e578d88cbfb6e764012 (diff) | |
download | external_mesa3d-fddcc67f5cb41f70d1d11827eb9190a5caec13c5.zip external_mesa3d-fddcc67f5cb41f70d1d11827eb9190a5caec13c5.tar.gz external_mesa3d-fddcc67f5cb41f70d1d11827eb9190a5caec13c5.tar.bz2 |
softpipe: fix up FS variant unbinding / deletion
The old call to tgsi_exec_machine_bind_shader() in
softpipe_delete_fs_state() was never called since the shader's original
tokens are never passed to the tgsi interpreter (only shader _variant_
tokens are). Now, unbind the variant's tokens from the tgsi interpreter
when we free the variant.
This doesn't fix any known bugs but it's the right thing to do.
Note: This is a candidate for the stable branches.
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_state.h')
-rw-r--r-- | src/gallium/drivers/softpipe/sp_state.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/softpipe/sp_state.h b/src/gallium/drivers/softpipe/sp_state.h index eb85b06..fa8654f 100644 --- a/src/gallium/drivers/softpipe/sp_state.h +++ b/src/gallium/drivers/softpipe/sp_state.h @@ -88,7 +88,8 @@ struct sp_fragment_shader_variant struct quad_header *quad); /* Deletes this instance of the object */ - void (*delete)(struct sp_fragment_shader_variant *shader); + void (*delete)(struct sp_fragment_shader_variant *shader, + struct tgsi_exec_machine *machine); struct sp_fragment_shader_variant *next; }; |