[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freedesktop-xorg
Subject:    Re: Intel 845 ReadPixmap hw acceleration
From:       Austin Yuan <yuanshengquan () gmail ! com>
Date:       2005-04-30 8:07:00
Message-ID: 52696dc205043001075924b858 () mail ! gmail ! com
[Download RAW message or body]

On 4/30/05, Austin Yuan <yuanshengquan@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.
>=20
> 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.
>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic