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
