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
_______________________________________________
Freetype-devel mailing list
Freetype-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to