freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ft-devel] different output from 32-bit and 64bit version of gray_render


From: John Breitenbach
Subject: [ft-devel] different output from 32-bit and 64bit version of gray_render_scanline
Date: Wed, 5 Jun 2019 19:01:55 -0400

Hi,
  I've found that when I compile my code for i586 or x86_64, I get different slightly different bitmaps using freetype.  I eventually got to gray_render_scanline in src/smooth/ftgrays.c and noticed that we have a different implementation of gray_render_scanline  for FT_LONG64 and !FT_LONG64.  I've been using v2.9, but see the same behavior on 2.9.1, 2.10, and master.

Commit 77180c reenabled the new line renderer for 64bit archs on June 8, 2016, making the version of gray_render_scanline dependent on cpu width.

I've found that if I use either the new line renderer or the original (i.e. replace the #ifndef FT_LONG64 in ftgrays.c with with #if 0 or #if 1), I get identical that is independent of cpu bits.
As I regularly build my code for 32-bit and 64-bit, I'd like to avoid having two sets of reference output.

So, is this a surprise to anyone?  Should the two versions behave identically in the absence of overflow or other extreme cases?  I'd be happy to continue my investigation and provide a trace or anything else useful to show that they behave differently.

Thanks!
John


reply via email to

[Prev in Thread] Current Thread [Next in Thread]