回复: Where does Xorg fallback to ?

Chris Wilson chris at chris-wilson.co.uk
Mon Sep 23 02:40:19 PDT 2013


On Mon, Sep 23, 2013 at 05:13:19PM +0800, 小飞珑 wrote:
>    The right answer is don't start from there. For fallbacks, UXA uses a
>    GTT mapping so every surface is actually in WC memory - every read is
>    treated as uncached, and fallbacks do a lot of reads. Effort spent
>    optimising the fb layer in this case is completely wasted.
>    -Chris
> 
>      I don't quite understand that. Or you mean that  fbCopyArea() is
>    wrapped?

The fb* functions are provided by the xserver. What I am trying to point
out is that UXA fundamentally uses hw in such a way that prevents
optimisation. Every pointer read in fb* is uncached. Optimising an
already fairly well optimised implementation will at most gain less than
a percent overall. Switching to a different mapping and implementating
migration will gain an order of magnitude performance improvement.
Implementing 2D acceleration will gain between 5x-10x over and above the
optimal fb implementation.

If you read the driver more carefully you will find these answers
already there.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the xorg-devel mailing list