[Mesa-dev] Using the right context in st_texture_release_all_sampler_views()
Stéphane Marchesin
stephane.marchesin at gmail.com
Thu Jul 23 09:59:35 PDT 2015
On Thu, Jul 23, 2015 at 9:55 AM, Alex Deucher <alexdeucher at gmail.com> wrote:
> 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.
That's right, see
http://lists.freedesktop.org/archives/mesa-dev/2011-September/011578.html
Stéphane
>
> 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