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

Cooper Yuan cooperyuan at gmail.com
Tue Aug 16 01:55:36 PDT 2011


We still call flush method of DRI2_Flush extension in other functions of
egl_dri2 driver. for example, dri2_copy_buffers(), because we expect all the
rendering to this drawable have been flushed before copying the buffers.

The code I added eventually invokes st->pipe->flush(), so I think it handles
correctly, any concern?

Cooper

On Tue, Aug 16, 2011 at 4:32 PM, Chia-I Wu <olvaffe at gmail.com> wrote:

> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110816/a7a3cafd/attachment.htm>


More information about the mesa-dev mailing list