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.

Attachment: 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

Reply via email to