C fast path function for 'over_n_1_0565'
authorSiarhei Siamashka <siarhei.siamashka@nokia.com>
Mon, 9 Nov 2009 12:10:00 +0000 (14:10 +0200)
committerSøren Sandmann Pedersen <sandmann@redhat.com>
Fri, 20 Nov 2009 10:18:58 +0000 (11:18 +0100)
commit6e2c7d54c6786b52ae7dc683d2dbb4c7c033bb09
tree7cb5072f55a39c1f75ec6656e884a544cdb79eb1
parent98bb0a509f401563b8e6e15f4ee26947e9c3d419
C fast path function for 'over_n_1_0565'

This function is needed to improve performance of xfce4 terminal when
using bitmap fonts and running with 16bpp desktop. Some other applications
may potentially benefit too.

After applying this patch, top functions from Xorg process in
oprofile log change from

samples  %        image name               symbol name
13296    29.1528  libpixman-1.so.0.17.1    combine_over_u
6452     14.1466  libpixman-1.so.0.17.1    fetch_scanline_r5g6b5
5516     12.0944  libpixman-1.so.0.17.1    fetch_scanline_a1
2273      4.9838  libpixman-1.so.0.17.1    store_scanline_r5g6b5
1741      3.8173  libpixman-1.so.0.17.1    fast_composite_add_1000_1000
1718      3.7669  libc-2.9.so              memcpy

to

samples  %        image name               symbol name
5594     14.7033  libpixman-1.so.0.17.1    fast_composite_over_n_1_0565
4323     11.3626  libc-2.9.so              memcpy
3695      9.7119  libpixman-1.so.0.17.1    fast_composite_add_1000_1000

when scrolling text in terminal (reading man page).
pixman/pixman-fast-path.c