On Wed, Dec 16, 2009 at 12:12:13AM +0800, Donnie Fang wrote:
> Hi Thomas,
>       I conclude your meaning as below:
> a. When CPU join in, it must wait for the sync object to really free the
> device address space.
> b. When CPU absent, but there are two indepent HW engines relevant to the
> space, the one must wait for the sync object.
> c.  Fully pipelined bo move support when only one HW engine related to the
> space.
> Am i right?
> About *b*, let's say,
> 1)schedule copy the bo from VRAM based on HW DMA engine.
> 2) Put a corresponding sync object on the manager.
> 3) Free the vram region.
> 4) Region gets allocated.
> 5) GPU 2D render to this region.
> since GPU 2D and HW DMA engine is totally independent from each other, so
> sync object still needs to be signaled in this situation.

Some hw have way to synchronize btw different part of the GPU so for
instance you can tell the 2D pipeline to wait on the hw dma engine before
doing any work. If hw doesn't have such synchronization capabilities
i believe it's better to only use 1 pipeline of the hw (so forget about
hw dma engine and do bo move using the 2d or 3d engine), otherwise you
will have to put the CPU in the loop and that would mean stalling the
GPU (will more than likely end up in suboptimal use of the GPU).

Cheers,
Jerome

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to