[Mesa-dev] Using the right context in st_texture_release_all_sampler_views()

Alex Deucher alexdeucher at gmail.com
Thu Jul 23 09:55:26 PDT 2015


On Wed, Jul 22, 2015 at 6:32 PM, Brian Paul <brianp at 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?

I seem to recall Stéphane seeing something similar with the i915g
driver on Chromium, but I can't find the thread now.

Alex

>
> -Brian
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list