Hi Thomas,

I am not sure of the correct solution for moving a bo from
VRAM to SYSTEM when you need to go through TT, here are
solution i thought of and why they are wrong:

(in driver callback move i get bo & newmem with bo being
in vram and newmem being SYSTEM)

1) ttm_bo_move_buffer(bo, TT, ...);
2) move_null(bo, new_mem);

Problem:
1) Will find space in tt and create a new node it will
   then call handle move mem which will allocate pages
   & bind to tt and callback into the driver move which
   will emit blit to do the actual copy
   It will also create a ghost object for holding the
   vram node until blit is done.
2) According to openchrome implementation i should bug
   if old_mem->mm_node != NULL which is at this point
   the case as mm_node is now a node of tt allocated
   memory and i can't free this node as i need to
   wait for the blit to finish


1) ttm_bo_move_buffer(bo, TT, ...);
2) ttm_bo_move_accel_cleanup(bo, ?syncobj?, new_mem);

I think it's the right solution so there is 2 ghost
object created but i am wondering if i have right
to do it. 
1) create ghost holding vram node
2) will create another ghost holding the tt node
   but the sync obj i provide should be the same
   as for the ghost of 1. I could know the syncobj
   and use it but does it sounds like what i want
   to do ?

Cheers,
Jerome


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to