Commit 8cdbd55f authored by Eric Anholt's avatar Eric Anholt

Fix 965+ rendering issues with DRI disabled.

The new chips no longer automatically flush the rendering cache, so if we
don't flush the RC at blockhandler, the last rendering done may not
appear on the screen.  This was particularly noticable with a bare Xorg with
some missing root weave, and terminals where the last character wouldn't
appear until the cursor blinked.  A flush in the DRI blockhandler path had
hidden this issue for most people.
parent c02ab432
......@@ -2387,6 +2387,15 @@ I830BlockHandler(int i,
pI830->BlockHandler = pScreen->BlockHandler;
pScreen->BlockHandler = I830BlockHandler;
/* Emit a flush of the rendering cache, or on the 965 and beyond
* rendering results may not hit the framebuffer until significantly
* later. In the direct rendering case this is already done just
* after the page flipping updates, so there's no need to duplicate
* the effort here.
*/
if (!pI830->noAccel && !pI830->directRenderingEnabled)
I830EmitFlush(pScrn);
I830VideoBlockHandler(i, blockData, pTimeout, pReadmask);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment