Not getting expected performance improvement after accelerating bitBlit through KAA

Alex Deucher alexdeucher at gmail.com
Mon Nov 9 08:12:17 PST 2009


On Mon, Nov 9, 2009 at 11:08 AM, Adam Jackson <ajax at nwnk.net> wrote:
> On Thu, 2009-11-05 at 14:55 +0530, prudhvi raj wrote:
>
>> I have developed my driver using KAA in the same lines as ATI and
>> Mach64 drivers, for example in order to implement hardware fillrect, i
>> have implemented the corresponding hooks provided by kaa PrepareSolid,
>> Solid and DoneSolid. In "Solid" hook i have placed my hardware
>> fillrect api.For blit also i have placed the hardware blit call in
>> "Copy" hook of KAA.
>>
>> But even though some calls are getting called through these kaa hooks
>> i am not getting much performance improvement.
>
> I wish to point out here that mach64 is never going to be a fast chip.
>
>> So my queries are,
>> 1. Am i placing my hardware API calls at right places in order to
>> accelerate fillrect, blit operations?? As the number of hw calls are
>> very fes compared to software calls i doubt whether the way to acheive
>> hardware acceleration is this only or do i miss some more
>> implementation??
>
> You have implemented the hooks KAA gives you.  This does not mean that
> the hooks KAA gives you are sufficient.
>
>> 2. If placing the harware calls in the hooks provided by kaa should be
>> enough to attain acceleration, why is the performance is not getting
>> improved?? As the 'blit' operation happens huge number of times, by
>> accelerating blit the performace should be improved drasticly.
>
> Like I said last time: KAA does not accelerate all paths.  fbBlt is used
> for both screen-to-screen and host-to-screen copies (and screen-to-host
> for that matter).  Host-to-screen is not something KAA accelerates.
>
>> 3. As per your comments, if the reason for not getting performance
>> improvement lies inside KAA architecture itself, should i move to EXA
>> to attain better performance improvement?? Using EXA would help to
>> improve the performance??
>
> It might.  It might not.  There are no silver bullets.
>
>> 4. Can you provide some sample drivers (as ATI, Mach64 in case of KAA)
>> thst uses EXA for acceleration?? Please provide any documentation
>> resources that explain the design and imeplementation details of KAA,
>> EXA, XServer and how to acheive hardware acceleration in tinyx etc.
>
> The radeon and nouveau drivers both implement EXA backends, as does the
> Xephyr server in kdrive.

There is even mach64 EXA support:
http://cgit.freedesktop.org/xorg/driver/xf86-video-mach64

Alex


More information about the xorg-devel mailing list