softpipe: fix up FS variant unbinding / deletion
authorBrian Paul <brianp@vmware.com>
Fri, 14 Dec 2012 17:47:46 +0000 (10:47 -0700)
committerAndreas Boll <andreas.boll.dev@gmail.com>
Wed, 13 Feb 2013 17:46:38 +0000 (18:46 +0100)
commite6e58cfa9dd8cbd5d6977822355d150e76eb987a
treea9edf3f78b1d94333f29675bce52b0e11d2377f4
parent5f8a8716b6b58a470be0b0d176e38d37eda2c8f7
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.
(cherry picked from commit fddcc67f5cb41f70d1d11827eb9190a5caec13c5)
src/gallium/drivers/softpipe/sp_fs_exec.c
src/gallium/drivers/softpipe/sp_state.h
src/gallium/drivers/softpipe/sp_state_shader.c