See attached PNG. The image surface consisting of the red square and the black
outline is rotated 180° and composited onto the target surface. The black
outline marks the edge of the image. The yellow square marks the area where the
black outline should be, but as can be seen from the PNG the black square is
offset 1 pixel down and to the right. Part of the black outline is clipped
because of this.
Created attachment 1848 [details]
PNG showing the problem
Created attachment 1849 [details]
C code to generate the PNG
Are you sure you are rotating around the right axis? (i.e. not half a pixel out
in the X and Y direction?)
Move bugs against "cvs" version to "0.9.3" so we can remove the "cvs" version.
Created attachment 3296 [details] [review]
proposed pix for the problem
2005-09-16 Bertram Felgenhauer <firstname.lastname@example.org>
* src/fbcompose.c (fbFetchSourcePict, fbFetchTransformed): use the
center of the pixel as the sampling point for rendering.
* src/fbcompose.c (fbFetchTransformed): give source image values
maximim effect in the center of the corresponding pixel.
Patch comitted and test cases updated. Thanks.
Link to git commit:
Created attachment 5946 [details] [review]
Similar patch for fb in xserver
The bug is also present in the x server, attached patch is a port of the pixman
patch to fb.