Rendering in geode

Huang, FrankR FrankR.Huang at amd.com
Thu Jul 1 02:40:01 PDT 2010


Sorry for my misuse of the first name and second name. In China, the first name and second are in reverse. So sometimes I am wrong with this.
Same apology for Jonathan:)

Your guess is same as me after I enlarge the off-screen memory size that result in better result. Based on my debug, the bug is right here:). Today I have fixed this bug in our driver.

Just as the previous code writes, the off-screen memory size is fixed 256KB(which is reserved long long ago), and in firefox, when you press a refresh button, a big mask region 768x268 is need to be rendered with PictOpOver. You know, for the PictOpOver, the first pass is to do src*mask, and the result is ARGB format. So the off-screen size is 768x268x4=823296 > 256KB, so it overflows! The black region and missing glyph character are due to this.

After I know this, I adjust the off-screen region to 2MB instead of 256KB. As expected, the firefox mis-rendering bug is missing. That proves my guess and the debug result. But as you know, our Framebuffer size is not big enough in Geode, especially for OPLC computer. And 2MB is not big enough. Take an example, 1280x1024x4 is nearly 5MB. So that is possible to allocate so huge memory for off-screen operation.

And Jonathan give me one-line hint, use scanline method(Jonathan usually give me the direction!). So I split the rendering into several chunk, each is 256KB, then do it. Right now, It works fine:). I am happy with this. You know that is very important for us to use a small off-screen region that can make other FB region free. So this patch is valuable. 

Thanks again for you, Jonathan and Mart.

I'll release the patch tomorrow after correcting some text format.

Thanks,
Frank

-----Original Message-----
From: xorg-devel-bounces+frankr.huang=amd.com at lists.x.org [mailto:xorg-devel-bounces+frankr.huang=amd.com at lists.x.org] On Behalf Of michel at daenzer.net
Sent: 2010年6月30日 17:44
To: Huang, FrankR
Cc: xorg-driver-geode at lists.x.org; xorg-devel at lists.x.org
Subject: RE: Rendering in geode

On Mon, 2010-06-28 at 17:38 +0800, Huang, FrankR wrote: 
> Jonathan and Danzer,

FYI, Michel is my first name. :)


> We change the FB size from 24MB to 32MB, the bug in firefox is
> disappearing. In my patch, I use the off-screen memory, so I suspect
> in some condition, this memory space is not enough or destroyed by
> other use that leads to the missing of the glyph cache..

Have you narrowed down if the problem is due to your code failing to
handle an offscreen memory allocation failure, or something else?


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer
_______________________________________________
xorg-devel at lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


More information about the xorg-devel mailing list