OSDN Git Service

softpipe: fix up FS variant unbinding / deletion
authorBrian Paul <brianp@vmware.com>
Fri, 14 Dec 2012 17:47:46 +0000 (10:47 -0700)
committerBrian Paul <brianp@vmware.com>
Wed, 19 Dec 2012 16:02:08 +0000 (09:02 -0700)
commitfddcc67f5cb41f70d1d11827eb9190a5caec13c5
tree8256082ae0b08b87d7e8aa4b11bc6bfc9160ef55
parent18ef8f83b2586de037df7e578d88cbfb6e764012
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.
src/gallium/drivers/softpipe/sp_fs_exec.c
src/gallium/drivers/softpipe/sp_state.h
src/gallium/drivers/softpipe/sp_state_shader.c