Intel 845 ReadPixmap hw acceleration
Austin Yuan
yuanshengquan at gmail.com
Sat Apr 30 01:07:00 PDT 2005
On 4/30/05, Austin Yuan <yuanshengquan at gmail.com> wrote:
> In order to do some performance improvement for XGetImage, I attempt
> to implement hardware acceleration for ReadPixmap for the integrated
> graphics device on Intel845GVSH desktop board. ReadPixmap is a bitblt
> from framebuffer to system memory. The register specification says
> that the BLT Engine can be used to transfer data from cacheable
> memory to graphics memory and vice versa using the BLT
> instructions,and all surface address programmed in these instructions
> must be mapped through the GTT. In my opinion, I must program GTT to
> map system memory in user space as graphics memory("AGP" memory), then
> use BLT engine to bitblt from frame buffer to it. Now I have patched
> agpgart driver to support user space memory mapping(using
> get_use_pages for 2.6 kernel). For every ReadPixmap, I call agpgart
> driver to map and bind the user space pages and then do the bitblt,and
> then unbind,free those pages.
>
> My question is:
> Is my idea right?and how to keep cache coherency after bitblt? I
> fill the user space memory with a solid color using blt engine, but I
> get a wrong color by reading from it.
Befor filling the solid color,I memset the system memory into zero,
and after hw bitblt,I read it from it. Now sometimes I can get the
correct color, but sometime I still get zero. I think my idea is
right, but I don't know if I need to care about the cache.
>
More information about the xorg
mailing list