[PATCH] Track damage for fbTrapezoids() and fbTriangles().
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.
> 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