[Pixman] [PATCH] NEON optimizations for bilinear scaled scanline functions with A8 mask for operator src, over, add

Taekyun Kim podain77 at gmail.com
Mon Apr 11 19:54:48 PDT 2011


Hi,
I send pixman patch for NEON optimizations for several bilinear scaled
scanline functions.
Following functions are optimized.

over_8888_n_8888
add_8888_n_8888
src_8888_8_8888
over_8888_8_8888
add_8888_8_8888

This patch is based on pixman master branch with latest commit id =
a2153222677327be43251012f462d19a7e98ce14. (Soeren's commit on April 3)
Because there can be some conflicts with latest commit of siarhei's bilinear
optimizations.

It sill have lots of places to optimize, for example, preloading mask and
destination pixels, better handling of two, one pixel case.
However it gives us reasonable performance than before.
Review would be appreciated.

Performance Data on S5PC110:

== bilinear scaled SRC for comparison ==

transl: op=1, src=20028888, mask=- dst=20028888, speed=72.87 MPix/s

== bilinear scaled OVER ==

(before) transl: op=3, src=20028888, mask=- dst=20028888, speed=6.73 MPix/s
(after) transl: op=3, src=20028888, mask=- dst=20028888, speed=35.47 MPix/s

== bilinear scaled ADD ==

(before) transl: op=12, src=20028888, mask=- dst=20028888, speed=6.91 MPix/s
(after) transl: op=12, src=20028888, mask=- dst=20028888, speed=43.18 MPix/s

== bilinear scaled mask SRC ==

(before) transl: op=1, src=20028888, mask=8 dst=20028888, speed=5.74 MPix/s
(after) transl: op=1, src=20028888, mask=8 dst=20028888, speed=52.01 MPix/s

== bilinear scaled mask OVER ==

(before) transl: op=3, src=20028888, mask=8 dst=20028888, speed=6.33 MPix/s
(after) transl: op=3, src=20028888, mask=8 dst=20028888, speed=30.00 MPix/s

== bilinear scaled mask ADD ==

(before) transl: op=12, src=20028888, mask=8 dst=20028888, speed=6.41 MPix/s
(after) transl: op=12, src=20028888, mask=8 dst=20028888, speed=33.47 MPix/s
-- 
Best Regards,
Taekyun Kim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pixman/attachments/20110412/dc5d392e/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-NEON-optimizations-for-bilinear-scaled-scanline-func.patch
Type: text/x-patch
Size: 28146 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/pixman/attachments/20110412/dc5d392e/attachment-0001.bin>


More information about the Pixman mailing list