st/mesa: fix sampler_view destruction bug when texture is shared
authorBrian Paul <brianp@vmware.com>
Wed, 24 Mar 2010 14:34:26 +0000 (08:34 -0600)
committerBrian Paul <brianp@vmware.com>
Wed, 24 Mar 2010 14:34:37 +0000 (08:34 -0600)
commit2d6befd9d1e8dcf6495fe1b9cef12224046f3095
tree40e94497661967b022342308f21ab6259fe7555a
parentab93f8d0679d1f2a116b98831fc4967a2b707b3a
st/mesa: fix sampler_view destruction bug when texture is shared

Since texture's can be shared by many contexts, the texture's sampler
view's context pointer might be invalid by time we delete the texture.

Prevent crashes/etc by setting the sampler view's context to be the
calling context before deleting it.  This should be safe as long as
all contexts which share the texture are using the same gallium driver.
That's a reasonable assumption since pipe_texture objects aren't
compatible between different drivers anyway.
src/mesa/state_tracker/st_cb_texture.c