Hi Brian,

Like the commit message says, I have no idea how Firefox does it. My
commit only changed the situation from "crash on all drivers" to
"undefined behavior on drivers where sampler views are not sharable by
contexts".

Marek

On Thu, Jul 23, 2015 at 12:32 AM, Brian Paul <bri...@vmware.com> wrote:
> Hi Marek,
>
> This is regarding your commit "st/mesa: use pipe_sampler_view_release for
> releasing sampler views" from last October.
>
> Basically, we have:
>
> void
> st_texture_release_all_sampler_views(struct st_context *st,
>                                      struct st_texture_object *stObj)
> {
>    GLuint i;
>
>    /* XXX This should use sampler_views[i]->pipe, not st->pipe */
>    for (i = 0; i < stObj->num_sampler_views; ++i)
>       pipe_sampler_view_release(st->pipe, &stObj->sampler_views[i]);
> }
>
> Our VMware/svga driver has an issue when
> pipe_context::sampler_view_destroy() is called with one context and a
> sampler view which was created with another context.  I can hack around it
> in our driver code, but it would be nice to fix this in the state tracker.
>
> Ideally, the above code should be something like:
>
>    for (i = 0; i < stObj->num_sampler_views; ++i)
>       pipe_sampler_view_reference(&stObj->sampler_views[i], NULL);
>
> The current code which uses the st->pipe context came from the bug
> https://bugs.freedesktop.org/show_bug.cgi?id=81680
>
> AFAICT, you were just working around an R600 driver issue.  Any chance we
> could fix the state tracker and re-test Firefox on R600?
>
> -Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to