diff options
author | Carsten Haitzler <raster@rasterman.com> | 2000-05-15 23:18:35 +0000 |
---|---|---|
committer | Carsten Haitzler <raster@rasterman.com> | 2000-05-15 23:18:35 +0000 |
commit | 74af24a8ed37f4c5cf18f1e16523a0f24ba64ef4 (patch) | |
tree | 1667a38ef3d2e4829f1c35108640d4993671718e | |
parent | f31a31581d318c581f36be2a708eba5f3b248239 (diff) | |
download | imlib2-74af24a8ed37f4c5cf18f1e16523a0f24ba64ef4.tar.gz |
OS2 pacthes make imlib2 build on os/2 apparently :)
SVN revision: 2653
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | src/asm_blend.S | 136 | ||||
-rw-r--r-- | src/asm_blend_cmod.S | 194 | ||||
-rw-r--r-- | src/asm_rgba.S | 40 | ||||
-rw-r--r-- | src/asm_rotate.S | 16 | ||||
-rw-r--r-- | src/asm_scale.S | 16 | ||||
-rw-r--r-- | src/common.h | 3 | ||||
-rw-r--r-- | src/file.c | 12 | ||||
-rw-r--r-- | src/image.c | 18 |
9 files changed, 256 insertions, 180 deletions
@@ -8,3 +8,4 @@ Chutt (Isaac Richards) <ijr@po.cwru.edu> gilbertt (Tom Gilbert) <gilbertt@btinternet.com> Takis <takis@lumumba.luc.ac.be> Dan Maas <dmaas@dcine.com> +pla@cland.ru diff --git a/src/asm_blend.S b/src/asm_blend.S index 0a2def9..b1aab28 100644 --- a/src/asm_blend.S +++ b/src/asm_blend.S @@ -1,5 +1,15 @@ #include <config.h> +#ifdef __EMX__ +/* Due to strange behaviour of as.exe we use this macros */ +/* For all OS/2 coders - please use PGCC to compile this code */ +#define PR_(foo) ___##foo +#define PT_(foo,func) ___##foo,##func +#else +#define PR_(foo) __##foo +#define PT_(foo,func) __##foo,##func +#endif + #ifdef DO_MMX_ASM /*\ @@ -22,49 +32,49 @@ #define h 28(%ebp) #define cm 32(%ebp) -.global __imlib_mmx_blend_rgba_to_rgb - .type __imlib_mmx_blend_rgba_to_rgb,@function -.global __imlib_mmx_blend_rgba_to_rgba - .type __imlib_mmx_blend_rgba_to_rgba,@function -.global __imlib_mmx_copy_rgba_to_rgb - .type __imlib_mmx_copy_rgba_to_rgb,@function -.global __imlib_mmx_copy_rgba_to_rgba - .type __imlib_mmx_copy_rgba_to_rgba,@function -.global __imlib_mmx_copy_rgb_to_rgba - - .type __imlib_mmx_copy_rgb_to_rgba,@function -.global __imlib_mmx_add_blend_rgba_to_rgb - .type __imlib_mmx_add_blend_rgba_to_rgb,@function -.global __imlib_mmx_add_blend_rgba_to_rgba - .type __imlib_mmx_add_blend_rgba_to_rgba,@function -.global __imlib_mmx_add_copy_rgba_to_rgb - .type __imlib_mmx_add_copy_rgba_to_rgb,@function -.global __imlib_mmx_add_copy_rgba_to_rgba - .type __imlib_mmx_add_copy_rgba_to_rgba,@function -.global __imlib_mmx_add_copy_rgb_to_rgba - .type __imlib_mmx_add_copy_rgb_to_rgba,@function - -.global __imlib_mmx_subtract_blend_rgba_to_rgb - .type __imlib_mmx_subtract_blend_rgba_to_rgb,@function -.global __imlib_mmx_subtract_blend_rgba_to_rgba - .type __imlib_mmx_subtract_blend_rgba_to_rgba,@function -.global __imlib_mmx_subtract_copy_rgba_to_rgb - .type __imlib_mmx_subtract_copy_rgba_to_rgb,@function -.global __imlib_mmx_subtract_copy_rgba_to_rgba - .type __imlib_mmx_subtract_copy_rgba_to_rgba,@function -.global __imlib_mmx_subtract_copy_rgb_to_rgba - .type __imlib_mmx_subtract_copy_rgb_to_rgba,@function - -.global __imlib_mmx_reshade_blend_rgba_to_rgb - .type __imlib_mmx_reshade_blend_rgba_to_rgb,@function -.global __imlib_mmx_reshade_blend_rgba_to_rgba - .type __imlib_mmx_reshade_blend_rgba_to_rgba,@function -.global __imlib_mmx_reshade_copy_rgba_to_rgb - .type __imlib_mmx_reshade_copy_rgba_to_rgb,@function -.global __imlib_mmx_reshade_copy_rgba_to_rgba - .type __imlib_mmx_reshade_copy_rgba_to_rgba,@function -.global __imlib_mmx_reshade_copy_rgb_to_rgba - .type __imlib_mmx_reshade_copy_rgb_to_rgba,@function +.global PR_(imlib_mmx_blend_rgba_to_rgb) + .type PT_(imlib_mmx_blend_rgba_to_rgb,@function) +.global PR_(imlib_mmx_blend_rgba_to_rgba) + .type PT_(imlib_mmx_blend_rgba_to_rgba,@function) +.global PR_(imlib_mmx_copy_rgba_to_rgb) + .type PT_(imlib_mmx_copy_rgba_to_rgb,@function) +.global PR_(imlib_mmx_copy_rgba_to_rgba) + .type PT_(imlib_mmx_copy_rgba_to_rgba,@function) +.global PR_(imlib_mmx_copy_rgb_to_rgba) + + .type PT_(imlib_mmx_copy_rgb_to_rgba,@function) +.global PR_(imlib_mmx_add_blend_rgba_to_rgb) + .type PT_(imlib_mmx_add_blend_rgba_to_rgb,@function) +.global PR_(imlib_mmx_add_blend_rgba_to_rgba) + .type PT_(imlib_mmx_add_blend_rgba_to_rgba,@function) +.global PR_(imlib_mmx_add_copy_rgba_to_rgb) + .type PT_(imlib_mmx_add_copy_rgba_to_rgb,@function) +.global PR_(imlib_mmx_add_copy_rgba_to_rgba) + .type PT_(imlib_mmx_add_copy_rgba_to_rgba,@function) +.global PR_(imlib_mmx_add_copy_rgb_to_rgba) + .type PT_(imlib_mmx_add_copy_rgb_to_rgba,@function) + +.global PR_(imlib_mmx_subtract_blend_rgba_to_rgb) + .type PT_(imlib_mmx_subtract_blend_rgba_to_rgb,@function) +.global PR_(imlib_mmx_subtract_blend_rgba_to_rgba) + .type PT_(imlib_mmx_subtract_blend_rgba_to_rgba,@function) +.global PR_(imlib_mmx_subtract_copy_rgba_to_rgb) + .type PT_(imlib_mmx_subtract_copy_rgba_to_rgb,@function) +.global PR_(imlib_mmx_subtract_copy_rgba_to_rgba) + .type PT_(imlib_mmx_subtract_copy_rgba_to_rgba,@function) +.global PR_(imlib_mmx_subtract_copy_rgb_to_rgba) + .type PT_(imlib_mmx_subtract_copy_rgb_to_rgba,@function) + +.global PR_(imlib_mmx_reshade_blend_rgba_to_rgb) + .type PT_(imlib_mmx_reshade_blend_rgba_to_rgb,@function) +.global PR_(imlib_mmx_reshade_blend_rgba_to_rgba) + .type PT_(imlib_mmx_reshade_blend_rgba_to_rgba,@function) +.global PR_(imlib_mmx_reshade_copy_rgba_to_rgb) + .type PT_(imlib_mmx_reshade_copy_rgba_to_rgb,@function) +.global PR_(imlib_mmx_reshade_copy_rgba_to_rgba) + .type PT_(imlib_mmx_reshade_copy_rgba_to_rgba,@function) +.global PR_(imlib_mmx_reshade_copy_rgb_to_rgba) + .type PT_(imlib_mmx_reshade_copy_rgb_to_rgba,@function) .bss .text @@ -139,7 +149,7 @@ c1: .word 0x1, 0x1, 0x1, 0x1 ret -__imlib_mmx_blend_rgba_to_rgb: +PR_(imlib_mmx_blend_rgba_to_rgb): ENTER pxor %mm4, %mm4 @@ -194,7 +204,7 @@ __imlib_mmx_blend_rgba_to_rgb: LEAVE -__imlib_mmx_blend_rgba_to_rgba: +PR_(imlib_mmx_blend_rgba_to_rgba): ENTER pxor %mm4, %mm4 @@ -248,7 +258,7 @@ __imlib_mmx_blend_rgba_to_rgba: LEAVE -__imlib_mmx_copy_rgba_to_rgb: +PR_(imlib_mmx_copy_rgba_to_rgb): ENTER movq m0XXX0XXX, %mm5 @@ -291,7 +301,7 @@ __imlib_mmx_copy_rgba_to_rgb: LEAVE -__imlib_mmx_copy_rgba_to_rgba: +PR_(imlib_mmx_copy_rgba_to_rgba): ENTER subl $4, %esi @@ -316,7 +326,7 @@ __imlib_mmx_copy_rgba_to_rgba: LEAVE -__imlib_mmx_copy_rgb_to_rgba: +PR_(imlib_mmx_copy_rgb_to_rgba): ENTER movq mX000X000, %mm5 @@ -346,7 +356,7 @@ __imlib_mmx_copy_rgb_to_rgba: LEAVE -__imlib_mmx_add_blend_rgba_to_rgb: +PR_(imlib_mmx_add_blend_rgba_to_rgb): ENTER pxor %mm4, %mm4 @@ -386,7 +396,7 @@ __imlib_mmx_add_blend_rgba_to_rgb: LEAVE -__imlib_mmx_add_blend_rgba_to_rgba: +PR_(imlib_mmx_add_blend_rgba_to_rgba): ENTER pxor %mm4, %mm4 @@ -434,7 +444,7 @@ __imlib_mmx_add_blend_rgba_to_rgba: LEAVE -__imlib_mmx_add_copy_rgba_to_rgb: +PR_(imlib_mmx_add_copy_rgba_to_rgb): ENTER movq m0XXX0XXX, %mm5 @@ -471,7 +481,7 @@ __imlib_mmx_add_copy_rgba_to_rgb: LEAVE -__imlib_mmx_add_copy_rgba_to_rgba: +PR_(imlib_mmx_add_copy_rgba_to_rgba): ENTER subl $4, %esi @@ -502,7 +512,7 @@ __imlib_mmx_add_copy_rgba_to_rgba: LEAVE -__imlib_mmx_add_copy_rgb_to_rgba: +PR_(imlib_mmx_add_copy_rgb_to_rgba): ENTER movq mX000X000, %mm5 @@ -539,7 +549,7 @@ __imlib_mmx_add_copy_rgb_to_rgba: LEAVE -__imlib_mmx_subtract_blend_rgba_to_rgb: +PR_(imlib_mmx_subtract_blend_rgba_to_rgb): ENTER pxor %mm4, %mm4 @@ -579,7 +589,7 @@ __imlib_mmx_subtract_blend_rgba_to_rgb: LEAVE -__imlib_mmx_subtract_blend_rgba_to_rgba: +PR_(imlib_mmx_subtract_blend_rgba_to_rgba): ENTER pxor %mm4, %mm4 @@ -627,7 +637,7 @@ __imlib_mmx_subtract_blend_rgba_to_rgba: LEAVE -__imlib_mmx_subtract_copy_rgba_to_rgb: +PR_(imlib_mmx_subtract_copy_rgba_to_rgb): ENTER movq m0XXX0XXX, %mm5 @@ -664,7 +674,7 @@ __imlib_mmx_subtract_copy_rgba_to_rgb: LEAVE -__imlib_mmx_subtract_copy_rgba_to_rgba: +PR_(imlib_mmx_subtract_copy_rgba_to_rgba): ENTER movq mX000X000, %mm5 @@ -705,7 +715,7 @@ __imlib_mmx_subtract_copy_rgba_to_rgba: LEAVE -__imlib_mmx_subtract_copy_rgb_to_rgba: +PR_(imlib_mmx_subtract_copy_rgb_to_rgba): ENTER movq mX000X000, %mm5 @@ -742,7 +752,7 @@ __imlib_mmx_subtract_copy_rgb_to_rgba: LEAVE -__imlib_mmx_reshade_blend_rgba_to_rgb: +PR_(imlib_mmx_reshade_blend_rgba_to_rgb): ENTER pxor %mm4, %mm4 @@ -784,7 +794,7 @@ __imlib_mmx_reshade_blend_rgba_to_rgb: LEAVE -__imlib_mmx_reshade_blend_rgba_to_rgba: +PR_(imlib_mmx_reshade_blend_rgba_to_rgba): ENTER pxor %mm4, %mm4 @@ -835,7 +845,7 @@ __imlib_mmx_reshade_blend_rgba_to_rgba: LEAVE -__imlib_mmx_reshade_copy_rgba_to_rgb: +PR_(imlib_mmx_reshade_copy_rgba_to_rgb): ENTER pxor %mm4, %mm4 @@ -898,7 +908,7 @@ __imlib_mmx_reshade_copy_rgba_to_rgb: LEAVE -__imlib_mmx_reshade_copy_rgba_to_rgba: +PR_(imlib_mmx_reshade_copy_rgba_to_rgba): ENTER pxor %mm4, %mm4 @@ -962,7 +972,7 @@ __imlib_mmx_reshade_copy_rgba_to_rgba: LEAVE -__imlib_mmx_reshade_copy_rgb_to_rgba: +PR_(imlib_mmx_reshade_copy_rgb_to_rgba): ENTER pxor %mm4, %mm4 diff --git a/src/asm_blend_cmod.S b/src/asm_blend_cmod.S index 2c92fe6..5908c1f 100644 --- a/src/asm_blend_cmod.S +++ b/src/asm_blend_cmod.S @@ -1,5 +1,15 @@ #include <config.h> +#ifdef __EMX__ +/* Due to strange behaviour of as.exe we use this macros */ +/* For all OS/2 coders - please use PGCC to compile this code */ +#define PR_(foo) ___##foo +#define PT_(foo,func) ___##foo,##func +#else +#define PR_(foo) __##foo +#define PT_(foo,func) __##foo,##func +#endif + #ifdef DO_MMX_ASM /*\ @@ -10,7 +20,7 @@ \*/ /*\ All functions have the same calling convention: -|*| __imlib_mmx_<op>_rgba_to_rgb[A]_cmod(void *src, int sw, void *dst, int dw, +|*| PR_(imlib_mmx_<op>_rgba_to_rgb[A]_cmod(void *src, int sw, void *dst, int dw, |*| int w, int h, ImlibColorModifier *cm) \*/ @@ -29,69 +39,69 @@ #define amap(x) 0x300(%ebx, x) #define amap_ff 0x3ff(%ebx) -.global __imlib_mmx_blend_rgba_to_rgb_cmod - .type __imlib_mmx_blend_rgba_to_rgb_cmod,@function -.global __imlib_mmx_blend_rgba_to_rgba_cmod - .type __imlib_mmx_blend_rgba_to_rgba_cmod,@function -.global __imlib_mmx_blend_rgb_to_rgb_cmod - .type __imlib_mmx_blend_rgb_to_rgb_cmod,@function -.global __imlib_mmx_blend_rgb_to_rgba_cmod - .type __imlib_mmx_blend_rgb_to_rgba_cmod,@function - -.global __imlib_mmx_copy_rgba_to_rgb_cmod - .type __imlib_mmx_copy_rgba_to_rgb_cmod,@function -.global __imlib_mmx_copy_rgba_to_rgba_cmod - .type __imlib_mmx_copy_rgba_to_rgba_cmod,@function -.global __imlib_mmx_copy_rgb_to_rgba_cmod - .type __imlib_mmx_copy_rgb_to_rgba_cmod,@function - -.global __imlib_mmx_add_blend_rgba_to_rgb_cmod - .type __imlib_mmx_add_blend_rgba_to_rgb_cmod,@function -.global __imlib_mmx_add_blend_rgba_to_rgba_cmod - .type __imlib_mmx_add_blend_rgba_to_rgba_cmod,@function -.global __imlib_mmx_add_blend_rgb_to_rgb_cmod - .type __imlib_mmx_add_blend_rgb_to_rgb_cmod,@function -.global __imlib_mmx_add_blend_rgb_to_rgba_cmod - .type __imlib_mmx_add_blend_rgb_to_rgba_cmod,@function - -.global __imlib_mmx_add_copy_rgba_to_rgb_cmod - .type __imlib_mmx_add_copy_rgba_to_rgb_cmod,@function -.global __imlib_mmx_add_copy_rgba_to_rgba_cmod - .type __imlib_mmx_add_copy_rgba_to_rgba_cmod,@function -.global __imlib_mmx_add_copy_rgb_to_rgba_cmod - .type __imlib_mmx_add_copy_rgb_to_rgba_cmod,@function - -.global __imlib_mmx_subtract_blend_rgba_to_rgb_cmod - .type __imlib_mmx_subtract_blend_rgba_to_rgb_cmod,@function -.global __imlib_mmx_subtract_blend_rgba_to_rgba_cmod - .type __imlib_mmx_subtract_blend_rgba_to_rgba_cmod,@function -.global __imlib_mmx_subtract_blend_rgb_to_rgb_cmod - .type __imlib_mmx_subtract_blend_rgb_to_rgb_cmod,@function -.global __imlib_mmx_subtract_blend_rgb_to_rgba_cmod - .type __imlib_mmx_subtract_blend_rgb_to_rgba_cmod,@function - -.global __imlib_mmx_subtract_copy_rgba_to_rgb_cmod - .type __imlib_mmx_subtract_copy_rgba_to_rgb_cmod,@function -.global __imlib_mmx_subtract_copy_rgba_to_rgba_cmod - .type __imlib_mmx_subtract_copy_rgba_to_rgba_cmod,@function -.global __imlib_mmx_subtract_copy_rgb_to_rgba_cmod - .type __imlib_mmx_subtract_copy_rgb_to_rgba_cmod,@function - -.global __imlib_mmx_reshade_blend_rgba_to_rgb_cmod - .type __imlib_mmx_reshade_blend_rgba_to_rgb_cmod,@function -.global __imlib_mmx_reshade_blend_rgba_to_rgba_cmod - .type __imlib_mmx_reshade_blend_rgba_to_rgba_cmod,@function -.global __imlib_mmx_reshade_blend_rgb_to_rgb_cmod - .type __imlib_mmx_reshade_blend_rgb_to_rgb_cmod,@function -.global __imlib_mmx_reshade_blend_rgb_to_rgba_cmod - .type __imlib_mmx_reshade_blend_rgb_to_rgba_cmod,@function - -.global __imlib_mmx_reshade_copy_rgba_to_rgb_cmod - .type __imlib_mmx_reshade_copy_rgba_to_rgb_cmod,@function -.global __imlib_mmx_reshade_copy_rgba_to_rgba_cmod - .type __imlib_mmx_reshade_copy_rgba_to_rgba_cmod,@function -.global __imlib_mmx_reshade_copy_rgb_to_rgba_cmod - .type __imlib_mmx_reshade_copy_rgb_to_rgba_cmod,@function +.global PR_(imlib_mmx_blend_rgba_to_rgb_cmod) + .type PT_(imlib_mmx_blendd_rgba_to_rgb_cmod,@function) +.global PR_(imlib_mmx_blend_rgba_to_rgba_cmod) + .type PT_(imlib_mmx_blend_rgba_to_rgba_cmod,@function) +.global PR_(imlib_mmx_blend_rgb_to_rgb_cmod) + .type PT_(imlib_mmx_blend_rgb_to_rgb_cmod,@function) +.global PR_(imlib_mmx_blend_rgb_to_rgba_cmod) + .type PT_(imlib_mmx_blend_rgb_to_rgba_cmod,@function) + +.global PR_(imlib_mmx_copy_rgba_to_rgb_cmod) + .type PT_(imlib_mmx_copy_rgba_to_rgb_cmod,@function) +.global PR_(imlib_mmx_copy_rgba_to_rgba_cmod) + .type PT_(imlib_mmx_copy_rgba_to_rgba_cmod,@function) +.global PR_(imlib_mmx_copy_rgb_to_rgba_cmod) + .type PT_(imlib_mmx_copy_rgb_to_rgba_cmod,@function) + +.global PR_(imlib_mmx_add_blend_rgba_to_rgb_cmod) + .type PT_(imlib_mmx_add_blend_rgba_to_rgb_cmod,@function) +.global PR_(imlib_mmx_add_blend_rgba_to_rgba_cmod) + .type PT_(imlib_mmx_add_blend_rgba_to_rgba_cmod,@function) +.global PR_(imlib_mmx_add_blend_rgb_to_rgb_cmod) + .type PT_(imlib_mmx_add_blend_rgb_to_rgb_cmod,@function) +.global PR_(imlib_mmx_add_blend_rgb_to_rgba_cmod) + .type PT_(imlib_mmx_add_blend_rgb_to_rgba_cmod,@function) + +.global PR_(imlib_mmx_add_copy_rgba_to_rgb_cmod) + .type PT_(imlib_mmx_add_copy_rgba_to_rgb_cmod,@function) +.global PR_(imlib_mmx_add_copy_rgba_to_rgba_cmod) + .type PT_(imlib_mmx_add_copy_rgba_to_rgba_cmod,@function) +.global PR_(imlib_mmx_add_copy_rgb_to_rgba_cmod) + .type PT_(imlib_mmx_add_copy_rgb_to_rgba_cmod,@function) + +.global PR_(imlib_mmx_subtract_blend_rgba_to_rgb_cmod) + .type PT_(imlib_mmx_subtract_blend_rgba_to_rgb_cmod,@function) +.global PR_(imlib_mmx_subtract_blend_rgba_to_rgba_cmod) + .type PT_(imlib_mmx_subtract_blend_rgba_to_rgba_cmod,@function) +.global PR_(imlib_mmx_subtract_blend_rgb_to_rgb_cmod) + .type PT_(imlib_mmx_subtract_blend_rgb_to_rgb_cmod,@function) +.global PR_(imlib_mmx_subtract_blend_rgb_to_rgba_cmod) + .type PT_(imlib_mmx_subtract_blend_rgb_to_rgba_cmod,@function) + +.global PR_(imlib_mmx_subtract_copy_rgba_to_rgb_cmod) + .type PT_(imlib_mmx_subtract_copy_rgba_to_rgb_cmod,@function) +.global PR_(imlib_mmx_subtract_copy_rgba_to_rgba_cmod) + .type PT_(imlib_mmx_subtract_copy_rgba_to_rgba_cmod,@function) +.global PR_(imlib_mmx_subtract_copy_rgb_to_rgba_cmod) + .type PT_(imlib_mmx_subtract_copy_rgb_to_rgba_cmod,@function) + +.global PR_(imlib_mmx_reshade_blend_rgba_to_rgb_cmod) + .type PT_(imlib_mmx_reshade_blend_rgba_to_rgb_cmod,@function) +.global PR_(imlib_mmx_reshade_blend_rgba_to_rgba_cmod) + .type PT_(imlib_mmx_reshade_blend_rgba_to_rgba_cmod,@function) +.global PR_(imlib_mmx_reshade_blend_rgb_to_rgb_cmod) + .type PT_(imlib_mmx_reshade_blend_rgb_to_rgb_cmod,@function) +.global PR_(imlib_mmx_reshade_blend_rgb_to_rgba_cmod) + .type PT_(imlib_mmx_reshade_blend_rgb_to_rgba_cmod,@function) + +.global PR_(imlib_mmx_reshade_copy_rgba_to_rgb_cmod) + .type PT_(imlib_mmx_reshade_copy_rgba_to_rgb_cmod,@function) +.global PR_(imlib_mmx_reshade_copy_rgba_to_rgba_cmod) + .type PT_(imlib_mmx_reshade_copy_rgba_to_rgba_cmod,@function) +.global PR_(imlib_mmx_reshade_copy_rgb_to_rgba_cmod) + .type PT_(imlib_mmx_reshade_copy_rgb_to_rgba_cmod,@function) .bss .text @@ -343,7 +353,7 @@ c1: .word 0x1, 0x1, 0x1, 0x1 -__imlib_mmx_blend_rgba_to_rgb_cmod: +PR_(imlib_mmx_blend_rgba_to_rgb_cmod): ENTER pxor %mm4, %mm4 @@ -398,7 +408,7 @@ __imlib_mmx_blend_rgba_to_rgb_cmod: LEAVE -__imlib_mmx_blend_rgba_to_rgba_cmod: +PR_(imlib_mmx_blend_rgba_to_rgba_cmod): ENTER pxor %mm4, %mm4 @@ -452,7 +462,7 @@ __imlib_mmx_blend_rgba_to_rgba_cmod: LEAVE -__imlib_mmx_blend_rgb_to_rgb_cmod: +PR_(imlib_mmx_blend_rgb_to_rgb_cmod): ENTER pxor %mm4, %mm4 @@ -495,7 +505,7 @@ __imlib_mmx_blend_rgb_to_rgb_cmod: LEAVE -__imlib_mmx_blend_rgb_to_rgba_cmod: +PR_(imlib_mmx_blend_rgb_to_rgba_cmod): ENTER pxor %mm4, %mm4 @@ -549,7 +559,7 @@ __imlib_mmx_blend_rgb_to_rgba_cmod: LEAVE -__imlib_mmx_copy_rgba_to_rgb_cmod: +PR_(imlib_mmx_copy_rgba_to_rgb_cmod): ENTER LOOP_START @@ -571,7 +581,7 @@ __imlib_mmx_copy_rgba_to_rgb_cmod: LEAVE -__imlib_mmx_copy_rgba_to_rgba_cmod: +PR_(imlib_mmx_copy_rgba_to_rgba_cmod): ENTER LOOP_START @@ -596,7 +606,7 @@ __imlib_mmx_copy_rgba_to_rgba_cmod: LEAVE -__imlib_mmx_copy_rgb_to_rgba_cmod: +PR_(imlib_mmx_copy_rgb_to_rgba_cmod): ENTER LOOP_START @@ -619,7 +629,7 @@ __imlib_mmx_copy_rgb_to_rgba_cmod: LEAVE -__imlib_mmx_add_blend_rgba_to_rgb_cmod: +PR_(imlib_mmx_add_blend_rgba_to_rgb_cmod): ENTER pxor %mm4, %mm4 @@ -659,7 +669,7 @@ __imlib_mmx_add_blend_rgba_to_rgb_cmod: LEAVE -__imlib_mmx_add_blend_rgba_to_rgba_cmod: +PR_(imlib_mmx_add_blend_rgba_to_rgba_cmod): ENTER pxor %mm4, %mm4 @@ -707,7 +717,7 @@ __imlib_mmx_add_blend_rgba_to_rgba_cmod: LEAVE -__imlib_mmx_add_blend_rgb_to_rgb_cmod: +PR_(imlib_mmx_add_blend_rgb_to_rgb_cmod): ENTER pxor %mm4, %mm4 @@ -747,7 +757,7 @@ __imlib_mmx_add_blend_rgb_to_rgb_cmod: LEAVE -__imlib_mmx_add_blend_rgb_to_rgba_cmod: +PR_(imlib_mmx_add_blend_rgb_to_rgba_cmod): ENTER pxor %mm4, %mm4 @@ -795,7 +805,7 @@ __imlib_mmx_add_blend_rgb_to_rgba_cmod: LEAVE -__imlib_mmx_add_copy_rgba_to_rgb_cmod: +PR_(imlib_mmx_add_copy_rgba_to_rgb_cmod): ENTER movq m0XXX0XXX, %mm5 @@ -832,7 +842,7 @@ __imlib_mmx_add_copy_rgba_to_rgb_cmod: LEAVE -__imlib_mmx_add_copy_rgba_to_rgba_cmod: +PR_(imlib_mmx_add_copy_rgba_to_rgba_cmod): ENTER subl $4, %esi @@ -863,7 +873,7 @@ __imlib_mmx_add_copy_rgba_to_rgba_cmod: LEAVE -__imlib_mmx_add_copy_rgb_to_rgba_cmod: +PR_(imlib_mmx_add_copy_rgb_to_rgba_cmod): ENTER subl $4, %esi @@ -894,7 +904,7 @@ __imlib_mmx_add_copy_rgb_to_rgba_cmod: LEAVE -__imlib_mmx_subtract_blend_rgba_to_rgb_cmod: +PR_(imlib_mmx_subtract_blend_rgba_to_rgb_cmod): ENTER pxor %mm4, %mm4 @@ -934,7 +944,7 @@ __imlib_mmx_subtract_blend_rgba_to_rgb_cmod: LEAVE -__imlib_mmx_subtract_blend_rgba_to_rgba_cmod: +PR_(imlib_mmx_subtract_blend_rgba_to_rgba_cmod): ENTER pxor %mm4, %mm4 @@ -982,7 +992,7 @@ __imlib_mmx_subtract_blend_rgba_to_rgba_cmod: LEAVE -__imlib_mmx_subtract_blend_rgb_to_rgb_cmod: +PR_(imlib_mmx_subtract_blend_rgb_to_rgb_cmod): ENTER pxor %mm4, %mm4 @@ -1022,7 +1032,7 @@ __imlib_mmx_subtract_blend_rgb_to_rgb_cmod: LEAVE -__imlib_mmx_subtract_blend_rgb_to_rgba_cmod: +PR_(imlib_mmx_subtract_blend_rgb_to_rgba_cmod): ENTER pxor %mm4, %mm4 @@ -1070,7 +1080,7 @@ __imlib_mmx_subtract_blend_rgb_to_rgba_cmod: LEAVE -__imlib_mmx_subtract_copy_rgba_to_rgb_cmod: +PR_(imlib_mmx_subtract_copy_rgba_to_rgb_cmod): ENTER movq m0XXX0XXX, %mm5 @@ -1107,7 +1117,7 @@ __imlib_mmx_subtract_copy_rgba_to_rgb_cmod: LEAVE -__imlib_mmx_subtract_copy_rgba_to_rgba_cmod: +PR_(imlib_mmx_subtract_copy_rgba_to_rgba_cmod): ENTER movq mX000X000, %mm5 @@ -1148,7 +1158,7 @@ __imlib_mmx_subtract_copy_rgba_to_rgba_cmod: LEAVE -__imlib_mmx_subtract_copy_rgb_to_rgba_cmod: +PR_(imlib_mmx_subtract_copy_rgb_to_rgba_cmod): ENTER movq mX000X000, %mm5 @@ -1185,7 +1195,7 @@ __imlib_mmx_subtract_copy_rgb_to_rgba_cmod: LEAVE -__imlib_mmx_reshade_blend_rgba_to_rgb_cmod: +PR_(imlib_mmx_reshade_blend_rgba_to_rgb_cmod): ENTER pxor %mm4, %mm4 @@ -1227,7 +1237,7 @@ __imlib_mmx_reshade_blend_rgba_to_rgb_cmod: LEAVE -__imlib_mmx_reshade_blend_rgba_to_rgba_cmod: +PR_(imlib_mmx_reshade_blend_rgba_to_rgba_cmod): ENTER pxor %mm4, %mm4 @@ -1278,7 +1288,7 @@ __imlib_mmx_reshade_blend_rgba_to_rgba_cmod: LEAVE -__imlib_mmx_reshade_blend_rgb_to_rgb_cmod: +PR_(imlib_mmx_reshade_blend_rgb_to_rgb_cmod): ENTER pxor %mm4, %mm4 @@ -1320,7 +1330,7 @@ __imlib_mmx_reshade_blend_rgb_to_rgb_cmod: LEAVE -__imlib_mmx_reshade_blend_rgb_to_rgba_cmod: +PR_(imlib_mmx_reshade_blend_rgb_to_rgba_cmod): ENTER pxor %mm4, %mm4 @@ -1371,7 +1381,7 @@ __imlib_mmx_reshade_blend_rgb_to_rgba_cmod: LEAVE -__imlib_mmx_reshade_copy_rgba_to_rgb_cmod: +PR_(imlib_mmx_reshade_copy_rgba_to_rgb_cmod): ENTER pxor %mm4, %mm4 @@ -1434,7 +1444,7 @@ __imlib_mmx_reshade_copy_rgba_to_rgb_cmod: LEAVE -__imlib_mmx_reshade_copy_rgba_to_rgba_cmod: +PR_(imlib_mmx_reshade_copy_rgba_to_rgba_cmod): ENTER pxor %mm4, %mm4 @@ -1498,7 +1508,7 @@ __imlib_mmx_reshade_copy_rgba_to_rgba_cmod: LEAVE -__imlib_mmx_reshade_copy_rgb_to_rgba_cmod: +PR_(imlib_mmx_reshade_copy_rgb_to_rgba_cmod): ENTER pxor %mm4, %mm4 diff --git a/src/asm_rgba.S b/src/asm_rgba.S index a900cf7..a156bc5 100644 --- a/src/asm_rgba.S +++ b/src/asm_rgba.S @@ -1,5 +1,15 @@ #include <config.h> +#ifdef __EMX__ +/* Due to strange behaviour of as.exe we use this macros */ +/* For all OS/2 coders - please use PGCC to compile this code */ +#define PR_(foo) ___##foo +#define PT_(foo,func) ___##foo,##func +#else +#define PR_(foo) __##foo +#define PT_(foo,func) __##foo,##func +#endif + #ifdef DO_MMX_ASM /*\ @@ -23,17 +33,17 @@ #define dx 32(%ebp) #define dy 36(%ebp) -.global __imlib_mmx_rgb565_fast - .type __imlib_mmx_rgb565_fast,@function -.global __imlib_mmx_bgr565_fast - .type __imlib_mmx_bgr565_fast,@function -.global __imlib_mmx_rgb555_fast - .type __imlib_mmx_rgb555_fast,@function -.global __imlib_mmx_bgr555_fast - .type __imlib_mmx_bgr555_fast,@function +.global PR_(imlib_mmx_rgb565_fast) + .type PT_(imlib_mmx_rgb565_fast,@function) +.global PR_(imlib_mmx_bgr565_fast) + .type PT_(imlib_mmx_bgr565_fast,@function) +.global PR_(imlib_mmx_rgb555_fast) + .type PT_(imlib_mmx_rgb555_fast,@function) +.global PR_(imlib_mmx_bgr555_fast) + .type PT_(imlib_mmx_bgr555_fast,@function) -.global __imlib_get_cpuid - .type __imlib_get_cpuid,@function +.global PR_(imlib_get_cpuid) + .type PT_(imlib_get_cpuid,@function) .bss .text @@ -96,11 +106,11 @@ mul_bgr555: .long 0x00082000, 0x00082000 -__imlib_mmx_bgr565_fast: +PR_(imlib_mmx_bgr565_fast): movq mul_bgr565, %mm7 /*\ This constant is the only difference \*/ jmp .rgb565_fast_entry -__imlib_mmx_rgb565_fast: +PR_(imlib_mmx_rgb565_fast): movq mul_rgb565, %mm7 .rgb565_fast_entry: ENTER @@ -172,11 +182,11 @@ __imlib_mmx_rgb565_fast: -__imlib_mmx_bgr555_fast: +PR_(imlib_mmx_bgr555_fast): movq mul_bgr555, %mm7 /*\ This constant is the only difference \*/ jmp .rgb555_fast_entry -__imlib_mmx_rgb555_fast: +PR_(imlib_mmx_rgb555_fast): movq mul_rgb555, %mm7 .rgb555_fast_entry: ENTER @@ -244,7 +254,7 @@ __imlib_mmx_rgb555_fast: LEAVE -__imlib_get_cpuid: +PR_(imlib_get_cpuid): pushl %ebx pushl %edx diff --git a/src/asm_rotate.S b/src/asm_rotate.S index 4bc1af1..b5bc400 100644 --- a/src/asm_rotate.S +++ b/src/asm_rotate.S @@ -1,5 +1,15 @@ #include <config.h> +#ifdef __EMX__ +/* Due to strange behaviour of as.exe we use this macros */ +/* For all OS/2 coders - please use PGCC to compile this code */ +#define PR_(foo) ___##foo +#define PT_(foo,func) ___##foo,##func +#else +#define PR_(foo) __##foo +#define PT_(foo,func) __##foo,##func +#endif + #ifdef DO_MMX_ASM /*\ @@ -7,8 +17,8 @@ |*| Written by Willem Monsuwe <willem@stack.nl> \*/ -.global __imlib_mmx_RotateAA - .type __imlib_mmx_RotateAA,@function +.global PR_(imlib_mmx_RotateAA) + .type PT_(imlib_mmx_RotateAA,@function) .bss .text @@ -44,7 +54,7 @@ #define m0fff -28(%ebp) #define mulsow -32(%ebp) -__imlib_mmx_RotateAA: +PR_(imlib_mmx_RotateAA): pushl %ebp movl %esp, %ebp subl $40, %esp diff --git a/src/asm_scale.S b/src/asm_scale.S index b2e3e60..4f4ca1a 100644 --- a/src/asm_scale.S +++ b/src/asm_scale.S @@ -1,5 +1,15 @@ #include <config.h> +#ifdef __EMX__ +/* Due to strange behaviour of as.exe we use this macros */ +/* For all OS/2 coders - please use PGCC to compile this code */ +#define PR_(foo) ___##foo +#define PT_(foo,func) ___##foo,##func +#else +#define PR_(foo) __##foo +#define PT_(foo,func) __##foo,##func +#endif + #ifdef DO_MMX_ASM /*\ @@ -7,8 +17,8 @@ |*| Written by Willem Monsuwe <willem@stack.nl> \*/ -.global __imlib_Scale_mmx_AARGBA - .type __imlib_Scale_mmx_AARGBA,@function +.global PR_(imlib_Scale_mmx_AARGBA) + .type PT_(imlib_Scale_mmx_AARGBA,@function) .bss .text @@ -48,7 +58,7 @@ #define yapoints 12(%edx) #define xup_yup 16(%edx) -__imlib_Scale_mmx_AARGBA: +PR_(imlib_Scale_mmx_AARGBA): pushl %ebp movl %esp, %ebp subl $40, %esp diff --git a/src/common.h b/src/common.h index 06b6173..7a0a7b0 100644 --- a/src/common.h +++ b/src/common.h @@ -3,6 +3,9 @@ #include <stdio.h> #include <stdlib.h> +#ifdef __EMX__ +#include <sys/types.h> +#endif #include <unistd.h> #include <config.h> #ifdef WITH_DMALLOC @@ -1,5 +1,8 @@ #include <stdio.h> #include <ctype.h> +#ifdef __EMX__ +#include <sys/types.h> +#endif #include <sys/stat.h> #include <unistd.h> #include <sys/types.h> @@ -195,7 +198,7 @@ __imlib_FileHomeDir(int uid) static char *usr_s = NULL; char *s; struct passwd *pwd; - +#ifndef __EMX__ s = getenv("HOME"); if (s) return strdup(s); @@ -213,9 +216,16 @@ __imlib_FileHomeDir(int uid) usr_s = strdup(s); return(s); } +#else + if ((s = getenv("HOME")) != NULL) + return strdup(s); + else if ((s = getenv("TMP")) != NULL) + return strdup(s); +#endif return NULL; } + /* gets word number [num] in the string [s] and copies it into [wd] */ /* wd is NULL terminated. If word [num] does not exist wd = "" */ /* NB: this function now handles quotes so for a line: */ diff --git a/src/image.c b/src/image.c index f8b2fc3..a686e71 100644 --- a/src/image.c +++ b/src/image.c @@ -11,6 +11,10 @@ #include "file.h" #include "loaderpath.h" +#ifdef __EMX__ +extern char *__XOS2RedirRoot(const char *); +#endif + static ImlibImage *images = NULL; static ImlibImagePixmap *pixmaps = NULL; static ImlibLoader *loaders = NULL; @@ -709,9 +713,17 @@ __imlib_RescanLoaders(void) return; /* ok - was the system loaders dir contents modified ? */ last_scan_time = current_time; - if (__imlib_FileIsDir(SYS_LOADERS_PATH "/image/")) - { - current_time = __imlib_FileModDate(SYS_LOADERS_PATH "/image/"); +#ifndef __EMX__ + if (__imlib_FileIsDir(SYS_LOADERS_PATH "/image/")) +#else + if (__imlib_FileIsDir(__XOS2RedirRoot(SYS_LOADERS_PATH "/image/"))) +#endif + { +#ifndef __EMX__ + current_time = __imlib_FileModDate(SYS_LOADERS_PATH "/image/"); +#else + current_time = __imlib_FileModDate(__XOS2RedirRoot(SYS_LOADERS_PATH "/image/")); +#endif if (current_time > last_modified_system_time) { /* yup - set the "do_reload" flag */ |