New commits:
http://git.directfb.org/?p=core/DirectFB.git;a=commit;h=fee7392214beaa050576c455ca19c58e0b1aad0c
commit fee7392214beaa050576c455ca19c58e0b1aad0c
Author: Denis Oliver Kropp <[email protected]>
Date:   Mon Aug 29 04:15:58 2011 +0200

    Core: Make Surface Buffer a FusionObject and implement locked surface 
resizing
    
    The Surface Buffer object is created when a surface is created or 
reconfigured.
    
    It has a global ref count of as long as it belongs to the surface.
    
    dfb_surface_reconfig() no longer returns when a surface is locked, but 
decouples
    the buffers by setting the back pointer from the Surface Buffer object to 
the surface to NULL
    and decreasing the global ref count.
    
    When a buffer is locked, the local ref count is increased, to keep the 
buffer
    object alive until the buffer is unlocked.
    
    Fixed locking for a few functions accessing surface members before locking 
it.
    
    Weak 'locked' counter in buffer is now replaced by 
dfb_surface_buffer_locks()
    function returning the local ref count of the Surface Buffer object.
    
    All functions involved in unlocking and deallocating a buffer may no longer
    use the surface back pointer unconditionally.

 src/core/CoreSurface_real.cpp         |    9 ++-
 src/core/core.c                       |   54 ++++++++++++++++
 src/core/core.h                       |    6 ++
 src/core/shared_secure_surface_pool.c |   14 ++--
 src/core/surface.c                    |   85 +++++++++++++-------------
 src/core/surface_buffer.c             |  108 ++++++++++++++++++++++-----------
 src/core/surface_buffer.h             |   38 ++++++++++--
 src/core/surface_pool.c               |   17 +++--
 systems/devmem/surfacemanager.c       |    7 +-
 systems/fbdev/surfacemanager.c        |    7 +-
 systems/x11/surfacemanager.c          |    7 +-
 tools/dfbdump.c                       |    2 +-
 12 files changed, 243 insertions(+), 111 deletions(-)

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

Reply via email to