[Xorg-driver-geode] [PATCH 6/6] Fix the firefox rendering bug
leio at gentoo.org
Wed Jun 30 23:14:40 PDT 2010
On T, 2010-06-29 at 17:19 +0800, Huang, FrankR wrote:
> *The off-screen buffer is 256KB in previous default setting. But
> when we do the PictOpOver rendering first pass, we need more than
> 256KB off-screen buffer. And for the 14MB framebuffer size, there
> still some remaining space for this.I allocate 2MB right now.
> -#define DEFAULT_EXA_SCRATCH_BFRSZ 0x40000
> +#define DEFAULT_EXA_SCRATCH_BFRSZ 0x200000
As a requested update, Frank is reworking his patches (4 and 6 in this
series) to be resistant to differing pixmap sizes.
2MB might not be enough for even more huge pixmaps either.
So based on suggestion from xorg-devel mailing list, he's reworking it
so, that it will break up the operation into multiple steps, doing only
as many scanlines of the whole pixmap at once as the 256kB (or a
different constant value) allows in a loop. This way we don't need to
increase the scratch buffer size, and it will be resilient, correct and
accelerated for all sizes of pixmaps for this RENDER operation
(PictOpOver with an alpha mask).
The other patches should be final from his end and awaiting my code
review, but their (patches 1, 2, 3) effect in real world has not been
observed. They fix corner cases found by rendercheck, code inspection,
and so on. Patch 5 might fix some button backgrounds being green or with
random horizontal lines, I believe.
This misrendering fixes patch series has been posted frequently just for
those that want to test the progress, or see the in progress code
patches and give advice on them in the middle of work and research (like
me somewhat off-list). Once they are all final, Frank lets me know, and
I proceed with final review and pushing.
All the best,
More information about the Xorg-driver-geode