On Thu, 2007-03-15 at 21:36 +0300, malc wrote: 
> 
> Apparently the problem is that pages obtained by the call to
> get_user_pages admit caching, so adding flush_dcache_range upon
> dequeuing buffer in the device driver removes the artifacts.
> 
> Even with this i still get roughly a 3x speedup compared to
> grab to some buffer then copy to gart with memcpy.
> 
> However i believe things can be improved:
> 1. call glXGetMemoryOffsetMESA
> 2. tell the driver to grab into "special" memory with this offset
> 
> This should avoid the need of having to mess with get_user_pages and
> caching altogether.
> 
> Question is though, is this possible at all?

Possibly. In fact, it should be easy with a traditional AGP bridge which
provides a physically linear view of the aperture to the CPU.
Unfortunately, that's not the case with Apple UniNorth bridges, so is
this on a Mac or a different PowerPC machine such as a Pegasos? If the
former I suspect you may have to hook into the DRM or agpgart to get at
the pages backing the AGP mapping.


-- 
Earthling Michel Dänzer           |          http://tungstengraphics.com
Libre software enthusiast         |          Debian, X and DRI developer


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to