diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-12-10 08:50:16 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-12-10 08:54:46 +0000 |
commit | 37f631d669c165c4fb56ccd7a6fc0a432f453b52 (patch) | |
tree | 607384ec0b932dfd970a237bf130c470da9cd537 | |
parent | 093bb9ebe69760975a3fcf2322db950312e6c2d7 (diff) |
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@chris-wilson.co.uk>
-rw-r--r-- | src/common.h | 11 | ||||
-rw-r--r-- | src/i830.h | 11 | ||||
-rw-r--r-- | uxa/uxa-glyphs.c | 4 |
3 files changed, 12 insertions, 14 deletions
diff --git a/src/common.h b/src/common.h index 3169cdfa..b9269b5a 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_ */ @@ -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 5c233216..ff167812 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; |