summaryrefslogtreecommitdiff
path: root/src/i830_driver.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-06-07 18:04:51 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-06-07 18:23:17 +0100
commite6acbc763229fd5b5b2cc1d65136404d02ac4655 (patch)
tree331653e856996ce2b14b091a98af8cb04eef588c /src/i830_driver.c
parent1788b16eb26580624dd3df96ed84f68d40e78ed7 (diff)
uxa: Setup acceleration functions prior to the damage layer
We need to install the acceleration functions so that they are wrapped by the Damage layer. This fixes the corruption under a compositing WM introduced in commit 8700673157fdd3a87ad5150f2f30823261fec519. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reported-and-tested-by: Arkadiusz Miƛkiewicz <arekm@maven.pl>
Diffstat (limited to 'src/i830_driver.c')
-rw-r--r--src/i830_driver.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 39585d3a..a82ad0bf 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -1221,11 +1221,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv)
xf86SetBlackWhitePixels(screen);
- miInitializeBackingStore(screen);
- xf86SetBackingStore(screen);
- xf86SetSilkenMouse(screen);
- miDCInitialize(screen, xf86GetPointerScreenFuncs());
-
if (!I830AccelInit(screen)) {
xf86DrvMsg(scrn->scrnIndex, X_ERROR,
"Hardware acceleration initialization failed\n");
@@ -1240,6 +1235,11 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv)
} else
intel->batch_flush_notify = i830_batch_flush_notify;
+ miInitializeBackingStore(screen);
+ xf86SetBackingStore(screen);
+ xf86SetSilkenMouse(screen);
+ miDCInitialize(screen, xf86GetPointerScreenFuncs());
+
xf86DrvMsg(scrn->scrnIndex, X_INFO, "Initializing HW Cursor\n");
if (!xf86_cursors_init(screen, I810_CURSOR_X, I810_CURSOR_Y,
(HARDWARE_CURSOR_TRUECOLOR_AT_8BPP |
@@ -1325,7 +1325,7 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv)
intel->suspended = FALSE;
- return TRUE;
+ return uxa_resources_init(screen);
}
static void i830AdjustFrame(int scrnIndex, int x, int y, int flags)