On Tue, 17 Mar 2009 17:06:22 +0100
Thomas Hellström <[email protected]> wrote:

> 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 <[email protected]>
> >   
> 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
> 
> 
> 

This seems to fix the problem.

Cheers,
Jerome Glisse <[email protected]>

------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to