The transform code in fbcompose.c uses a C divide to convert from the current
transform coordinate to the source pixels. This can cause problems. For
example, when scaling a repeating texture, -0.5 maps to pixel 0 rather than the
pixel at width-1.
The attached patch addresses this issue. I intend to commit it to the
Created attachment 3206 [details]
SVGscan log with details of the 130 xlink:href links in question
Created attachment 3323 [details] [review]
Here is a patch I committed today to xserver/fb which fixes a rounding bug.
Similar to the other patch on this bug, this fixes an error in the math which
is causing incorrect output.
Created attachment 3324 [details] [review]
Patch to make xorg-server build on alpha
Here is yet another patch which fixes some incorrect output from the fb code.
These can be split up into multiple bugs if necessary, but it's yet another
change in the same theme -- a precision error in the current fb code in xorg
which causes wrong pixels.
Marking as blocking for the release, I'll resurrect my patches.
The patches from bug 4269 and bug 4283 should also be applied to the xorg
ping. any word on these patches?
Sorry, i'll get on it asap. So far we've had problems reproducing the issues with
the Xorg server even though I know it has these problems. I just don't want
to commit the code blind.
reping. what's the status on this?
unclear that this fixes anything appreciable, so deferring this to 7.1
enough precision bugs have been fixed in fb since pre-7 that i'm calling this
one fixed. if there are others please open new bugs.
reopening at anholt's suggestion; but unless a patch is forthcoming this isn't
going to block 7.1.
(In reply to comment #12)
> reopening at anholt's suggestion; but unless a patch is forthcoming this isn't
> going to block 7.1.
patch is not forthcoming; moving out to 7.2.
I'm a bit confused. Is the original patch submitted into xorg and all is fine or
has additional precision problems been discovered that needs to be addressed?
Yes, confirmed that the patch here was committed to xorg
(8bfffb96b552a3facb77ff9e81658e80becbf2f4 is the commit, compare to
a029f3463684b5d1a0470a86da2d1d9157e1b9f4 in ~anholt/xserver).