[Mesa-dev] [PATCH] dri2: add code to flush function of DRI2_Flush extension

Chia-I Wu olvaffe at gmail.com
Tue Aug 16 01:32:04 PDT 2011


2011/8/16 Cooper Yuan <cooperyuan at gmail.com>:
> this DRI2_Flush extension is used by egl driver, but DRI2_Flush extension
> doesn't implement dri2_flush_drawable() function.
I do not recall what DRI2_Flush is for.   It makes sense to simply
call glFinish when eglWaitClient is called, if DRI2_Flush has
different semantics than glFinish.
> 2011/8/16 Michel Dänzer <michel at daenzer.net>
>>
>> On Mon, 2011-08-15 at 19:32 +0800, Cooper Yuan wrote:
>> > Hi All, please review this changelist that's going to enable
>> > eglWaitClient() which has the same effect with glFinish according to
>> > specification.
>> > before, egl applications using pixmap or pbuffer flicker always
>> > because of no flush.
>> >
>> >
>> > Cooper
>> > ---
>> >  src/gallium/state_trackers/dri/drm/dri2.c |    4 ++++
>> >  1 files changed, 4 insertions(+), 0 deletions(-)
>> >
>> >
>> > diff --git a/src/gallium/state_trackers/dri/drm/dri2.c
>> > b/src/gallium/state_trackers/dri/drm/dri2.c
>> > index d491e46..908a735 100644
>> > --- a/src/gallium/state_trackers/dri/drm/dri2.c
>> > +++ b/src/gallium/state_trackers/dri/drm/dri2.c
>> > @@ -46,6 +46,10 @@
>> >  static void
>> >  dri2_flush_drawable(__DRIdrawable *draw)
>> >  {
>> > +   struct dri_drawable *drawable = dri_drawable(draw);
>> > +   struct dri_context *ctx = dri_get_current(draw->driScreenPriv);
>> > +
>> > +   ctx->st->flush(ctx->st, 0, NULL);
>> >  }
>>
>> Shouldn't this rather be dealt with in EGL code?
>>
>> --
>> Earthling Michel Dänzer           |                   http://www.amd.com
>> Libre software enthusiast         |          Debian, X and DRI developer
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>



-- 
olv at LunarG.com


More information about the mesa-dev mailing list