Op Tue, 26 Feb 2008, schreef Bernd Mueller:

Daniël Mantione wrote:


Op Tue, 26 Feb 2008, schreef Florian Klaempfl:

Daniël Mantione schrieb:


Op Tue, 26 Feb 2008, schreef Vincent Snijders:

Bernd Mueller schreef:
Hello,

the attached patch avoids misaligned data access (bus errors), during
font rendering (with the graph unit) on Arm-Linux devices.


Instead of testing for arm cpu, you could use
FPC_REQUIRES_PROPER_ALIGNMENT too. So it is fixed for sparc as well.

Well, packed records are usually used when speed is unimportant. If the

Isn't this used to read a font file?

You are right. Therefore, the "unaligned" pseudo function is the proper solution.

the main affected routines are unpack and decode. Both routines were called for every single character (only for a stroked font) via OutTextXYDefault. So speed is not unimportant ;-)

Loosing a few clock cycles per character is completely acceptable, and even the right engineering decision regarding size/memory trade-off. It would be different if it would be a few clock cycles per pixel. Anyway, the BGI font file format cannot be changed, so in such case the internal data structures would need to be different from the ones on disk. Not worth the effort.

Daniël
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to