New commits:
http://git.directfb.org/?p=core/DirectFB.git;a=commit;h=5759090f3fba9dafefc721befcb50e6db77057dd
commit 5759090f3fba9dafefc721befcb50e6db77057dd
Author: Denis Oliver Kropp <[email protected]>
Date:   Sat Nov 19 20:21:04 2011 +0100

    Core: Surface allocation object, avoid system calls when rendering!
    
    Make CoreSurfaceAllocation a FusionObject.
    
    Change ISurface::PreLockBuffer() to return a CoreSurfaceAllocation
    instead of index.
    
    Add ISurface::PreLockBuffer2() which does not take a buffer
    object handle, but a buffer role. This avoids overhead and
    makes locking the surface skirmish in slaves obsolete. The
    output of the method is a CoreSurfaceAllocation object.
    
    This new method is used by dfb_surface_lock_buffer(),
    dfb_surface_read_buffer() and dfb_surface_write_buffer()
    that no longer lock the surface skirmish, just an IPC call
    and the call into the surface pool for the resulting allocation.
    
    Replace dfb_surface_buffer_locks() by dfb_surface_allocation_locks().
    
    Add dfb_surface_allocation_decouple() for deallocating and setting
    surface and buffer pointers to NULL.
    
    Use fusion_skirmish_init2() to make surface skirmish a plain mutex
    in case of secure fusion, resulting in greater performance.
    
    Begin with some stereo cleanups, adding dfb_surface_get_buffer2()
    that also takes a DFBSurfaceStereoEye. In the end the eye selection
    via dfb_surface_set_stereo_eye() will be gone. That state should
    be local to IDirectFBSurface, CoreGraphicsState etc.
    
    Sacrifice CSALF_ONEFORALL for clean and robust implementation.
    
    Non-secure (using real skirmish with system calls):
    
    Benchmarking 10x10 on 852x464 RGB32 (32bit)...
    
    Anti-aliased Text                              1.000 secs ( 2811.600 
KChars/sec) [ 99.0%]
    Anti-aliased Text (blend)                      1.005 secs (  437.014 
KChars/sec) [100.0%]
    Fill Rectangle                                 1.000 secs (   69.560 
MPixel/sec) [ 99.0%]
    Fill Rectangle (blend)                         1.000 secs (   45.230 
MPixel/sec) [100.0%]
    Fill Rectangles [10]                           1.000 secs (  319.100 
MPixel/sec) [ 99.0%]
    Fill Rectangles [10] (blend)                   1.000 secs (   97.300 
MPixel/sec) [ 99.0%]
    Fill Triangles                                 1.000 secs (   33.565 
MPixel/sec) [100.0%]
    Fill Triangles (blend)                         1.000 secs (   25.770 
MPixel/sec) [ 99.0%]
    Draw Rectangle                                 1.000 secs (  648.600 
KRects/sec) [ 99.0%]
    Draw Rectangle (blend)                         1.000 secs (  455.300 
KRects/sec) [ 99.0%]
    Draw Lines [10]                                1.000 secs ( 5541.000 
KLines/sec) [100.0%]
    Draw Lines [10] (blend)                        1.000 secs ( 4359.000 
KLines/sec) [ 99.0%]
    Fill Spans                                     1.000 secs (   60.900 
MPixel/sec) [100.0%]
    Fill Spans (blend)                             1.000 secs (   41.000 
MPixel/sec) [100.0%]
    Fill Trapezoids [10]                           1.000 secs (  229.500 
MPixel/sec) [ 99.0%]
    Blit                                           1.000 secs (   38.400 
MPixel/sec) [ 99.0%]
    Blit 180                                       1.000 secs (   38.810 
MPixel/sec) [ 99.0%]
    Blit colorkeyed                                1.000 secs (   38.050 
MPixel/sec) [ 99.0%]
    Blit destination colorkeyed                    1.000 secs (   38.740 
MPixel/sec) [ 99.0%]
    Blit with format conversion                    1.000 secs (   32.650 
MPixel/sec) [ 99.0%]
    Blit with colorizing                           1.000 secs (   30.980 
MPixel/sec) [ 99.0%]
    Blit from 32bit (blend)                        1.000 secs (   35.720 
MPixel/sec) [ 99.0%]
    Blit from 32bit (blend) with colorizing        1.000 secs (   22.490 
MPixel/sec) [ 99.0%]
    Blit SrcOver (premultiplied source)            1.000 secs (   35.940 
MPixel/sec) [ 99.0%]
    Blit SrcOver (premultiply source)              1.000 secs (   35.140 
MPixel/sec) [100.0%]
    Stretch Blit                                   1.000 secs ( 1470.786 
MPixel/sec) [ 98.0%]
    Stretch Blit colorkeyed                        1.000 secs (  823.420 
MPixel/sec) [ 99.0%]
    
    Secure (using fake skirmish being a simple mutex):
    
    Benchmarking 10x10 on 852x464 RGB32 (32bit)...
    
    Anti-aliased Text                              1.000 secs ( 3056.400 
KChars/sec) [ 99.0%]
    Anti-aliased Text (blend)                      1.000 secs (  453.600 
KChars/sec) [100.0%]
    Fill Rectangle                                 1.000 secs (  102.280 
MPixel/sec) [ 99.0%]
    Fill Rectangle (blend)                         1.000 secs (   57.830 
MPixel/sec) [ 99.0%]
    Fill Rectangles [10]                           1.000 secs (  391.600 
MPixel/sec) [ 99.0%]
    Fill Rectangles [10] (blend)                   1.000 secs (  102.600 
MPixel/sec) [100.0%]
    Fill Triangles                                 1.000 secs (   46.500 
MPixel/sec) [ 99.0%]
    Fill Triangles (blend)                         1.000 secs (   32.620 
MPixel/sec) [ 99.0%]
    Draw Rectangle                                 1.000 secs (  924.700 
KRects/sec) [100.0%]
    Draw Rectangle (blend)                         1.000 secs (  586.000 
KRects/sec) [ 99.0%]
    Draw Lines [10]                                1.000 secs ( 7528.000 
KLines/sec) [ 99.0%]
    Draw Lines [10] (blend)                        1.000 secs ( 5342.000 
KLines/sec) [ 99.0%]
    Fill Spans                                     1.000 secs (   84.630 
MPixel/sec) [100.0%]
    Fill Spans (blend)                             1.000 secs (   50.380 
MPixel/sec) [ 99.0%]
    Fill Trapezoids [10]                           1.000 secs (  254.700 
MPixel/sec) [ 99.0%]
    Blit                                           1.000 secs (   57.480 
MPixel/sec) [ 99.0%]
    Blit 180                                       1.000 secs (   58.010 
MPixel/sec) [ 98.0%]
    Blit colorkeyed                                1.000 secs (   56.730 
MPixel/sec) [ 99.0%]
    Blit destination colorkeyed                    1.000 secs (   57.300 
MPixel/sec) [ 99.0%]
    Blit with format conversion                    1.000 secs (   45.810 
MPixel/sec) [100.0%]
    Blit with colorizing                           1.000 secs (   43.410 
MPixel/sec) [ 99.0%]
    Blit from 32bit (blend)                        1.000 secs (   50.970 
MPixel/sec) [ 99.0%]
    Blit from 32bit (blend) with colorizing        1.000 secs (   27.220 
MPixel/sec) [ 99.0%]
    Blit SrcOver (premultiplied source)            1.000 secs (   52.560 
MPixel/sec) [ 99.0%]
    Blit SrcOver (premultiply source)              1.000 secs (   49.300 
MPixel/sec) [ 98.0%]
    Stretch Blit                                   1.000 secs ( 1482.339 
MPixel/sec) [ 99.0%]
    Stretch Blit colorkeyed                        1.000 secs (  832.783 
MPixel/sec) [ 99.0%]
    
    Secure slave with accel1 branch:
    
    Benchmarking 10x10 on 852x464 RGB32 (32bit)...
    
    Anti-aliased Text                              1.002 secs ( 3560.479 
KChars/sec) [ 22.0%]
    Anti-aliased Text (blend)                      1.014 secs (  457.988 
KChars/sec) [  3.9%]
    Fill Rectangle                                 1.000 secs (  132.680 
MPixel/sec) [ 96.0%]
    Fill Rectangle (blend)                         1.001 secs (   93.496 
MPixel/sec) [ 67.0%]
    Fill Rectangles [10]                           1.001 secs (  521.178 
MPixel/sec) [ 43.0%]
    Fill Rectangles [10] (blend)                   1.005 secs (  111.044 
MPixel/sec) [ 14.0%]
    Draw Lines [10]                                1.000 secs ( 9755.000 
KLines/sec) [ 95.0%]
    Draw Lines [10] (blend)                        1.000 secs ( 10185.000 
KLines/sec) [ 95.0%]
    Blit                                           1.000 secs (  189.480 
MPixel/sec) [ 96.0%]
    Blit 180                                       1.000 secs (  206.160 
MPixel/sec) [ 96.0%]
    Blit colorkeyed                                1.000 secs (  167.730 
MPixel/sec) [ 96.0%]
    Blit destination colorkeyed                    1.000 secs (  185.440 
MPixel/sec) [ 97.0%]
    Blit with format conversion                    1.001 secs (   96.123 
MPixel/sec) [ 69.0%]
    Blit with colorizing                           1.000 secs (   91.340 
MPixel/sec) [ 85.0%]
    Blit from 32bit (blend)                        1.000 secs (  160.560 
MPixel/sec) [ 83.0%]
    Blit from 32bit (blend) with colorizing        1.002 secs (   43.003 
MPixel/sec) [ 39.0%]
    Blit SrcOver (premultiplied source)            1.000 secs (  219.320 
MPixel/sec) [ 94.0%]
    Blit SrcOver (premultiply source)              1.000 secs (  185.800 
MPixel/sec) [ 75.0%]

 src/core/CoreDFB_includes.h     |   72 ++++++
 src/core/CoreSurface.flux       |   63 ++++-
 src/core/CoreSurface_real.cpp   |  134 +++++++++--
 src/core/Makefile.am            |    2 +
 src/core/core.c                 |   56 ++++-
 src/core/core.h                 |    6 +
 src/core/surface.c              |  263 +++++++++++++++-----
 src/core/surface.h              |   17 ++
 src/core/surface_allocation.c   |  536 +++++++++++++++++++++++++++++++++++++++
 src/core/surface_allocation.h   |  138 ++++++++++
 src/core/surface_buffer.c       |  436 +++-----------------------------
 src/core/surface_buffer.h       |   71 +-----
 src/core/surface_pool.c         |  126 ++--------
 systems/devmem/surfacemanager.c |    2 +-
 systems/fbdev/surfacemanager.c  |    2 +-
 systems/x11/surfacemanager.c    |    2 +-
 systems/x11/x11_surface_pool.c  |    9 -
 tools/dfbdump.c                 |   11 +-
 18 files changed, 1268 insertions(+), 678 deletions(-)

http://git.directfb.org/?p=core/DirectFB.git;a=commit;h=e4f72312b47787087b8293e3135d1a6f64f95e93
commit e4f72312b47787087b8293e3135d1a6f64f95e93
Author: Denis Oliver Kropp <[email protected]>
Date:   Sat Nov 19 20:08:45 2011 +0100

    dfbtest_resize: Remove alloca() usage.

 tests/dfbtest_resize.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

_______________________________________________
directfb-cvs mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-cvs

Reply via email to