[PATCH 1/4] composite: don't update the ScreenPixmap->serialNumber window motion

Chris Wilson chris at chris-wilson.co.uk
Sun Jun 12 02:47:34 PDT 2011


dri2 uses the pixmap->serialNumber as a unique identifier that is
constant for the lifetime of the pixmap. (So it can detect the change of
framebuffer for example.) This appears to be the only interpretation of
pixmap->serialNumber by all the other consumers.

The result was that pageflipping was causing the DRI2 buffers to be
revoked, resulting in a massive increase in aperture thrashing - the
exact opposite of what pageflipping is supposed to achieve - under a
composting window manager.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Ville Syrjälä <ville.syrjala at nokia.com>
Cc: Dave Airlie <airlied at redhat.com>
Cc: Kristian Høgsberg <krh at bitplanet.net>
Cc: Jesse Barnes <jbarnes at virtuousgeek.org>
---
 composite/compwindow.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/composite/compwindow.c b/composite/compwindow.c
index d2a866d..461028d 100644
--- a/composite/compwindow.c
+++ b/composite/compwindow.c
@@ -242,7 +242,6 @@ compPositionWindow (WindowPtr pWin, int x, int y)
 	{
 	    pPixmap->screen_x = nx;
 	    pPixmap->screen_y = ny;
-	    pPixmap->drawable.serialNumber = NEXT_SERIAL_NUMBER;
 	}
     }
 
-- 
1.7.5.1



More information about the xorg-devel mailing list