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
