[Mesa-dev] [PATCH] st/mesa: fix sampler view reference counting bug in glDraw/CopyPixels

Brian Paul brianp at vmware.com
Thu Feb 19 14:36:47 PST 2015


On 02/19/2015 02:55 PM, Ilia Mirkin wrote:
> On Wed, Feb 18, 2015 at 1:20 PM, Brian Paul <brianp at vmware.com> wrote:
>> Use pipe_sampler_view_reference() instead of ordinary assignment.
>> Also add a new sanity check assertion.
>>
>> Fixes piglit gl-1.0-drawpixels-color-index test crash.  But note
>> that the test still fails.
>
> Fails on nvc0 as well, for the record.

Yeah, it's a state tracker issue.  I started working on a fix but it's 
not high priority ATM.


>
>>
>> Cc: "10.4, 10.5" <mesa-stable at lists.freedesktop.org>
>> ---
>>   src/mesa/state_tracker/st_cb_drawpixels.c | 13 +++++++++----
>>   1 file changed, 9 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c
>> index 939fc20..3d13b5c 100644
>> --- a/src/mesa/state_tracker/st_cb_drawpixels.c
>> +++ b/src/mesa/state_tracker/st_cb_drawpixels.c
>> @@ -1154,8 +1154,10 @@ st_DrawPixels(struct gl_context *ctx, GLint x, GLint y,
>>
>>         color = NULL;
>>         if (st->pixel_xfer.pixelmap_enabled) {
>> -         sv[1] = st->pixel_xfer.pixelmap_sampler_view;
>> -         num_sampler_view++;
>> +         sv[1] = NULL;
>> +         pipe_sampler_view_reference(&sv[1],
>> +                                     st->pixel_xfer.pixelmap_sampler_view);
>
> I would *much* prefer a = {NULL} when sv is declared instead of
> awkwardly before the reference (both here and in st_CopyPixels).
>
> With that changed, Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

Will do. Thx.

-Brian




More information about the mesa-dev mailing list