[AD] AMD64 patch

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Here is a first patch to get the C port of Allegro to work on X running on an AMD64 machine. I guess it helps for other 64-bit architectures too. It relies on the stdint.h being present, at the moment.

The main changes:

- where 'unsigned long' was used to store memory addresses, I replaced them with intptr_t.

- where 'long' or 'unsigned long' was used to store pixel values (usually RGBA), I replaced them with plain 'int' or 'unsigned int'. That means we would now assume 'int' is >= 32-bits wide.

- where 'sizeof(long)' or 'sizeof(unsigned long)' was meant to mean BYTES_PER_PIXEL(32), I have replaced them with 'sizeof(int32_t)' and 'sizeof(uint32_t)'. That means, 32-bit bitmaps now always use 4 bytes per pixel, instead of it depending on the size of a long. This is saner, IMHO. I also half-heartedly changed some sizeof(short)'s to sizeof(uint16_t).

Strictly speaking, probably only the third change is really necessary.


I compiled the patched tree on a plain x86 machine, and cross-compiled the mingw and djgpp versions (untested though).

Peter

Attachment: sixtyfour.diff.gz
Description: Unix tar archive



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/