Make general_composite_rect() just another fast path.
authorSøren Sandmann Pedersen <sandmann@redhat.com>
Sun, 13 Sep 2009 09:29:48 +0000 (05:29 -0400)
committerSøren Sandmann Pedersen <sandmann@redhat.com>
Sun, 14 Feb 2010 16:10:15 +0000 (11:10 -0500)
commit87430cfc35c6e51bb1a947795e0ddb198c460253
treebf50a2ae6cc6c6802ba5d887cc2edfbf668550dd
parentd7e281e0a1f7b1aecd245070736e03d2953b0911
Make general_composite_rect() just another fast path.

We introduce a new PIXMAN_OP_any fake operator and a PIXMAN_any fake
format that match anything. Then general_composite_rect() can be used
as another fast path.

Because general_composite_rect() does not require the sources to cover
the clip region, we add a new flag FAST_PATH_COVERS_CLIP which is part
of the set of standard flags for fast paths.

Because this flag cannot be computed until after the clip region is
available, we have to call pixman_compute_composite_region32() before
checking for fast paths. This will resolve itself when we get to the
point where _pixman_run_fast_path() is only called once per composite
operation.
pixman/pixman-general.c
pixman/pixman-private.h
pixman/pixman-utils.c