pixman: Branch 'master'
Jeff Muizelaar
jrmuizel at kemper.freedesktop.org
Wed Apr 1 15:28:51 PDT 2009
pixman/pixman-pict.c | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit cdcbd9be3a2318bf650b8f56fea51acb5991b075
Author: Siarhei Siamashka <siarhei.siamashka at nokia.com>
Date: Wed Apr 1 18:26:24 2009 -0400
Set srcRepeat = False when using fbCompositeSrcScaleNearest
NORMAL repeat was broken (the optimized function can handle repeat operation
itself and can be screwed up if 'pixman_walk_composite_region' tries to help it
by splitting the work into handling multiple separate areas).
Splitting work into handling different areas does not work right for the
transform case (and it is never used for generic path). The point is that this
splitting only has full pixel precision at the moment, while correct blitting
needs to preserve some fractional part in calculations when moving from one
"tile" to another.
diff --git a/pixman/pixman-pict.c b/pixman/pixman-pict.c
index 81f81fe..5f3ddd2 100644
--- a/pixman/pixman-pict.c
+++ b/pixman/pixman-pict.c
@@ -1969,6 +1969,8 @@ pixman_image_composite (pixman_op_t op,
pSrc->common.transform->matrix[2][1] == 0 &&
pSrc->common.transform->matrix[2][2] == pixman_fixed_1) {
func = fbCompositeSrcScaleNearest;
+ /* Like the general path, fbCompositeSrcScaleNearest handles all the repeat types itself */
+ srcRepeat = FALSE;
}
} else if ((pSrc->type == BITS || pixman_image_can_get_solid (pSrc)) && (!pMask || pMask->type == BITS)
&& !srcTransform && !maskTransform
More information about the xorg-commit
mailing list