-From 792e1d05c04a65d8cdabde131e28c5fbb700a609 Mon Sep 17 00:00:00 2001
-From: Nick Bowler <nbowler@draconx.ca>
-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 <nbowler@draconx.ca>
----
- 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
-