Jerome Glisse wrote:
> Hi,
>
> Ask ttm to validate buffer from system to vram ttm call
> driver->bo_move with evict=false which i guess is right
> as the object will now be in GPU address space. So for
> the move i need to allocate a temporary GTT space. Here
> is what i do
>
> setup a tmp ttm_mem_reg with numpages=bo numpages
> call ttm_bo_mem_space to get gtt space
> ttm_tt_bind it
> do my dma blit
> call ttm_bo_move_accel_cleanup with the dmafence
>
> So accel_cleanup call ttm_buffer_object_transfer which
> ref the fence and create a ghost object to hold the
> previous location.
>
> What i don't get is how and when the ghost object is
> released, so far for me it seems it's never released
> and so i quickly run with tons of fence object active
> while already signaled (not mentioning a bunch of
> ghost object).
>
> Cheers, 
> Jerome Glisse <gli...@freedesktop.org>
>   
Jerome,
That looks like a bug in the ttm_bo_move_accel_cleanup function.
The ghost object is never unreferenced.

What happens if you put a
ttm_bo_unref((&old_obj) after
ttm_bo_unreserve(old_obj)
?

/Thomas




------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to