[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