diff options
author | Zhenyu Wang <zhenyu.z.wang@intel.com> | 2007-11-14 22:46:46 +0800 |
---|---|---|
committer | Zhenyu Wang <zhenyu.z.wang@intel.com> | 2007-11-14 22:53:25 +0800 |
commit | ad3bc0158d37e98fcbbe6a8e31413c142a260424 (patch) | |
tree | 99497a2940e8514a9e543594ff62b56d53513fa7 | |
parent | 26194e19e1c80615697016e25640d4c8c244353f (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.h | 5 | ||||
-rw-r--r-- | src/i830_driver.c | 8 |
2 files changed, 10 insertions, 3 deletions
@@ -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)) { |