[cairo] regression in text rendering when not using Render xlib

Frederic Crozat fcrozat at mandriva.com
Fri Mar 2 03:24:46 PST 2007


Le vendredi 02 mars 2007 à 10:06 +0100, Frederic Crozat a écrit :
> Le jeudi 01 mars 2007 à 19:48 -0500, Behdad Esfahbod a écrit :
> > On Thu, 2007-03-01 at 13:28 -0500, Frederic Crozat wrote:
> > > 
> > > If I revert to cairo 1.2.x, problem disappear, with same version of
> > > pango.
> > 
> > Would you mind "git bisect"ing?  Helps a lot, and may be the only way to
> > pin this down before 1.4.0.
> 
> Good news : it appears to be a gcc optimization issue : I don't get the
> error when using standard cflags and not the one we use for our Mandriva
> packages.
> 
> Anyway, I'll do a bisect to find one which commit caused it and I'll try
> to grab our gcc guy to find out how to fix.

Culprit is commit 3e002a474b64c83f8768ba8918209eca9d7599a3
Author: Vladimir Vukicevic <vladimir at pobox.com>
Date:   Fri Nov 3 09:47:31 2006 -0800

    [win32] Update pixman MMX code to work with MSVC
    
    Patch from Tor Lillqvist.

When building with "-O2 -fomit-frame-pointer", in 16bpp RGBA, you get
funky mask. Code was probably broken before but it wasn't visible.

With help of our gcc guy (Gwenole Beauchesne), I've fix it "the right
way (c)Gwenole" and it should be optimized nicely with gcc.

However, since I'm not a expert in this area, I would suggest somebody
with more knowledge to check fbmmx.c for other funky conversions between
ullong and __m64 and use to_ullong and to_m64 instead of using M64
blindly.

Another nice thing is it was the first time I use git to commit a patch
(better late than never) and use git rebase to move it to HEAD.

I haven't testing this patch with MSVC (since I don't have Windows
platform around) but I don't think it will cause problem.
-- 
Frederic Crozat <fcrozat at mandriva.com>
Mandriva
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-aliasing-with-gcc-when-using-fomit-frame-pointer.txt
Type: application/mbox
Size: 2024 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20070302/fff4da8a/0001-Fix-aliasing-with-gcc-when-using-fomit-frame-pointer.bin


More information about the cairo mailing list