<div dir="ltr">On Sat, Mar 22, 2014 at 2:49 PM, Christian König <span dir="ltr"><<a href="mailto:deathsimple@vodafone.de" target="_blank">deathsimple@vodafone.de</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi guys,<br>
<br>
recently some XBMC users complained about crashes with the relatively new NV_vdpau_interop support.<br>
<br>
That turned out to be a problem with how st_atom_texture.c caches the sampler view for a texture. Since the texture in question is shared between two GLX contexts the pipe object the sampler view was originally created for doesn't necessary match the pipe object it is used with.<br>

<br>
Now my question is am I missing something or is this case really not correctly supported? Where is the check if a texture is used in more than one context? The attached patch fixes the issue, but I'm not sure if it is the right approach.<br>
</blockquote><div><br></div><div>I've run into this too.  I think the best thing to do (short of removing the sampler view from the st_texture_object) is to walk over all the textures in the share group at context-destroy time, looking for sampler views belonging to the context being destroyed, then free those sampler views.<br>
<br></div><div>I could probably whip up a patch next week.<br><br></div><div>-Brian<br><br></div></div></div></div>