[Xorg-driver-geode] Rendering in geode
FrankR.Huang at amd.com
Wed Jun 23 00:54:24 PDT 2010
Yes. Our driver can support the transform, but not CA.
And I have given the experiment on the handling of coordinates outside a source image. The result is as you described. With repeat parameter of the source image, the region will be rendered; while with no repeat, the region will be no-op for PictOpOver and be all-zero for PictOpSrc. I can do this add-on to driver, it is not difficult. But right now, the bug I met is not due to this.
Yes. With mask, it is the same as above.
I found that right now the bug is in 1x1 source picture with repeat parameter. From my debug, there are two main condition for PictOpOver:
1)source: 1x1 repeatable(RGB565), mask region(A8), dest region(RGB565)
2)source: 1x1 repeatable(ARGB), mask region(A8), dest region(RGB565)
For condition 1), I firstly convert the source to ARGB, then it is the same as condition 2). I use the HW registers gracefully handle this. But the side effect is that firefox has some characters missing. See link:
Just as you said, the text rendering is related to this. But right now, I want to know how could I find the root cause for this.
From: Jonathan Morton [mailto:jonathan.morton at movial.com]
Sent: 2010?6?22? 20:23
To: Huang, FrankR
Cc: Matt Dew; xorg-driver-geode at lists.x.org; xorg-devel at lists.x.org
Subject: RE: Rendering in geode
On Tue, 2010-06-22 at 17:40 +0800, Huang, FrankR wrote:
> We do need a complete description on the condition that the Source
> coordinates are outside the image. Because when I fixed this, another
> rendering issue in firefox is appearing with my patch. Some characters
> are missing in the rendering in firefox.
Assuming that you are rejecting all attributes that you cannot handle at
all (eg. transforms, component-alpha, etc.), the situation with
coordinates is not very complex. The handling of coordinates outside a
source image's native rectangle depends entirely on the Repeat attribute
and the operation being performed, as I have already described.
The one remaining subtlety is that the same rules apply to images
provided as masks. All of the same attributes apply separately to mask
images as to source images. As a result, if coordinates land outside
the mask image with it's Repeat attribute cleared, these areas will also
become no-ops in Over mode or zero-fills in Src mode.
Finally, remember that source images with 1x1 dimensions and the Repeat
attribute set are very common, especially during text rendering, and are
to be treated as solid colours. Mask images with these properties are
less common but still legal. Both of these conditions can be detected
at setup time.
From: Jonathan Morton
jonathan.morton at movial.com
More information about the Xorg-driver-geode