[cairo] broken pixman bilinear filtering?

Bill Spitzak spitzak at d2.com
Mon Feb 13 20:11:18 PST 2006


Just in case anybody needs this, I got the workaround for XRender 
reduced to a very small amount, this may also indicate what the fix is 
needed in the XRender implementation. This works for all rotations, 
scales, and skews that I tried:

XTransform xtransform = correct_values_for_transform();

if (workaround_needed) {
   xtransform.matrix[0][2] +=
     (xtransform.matrix[0][0]+xtransform.matrix[0][1]-0x10000)>>1;
   xtransform.matrix[1][2] +=
     (xtransform.matrix[1][0]+xtransform.matrix[1][1]-0x10000)>>1;
}

XRenderSetPictureTransform(xdisplay, p, &xtransform);


More information about the cairo mailing list