xf86-video-intel: src/common.h src/i830.h uxa/uxa-glyphs.c

Chris Wilson ickle at kemper.freedesktop.org
Thu Dec 10 00:58:17 PST 2009


 src/common.h     |   11 -----------
 src/i830.h       |   11 +++++++++++
 uxa/uxa-glyphs.c |    4 +---
 3 files changed, 12 insertions(+), 14 deletions(-)

New commits:
commit 37f631d669c165c4fb56ccd7a6fc0a432f453b52
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Dec 10 08:50:16 2009 +0000

    Revert "uxa-glyphs: Enable TILING_X on glyph caches."
    
    This reverts commit 3f11bbec420080151406c203af292e55177e77d1.
    
    For unknown reasons, enabling tiling for the glyph cache is causing
    glyph corruption both across suspend and resume and VT switching, on a
    wide range of chipsets (reports include both i8xx and gm45)
    
    This strongly suggests that we are handling tiling, or updates to tiled
    buffers, incorrectly across i915_gem_idle(). However, until we can find
    the root cause, we want to fix this regression before the next stable
    release, so simply revert this patch. :(
    
    Fixes:
      [Bug 25406] fonts garbled after resuming from suspend since 6729b508
      http://bugs.freedesktop.org/show_bug.cgi?id=25406
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/common.h b/src/common.h
index 3169cdf..b9269b5 100644
--- a/src/common.h
+++ b/src/common.h
@@ -389,15 +389,4 @@ extern int I810_DEBUG;
 struct pci_device *
 intel_host_bridge (void);
 
-/**
- * Hints to CreatePixmap to tell the driver how the pixmap is going to be
- * used.
- *
- * Compare to CREATE_PIXMAP_USAGE_* in the server.
- */
-enum {
-	INTEL_CREATE_PIXMAP_TILING_X = 0x10000000,
-	INTEL_CREATE_PIXMAP_TILING_Y,
-};
-
 #endif /* _INTEL_COMMON_H_ */
diff --git a/src/i830.h b/src/i830.h
index 21a5025..a66038a 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -600,6 +600,17 @@ extern const int I830CopyROP[16];
 #define ALLOW_SHARING			0x00000010
 #define DISABLE_REUSE			0x00000020
 
+/**
+ * Hints to CreatePixmap to tell the driver how the pixmap is going to be
+ * used.
+ *
+ * Compare to CREATE_PIXMAP_USAGE_* in the server.
+ */
+enum {
+	INTEL_CREATE_PIXMAP_TILING_X = 0x10000000,
+	INTEL_CREATE_PIXMAP_TILING_Y,
+};
+
 void i830_debug_flush(ScrnInfoPtr scrn);
 
 static inline PixmapPtr get_drawable_pixmap(DrawablePtr drawable)
diff --git a/uxa/uxa-glyphs.c b/uxa/uxa-glyphs.c
index 5c23321..ff16781 100644
--- a/uxa/uxa-glyphs.c
+++ b/uxa/uxa-glyphs.c
@@ -47,7 +47,6 @@
 #include <stdlib.h>
 
 #include "uxa-priv.h"
-#include "../src/common.h"
 
 #include "mipict.h"
 
@@ -190,8 +189,7 @@ static Bool uxa_realize_glyph_caches(ScreenPtr pScreen, unsigned int format)
 
 	pPixmap = (*pScreen->CreatePixmap) (pScreen,
 					    CACHE_PICTURE_WIDTH,
-					    height, depth,
-					    INTEL_CREATE_PIXMAP_TILING_X);
+					    height, depth, 0);
 	if (!pPixmap)
 		return FALSE;
 


More information about the xorg-commit mailing list