From 792e1d05c04a65d8cdabde131e28c5fbb700a609 Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Tue, 6 Apr 2010 18:05:25 -0400 Subject: [PATCH] dri2: Delete invalidate compatibility code. Commit 61d26bc82e7c4100a ("dri2: Event driven buffer validation.") introduced severe stuttering on my GM45 when using X server 1.7. This appears to have been caused by the compatibility code added to handle the case where the server does not emit invalidate events. Removing the code entirely solves the issue. Fixes fdo bug #27277. Signed-off-by: Nick Bowler --- src/glx/dri2_glx.c | 10 ---------- 1 files changed, 0 insertions(+), 10 deletions(-) diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c index c4b5cb9..582e4a4 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -67,7 +67,6 @@ struct __GLXDRIdisplayPrivateRec int driMinor; int driPatch; int swapAvailable; - int invalidateAvailable; }; struct __GLXDRIcontextPrivateRec @@ -327,10 +326,6 @@ dri2FlushFrontBuffer(__DRIdrawable *driDrawable, void *loaderPrivate) __GLXdisplayPrivate *priv = __glXInitialize(pdraw->base.psc->dpy); __GLXDRIdisplayPrivate *pdp = (__GLXDRIdisplayPrivate *)priv->dri2Display; - /* Old servers don't send invalidate events */ - if (!pdp->invalidateAvailable) - dri2InvalidateBuffers(priv->dpy, pdraw->base.drawable); - dri2WaitGL(loaderPrivate); } @@ -391,10 +386,6 @@ dri2SwapBuffers(__GLXDRIdrawable *pdraw, int64_t target_msc, int64_t divisor, (*pdraw->psc->f->flush)(pdraw->driDrawable); #endif - /* Old servers don't send invalidate events */ - if (!pdp->invalidateAvailable) - dri2InvalidateBuffers(dpyPriv->dpy, pdraw->drawable); - /* Old servers can't handle swapbuffers */ if (!pdp->swapAvailable) { dri2CopySubBuffer(pdraw, 0, 0, priv->width, priv->height); @@ -682,7 +673,6 @@ dri2CreateDisplay(Display * dpy) pdp->driPatch = 0; pdp->swapAvailable = (pdp->driMinor >= 2); - pdp->invalidateAvailable = (pdp->driMinor >= 3); pdp->base.destroyDisplay = dri2DestroyDisplay; pdp->base.createScreen = dri2CreateScreen; -- 1.6.4.4