[Mesa-dev] [PATCH 3/3] dri3: Add GLX_EXT_buffer_age support

Adel Gadllah adel.gadllah at gmail.com
Mon Feb 24 11:25:34 PST 2014


Am 24.02.2014 17:58, schrieb Robert Bragg:
> Hi Adel,
Hi,
> Thanks for look at this; just a few comments...
>
>> diff --git a/src/glx/glx_pbuffer.c b/src/glx/glx_pbuffer.c
>> index 978730c..afb4206 100644
>> --- a/src/glx/glx_pbuffer.c
>> +++ b/src/glx/glx_pbuffer.c
>> @@ -373,6 +373,14 @@ GetDrawableAttribute(Display * dpy, GLXDrawable drawable,
>>               if (!pdraw->textureFormat)
>>                  pdraw->textureFormat =
>>                     determineTextureFormat((const int *) data, num_attributes);
>> +
>> +            if (attribute == GLX_BACK_BUFFER_AGE_EXT) {
>> +               struct glx_screen *psc = pdraw->psc;
>> +
>> +               if (psc->driScreen->getBufferAge != NULL)
>> +                 *value = psc->driScreen->getBufferAge(pdraw);
>> +            }
>> +
>>            }
>>   #endif
> Since with dri3 this is a client side only attribute, shouldn't we be
> able to simply skip the redundant X round trip above to query the
> drawable's attributes?
Yeah good point.
>
> Technically we're supposed to report a GLXBadDrawable if the drawable
> isn't currently bound to the current thread's context. I think the
> requirement to be bound to a context was added to the spec considering
> that if an app were switching between a direct/indirect context the
> age state may switch from being client-side to server-side and they
> shouldn't have to be kept in sync. glXSwapBuffers has a similar
> requirement so it should be possible to borrow some checks from there.
That too.
> Apart from that, this patch looks good to me:
>
> Reviewed-by: Robert Bragg <robert at sixbynine.org>
>
Thanks for the review.

Adel


More information about the mesa-dev mailing list