[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