Hi all, Here are patches to add ARM NEON acceleration in generic software fallbacks. (See NEON: http://www.arm.com/products/processors/technologies/neon.php)
The NEON optimization is target to RGB16 and ARGB, This is the benchmark on my ARM platform ( AML8726 Cortex-A9 ): Benchmarking 256x256 on 1280x697 RGB16 (16bit)... Fill Rectangle (blend) 96% (improved) Fill Rectangles [10] (blend) 98% Fill Triangles (blend) 63% Fill Spans (blend) 88% Blit with format conversion 115% Blit with colorizing 45% Blit from 32bit (blend) 141% Blit from 32bit (blend) with colorizing 86% Blit from 8bit palette (blend) 75% Blit SrcOver (premultiplied source) 67% Blit SrcOver (premultiply source) 57% Stretch Blit indexed 20% Benchmarking 256x256 on 1280x697 ARGB (32bit)... Fill Rectangle (blend) 96% (improved) Fill Rectangles [10] (blend) 98% Fill Triangles (blend) 62% Fill Spans (blend) 89% Blit 114% Blit 180 34% Blit with colorizing 56% Blit with mask 65% Blit from 32bit (blend) 137% Blit from 32bit (blend) with colorizing 87% Blit from 8bit palette (blend) 75% Blit SrcOver (premultiplied source) 66% Blit SrcOver (premultiply source) 56% Stretch Blit 23% Stretch Flip Vertical 22% In this patch, added "-enable-neon" configure flag, NEON Compiler checking and NEON runtime detection, ./configure --help Optional Features: ... --enable-unique enable Unique (WM Module) [default=no] --enable-mmx enable MMX support [default=auto] --enable-sse enable SSE support [default=auto] --enable-neon enable NEON support [default=auto] # dfbinfo ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.6.0-pre1 |~~~~~~~~~~~~~~~~~~~~~~~~~~ (c) 2001-2010 The world wide DirectFB Open Source Community (c) 2000-2004 Convergence (integrated media) GmbH ---------------------------------------------------------------- (*) DirectFB/Core: Single Application Core. (2011-11-16 03:34) [ DEBUG ][ TRACE ] (*) Direct/Memcpy: Using libc memcpy() (*) Direct/Thread: Started 'VT Switcher' (-1) [CRITICAL OTHER/OTHER 0/0] <8388608>... (*) Direct/Thread: Started 'VT Flusher' (-1) [DEFAULT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/FBDev: Found 'OSD FB' (ID 0) with frame buffer at 0x84100000, 8192k (MMIO 0x00000000, 0k) (*) Direct/Thread: Started 'Keyboard Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: Keyboard 0.9 (directfb.org) (*) Direct/Thread: Started 'PS/2 Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: IMPS/2 Mouse 1.0 (directfb.org) (*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: ADS7846 Touchscreen 0.1 (directfb.org) (*) Direct/Thread: Started 'Hotplug with Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>... (*) DirectFB/Input: Hot-plug detection enabled with Linux Input Driver (*) DirectFB/Genefx: NEON detected and enabled (*) DirectFB/Graphics: NEON Software Rasterizer 0.6 (directfb.org) [ 8068.580000] start check var (*) DirectFB/Core/WM: Default 0.3 (directfb.org) ... -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
0001-dircet-Add-NEON-support.patch
Description: 0001-dircet-Add-NEON-support.patch
_______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev