[Pixman] [PATCH 1/3] Move miTrapezoids() into fb as fbTrapezoids().

Søren Sandmann sandmann at cs.au.dk
Wed Oct 5 04:44:31 PDT 2011


Michel Dänzer <michel at daenzer.net> writes:

> On Die, 2011-10-04 at 15:52 -0700, Aaron Plattner wrote: 
>> This caused a performance regression because previously, miTrapezoids 
>> would render its mask image into a scratch pixmap and then perform the 
>> final composite using a possibly-accelerated RENDER Composite call. 
>> Now, fbTrapezoids does the final composite in software, leading to, for 
>> example, http://www.nvnews.net/vbulletin/showthread.php?t=166698
>> 
>> Of course, I could simply copy the old miTrapezoids implementation into 
>> our driver, but it seems hard to believe that our driver is the only one 
>> that benefited from the "rasterize in software, composite in hardware" 
>> behavior of the old code.  Should I re-add miTrapezoids as a helper that 
>> drivers can plug in when they want the old behavior, just revert this 
>> change, or go the "only nvidia gets to go fast" copy & paste route?
>
> FWIW, EXA already had a copy of miTrapezoids before this change to avoid
> GPU<->CPU ping-pong (GPU clear, CPU rasterization, GPU composition).

Yes, and uxa inherited that. There were no open source users of
miTrapezoids() when I wrote the patch.


Soren


More information about the xorg-devel mailing list