Use the destination buffer directly in more cases instead of fetching.
authorSøren Sandmann Pedersen <sandmann@redhat.com>
Sat, 19 Sep 2009 10:14:38 +0000 (06:14 -0400)
committerSøren Sandmann Pedersen <sandmann@redhat.com>
Tue, 17 Nov 2009 05:42:21 +0000 (00:42 -0500)
commit2ef8b394d72d6c13f96347626b09613f805d9f8c
tree930f7fe1fb25decc9231dac327acab52b24e7601
parent13f4e02b1429d62b08487beebd8697887a5a9608
Use the destination buffer directly in more cases instead of fetching.

When the destination buffer is either a8r8g8b8 or x8r8g8b8, we can use
it directly instead of fetching into a temporary buffer. When the
format is x8r8g8b8, we require the operator to not make use of
destination alpha, but when it is a8r8g8b8, there are no restrictions.

This is approximately a 5% speedup on the poppler cairo benchmark:

[ # ]  backend                         test   min(s) median(s) stddev. count

Before:
[  0]    image                      poppler    6.661    6.709   0.59%    6/6

After:
[  0]    image                      poppler    6.307    6.320   0.12%    5/6
pixman/pixman-general.c