summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhenyu Wang <zhenyu.z.wang@intel.com>2007-11-14 22:46:46 +0800
committerZhenyu Wang <zhenyu.z.wang@intel.com>2007-11-14 22:53:25 +0800
commitad3bc0158d37e98fcbbe6a8e31413c142a260424 (patch)
tree99497a2940e8514a9e543594ff62b56d53513fa7
parent26194e19e1c80615697016e25640d4c8c244353f (diff)
Don't enable fbc with XAA or tiling is off.
This slightly reworks my last fbc patch. We don't support tiled front buffer with XAA now, so also disable fbc on it. If tiled alloc failed, disable fbc too.
-rw-r--r--src/i830.h5
-rw-r--r--src/i830_driver.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/src/i830.h b/src/i830.h
index 17d2fe2b..3abc8006 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -805,6 +805,11 @@ static inline int i830_fb_compression_supported(I830Ptr pI830)
return FALSE;
if (IS_I810(pI830) || IS_I815(pI830) || IS_I830(pI830))
return FALSE;
+ /* fbc depends on tiled surface. And we don't support tiled
+ * front buffer with XAA now.
+ */
+ if (!pI830->tiling || (IS_I965G(pI830) && !pI830->useEXA))
+ return FALSE;
return TRUE;
}
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 8d58a086..e000d921 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -2554,15 +2554,17 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
"Couldn't allocate tiled memory, page flipping "
"disabled\n");
pI830->allowPageFlip = FALSE;
+ if (pI830->fb_compression)
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Couldn't allocate tiled memory, fb compression "
+ "disabled\n");
+ pI830->fb_compression = FALSE;
}
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
"Attempting memory allocation with %s buffers.\n",
(i & 1) ? "untiled" : "tiled");
- if (!pI830->tiling && pI830->fb_compression)
- pI830->fb_compression = FALSE;
-
if (i830_allocate_2d_memory(pScrn) &&
i830_allocate_3d_memory(pScrn))
{