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