2010/3/22 Michel Dänzer <[email protected]>: > From: Michel Dänzer <[email protected]> > > Seems to work as well... > > Signed-off-by: Michel Dänzer <[email protected]> > --- > configure.ac | 2 +- > glx/glxdri2.c | 9 +++++---- > 2 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/configure.ac b/configure.ac > index d379b3a..3aeedd3 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -777,7 +777,7 @@ REQUIRED_LIBS="xfont xau [pixman-1 >= 0.15.20]" > dnl List of libraries that require a specific version > LIBAPPLEWM="applewm >= 1.4" > LIBDMX="dmx >= 1.0.99.1" > -LIBDRI="dri >= 7.8.0" > +LIBDRI="dri >= 7.7.0" > LIBDRM="libdrm >= 2.3.0" > LIBGL="gl >= 7.1.0" > LIBXEXT="xext >= 1.0.99.4" > diff --git a/glx/glxdri2.c b/glx/glxdri2.c > index edd29b0..863bd8a 100644 > --- a/glx/glxdri2.c > +++ b/glx/glxdri2.c > @@ -213,19 +213,20 @@ __glXdriSwapEvent(ClientPtr client, void *data, int > type, CARD64 ust, > static GLboolean > __glXDRIdrawableSwapBuffers(ClientPtr client, __GLXdrawable *drawable) > { > + CARD64 unused; > +#if __DRI2_FLUSH_VERSION >= 2 > __GLXDRIdrawable *priv = (__GLXDRIdrawable *) drawable; > __GLXDRIscreen *screen = priv->screen; > - CARD64 unused; > > -#if __DRI2_FLUSH_VERSION >= 3 > if (screen->flush) { > +#if __DRI2_FLUSH_VERSION >= 3 > (*screen->flush->flush)(priv->driDrawable); > (*screen->flush->invalidate)(priv->driDrawable); > - } > #else > - if (screen->flush) > (*screen->flush->flushInvalidate)(priv->driDrawable); > #endif > + } > +#endif /* __DRI2_FLUSH_VERSION >= 2 */ > > if (DRI2SwapBuffers(client, drawable->pDraw, 0, 0, 0, &unused, > __glXdriSwapEvent, drawable->pDraw) != Success)
No, we can only use DRI2SwapBuffers if we can invalidate the drawable buffers. The fallback for 7.7 is to just flush and use DRi2CopyRegion. And the flushInvalidate case should just be dropped it was only on git master between 7.7 and 7.8 for a while, never released. Kristian _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
