[PATCH] Track damage for fbTrapezoids() and fbTriangles().

Michel Dänzer michel at daenzer.net
Mon Mar 28 23:18:01 PDT 2011


On Mon, 2011-03-28 at 22:10 +0200, Soeren Sandmann wrote: 
> Maarten Maathuis <madman2003 at gmail.com> writes:
> 
> >> Yes, I think I do, thanks. New version below.
> >
> > I think you should process pending after doing the rendering operation.
> >
> 
> Okay, that makes sense. 
> 
> Thanks,
> Soren
> 
> 
> From 4d4cbb145b1bd88da97941ba05f985829ec5a563 Mon Sep 17 00:00:00 2001
> From: =?utf-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= <ssp at redhat.com>
> Date: Mon, 28 Mar 2011 11:38:11 -0400
> Subject: [PATCH] Track damage for fbTrapezoids() and fbTriangles().
> MIME-Version: 1.0
> Content-Type: text/plain; charset=utf-8
> Content-Transfer-Encoding: 8bit
> 
> These calls no longer go through the CompositePicture() hook, so
> damage was no longer generated for them. This patch simply damages the
> entire destination clip region.
> 
> It would be possible to generate tighter damage for certain operators
> such as Over and Add, where blank source pixels have no effect on the
> destination, but given that virtually all trapezoid rendering takes
> place on pixmaps, it's unlikely that anybody would actually benefit
> from this optimization, and the miTrapezoidBounds function did
> sometimes show up on profiles, probably because it does several
> divisions per trapezoid.
> 
> V2: Call DamageRegionProcessPending() - pointed out by Michel Dänzer.
> V3: Call DamageRegionProcessPending() *after* rendering -
>         pointed out by Maarten Maathuis

I did say after. :)

Reviewed-by: Michel Dänzer <michel at daenzer.net>


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the xorg-devel mailing list