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.
This commit is contained in:
parent
26194e19e1
commit
ad3bc0158d
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue