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: [email protected] 
[mailto:[email protected]] On Behalf Of 
[email protected]
Sent: 2010年6月30日 17:44
To: Huang, FrankR
Cc: [email protected]; [email protected]
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
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to