Hi,

Actually my problem is a bit deeper that just that.

I can't find where dfb_surfacemanager_displace() is plugged in the
fbdev system driver, it's not exported as a MockOut pointer like
what's done for the X11 system driver (only through the
vpsmem_surface_pool). This suggests that dfb_surface_pool_displace(),
in DirectFB's core won't be able to call that function to recover
freed allocations. Also that function won't switch to the generic
displace code since allocation from fbdev doesn't get marked with
CSALF_MUCKOUT anywhere!

So, all in all, how does offscreen vram surfaces/allocations get
recycled within fbdev?

Regards,
Ilyes Gouta.

On Mon, May 3, 2010 at 10:55 AM, Ilyes Gouta <ilyes.go...@gmail.com> wrote:
> Hi all,
>
> What's the reason behind not calling dfb_surface_destroy_buffers()
> within IDirectFBSurface_Destruct( IDirectFBSurface *thiz )?
>
> At the epilogue of that function there is:
>
>     if (data->surface) {
>          if (data->locked)
>               dfb_surface_unlock_buffer( data->surface, &data->lock );
>
>          dfb_surface_unref( data->surface );
>     }
>
> Is there any problem turning that into a:
>
>     if (data->surface) {
>          if (data->locked)
>               dfb_surface_unlock_buffer( data->surface, &data->lock );
>
>          dfb_surface_unref( data->surface );
>          dfb_surface_destroy_buffers( data->surface );
>     }
>
> Is it about lazy allocation/deallocation? Who is ultimately going to
> collect all the freed chunks from the surface pool?
>
> Regards,
> Ilyes Gouta.
>
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to